Commit 167dcd59 authored by Erik Faye-Lund 's avatar Erik Faye-Lund

mesa/main: do not allow type_2_10_10_10_REV enums before gles3

ctx->Extensions.EXT_texture_type_2_10_10_10_REV is set regardless of
the API that's used, so checking for those direcly will always enable
extensions when they are supported by the driver.

There's no corresponding extension for OpenGL ES 1.x/2.0, so we
shouldn't allow these enums there.
Signed-off-by: Erik Faye-Lund 's avatarErik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
parent b112e62b
......@@ -373,6 +373,13 @@ _mesa_has_texture_shared_exponent(const struct gl_context *ctx)
return _mesa_has_EXT_texture_shared_exponent(ctx) || _mesa_is_gles3(ctx);
}
static inline bool
_mesa_has_texture_type_2_10_10_10_REV(const struct gl_context *ctx)
{
return _mesa_is_desktop_gl(ctx) ||
_mesa_has_EXT_texture_type_2_10_10_10_REV(ctx);
}
/**
* Checks if the context supports geometry shaders.
*/
......
......@@ -2194,7 +2194,7 @@ _mesa_es_error_check_format_and_type(const struct gl_context *ctx,
|| type == GL_UNSIGNED_SHORT_5_5_5_1
|| type == GL_FLOAT
|| type == GL_HALF_FLOAT_OES
|| (ctx->Extensions.EXT_texture_type_2_10_10_10_REV &&
|| (_mesa_has_texture_type_2_10_10_10_REV(ctx) &&
type == GL_UNSIGNED_INT_2_10_10_10_REV));
break;
......@@ -2874,7 +2874,7 @@ _mesa_gles_error_check_format_and_type(const struct gl_context *ctx,
case GL_RGBA:
case GL_RGB10_A2:
case GL_RGB5_A1:
if (!ctx->Extensions.EXT_texture_type_2_10_10_10_REV)
if (!_mesa_has_texture_type_2_10_10_10_REV(ctx))
return GL_INVALID_OPERATION;
break;
default:
......@@ -3052,7 +3052,7 @@ _mesa_gles_error_check_format_and_type(const struct gl_context *ctx,
* GLES3 doesn't, and GL_OES_required_internalformat extends that
* to allow the sized RGB internalformats as well.
*/
if (!ctx->Extensions.EXT_texture_type_2_10_10_10_REV)
if (!_mesa_has_texture_type_2_10_10_10_REV(ctx))
return GL_INVALID_OPERATION;
break;
default:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment