Fix norm and snorm clear values on read pixel tests.
authorMika Isojärvi <misojarvi@google.com>
Tue, 17 Feb 2015 23:49:23 +0000 (15:49 -0800)
committerMika Isojärvi <misojarvi@google.com>
Wed, 18 Feb 2015 23:31:02 +0000 (15:31 -0800)
Test was assuming that we are always using unorm8 format and converting float
to integer color value by multiplying by 255.

Bug: 19409759
Change-Id: I7b36701e396363ec880bef7ef7aef12055c304fc

modules/gles2/functional/es2fReadPixelsTests.cpp
modules/gles3/functional/es3fReadPixelsTests.cpp

index c16630f..29fe9c1 100644 (file)
@@ -194,10 +194,7 @@ TestCase::IterateResult ReadPixelsTest::iterate (void)
                GLU_CHECK_CALL(glClearColor(red, green, blue, alpha));
                GLU_CHECK_CALL(glClear(GL_COLOR_BUFFER_BIT));
 
-               // Clear reference
-               for (int x = 0; x < reference.getWidth(); x++)
-                       for (int y = 0; y < reference.getHeight(); y++)
-                                       reference.getLevel(0).setPixel(tcu::Vec4(red, green, blue, alpha), x, y);
+               tcu::clear(reference.getLevel(0), tcu::Vec4(red, green, blue, alpha));
        }
 
        render(reference);
index 09e9877..f44ece8 100644 (file)
@@ -255,10 +255,7 @@ void ReadPixelsTest::clearColor (tcu::Texture2D& reference, vector<deUint8>& pix
 
                GLU_CHECK_CALL(glClearBufferfv(GL_COLOR, 0, color));
 
-               // Clear reference
-               for (int x = 0; x < reference.getWidth(); x++)
-                       for (int y = 0; y < reference.getHeight(); y++)
-                                       reference.getLevel(0).setPixel(tcu::UVec4((deUint32)(255.0f * red), (deUint32)(255.0f * green), (deUint32)(255.0f * blue), (deUint32)(255 * alpha)), x, y);
+               tcu::clear(reference.getLevel(0), tcu::Vec4(red, green, blue, alpha));
        }
        else if (m_format == GL_RGBA_INTEGER)
        {
@@ -274,10 +271,7 @@ void ReadPixelsTest::clearColor (tcu::Texture2D& reference, vector<deUint8>& pix
 
                        GLU_CHECK_CALL(glClearBufferiv(GL_COLOR, 0, color));
 
-                       // Clear reference
-                       for (int x = 0; x < reference.getWidth(); x++)
-                               for (int y = 0; y < reference.getHeight(); y++)
-                                               reference.getLevel(0).setPixel(tcu::IVec4(red, green, blue, alpha), x, y);
+                       tcu::clear(reference.getLevel(0), tcu::IVec4(red, green, blue, alpha));
                }
                else if (m_type == GL_UNSIGNED_INT)
                {
@@ -291,10 +285,7 @@ void ReadPixelsTest::clearColor (tcu::Texture2D& reference, vector<deUint8>& pix
 
                        GLU_CHECK_CALL(glClearBufferuiv(GL_COLOR, 0, color));
 
-                       // Clear reference
-                       for (int x = 0; x < reference.getWidth(); x++)
-                               for (int y = 0; y < reference.getHeight(); y++)
-                                               reference.getLevel(0).setPixel(tcu::UVec4(red, green, blue, alpha), x, y);
+                       tcu::clear(reference.getLevel(0), tcu::UVec4(red, green, blue, alpha));
                }
                else
                        DE_ASSERT(false);