i965: Reupload push and pull constants when we get new shader image unit state.
authorFrancisco Jerez <currojerez@riseup.net>
Fri, 12 Feb 2016 04:17:15 +0000 (20:17 -0800)
committerFrancisco Jerez <currojerez@riseup.net>
Sat, 13 Feb 2016 22:33:32 +0000 (14:33 -0800)
Fixes several of the
"dEQP-GLES31.functional.image_load_store*load_store*single_layer" dEQP
tests that use image formats we implement using untyped surface
messages.

Cc: mesa-stable@lists.freedesktop.org
Tested-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_wm_surface_state.c

index 708be0edcd1bb6182517c8e18eed1b01e744f98a..f1b8fc4c84d21ade80ef3344473d660a2ab747e9 100644 (file)
@@ -1364,6 +1364,11 @@ brw_upload_image_surfaces(struct brw_context *brw,
       }
 
       brw->ctx.NewDriverState |= BRW_NEW_SURFACES;
+      /* This may have changed the image metadata dependent on the context
+       * image unit state and passed to the program as uniforms, make sure
+       * that push and pull constants are reuploaded.
+       */
+      brw->NewGLState |= _NEW_PROGRAM_CONSTANTS;
    }
 }