From: Eric Anholt Date: Wed, 11 Oct 2017 17:32:25 +0000 (-0700) Subject: mesa: Disallow GL_RED/GL_RG with half-floats on GLES2. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=376a0a9b08543f3978efd6f51cec3d4cf628e939;p=mesa.git mesa: Disallow GL_RED/GL_RG with half-floats on GLES2. Sure, you'd think that the combination of GL_OES_texture_half_float and GL_EXT_texture_rg would mean that GL_RG16F exists, but it doesn't. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103227 Fixes: c16a7443e999 ("mesa: Expose GL_OES_required_internalformat on GLES contexts.") Reviewed-by: Nicolai Hähnle --- diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c index 7b4b405a814..1e797c24c2a 100644 --- a/src/mesa/main/glformats.c +++ b/src/mesa/main/glformats.c @@ -3119,6 +3119,8 @@ _mesa_es3_error_check_format_and_type(const struct gl_context *ctx, case GL_HALF_FLOAT_OES: switch (internalFormat) { case GL_RG16F: + if (ctx->Version <= 20) + return GL_INVALID_OPERATION; break; case GL_RG: if (ctx->Extensions.ARB_texture_rg && @@ -3207,6 +3209,8 @@ _mesa_es3_error_check_format_and_type(const struct gl_context *ctx, case GL_HALF_FLOAT_OES: switch (internalFormat) { case GL_R16F: + if (ctx->Version <= 20) + return GL_INVALID_OPERATION; break; case GL_RG: case GL_RED: