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: c16a7443e9 ("mesa: Expose GL_OES_required_internalformat on GLES contexts.")
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
Eric Anholt 2017-10-11 10:32:25 -07:00
parent f536f45250
commit 376a0a9b08
1 changed files with 4 additions and 0 deletions

View File

@ -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: