From: Ian Romanick <[email protected]>

There are no queries for GL_TEXTURE_LUMINANCE_SIZE,
GL_TEXTURE_INTENSITY_SIZE, GL_TEXTURE_LUMINANCE_TYPE, or
GL_TEXTURE_INTENSITY_TYPE in any version of OpenGL ES or desktop OpenGL
core profile.

v2: Move call to glGetTexLevelParameteriv to a separate function.
Suggested by Brian.

Signed-off-by: Ian Romanick <[email protected]>
---
 tests/spec/gl-3.0/required-sized-texture-formats.c | 35 ++++++++++++++++++----
 1 file changed, 30 insertions(+), 5 deletions(-)

diff --git a/tests/spec/gl-3.0/required-sized-texture-formats.c 
b/tests/spec/gl-3.0/required-sized-texture-formats.c
index ed94470..3fe00f7 100644
--- a/tests/spec/gl-3.0/required-sized-texture-formats.c
+++ b/tests/spec/gl-3.0/required-sized-texture-formats.c
@@ -82,12 +82,34 @@ piglit_display(void)
        return PIGLIT_FAIL;
 }
 
+static void
+GetTexLevelParameteriv(GLenum target, GLuint level, GLenum pname, GLint *value,
+                     bool compat_profile)
+{
+       if (!compat_profile) {
+               switch (pname) {
+               case GL_TEXTURE_LUMINANCE_SIZE:
+               case GL_TEXTURE_INTENSITY_SIZE:
+               case GL_TEXTURE_LUMINANCE_TYPE:
+               case GL_TEXTURE_INTENSITY_TYPE:
+                       *value = 0;
+                       return;
+               default:
+                       break;
+               }
+       }
+
+       glGetTexLevelParameteriv(target, level, pname, value);
+}
+
 void
 piglit_init(int argc, char **argv)
 {
        bool pass = true;
        GLuint tex;
        int i, c;
+       const bool compat_profile = !piglit_is_gles() &&
+               !piglit_is_core_profile;
 
        piglit_require_gl_version(target_version);
 
@@ -146,12 +168,15 @@ piglit_init(int argc, char **argv)
                }
 
                for (c = 0; c < CHANNELS; c++) {
-                       glGetTexLevelParameteriv(GL_TEXTURE_2D, 0,
-                                                size_queries[c], &sizes[c]);
+                       GetTexLevelParameteriv(GL_TEXTURE_2D, 0,
+                                              size_queries[c], &sizes[c],
+                                              compat_profile);
+
                        if (c != S) {
-                               glGetTexLevelParameteriv(GL_TEXTURE_2D, 0,
-                                                        type_queries[c],
-                                                        &types[c]);
+                               GetTexLevelParameteriv(GL_TEXTURE_2D, 0,
+                                                      type_queries[c],
+                                                      &types[c],
+                                                      compat_profile);
                        } else {
                                /* For stencil, there's no query for
                                 * the type, so our table above
-- 
1.8.1.4

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

Reply via email to