From the ARB_program_interface_query spec (issue 8): We only accept entries of the form "a[2][1][0]" or "a[2][1]", which is consistent with the existing rules that only allow applications to omit the last index of a bottom-level array that has been rolled up.
Test results: Nvidia GeForce 840M - NVIDIA 346.47: pass Cc: Tapani Pälli <tapani.pa...@intel.com> --- tests/spec/arb_program_interface_query/common.h | 9 ++++++++ .../getprogramresourceindex.c | 26 ++++++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/tests/spec/arb_program_interface_query/common.h b/tests/spec/arb_program_interface_query/common.h index e083a6e..39e5f24 100755 --- a/tests/spec/arb_program_interface_query/common.h +++ b/tests/spec/arb_program_interface_query/common.h @@ -63,6 +63,15 @@ static const char vs_aofa[] = " gl_Position = vs_input2[0][0] + vs_input3[0][0][0];\n" "}"; +static const char vs_aofa2[] = + "#version 150\n" + "#extension GL_ARB_arrays_of_arrays : require\n" + "in vec4 vs_input2[2][2];\n" + "uniform vec4 vs_uni[2][2][2];\n" + "void main() {\n" + " gl_Position = vs_input2[1][0] + vs_uni[1][0][1];\n" + "}"; + static const char vs_std[] = "#version 150\n" "struct vs_struct {\n" diff --git a/tests/spec/arb_program_interface_query/getprogramresourceindex.c b/tests/spec/arb_program_interface_query/getprogramresourceindex.c index 889b5e1..bc865e5 100755 --- a/tests/spec/arb_program_interface_query/getprogramresourceindex.c +++ b/tests/spec/arb_program_interface_query/getprogramresourceindex.c @@ -175,6 +175,32 @@ static const struct subtest_index_t index_subtests[] = { 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_input2[1][1]", -1, GL_NO_ERROR), + ST( vs_aofa, GL_PROGRAM_INPUT, "vs_input3", -1, GL_NO_ERROR), + ST( vs_aofa, GL_PROGRAM_INPUT, "vs_input3[0]", -1, 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][00]", -1, GL_NO_ERROR), + ST( vs_aofa, GL_PROGRAM_INPUT,"vs_input3[0][00][0]", -1, GL_NO_ERROR), + ST( vs_aofa, GL_PROGRAM_INPUT,"vs_input3[00][0][0]", -1, 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_aofa2, GL_UNIFORM, "vs_uni", -1, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[1]", -1, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[0]", -1, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[0][0]", -1, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[1][0]", 0, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[0][0][0]", -1, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[0][0][1]", -1, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[0][1][0]", -1, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[1][0][0]", 0, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[1][0][1]", -1, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[1][1][0]", -1, GL_NO_ERROR), + ST( vs_aofa2, GL_UNIFORM, "vs_uni[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), -- 2.4.3 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit