mesa: Require temp images in _mesa_texstore_*_dxt* with SkipImages

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 <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16631>
This commit is contained in:
Kenneth Graunke
2022-05-20 02:36:34 -07:00
committed by Marge Bot
parent 6910891c7f
commit 035e6e32f1
+4
View File
@@ -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];