Mesa (main): mesa: Require temp images in _mesa_texstore_*_dxt* with SkipImages

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri May 27 02:12:24 UTC 2022


Module: Mesa
Branch: main
Commit: 035e6e32f1c368c57fd2ed872bf0fb37a4eb5d11
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=035e6e32f1c368c57fd2ed872bf0fb37a4eb5d11

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri May 20 02:36:34 2022 -0700

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 at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16631>

---

 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];



More information about the mesa-commit mailing list