On Mon, 2015-10-26 at 11:22 +0200, Tapani Pälli wrote: > Patch adds additional check to make sure we don't return locations > for > structures or arrays of structures. > > From page 79 of the OpenGL 4.2 spec: > "A valid name cannot be a structure, an array of structures, or > any > portion of a single vector or a matrix." > > No Piglit or CTS regressions observed. > > Signed-off-by: Tapani Pälli <tapani.pa...@intel.com> > --- > src/mesa/main/shader_query.cpp | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/src/mesa/main/shader_query.cpp > b/src/mesa/main/shader_query.cpp > index 8182d3d..b0707a4 100644 > --- a/src/mesa/main/shader_query.cpp > +++ b/src/mesa/main/shader_query.cpp > @@ -808,6 +808,16 @@ program_resource_location(struct > gl_shader_program *shProg, > if (RESOURCE_UNI(res)->builtin) > return -1; > > + /* From page 79 of the OpenGL 4.2 spec: > + * > + * "A valid name cannot be a structure, an array of > structures, or any > + * portion of a single vector or a matrix." > + */ > + if (RESOURCE_UNI(res)->type->is_record() || > + (RESOURCE_UNI(res)->type->is_array() && > + RESOURCE_UNI(res)->type->fields.array->is_record())) > + return -1; > +
This could just be RESOURCE_UNI(res)->type->without_array() ->is_record() then it would also work for arrays of arrays. > /* From the GL_ARB_uniform_buffer_object spec: > * > * "The value -1 will be returned if <name> does not > correspond to an _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev