From cf2439e2463ce925e3e256a25a505cf0586963f0 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Wed, 5 Oct 2011 21:14:37 -0600 Subject: [PATCH] st/mesa: don't use gl_texture_image::RowStride It's always the same as the texture width. --- src/mesa/state_tracker/st_cb_texture.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index de3b972cfd4..1b93c9d0614 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -1685,16 +1685,18 @@ copy_image_data_to_texture(struct st_context *st, pipe_resource_reference(&stImage->pt, NULL); } else if (stImage->TexData) { + /* Copy from malloc'd memory */ + /* XXX this should be re-examined/tested with a compressed format */ + GLuint blockSize = util_format_get_blocksize(stObj->pt->format); + GLuint srcRowStride = stImage->base.Width * blockSize; + GLuint srcSliceStride = stImage->base.Height * srcRowStride; st_texture_image_data(st, stObj->pt, stImage->base.Face, dstLevel, stImage->TexData, - stImage->base.RowStride * - util_format_get_blocksize(stObj->pt->format), - stImage->base.RowStride * - stImage->base.Height * - util_format_get_blocksize(stObj->pt->format)); + srcRowStride, + srcSliceStride); _mesa_align_free(stImage->TexData); stImage->TexData = NULL; } -- 2.30.2