Mesa (master): meta: Fallback to software for GetTexImage of compressed GL_TEXTURE_CUBE_MAP_ARRAY

Ian Romanick idr at kemper.freedesktop.org
Sun Feb 2 15:50:01 UTC 2014


Module: Mesa
Branch: master
Commit: 070f55d8935af6fee62506b54bc86c1bf5049a82
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=070f55d8935af6fee62506b54bc86c1bf5049a82

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Dec 13 15:59:38 2013 -0800

meta: Fallback to software for GetTexImage of compressed GL_TEXTURE_CUBE_MAP_ARRAY

The hardware decompression path isn't even close to being able to handle
this.  This converts the crash (assertion failure) in
"EXT_texture_compression_s3tc/getteximage-targets S3TC CUBE_ARRAY" to a
plain old failure.

Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Cc: "9.1 9.2 10.0" <mesa-stable at lists.freedesktop.org>

---

 src/mesa/drivers/common/meta.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index 6185e80..b898a27 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -4219,7 +4219,8 @@ _mesa_meta_GetTexImage(struct gl_context *ctx,
     * unsigned, normalized values.  We could handle signed and unnormalized 
     * with floating point renderbuffers...
     */
-   if (_mesa_is_format_compressed(texImage->TexFormat) &&
+   if (texImage->TexObject->Target != GL_TEXTURE_CUBE_MAP_ARRAY
+       && _mesa_is_format_compressed(texImage->TexFormat) &&
        _mesa_get_format_datatype(texImage->TexFormat)
        == GL_UNSIGNED_NORMALIZED) {
       struct gl_texture_object *texObj = texImage->TexObject;




More information about the mesa-commit mailing list