swrast: fix more store_texel() bugs
authorBrian Paul <brianp@vmware.com>
Tue, 13 Sep 2011 19:30:17 +0000 (13:30 -0600)
committerBrian Paul <brianp@vmware.com>
Sun, 18 Sep 2011 17:24:04 +0000 (11:24 -0600)
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=40412 on swrast.

src/mesa/swrast/s_texfetch_tmp.h

index 0a06dcb..3eebd13 100644 (file)
@@ -1343,9 +1343,9 @@ static void FETCH(f_l16)( const struct swrast_texture_image *texImage,
 static void store_texel_l16(struct swrast_texture_image *texImage,
                             GLint i, GLint j, GLint k, const void *texel)
 {
-   const GLushort *rgba = (const GLushort *) texel;
+   const GLchan *rgba = (const GLchan *) texel;
    GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
-   *dst = rgba[RCOMP];
+   *dst = CHAN_TO_USHORT(rgba[RCOMP]);
 }
 #endif
 
@@ -1391,9 +1391,9 @@ static void FETCH(f_i16)( const struct swrast_texture_image *texImage,
 static void store_texel_i16(struct swrast_texture_image *texImage,
                             GLint i, GLint j, GLint k, const void *texel)
 {
-   const GLushort *rgba = (const GLushort *) texel;
+   const GLchan *rgba = (const GLchan *) texel;
    GLushort *dst = TEXEL_ADDR(GLushort, texImage, i, j, k, 1);
-   *dst = rgba[RCOMP];
+   *dst = CHAN_TO_USHORT(rgba[RCOMP]);
 }
 #endif