diff options
author | Ilia Mirkin <[email protected]> | 2016-07-08 18:41:03 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2016-07-11 21:17:01 -0400 |
commit | 8ee3cdde049d30095451f44080a9cd2d6e949459 (patch) | |
tree | 49396094316feb60ad068a509bdd0efcbc3469c6 /src/mesa/main | |
parent | 0d911a720da9677ad0410fdfeab8e81546427102 (diff) |
mesa: etc2 online compression is unsupported, don't attempt it
Signed-off-by: Ilia Mirkin <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
Cc: "11.2 12.0" <[email protected]>
Diffstat (limited to 'src/mesa/main')
-rw-r--r-- | src/mesa/main/glformats.c | 23 | ||||
-rw-r--r-- | src/mesa/main/glformats.h | 3 | ||||
-rw-r--r-- | src/mesa/main/teximage.c | 1 |
3 files changed, 27 insertions, 0 deletions
diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c index 448577e059f..0c2210a42d9 100644 --- a/src/mesa/main/glformats.c +++ b/src/mesa/main/glformats.c @@ -907,6 +907,29 @@ _mesa_is_astc_format(GLenum internalFormat) } /** + * Test if the given format is an ETC2 format. + */ +GLboolean +_mesa_is_etc2_format(GLenum internalFormat) +{ + switch (internalFormat) { + case GL_COMPRESSED_RGB8_ETC2: + case GL_COMPRESSED_SRGB8_ETC2: + case GL_COMPRESSED_RGBA8_ETC2_EAC: + case GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: + case GL_COMPRESSED_R11_EAC: + case GL_COMPRESSED_RG11_EAC: + case GL_COMPRESSED_SIGNED_R11_EAC: + case GL_COMPRESSED_SIGNED_RG11_EAC: + case GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: + case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: + return true; + default: + return false; + } +} + +/** * Test if the given format is an integer (non-normalized) format. */ GLboolean diff --git a/src/mesa/main/glformats.h b/src/mesa/main/glformats.h index 782e0f2edc8..763307f2593 100644 --- a/src/mesa/main/glformats.h +++ b/src/mesa/main/glformats.h @@ -61,6 +61,9 @@ extern GLboolean _mesa_is_astc_format(GLenum internalFormat); extern GLboolean +_mesa_is_etc2_format(GLenum internalFormat); + +extern GLboolean _mesa_is_type_unsigned(GLenum type); extern GLboolean diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 26a6c21cd0f..81e46a170ae 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -1307,6 +1307,7 @@ bool _mesa_format_no_online_compression(const struct gl_context *ctx, GLenum format) { return _mesa_is_astc_format(format) || + _mesa_is_etc2_format(format) || compressedteximage_only_format(ctx, format); } |