From: Francisco Jerez Date: Sun, 16 Aug 2015 23:02:17 +0000 (+0300) Subject: mesa: Refuse to bind a mutable texture object to an image unit in GLES. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=86a64dfccfd3e98befa1e58f1a252cf993e5b680;p=mesa.git mesa: Refuse to bind a mutable texture object to an image unit in GLES. Reviewed-by: Ian Romanick Reviewed-by: Timothy Arceri --- diff --git a/src/mesa/main/shaderimage.c b/src/mesa/main/shaderimage.c index 5a3c47a62c8..c4bba842ca7 100644 --- a/src/mesa/main/shaderimage.c +++ b/src/mesa/main/shaderimage.c @@ -546,6 +546,18 @@ _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(!immutable)"); + return; + } + _mesa_reference_texobj(&u->TexObj, t); } else { _mesa_reference_texobj(&u->TexObj, NULL);