diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h index 7db3b94e0b6..071bd5b0818 100644 --- a/src/mesa/main/context.h +++ b/src/mesa/main/context.h @@ -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. */ diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c index adb244fb84c..aca5012beb8 100644 --- a/src/mesa/main/glformats.c +++ b/src/mesa/main/glformats.c @@ -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: