[Mesa-dev] [PATCH 08/30] mesa/main: do not allow s3tc enums on gles1
Erik Faye-Lund
erik.faye-lund at collabora.com
Mon Nov 19 12:14:44 UTC 2018
There's no extension enabling S3TC formats on OpenGL ES 1.x, so we
shouldn't allow these even if the driver can support it. So let's check
for EXT_texture_compression_s3tc instead of ANGLE_texture_compression_dxt,
which is supported on all other OpenGL variations.
We also need to use _mesa_has_EXT_texture_compression_s3tc() instead of
checking the driver cap directly, otherwise we end up enabling this on
OpenGL ES 1.x, as the API isn't checked.
Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
---
src/mesa/main/glformats.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
index a5eb0dabb3b..964235bb72f 100644
--- a/src/mesa/main/glformats.c
+++ b/src/mesa/main/glformats.c
@@ -1371,10 +1371,7 @@ _mesa_is_compressed_format(const struct gl_context *ctx, GLenum format)
switch (_mesa_get_format_layout(m_format)) {
case MESA_FORMAT_LAYOUT_S3TC:
if (_mesa_get_format_color_encoding(m_format) == GL_LINEAR) {
- /* Assume that the ANGLE flag will always be set if the
- * EXT flag is set.
- */
- return ctx->Extensions.ANGLE_texture_compression_dxt;
+ return _mesa_has_EXT_texture_compression_s3tc(ctx);
} else {
return _mesa_has_EXT_texture_sRGB(ctx) &&
_mesa_has_S3_s3tc(ctx);
@@ -2802,7 +2799,7 @@ _mesa_gles_error_check_format_and_type(const struct gl_context *ctx,
/* The GLES variant of EXT_texture_compression_s3tc is very vague and
* doesn't list valid types. Just do exactly what the spec says.
*/
- if (ctx->Extensions.EXT_texture_compression_s3tc &&
+ if (_mesa_has_EXT_texture_compression_s3tc(ctx) &&
(internalFormat == GL_COMPRESSED_RGB_S3TC_DXT1_EXT ||
internalFormat == GL_COMPRESSED_RGBA_S3TC_DXT1_EXT ||
internalFormat == GL_COMPRESSED_RGBA_S3TC_DXT3_EXT ||
--
2.19.1
More information about the mesa-dev
mailing list