02

Graphics Pipeline and Rendering Technologies

High framerates, smooth animations, and quality display are key to user interaction. Igalia has years of experience building and optimizing many different parts of the graphics stack.

Companies developing software for mobile, embedded or desktop environments often find the graphics and rendering software stack to be one of their greatest challenges. The most successful devices and software platforms have optimized, frictionless user experience, including fast rendering and fluid touch interfaces.

At Igalia we have been creating high performance user interfaces and middleware for the past decade. Along the way, we've built accelerated compositors, eliminated hardware bottlenecks, optimized rendering of web browsers, and perfected font display.

Open source work is a part of our company culture, so we are long time contributors to and integrators of toolkits and APIs like Mesa, OpenGL, GTK+, EFL, Qt, Clutter/Cogl and Wayland. Some of our work includes:

  • Implementation of new standards such as WebGL and WebAudio, multimedia acceleration and GStreamer integration in WebKit
  • Maintenance of GStreamer support in WebKit
  • Accelerated large drop-shadows in web engines
  • Building cross-process graphics architectures and compositors for projects like WebKit2

We can help you ensure that your users have a compelling experience powered by an optimized graphics software stack.

 

 

  • OpenGL
  • WebGL
  • Mesa
  • Wayland
  • Cairo
  • HTML acceleration
  • Harfbuzz
  • Graphical toolkits
  • Graphical libraries
  • Accelerated Rendering
  • Accelerated Compositing

Featured Media

NIR on the Mesa i965 backend (FOSDEM 2016)
GPU driver development
How to test OpenGL drivers using Free Software (FOSDEM 2015)
WebKitGTK+ Wayland: WebKit2 and Accelerated Compositing
WebKitGTK+: WebGL & Accelerated Compositing
Epiphany on Wayland: WebGL and CSS3D
OpenGL drivers using Free Software at FOSDEM 2015
WebGL game in Epiphany with WebKit2
WebGL game in Epiphany with WebKit2

Updates

Alejandro Piñeiro 29/07/2016

One year of Mesa

Changes During the last year and something, my work at Igalia was focused on the Intel i965 driver for Mesa, the open source OpenGL implementation. Iago and Samuel were working for some time, then joined Edu and Antía, and then I joined myself, as the...

Iago Toral 13/07/2016

Story and status of ARB_gpu_shader_fp64 on Intel GPUs

In case you haven’t heard yet, with the recently announced Mesa 12.0 release, Intel gen8+ GPUs expose OpenGL 4.3, which is quite a big leap from the previous OpenGL 3.3! Although this might surprise some, the truth is that even if the i965 driver...

Alejandro Piñeiro 02/06/2016

Introducing Mesa intermediate representations on Intel drivers with a practical example

Introduction The recent big news on the Igalia work on Mesa was that our effort getting the ARB_gpu_shader_fp64 and ARB_vertex_attrib_64bit extensions implemented for Intel Gen8+, allowed to expose OpenGL 4.2 for Gen8+. But I will let other igalians to...

Carlos García Campos 22/03/2016

WebKitGTK+ 2.12

We did it again, the Igalia WebKit team is pleased to announce a new stable release of WebKitGTK+, with a bunch of bugs fixed, some new API bits and many other improvements. I’m going to talk here about some of the most important changes, but as...

Samuel Iglesias 25/09/2015

ARB_program_interface_query and shader_runner

Lately I have worked on ARB_shader_storage_buffer_object  extension implementation on Mesa, along with Iago (who has already explained how we implement it). One of the features we implemented was adding support for buffer variables to the queries defined...

Commits

arb_texture_barrier: count of elements need to be multiple of three

glDrawRangeElements is used to draw triangles so the count of elements needs to be a multiple of three, so we need to be careful when dividing by the number of draw range elements we want. Fixes the 40 failing subtests on i965. Reviewed-by: Andres Gomez

Alejandro Piñeiro08/07/2016

i965: Remove trailing whitespace

Reviewed-by: Topi Pohjolainen

Iago Toral05/07/2016

i965: Make inline function static

Without this the i965 driver fails to load. Reviewed-by: Topi Pohjolainen

Iago Toral05/07/2016

arb_copy_image-api_errors: fix one error check (INVALID_ENUM instead of INVALID_OPERATION)

This patch adapts the test to the last change on mesa. Copying the rationale on that patch here: For the case (both src or dst) where we had a texobject, but the texobject target was not the same that the method target, this spec paragraph was...

Alejandro Piñeiro01/07/2016

util: Add u/byte, u/short and half support to [vertex data]

This allows to set data of u/byte, u/short and half types for attributes with the shader runner. For example: 0/byte/int attname1/ushort/uint attname3/half/float The syntax has been extended so the recommended way has replaced the old COUNT field in...

Andrés Gómez01/07/2016