diff options
author | marha <marha@users.sourceforge.net> | 2012-02-13 08:47:19 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-02-13 08:47:19 +0100 |
commit | eaa70945cb3f1a432b8c505ecede9ebc7769f36d (patch) | |
tree | 8e44ff4da739e384a2c6a34c1b42ecfb8e212344 /mesalib/src/mesa/main/texcompress.c | |
parent | 474621addc25cb22865c54b70ffbec07c82eb04c (diff) | |
download | vcxsrv-eaa70945cb3f1a432b8c505ecede9ebc7769f36d.tar.gz vcxsrv-eaa70945cb3f1a432b8c505ecede9ebc7769f36d.tar.bz2 vcxsrv-eaa70945cb3f1a432b8c505ecede9ebc7769f36d.zip |
libX11 libxcb mesa xserver mkfontscale git update 13 feb 2012
Diffstat (limited to 'mesalib/src/mesa/main/texcompress.c')
-rw-r--r-- | mesalib/src/mesa/main/texcompress.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/mesalib/src/mesa/main/texcompress.c b/mesalib/src/mesa/main/texcompress.c index 44590ea96..c376b970e 100644 --- a/mesalib/src/mesa/main/texcompress.c +++ b/mesalib/src/mesa/main/texcompress.c @@ -465,6 +465,8 @@ _mesa_compressed_image_address(GLint col, GLint row, GLint img, /** * Decompress a compressed texture image, returning a GL_RGBA/GL_FLOAT image. + * \param srcRowStride stride in bytes between rows of blocks in the + * compressed source image. */ void _mesa_decompress_image(gl_format format, GLuint width, GLuint height, @@ -475,11 +477,19 @@ _mesa_decompress_image(gl_format format, GLuint width, GLuint height, GLint i, GLint j, GLint k, GLfloat *texel); struct swrast_texture_image texImage; /* dummy teximage */ GLuint i, j; + GLuint bytes, bw, bh; + + bytes = _mesa_get_format_bytes(format); + _mesa_get_format_block_size(format, &bw, &bh); /* setup dummy texture image info */ memset(&texImage, 0, sizeof(texImage)); texImage.Map = (void *) src; - texImage.RowStride = srcRowStride; + + /* XXX This line is a bit of a hack to adapt to the row stride + * convention used by the texture decompression functions. + */ + texImage.RowStride = srcRowStride * bh / bytes; switch (format) { /* DXT formats */ |