[Mesa-dev] [PATCH 1/2] glsl: Add uniform_locations_assigned parameter to do_dead_code opt pass
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.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.
More information about the mesa-dev