[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