From d4df6318a1014ad99149fd13d0d90ef6c0c0fb31 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 15 Nov 2011 12:22:15 -0800 Subject: [PATCH] mesa: Fix a couple of missed conversion to arrays in format_unpack. Fixes regression in piglit: ARB_color_buffer_float/GL_RGBA16F-getteximage ARB_color_buffer_float/GL_RGBA16F-readpixels ARB_color_buffer_float/GL_RGBA32F-getteximage ARB_color_buffer_float/GL_RGBA32F-readpixels Reviewed-by: Brian Paul --- src/mesa/main/format_unpack.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/mesa/main/format_unpack.c b/src/mesa/main/format_unpack.c index af89be92619..6e2ce7a0516 100644 --- a/src/mesa/main/format_unpack.c +++ b/src/mesa/main/format_unpack.c @@ -790,10 +790,10 @@ unpack_RGBA_FLOAT32(const void *src, GLfloat dst[][4], GLuint n) const GLfloat *s = (const GLfloat *) src; GLuint i; for (i = 0; i < n; i++) { - dst[i][RCOMP] = s[0]; - dst[i][GCOMP] = s[1]; - dst[i][BCOMP] = s[2]; - dst[i][ACOMP] = s[3]; + dst[i][RCOMP] = s[i*4+0]; + dst[i][GCOMP] = s[i*4+1]; + dst[i][BCOMP] = s[i*4+2]; + dst[i][ACOMP] = s[i*4+3]; } } @@ -803,10 +803,10 @@ unpack_RGBA_FLOAT16(const void *src, GLfloat dst[][4], GLuint n) const GLhalfARB *s = (const GLhalfARB *) src; GLuint i; for (i = 0; i < n; i++) { - dst[i][RCOMP] = _mesa_half_to_float(s[0]); - dst[i][GCOMP] = _mesa_half_to_float(s[1]); - dst[i][BCOMP] = _mesa_half_to_float(s[2]); - dst[i][ACOMP] = _mesa_half_to_float(s[3]); + dst[i][RCOMP] = _mesa_half_to_float(s[i*4+0]); + dst[i][GCOMP] = _mesa_half_to_float(s[i*4+1]); + dst[i][BCOMP] = _mesa_half_to_float(s[i*4+2]); + dst[i][ACOMP] = _mesa_half_to_float(s[i*4+3]); } } @@ -816,9 +816,9 @@ unpack_RGB_FLOAT32(const void *src, GLfloat dst[][4], GLuint n) const GLfloat *s = (const GLfloat *) src; GLuint i; for (i = 0; i < n; i++) { - dst[i][RCOMP] = s[0]; - dst[i][GCOMP] = s[1]; - dst[i][BCOMP] = s[2]; + dst[i][RCOMP] = s[i*3+0]; + dst[i][GCOMP] = s[i*3+1]; + dst[i][BCOMP] = s[i*3+2]; dst[i][ACOMP] = 1.0F; } } -- 2.30.2