mesa/main: do not allow s3tc enums on gles1
authorErik Faye-Lund <erik.faye-lund@collabora.com>
Thu, 15 Nov 2018 15:15:41 +0000 (16:15 +0100)
committerErik Faye-Lund <erik.faye-lund@collabora.com>
Mon, 3 Dec 2018 17:16:44 +0000 (18:16 +0100)
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@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/main/glformats.c

index 8fbc9a3b0ba6d3c2a2f60edc7179e26c20ee700c..0d782ce8bc7b0aadea1f372d81a0c654fb243e4d 100644 (file)
@@ -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_EXT_texture_compression_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 ||