[Piglit] [PATCH] gl-3.0: Don't query GL_TEXTURE_{LUMINANCE, INTENSITY}_* outside compat profile
Ian Romanick
idr at freedesktop.org
Tue Jun 17 11:36:16 PDT 2014
From: Ian Romanick <ian.d.romanick at intel.com>
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 <ian.d.romanick at intel.com>
---
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
More information about the Piglit
mailing list