[Piglit] [PATCH v2] fix read_pixels_float() on GLES2 when format is not GL_RGBA

Rhys Perry pendingchaos02 at gmail.com
Wed Mar 28 11:37:39 UTC 2018


GLES2 requires GL_RGBA to be used with GL_UNSIGNED_BYTE in glReadPixels
---
 tests/util/piglit-util-gl.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/util/piglit-util-gl.c b/tests/util/piglit-util-gl.c
index df39c1c87..0504be063 100644
--- a/tests/util/piglit-util-gl.c
+++ b/tests/util/piglit-util-gl.c
@@ -1029,10 +1029,10 @@ read_pixels_float(GLint x, GLint y, GLsizei width, GLsizei height,
 		return pixels;
 	}
 
-	pixels_b = malloc(ncomponents * sizeof(GLubyte));
-	glReadPixels(x, y, width, height, format, GL_UNSIGNED_BYTE, pixels_b);
+	pixels_b = malloc(width * height * 4 * sizeof(GLubyte));
+	glReadPixels(x, y, width, height, GL_RGBA, GL_UNSIGNED_BYTE, pixels_b);
 	for (i = 0; i < ncomponents; i++)
-		pixels[i] = pixels_b[i] / 255.0;
+		pixels[i] = pixels_b[i/ncomponents*4+i%ncomponents] / 255.0;
 	free(pixels_b);
 	return pixels;
 }
-- 
2.14.3



More information about the Piglit mailing list