i965/cs: Re-emit push constants and cs_state on new batches
authorJordan Justen <jordan.l.justen@intel.com>
Thu, 24 Sep 2015 07:25:27 +0000 (00:25 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Tue, 29 Sep 2015 15:23:47 +0000 (08:23 -0700)
We need to re-emit push constansts when a new batch is started since
the push constants are stored in the batch. We also need to re-emit
the MEDIA_INTERFACE_DESCRIPTOR (in brw_cs_state) since it is stored in
the batch.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
src/mesa/drivers/dri/i965/gen7_cs_state.c

index d9561cfce61bd2fd71df7787a2c2948ad72e2307..c53aa2338197f41bec095cc3792562c148ea852d 100644 (file)
@@ -181,7 +181,8 @@ brw_upload_cs_state(struct brw_context *brw)
 const struct brw_tracked_state brw_cs_state = {
    .dirty = {
       .mesa = _NEW_PROGRAM_CONSTANTS,
-      .brw = BRW_NEW_CS_PROG_DATA |
+      .brw = BRW_NEW_BATCH |
+             BRW_NEW_CS_PROG_DATA |
              BRW_NEW_PUSH_CONSTANT_ALLOCATION,
    },
    .emit = brw_upload_cs_state
@@ -340,7 +341,8 @@ gen7_upload_cs_push_constants(struct brw_context *brw)
 const struct brw_tracked_state gen7_cs_push_constants = {
    .dirty = {
       .mesa = _NEW_PROGRAM_CONSTANTS,
-      .brw = BRW_NEW_COMPUTE_PROGRAM |
+      .brw = BRW_NEW_BATCH |
+             BRW_NEW_COMPUTE_PROGRAM |
              BRW_NEW_PUSH_CONSTANT_ALLOCATION,
    },
    .emit = gen7_upload_cs_push_constants,