[Mesa-dev] [PATCH] glsl: disable resource checking in the linker until it's done right

Jose Fonseca jfonseca at vmware.com
Tue Nov 22 06:47:51 PST 2011


----- Original Message -----
> NAK with extreme prejudice.  Technically speaking, these are app
> bugs.
>
> I absolutely will not disable all correct behavior to work around
> broken
> apps.  The problem is the following shaders will correctly link, but
> completely explode:
> 
> uniform float array[1234];
> uniform int i;
> void main() {
>      gl_FragColor = vec4(array[769] + array[i]);
> }

AFAICT, the spec is not clear to whether max uniforms applies to active uniforms, or declared uniforms. 

Indeed for the example you give it is unrealistic for the app to expect this to be supported with a limited number of max uniforms.  But the examples that Marek pasted, it is not clear cut if this is an app bug, or a compiler limitation.

> There's over a month before what is currently master will be
> released.
> People that don't like this bug can use a stable release.

This will drive testers affected by this issue away from testing master.  I thought that we all agreed that master should remain relatively stable all the time.  No good comes from leaving things broken for our users like this for so long.

I also think that something needs to be done to keep old behavior until GLSL compiler handles optimizes this particular case.  If not within GLSL itself, then in the components around it.

Jose


More information about the mesa-dev mailing list