Per issue 17 of the extension spec, unsized internalFormat values are
not allowed.  Change GL_RGBA to GL_RGBA8 and add some extra error
checks.

The test passes on NVIDIA now.
---
 tests/spec/arb_texture_storage/texture-storage.c |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/tests/spec/arb_texture_storage/texture-storage.c 
b/tests/spec/arb_texture_storage/texture-storage.c
index c10546e..3a94030 100644
--- a/tests/spec/arb_texture_storage/texture-storage.c
+++ b/tests/spec/arb_texture_storage/texture-storage.c
@@ -69,15 +69,17 @@ test_one_level_errors(GLenum target)
        glBindTexture(target, tex);
 
        if (target == GL_TEXTURE_1D) {
-               glTexStorage1D(target, 1, GL_RGBA, width);
+               glTexStorage1D(target, 1, GL_RGBA8, width);
        }
        else if (target == GL_TEXTURE_2D) {
-               glTexStorage2D(target, 1, GL_RGBA, width, height);
+               glTexStorage2D(target, 1, GL_RGBA8, width, height);
        }
        else if (target == GL_TEXTURE_3D) {
-               glTexStorage3D(target, 1, GL_RGBA, width, height, depth);
+               glTexStorage3D(target, 1, GL_RGBA8, width, height, depth);
        }
 
+       piglit_check_gl_error(GL_NO_ERROR);
+
        glGetTexLevelParameteriv(target, 0, GL_TEXTURE_WIDTH, &v);
        if (v != width) {
                printf("%s: bad width: %d, should be %d\n", TestName, v, width);
@@ -111,7 +113,7 @@ test_one_level_errors(GLenum target)
                        return GL_FALSE;
                }
 
-               glTexStorage2D(target, 1, GL_RGBA, width, height);
+               glTexStorage2D(target, 1, GL_RGBA8, width, height);
                if (glGetError() != GL_INVALID_OPERATION) {
                        printf("%s: glTexStorage2D() failed to generate 
error\n", TestName);
                        return GL_FALSE;
@@ -149,18 +151,20 @@ test_mipmap_errors(GLenum target)
        glBindTexture(target, tex);
 
        if (target == GL_TEXTURE_1D) {
-               glTexStorage1D(target, levels, GL_RGBA, width);
+               glTexStorage1D(target, levels, GL_RGBA8, width);
                targetString = "GL_TEXTURE_1D";
        }
        else if (target == GL_TEXTURE_2D) {
-               glTexStorage2D(target, levels, GL_RGBA, width, height);
+               glTexStorage2D(target, levels, GL_RGBA8, width, height);
                targetString = "GL_TEXTURE_2D";
        }
        else if (target == GL_TEXTURE_3D) {
-               glTexStorage3D(target, levels, GL_RGBA, width, height, depth);
+               glTexStorage3D(target, levels, GL_RGBA8, width, height, depth);
                targetString = "GL_TEXTURE_3D";
        }
 
+       piglit_check_gl_error(GL_NO_ERROR);
+
        glGetTexParameteriv(target, GL_TEXTURE_IMMUTABLE_FORMAT, &v);
        if (!v) {
                printf("%s: %s GL_TEXTURE_IMMUTABLE_FORMAT query returned 
false\n",                    TestName, targetString);
@@ -238,7 +242,9 @@ test_2d_mipmap_rendering(void)
        glGenTextures(1, &tex);
        glBindTexture(GL_TEXTURE_2D, tex);
 
-       glTexStorage2D(GL_TEXTURE_2D, levels, GL_RGBA, width, height);
+       glTexStorage2D(GL_TEXTURE_2D, levels, GL_RGBA8, width, height);
+
+       piglit_check_gl_error(GL_NO_ERROR);
 
        /* check that the mipmap level sizes are correct */
        for (l = 0; l < levels; l++) {
-- 
1.7.3.4

_______________________________________________
Piglit mailing list
Piglit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to