[Mesa-dev] [PATCH 06/25] mesa: Refuse to bind a mutable texture object to an image unit in GLES.

Francisco Jerez currojerez at riseup.net
Mon Aug 17 09:45:45 PDT 2015


---
 src/mesa/main/shaderimage.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/mesa/main/shaderimage.c b/src/mesa/main/shaderimage.c
index 5a3c47a..6f7d1c9 100644
--- a/src/mesa/main/shaderimage.c
+++ b/src/mesa/main/shaderimage.c
@@ -546,6 +546,17 @@ _mesa_BindImageTexture(GLuint unit, GLuint texture, GLint level,
          return;
       }
 
+      /* From section 8.22 "Texture Image Loads and Stores" of the OpenGL ES
+       * 3.1 spec:
+       *
+       * "An INVALID_OPERATION error is generated if texture is not the name
+       *  of an immutable texture object."
+       */
+      if (_mesa_is_gles(ctx) && !t->Immutable) {
+         _mesa_error(ctx, GL_INVALID_OPERATION, "glBindImageTexture(texture)");
+         return;
+      }
+
       _mesa_reference_texobj(&u->TexObj, t);
    } else {
       _mesa_reference_texobj(&u->TexObj, NULL);
-- 
2.4.6



More information about the mesa-dev mailing list