Mesa (master): mesa: Disallow GL_RED/GL_RG with half-floats on GLES2.

Eric Anholt anholt at kemper.freedesktop.org
Thu Oct 12 19:43:07 UTC 2017


Module: Mesa
Branch: master
Commit: 376a0a9b08543f3978efd6f51cec3d4cf628e939
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=376a0a9b08543f3978efd6f51cec3d4cf628e939

Author: Eric Anholt <eric at anholt.net>
Date:   Wed Oct 11 10:32:25 2017 -0700

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 <nicolai.haehnle at amd.com>

---

 src/mesa/main/glformats.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/mesa/main/glformats.c b/src/mesa/main/glformats.c
index 7b4b405a81..1e797c24c2 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:




More information about the mesa-commit mailing list