On Wed, 2016-02-17 at 17:57 -0800, Ian Romanick wrote: > From: Ian Romanick <ian.d.roman...@intel.com> > > Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> > --- > src/mesa/drivers/dri/i965/brw_meta_fast_clear.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c > b/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c > index 37dffb9..3917df1 100644 > --- a/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c > +++ b/src/mesa/drivers/dri/i965/brw_meta_fast_clear.c > @@ -62,7 +62,6 @@ struct brw_fast_clear_state { > struct gl_vertex_array_object *array_obj; > GLuint vao; > GLuint shader_prog; > - GLint color_location; > }; > > static bool > @@ -118,7 +117,13 @@ brw_bind_rep_write_shader(struct brw_context *brw, float > *color) > " gl_Position = position;\n" > "}\n"; > const char *fs_source = > - "uniform vec4 color;\n" > + /* GL_ARB_explicit_uniform_location requires either GLSL 3.30 or > + * GL_ARB_explicit_attrib_location, and only the later is universally > + * supported. > + */ > + "#extension GL_ARB_explicit_attrib_location: require\n" > + "#extension GL_ARB_explicit_uniform_location: require\n"
We only use fast clears since gen6 so right now anything that goes through this code is going to meet this requirements. I wonder if it would be worth it to assert on the supported GL version here, or at least that the FS compile worked though. > + "layout(location=0) uniform vec4 color;\n" > "void main()\n" > "{\n" > " gl_FragColor = color;\n" > @@ -141,13 +146,10 @@ brw_bind_rep_write_shader(struct brw_context *brw, > float *color) > _mesa_BindAttribLocation(clear->shader_prog, 0, "position"); > _mesa_ObjectLabel(GL_PROGRAM, clear->shader_prog, -1, "meta repclear"); > _mesa_LinkProgram(clear->shader_prog); > - > - clear->color_location = > - _mesa_GetUniformLocation(clear->shader_prog, "color"); > } > > _mesa_UseProgram(clear->shader_prog); > - _mesa_Uniform4fv(clear->color_location, 1, color); > + _mesa_Uniform4fv(0, 1, color); > } > > void _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev