From 035e6e32f1c368c57fd2ed872bf0fb37a4eb5d11 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Fri, 20 May 2022 02:36:34 -0700 Subject: [PATCH] mesa: Require temp images in _mesa_texstore_*_dxt* with SkipImages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The S3TC compressor code doesn't support this, but our lack of checking was being papered over by the stride checks being overly picky. This is needed to prevent regressions in the next commit. Reviewed-by: Marek Olšák Part-of: --- src/mesa/main/texcompress_s3tc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/mesa/main/texcompress_s3tc.c b/src/mesa/main/texcompress_s3tc.c index 3470a7dc561..b6695512dcb 100644 --- a/src/mesa/main/texcompress_s3tc.c +++ b/src/mesa/main/texcompress_s3tc.c @@ -60,6 +60,7 @@ _mesa_texstore_rgb_dxt1(TEXSTORE_PARAMS) srcType != GL_UNSIGNED_BYTE || ctx->_ImageTransferState || ALIGN(srcPacking->RowLength, srcPacking->Alignment) != srcWidth || + srcPacking->SkipImages || srcPacking->SwapBytes) { /* convert image to RGB/GLubyte */ GLubyte *tempImageSlices[1]; @@ -112,6 +113,7 @@ _mesa_texstore_rgba_dxt1(TEXSTORE_PARAMS) srcType != GL_UNSIGNED_BYTE || ctx->_ImageTransferState || ALIGN(srcPacking->RowLength, srcPacking->Alignment) != srcWidth || + srcPacking->SkipImages || srcPacking->SwapBytes) { /* convert image to RGBA/GLubyte */ GLubyte *tempImageSlices[1]; @@ -166,6 +168,7 @@ _mesa_texstore_rgba_dxt3(TEXSTORE_PARAMS) srcType != GL_UNSIGNED_BYTE || ctx->_ImageTransferState || ALIGN(srcPacking->RowLength, srcPacking->Alignment) != srcWidth || + srcPacking->SkipImages || srcPacking->SwapBytes) { /* convert image to RGBA/GLubyte */ GLubyte *tempImageSlices[1]; @@ -219,6 +222,7 @@ _mesa_texstore_rgba_dxt5(TEXSTORE_PARAMS) srcType != GL_UNSIGNED_BYTE || ctx->_ImageTransferState || ALIGN(srcPacking->RowLength, srcPacking->Alignment) != srcWidth || + srcPacking->SkipImages || srcPacking->SwapBytes) { /* convert image to RGBA/GLubyte */ GLubyte *tempImageSlices[1];