[Cogl] [PATCH 2/2] test-gles2-context: Read pixels using GL_RGBA not GL_RGB

Neil Roberts neil at linux.intel.com
Wed Feb 6 05:03:06 PST 2013


The GLES2 spec only guarantees calling glReadPixels with GL_RGBA and
an implementation specific format. Mesa seems to now reject reading
with GL_RGB so the test had started failing. This fixes it to just
read using GL_RGBA.
---
 tests/conform/test-gles2-context.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/conform/test-gles2-context.c b/tests/conform/test-gles2-context.c
index e9f6e3a..7b5f0fc 100644
--- a/tests/conform/test-gles2-context.c
+++ b/tests/conform/test-gles2-context.c
@@ -277,7 +277,7 @@ test_gles2_read_pixels (void)
   CoglGLES2Context *gles2_ctx;
   const CoglGLES2Vtable *gles2;
   CoglError *error = NULL;
-  GLubyte pixel[3];
+  GLubyte pixel[4];
   GLuint fbo_handle;
 
   create_gles2_context (&offscreen_texture,
@@ -299,7 +299,7 @@ test_gles2_read_pixels (void)
 
   gles2->glClearColor (1, 0, 0, 1);
   gles2->glClear (GL_COLOR_BUFFER_BIT);
-  gles2->glReadPixels (0, 0, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &pixel);
+  gles2->glReadPixels (0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixel);
 
   test_utils_compare_pixel (pixel, 0xff0000ff);
 
@@ -309,7 +309,7 @@ test_gles2_read_pixels (void)
 
   gles2->glClearColor (0, 1, 0, 1);
   gles2->glClear (GL_COLOR_BUFFER_BIT);
-  gles2->glReadPixels (0, 0, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &pixel);
+  gles2->glReadPixels (0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixel);
 
   test_utils_compare_pixel (pixel, 0x00ff00ff);
 
@@ -317,7 +317,7 @@ test_gles2_read_pixels (void)
 
   gles2->glClearColor (0, 1, 1, 1);
   gles2->glClear (GL_COLOR_BUFFER_BIT);
-  gles2->glReadPixels (0, 0, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &pixel);
+  gles2->glReadPixels (0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixel);
 
   test_utils_compare_pixel (pixel, 0x00ffffff);
 
@@ -335,7 +335,7 @@ test_gles2_read_pixels (void)
       g_error ("Failed to push gles2 context: %s\n", error->message);
     }
 
-  gles2->glReadPixels (0, 0, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &pixel);
+  gles2->glReadPixels (0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixel);
 
   test_utils_compare_pixel (pixel, 0x00ffffff);
 
@@ -355,7 +355,7 @@ test_gles2_read_pixels (void)
       g_error ("Failed to push gles2 context: %s\n", error->message);
     }
 
-  gles2->glReadPixels (0, 0, 1, 1, GL_RGB, GL_UNSIGNED_BYTE, &pixel);
+  gles2->glReadPixels (0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, pixel);
 
   test_utils_compare_pixel (pixel, 0xffffffff);
 
-- 
1.7.11.3.g3c3efa5



More information about the Cogl mailing list