Use row stride instead of width when getting colour index texels.
Untested, noticed while working on the depth/stencil fix.
This commit is contained in:
parent
b082e04619
commit
72e82418ef
|
@ -74,6 +74,7 @@ get_tex_color_index(struct gl_context *ctx, GLuint dimensions,
|
|||
const GLint width = texImage->Width;
|
||||
const GLint height = texImage->Height;
|
||||
const GLint depth = texImage->Depth;
|
||||
const GLint rowstride = texImage->RowStride;
|
||||
const GLuint indexBits =
|
||||
_mesa_get_format_bits(texImage->TexFormat, GL_TEXTURE_INDEX_SIZE_EXT);
|
||||
const GLbitfield transferOps = 0x0;
|
||||
|
@ -89,14 +90,14 @@ get_tex_color_index(struct gl_context *ctx, GLuint dimensions,
|
|||
|
||||
if (indexBits == 8) {
|
||||
const GLubyte *src = (const GLubyte *) texImage->Data;
|
||||
src += width * (img * texImage->Height + row);
|
||||
src += rowstride * (img * height + row);
|
||||
for (col = 0; col < width; col++) {
|
||||
indexRow[col] = src[col];
|
||||
}
|
||||
}
|
||||
else if (indexBits == 16) {
|
||||
const GLushort *src = (const GLushort *) texImage->Data;
|
||||
src += width * (img * texImage->Height + row);
|
||||
src += rowstride * (img * height + row);
|
||||
for (col = 0; col < width; col++) {
|
||||
indexRow[col] = src[col];
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue