As I've been trimming down my "todo" copy of the spec, I noticed this
case wasn't tested where it should have been.
---
 .../arb_uniform_buffer_object/getuniformindices.c     |   17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/tests/spec/arb_uniform_buffer_object/getuniformindices.c 
b/tests/spec/arb_uniform_buffer_object/getuniformindices.c
index 9819c6d..646002e 100644
--- a/tests/spec/arb_uniform_buffer_object/getuniformindices.c
+++ b/tests/spec/arb_uniform_buffer_object/getuniformindices.c
@@ -24,7 +24,7 @@
 /** @file getuniformindices.c
  *
  * Tests the glGetUniformIndices API: not writing on error conditions,
- * and consecutive indices starting from 0.
+ * invalid uniform names, and consecutive indices starting from 0.
  */
 
 #include "piglit-util-gl-common.h"
@@ -54,6 +54,7 @@ piglit_init(int argc, char **argv)
        GLuint fs;
        GLuint save_index = 0xaaaaaaaa;
        const GLchar *one_uniform = "a";
+       const GLchar *bad_uniform = "d";
        const GLchar *uniform_names[] = {"a", "b", "c"};
        bool found_index[3] = {false, false, false};
        GLuint indices[3], index;
@@ -121,6 +122,20 @@ piglit_init(int argc, char **argv)
                found_index[indices[i]] = true;
        }
 
+       /*     "If a string in <uniformNames> is not the name of an
+        *      active uniform, the value INVALID_INDEX will be
+        *      written to the corresponding element of
+        *      <uniformIndices>."
+        */
+       glGetUniformIndices(prog, 1, &bad_uniform, &index);
+       if (!piglit_check_gl_error(0)) {
+               pass = false;
+       } else if (index != GL_INVALID_INDEX) {
+               printf("Bad uniform index for %s: 0x%08x\n", bad_uniform, 
index);
+               printf("  Expected 0x%08x\n", GL_INVALID_INDEX);
+               pass = false;
+       }
+
        piglit_report_result(pass ? PIGLIT_PASS : PIGLIT_FAIL);
 }
 
-- 
1.7.10.4

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to