Mesa (master): swrast: add casts for ImageSlices pointer arithmetic

Jose Fonseca jrfonseca at kemper.freedesktop.org
Wed May 1 10:56:42 UTC 2013


Module: Mesa
Branch: master
Commit: 236ea7900ff263fdb3d01e1a904c43c600e2654d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=236ea7900ff263fdb3d01e1a904c43c600e2654d

Author: Brian Paul <brianp at vmware.com>
Date:   Tue Apr 30 13:35:23 2013 -0600

swrast: add casts for ImageSlices pointer arithmetic

MSVC doesn't like pointer arithmetic with void * so use GLubyte *.

Reviewed-by: Jose Fonseca<jfonseca at vmware.com>

---

 src/mesa/swrast/s_texfetch_tmp.h |    6 +++---
 src/mesa/swrast/s_texfilter.c    |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/mesa/swrast/s_texfetch_tmp.h b/src/mesa/swrast/s_texfetch_tmp.h
index c9991cd..44fa817 100644
--- a/src/mesa/swrast/s_texfetch_tmp.h
+++ b/src/mesa/swrast/s_texfetch_tmp.h
@@ -51,8 +51,8 @@
 #elif DIM == 2
 
 #define TEXEL_ADDR( type, image, i, j, k, size )			\
-	((void) (k),							\
-	 ((type *)((image)->ImageSlices[0] + (image)->RowStride * (j)) + \
+       ((void) (k),							\
+        ((type *)((GLubyte *) (image)->ImageSlices[0] + (image)->RowStride * (j)) + \
           (i) * (size)))
 
 #define FETCH(x) fetch_texel_2d_##x
@@ -60,7 +60,7 @@
 #elif DIM == 3
 
 #define TEXEL_ADDR( type, image, i, j, k, size )			\
-	((type *)((image)->ImageSlices[k] +				\
+        ((type *)((GLubyte *) (image)->ImageSlices[k] +                      \
                   (image)->RowStride * (j)) + (i) * (size))
 
 #define FETCH(x) fetch_texel_3d_##x
diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c
index c8ea26a..fba8e6c 100644
--- a/src/mesa/swrast/s_texfilter.c
+++ b/src/mesa/swrast/s_texfilter.c
@@ -1436,7 +1436,7 @@ opt_sample_rgb_2d(struct gl_context *ctx,
       GLint i = IFLOOR(texcoords[k][0] * width) & colMask;
       GLint j = IFLOOR(texcoords[k][1] * height) & rowMask;
       GLint pos = (j << shift) | i;
-      GLubyte *texel = swImg->ImageSlices[0] + 3 * pos;
+      GLubyte *texel = (GLubyte *) swImg->ImageSlices[0] + 3 * pos;
       rgba[k][RCOMP] = UBYTE_TO_FLOAT(texel[2]);
       rgba[k][GCOMP] = UBYTE_TO_FLOAT(texel[1]);
       rgba[k][BCOMP] = UBYTE_TO_FLOAT(texel[0]);




More information about the mesa-commit mailing list