diff options
author | marha <marha@users.sourceforge.net> | 2012-08-27 08:17:50 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-08-27 08:17:50 +0200 |
commit | b3462c12542a69eeaa3fe90fddfbb15d30c18158 (patch) | |
tree | 294230cca0e59ee250cd70060ba3f8c3742b4023 /mesalib/src/mesa/main/texcompress_s3tc.c | |
parent | e91ed68959d63f79e3b4973bc80c7ebcd07ed021 (diff) | |
download | vcxsrv-b3462c12542a69eeaa3fe90fddfbb15d30c18158.tar.gz vcxsrv-b3462c12542a69eeaa3fe90fddfbb15d30c18158.tar.bz2 vcxsrv-b3462c12542a69eeaa3fe90fddfbb15d30c18158.zip |
xwininfo fontconfig libX11 libXau libXext libxcb mesa pixman
xkeyboard-config git update 27 Aug 2012
Diffstat (limited to 'mesalib/src/mesa/main/texcompress_s3tc.c')
-rw-r--r-- | mesalib/src/mesa/main/texcompress_s3tc.c | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/mesalib/src/mesa/main/texcompress_s3tc.c b/mesalib/src/mesa/main/texcompress_s3tc.c index e30890c8b..230242c56 100644 --- a/mesalib/src/mesa/main/texcompress_s3tc.c +++ b/mesalib/src/mesa/main/texcompress_s3tc.c @@ -368,13 +368,14 @@ _mesa_texstore_rgba_dxt5(TEXSTORE_PARAMS) static void -fetch_texel_2d_rgb_dxt1( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLubyte *texel ) +fetch_texel_2d_rgb_dxt1(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLubyte *texel) { (void) k; if (fetch_ext_rgb_dxt1) { + GLint sliceOffset = k ? texImage->ImageOffsets[k] / 2 : 0; fetch_ext_rgb_dxt1(texImage->RowStride, - texImage->Map, i, j, texel); + texImage->Map + sliceOffset, i, j, texel); } else _mesa_debug(NULL, "attempted to decode s3tc texture without library available: fetch_texel_2d_rgb_dxt1"); @@ -382,8 +383,8 @@ fetch_texel_2d_rgb_dxt1( const struct swrast_texture_image *texImage, void -_mesa_fetch_texel_2d_f_rgb_dxt1(const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel) +_mesa_fetch_texel_rgb_dxt1(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) { /* just sample as GLubyte and convert to float here */ GLubyte rgba[4]; @@ -396,13 +397,14 @@ _mesa_fetch_texel_2d_f_rgb_dxt1(const struct swrast_texture_image *texImage, static void -fetch_texel_2d_rgba_dxt1( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLubyte *texel ) +fetch_texel_2d_rgba_dxt1(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLubyte *texel) { (void) k; if (fetch_ext_rgba_dxt1) { + GLint sliceOffset = k ? texImage->ImageOffsets[k] / 2 : 0; fetch_ext_rgba_dxt1(texImage->RowStride, - texImage->Map, i, j, texel); + texImage->Map + sliceOffset, i, j, texel); } else _mesa_debug(NULL, "attempted to decode s3tc texture without library available: fetch_texel_2d_rgba_dxt1\n"); @@ -410,8 +412,8 @@ fetch_texel_2d_rgba_dxt1( const struct swrast_texture_image *texImage, void -_mesa_fetch_texel_2d_f_rgba_dxt1(const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel) +_mesa_fetch_texel_rgba_dxt1(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) { /* just sample as GLubyte and convert to float here */ GLubyte rgba[4]; @@ -424,13 +426,14 @@ _mesa_fetch_texel_2d_f_rgba_dxt1(const struct swrast_texture_image *texImage, static void -fetch_texel_2d_rgba_dxt3( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLubyte *texel ) +fetch_texel_2d_rgba_dxt3(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLubyte *texel) { (void) k; if (fetch_ext_rgba_dxt3) { + GLint sliceOffset = k ? texImage->ImageOffsets[k] : 0; fetch_ext_rgba_dxt3(texImage->RowStride, - texImage->Map, i, j, texel); + texImage->Map + sliceOffset, i, j, texel); } else _mesa_debug(NULL, "attempted to decode s3tc texture without library available: fetch_texel_2d_rgba_dxt3\n"); @@ -438,8 +441,8 @@ fetch_texel_2d_rgba_dxt3( const struct swrast_texture_image *texImage, void -_mesa_fetch_texel_2d_f_rgba_dxt3(const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel) +_mesa_fetch_texel_rgba_dxt3(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) { /* just sample as GLubyte and convert to float here */ GLubyte rgba[4]; @@ -452,13 +455,14 @@ _mesa_fetch_texel_2d_f_rgba_dxt3(const struct swrast_texture_image *texImage, static void -fetch_texel_2d_rgba_dxt5( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLubyte *texel ) +fetch_texel_2d_rgba_dxt5(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLubyte *texel) { (void) k; if (fetch_ext_rgba_dxt5) { + GLint sliceOffset = k ? texImage->ImageOffsets[k] : 0; fetch_ext_rgba_dxt5(texImage->RowStride, - texImage->Map, i, j, texel); + texImage->Map + sliceOffset, i, j, texel); } else _mesa_debug(NULL, "attempted to decode s3tc texture without library available: fetch_texel_2d_rgba_dxt5\n"); @@ -466,8 +470,8 @@ fetch_texel_2d_rgba_dxt5( const struct swrast_texture_image *texImage, void -_mesa_fetch_texel_2d_f_rgba_dxt5(const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel) +_mesa_fetch_texel_rgba_dxt5(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) { /* just sample as GLubyte and convert to float here */ GLubyte rgba[4]; @@ -480,8 +484,8 @@ _mesa_fetch_texel_2d_f_rgba_dxt5(const struct swrast_texture_image *texImage, #if FEATURE_EXT_texture_sRGB void -_mesa_fetch_texel_2d_f_srgb_dxt1( const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel ) +_mesa_fetch_texel_srgb_dxt1(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) { /* just sample as GLubyte and convert to float here */ GLubyte rgba[4]; @@ -493,8 +497,8 @@ _mesa_fetch_texel_2d_f_srgb_dxt1( const struct swrast_texture_image *texImage, } void -_mesa_fetch_texel_2d_f_srgba_dxt1(const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel) +_mesa_fetch_texel_srgba_dxt1(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) { /* just sample as GLubyte and convert to float here */ GLubyte rgba[4]; @@ -506,8 +510,8 @@ _mesa_fetch_texel_2d_f_srgba_dxt1(const struct swrast_texture_image *texImage, } void -_mesa_fetch_texel_2d_f_srgba_dxt3(const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel) +_mesa_fetch_texel_srgba_dxt3(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) { /* just sample as GLubyte and convert to float here */ GLubyte rgba[4]; @@ -519,8 +523,8 @@ _mesa_fetch_texel_2d_f_srgba_dxt3(const struct swrast_texture_image *texImage, } void -_mesa_fetch_texel_2d_f_srgba_dxt5(const struct swrast_texture_image *texImage, - GLint i, GLint j, GLint k, GLfloat *texel) +_mesa_fetch_texel_srgba_dxt5(const struct swrast_texture_image *texImage, + GLint i, GLint j, GLint k, GLfloat *texel) { /* just sample as GLubyte and convert to float here */ GLubyte rgba[4]; |