[Mesa-dev] [PATCH 1/2] glsl: Add uniform_locations_assigned parameter to do_dead_code opt pass

Ian Romanick idr at freedesktop.org
Fri Oct 21 18:34:44 PDT 2011


On 10/21/2011 12:53 PM, Brian Paul wrote:
> On 10/21/2011 01:23 PM, Brian Paul wrote:
>> On 10/21/2011 12:49 PM, Ian Romanick wrote:
>>> From: Ian Romanick<ian.d.romanick at intel.com>
>>>
>>> Setting this flag prevents declarations of uniforms from being removed
>>> from the IR. Since the IR is directly used by several API functions
>>> that query uniforms in shaders, uniform declarations cannot be removed
>>> after the locations have been set. However, it should still be safe
>>> to reorder the declarations (this is not tested).
>>>
>>> Signed-off-by: Ian Romanick<ian.d.romanick at intel.com>
>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41980
>>> Cc: Brian Paul<brianp at vmware.com>
>>> Cc: Bryan Cain<bryancain3 at gmail.com>
>>> Cc: Vinson Lee<vlee at vmware.com>
>>> Cc: José Fonseca<jfonseca at vmware.com>
>>> Cc: Kenneth Graunke<kenneth at whitecape.org>
>>
>> I applied these two patches to my tree but I'm still seeing the
>> GL_INVALID_OPERATION error in glUniform() calls that I mentioned in
>> the bug report (param->DataType = 0).
>>
>> The viewperf test I'm using has a fairly complex vertex shader with an
>> array of structures of lighting info containing a "vec3 position" field.
>>
>> The test calls glGetUniform(shader, "LW_LightSource1[0].position").
>> When glUniform3f() is called to set that uniform, the
>> GL_INVALID_OPERATION errro is raised.
>>
>> I'll try a bisection to see where this started failing.
>
> The problem started at commit 58a7461e1672935e7d30780a4dd40c00abbc28a5

That's basically the same commit that Vinson bisected to.  The only 
difference is this is the commit for ir_to_mesa, and his was the commit 
for st_glsl_to_tgsi.

> I'm attaching a piglit shader test that exercises the bug.

That's a useful test case.  We should add it to piglit.  I still don't 
understand what's going wrong. :(  What really confuses me is there were 
no piglit regressions when I originally sent this code out for review.


More information about the mesa-dev mailing list