mesa: fix and simplify resource query for arrays
authorTimothy Arceri <t_arceri@yahoo.com.au>
Sat, 25 Jul 2015 02:33:53 +0000 (12:33 +1000)
committerTimothy Arceri <t_arceri@yahoo.com.au>
Thu, 30 Jul 2015 12:00:45 +0000 (22:00 +1000)
commit8cd2f88845acd45ebcbaae2e68a8a47b3c17e6d5
tree23d02a1c7f26b591a928974a797a3fd6e80cf132
parent3a21e4bd263002dd600e7a693536c93f68b285a5
mesa: fix and simplify resource query for arrays

This removes the need for multiple functions designed to validate an array
subscript and replaces them with a call to a single function.

The change also means that validation is now only done once and the index
is retrived at the same time, as a result the getUniformLocation code can
be simplified saving an extra hash table lookup (and yet another
validation call).

This chage also fixes some tests in:
ES31-CTS.program_interface_query.uniform

V3: rebase on subroutines, and move the resource index array == 0
check into _mesa_GetProgramResourceIndex() to simplify things further

V2: Fix bounds checks for program input/output, split unrelated comment fix
and _mesa_get_uniform_location() removal into their own patch.

Cc: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
src/mesa/main/program_resource.c
src/mesa/main/shader_query.cpp
src/mesa/main/shaderapi.c
src/mesa/main/shaderapi.h
src/mesa/main/uniforms.c