Iago Toral

Ourense (Spain)

Iago has been a member of Igalia since 2003 and became a partner of the company in 2006.

Latest Updates

Iago Toral 08/07/2015

Implementing ARB_shader_storage_buffer

In my previous post I introduced ARB_shader_storage_buffer, an OpenGL 4.3 feature that is coming soon to Mesa and the Intel i965 driver. While that post focused on explaining the features introduced by the extension, in this post I’ll dive into some...

Iago Toral 20/05/2015

Bringing ARB_shader_storage_buffer_object to Mesa and i965

In the last weeks I have been working together with my colleague Samuel on bringing support for ARB_shader_storage_buffer_object, an OpenGL 4.3 feature, to Mesa and the Intel i965 driver, so I figured I would write a bit on what this brings to OpenGL/GLSL...

Iago Toral 27/04/2015

Free access to Valve-produced games on Steam for Mesa contributors

Just like they did for Debian developers before, it is Valve’s way of saying thanks and giving something back to the community. This is great news for all Mesa contributors, now we can play some great Valve games for free and we can also have an...

Iago Toral 06/03/2015

An introduction to Mesa’s GLSL compiler (II)

Recap My previous post served as an initial look into Mesa’s GLSL compiler, where we discussed the Mesa IR, which is a core aspect of the compiler. In this post I’ll introduce another relevant aspect: IR lowering. IR lowering There are...

Iago Toral 03/03/2015

An introduction to Mesa’s GLSL compiler (I)

Recap In my last post I explained that modern 3D pipelines are programmable and how this has impacted graphics drivers. In the following posts we will go deeper into this aspect by looking at different parts of Mesa’s GLSL compiler. Specifically,...


By Type:


glsl: report correct number of allowed vertex inputs and fragment outputs

Before we would always report 16 for both and we would only fail if either one exceeded 16. Now we fail if the maximum for each is exceeded, even if it is smaller than 16 and we report the correct maximum. Also, expand the size of to_assign[] to 32....

Iago Toral09/03/2016

shaders: add test for recursive variable indexing into arrays

v2: - Move to tests/spec/glsl-1.30 (Timothy) - Fix code style and rename some variables (Iago) Reviewed-by: Timothy Arceri

Iago Toral03/03/2016

glsl/opt_array_splitting: Fix indentation

Reviewed-by: Timothy Arceri

Iago Toral03/03/2016

glsl/opt_array_splitting: Fix crash when doing array indexing into other arrays

When we find indirect indexing into an array, the current implementation of the array spliiting optimization pass does not look further into the expression tree. However, if the variable expression involves variable indexing into other arrays, we can...

Iago Toral03/03/2016

glsl: Mark float constants as such

So we don't generate double to float conversion code Reviewed-by: Kenneth Graunke

Iago Toral19/02/2016