On 06/27/2015 02:14 AM, Timothy Arceri wrote:
Add a 3D array test and fix the expected result for an array without
a subscript attached to the name.

The arb_program_interface_query spec says:

"If <name> exactly matches the name string of one of the active resources
for <programInterface>, the index of the matched resource is returned.
Additionally, if <name> would exactly match the name string of an active
resource if "[0]" were appended to <name>, the index of the matched
resource is returned."

So the index should not be INVALID_INDEX when there is no subscript.

Did you check if these changes pass on nvidia/amd?

Shouldn't one give 'vs_input2[0]' as parameter? Then it would definitely qualify because 'vs_input2[0][0]' is ok but having only 'vs_input2' means name check against 'vs_input2' and 'vs_input2[0]' which would not qualify (?)

This was my understanding when writing the code. So how I interpret the spec is that if you have multiple levels, you'll need to specify until the last level and optionally [0] for that last one.


Cc: Martin Peres <martin.pe...@linux.intel.com>
Cc: Tapani Pälli <tapani.pa...@intel.com>
---
  .../arb_program_interface_query/getprogramresourceindex.c    | 12 +++++++++++-
  1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/tests/spec/arb_program_interface_query/getprogramresourceindex.c 
b/tests/spec/arb_program_interface_query/getprogramresourceindex.c
index 889b5e1..18bb1af 100755
--- a/tests/spec/arb_program_interface_query/getprogramresourceindex.c
+++ b/tests/spec/arb_program_interface_query/getprogramresourceindex.c
@@ -170,11 +170,21 @@ static const struct subtest_index_t index_subtests[] = {
   ST(vs_array,                    GL_UNIFORM,        "sa[0].world",  0, 
GL_NO_ERROR),
   ST(vs_array,                    GL_UNIFORM,     "sa[0].world[0]",  0, 
GL_NO_ERROR),
   ST(vs_array,                    GL_UNIFORM,        "sa[1].hello", -1, 
GL_NO_ERROR),
- ST( vs_aofa,              GL_PROGRAM_INPUT,          "vs_input2", -1, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT,          "vs_input2",  0, 
GL_NO_ERROR),
   ST( vs_aofa,              GL_PROGRAM_INPUT,       "vs_input2[0]",  0, 
GL_NO_ERROR),
   ST( vs_aofa,              GL_PROGRAM_INPUT,    "vs_input2[0][0]",  0, 
GL_NO_ERROR),
   ST( vs_aofa,              GL_PROGRAM_INPUT,    "vs_input2[1][0]", -1, 
GL_NO_ERROR),
   ST( vs_aofa,              GL_PROGRAM_INPUT,    "vs_input2[0][1]", -1, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT,          "vs_input3",  0, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT,       "vs_input3[0]",  0, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT,    "vs_input3[0][0]",  0, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT, "vs_input3[0][0][0]",  0, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT, "vs_input3[0][0][1]", -1, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT, "vs_input3[0][1][0]", -1, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT, "vs_input3[1][0][0]", -1, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT, "vs_input3[1][0][1]", -1, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT, "vs_input3[1][1][0]", -1, 
GL_NO_ERROR),
+ ST( vs_aofa,              GL_PROGRAM_INPUT, "vs_input3[1][1][1]", -1, 
GL_NO_ERROR),
   ST(  vs_sub,          GL_VERTEX_SUBROUTINE,                "vss",  0, 
GL_NO_ERROR),
   ST(vs_empty, GL_TRANSFORM_FEEDBACK_VARYING,      "gl_NextBuffer", -1, 
GL_NO_ERROR),
   ST(vs_empty, GL_TRANSFORM_FEEDBACK_VARYING, "gl_SkipComponents1", -1, 
GL_NO_ERROR),

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to