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

Brian Paul brianp at vmware.com
Fri Oct 21 12:23:15 PDT 2011


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.

-Brian


More information about the mesa-dev mailing list