mesa: Refuse to bind image uniforms using glUniform in GLES.
authorFrancisco Jerez <currojerez@riseup.net>
Sun, 16 Aug 2015 23:05:43 +0000 (02:05 +0300)
committerFrancisco Jerez <currojerez@riseup.net>
Thu, 20 Aug 2015 09:26:54 +0000 (12:26 +0300)
The GLES 3.1 spec removed support for updating the image unit bound to
an image uniform using glUniform1i() calls.

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/main/uniform_query.cpp

index 036530e91b65cf63c5a16c54bbfdb541c5a7004e..988ec764137051c410c864113caf13e066e3f2f5 100644 (file)
@@ -677,9 +677,11 @@ _mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
       match = (basicType != GLSL_TYPE_DOUBLE);
       break;
    case GLSL_TYPE_SAMPLER:
-   case GLSL_TYPE_IMAGE:
       match = (basicType == GLSL_TYPE_INT);
       break;
+   case GLSL_TYPE_IMAGE:
+      match = (basicType == GLSL_TYPE_INT && _mesa_is_desktop_gl(ctx));
+      break;
    default:
       match = (basicType == uni->type->base_type);
       break;