st/mesa: check that the image unit is valid in st_bind_images
authorNicolai Hähnle <nicolai.haehnle@amd.com>
Thu, 10 Mar 2016 20:15:02 +0000 (15:15 -0500)
committerNicolai Hähnle <nicolai.haehnle@amd.com>
Fri, 11 Mar 2016 16:53:40 +0000 (11:53 -0500)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/mesa/state_tracker/st_atom_image.c

index d0f0c42a3b37d0dd8cbfa7af1a3424451fd19cdf..bf7486b794d14ca307c54e9e1f6df15ceb8c0d54 100644 (file)
@@ -25,6 +25,7 @@
  **************************************************************************/
 
 #include "main/imports.h"
+#include "main/shaderimage.h"
 #include "program/prog_parameter.h"
 #include "program/prog_print.h"
 #include "compiler/glsl/ir_uniform.h"
@@ -60,7 +61,7 @@ st_bind_images(struct st_context *st, struct gl_shader *shader,
       struct st_texture_object *stObj = st_texture_object(u->TexObj);
       struct pipe_image_view *img = &images[i];
 
-      if (!stObj ||
+      if (!_mesa_is_image_unit_valid(st->ctx, u) ||
           !st_finalize_texture(st->ctx, st->pipe, u->TexObj) ||
           !stObj->pt) {
          memset(img, 0, sizeof(*img));