mesa/main: validate name syntax for array variables only
From ARB_program_interface_query: "Note that if an interface enumerates a single active resource list entry for an array variable (e.g., "a[0]"), a <name> identifying any array element other than the first (e.g., "a[1]") is not considered to match." It doesn't apply to arrays of interface blocks but just to array variables. Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
@@ -220,12 +220,12 @@ _mesa_GetProgramResourceIndex(GLuint program, GLenum programInterface,
|
||||
case GL_PROGRAM_INPUT:
|
||||
case GL_PROGRAM_OUTPUT:
|
||||
case GL_UNIFORM:
|
||||
case GL_UNIFORM_BLOCK:
|
||||
case GL_TRANSFORM_FEEDBACK_VARYING:
|
||||
/* Validate name syntax for arrays. */
|
||||
/* Validate name syntax for array variables */
|
||||
if (!valid_program_resource_index_name(name))
|
||||
return GL_INVALID_INDEX;
|
||||
|
||||
/* fall-through */
|
||||
case GL_UNIFORM_BLOCK:
|
||||
res = _mesa_program_resource_find_name(shProg, programInterface, name);
|
||||
if (!res)
|
||||
return GL_INVALID_INDEX;
|
||||
|
||||
Reference in New Issue
Block a user