[Piglit] [PATCH] gl-3.0: Don't query GL_TEXTURE_{LUMINANCE, INTENSITY}_* outside compat profile
Ian Romanick
idr at freedesktop.org
Mon Jun 16 18:32:32 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.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
tests/spec/gl-3.0/required-sized-texture-formats.c | 26 +++++++++++++++++-----
1 file changed, 21 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..e549977 100644
--- a/tests/spec/gl-3.0/required-sized-texture-formats.c
+++ b/tests/spec/gl-3.0/required-sized-texture-formats.c
@@ -88,9 +88,12 @@ 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);
+
glGenTextures(1, &tex);
glBindTexture(GL_TEXTURE_2D, tex);
@@ -146,12 +149,25 @@ piglit_init(int argc, char **argv)
}
for (c = 0; c < CHANNELS; c++) {
- glGetTexLevelParameteriv(GL_TEXTURE_2D, 0,
- size_queries[c], &sizes[c]);
- if (c != S) {
+ if (compat_profile
+ || (size_queries[c] != GL_TEXTURE_LUMINANCE_SIZE
+ && size_queries[c] != GL_TEXTURE_INTENSITY_SIZE)) {
glGetTexLevelParameteriv(GL_TEXTURE_2D, 0,
- type_queries[c],
- &types[c]);
+ size_queries[c], &sizes[c]);
+ } else {
+ sizes[c] = 0;
+ }
+
+ if (c != S) {
+ if (compat_profile
+ || (type_queries[c] != GL_TEXTURE_LUMINANCE_TYPE
+ && type_queries[c] != GL_TEXTURE_INTENSITY_TYPE)) {
+ glGetTexLevelParameteriv(GL_TEXTURE_2D, 0,
+ type_queries[c],
+ &types[c]);
+ } else {
+ types[c] = 0;
+ }
} 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