i965: Use gen7_upload_constant_state for 3DSTATE_CONSTANT_PS as well.
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 13 Sep 2013 21:41:04 +0000 (14:41 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 17 Sep 2013 01:25:14 +0000 (18:25 -0700)
Now we use gen7_upload_constant_state() for all three shader stages.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/mesa/drivers/dri/i965/gen7_wm_state.c

index e9fe95f..80073cd 100644 (file)
@@ -129,33 +129,7 @@ upload_ps_state(struct brw_context *brw)
    ADVANCE_BATCH();
 
    /* CACHE_NEW_WM_PROG */
-   if (brw->wm.prog_data->nr_params == 0) {
-      /* Disable the push constant buffers. */
-      BEGIN_BATCH(7);
-      OUT_BATCH(_3DSTATE_CONSTANT_PS << 16 | (7 - 2));
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      ADVANCE_BATCH();
-   } else {
-      BEGIN_BATCH(7);
-      OUT_BATCH(_3DSTATE_CONSTANT_PS << 16 | (7 - 2));
-
-      OUT_BATCH(ALIGN(brw->wm.prog_data->nr_params,
-                     brw->wm.prog_data->dispatch_width) / 8);
-      OUT_BATCH(0);
-      /* Pointer to the WM constant buffer.  Covered by the set of
-       * state flags from gen6_upload_wm_push_constants.
-       */
-      OUT_BATCH(brw->wm.base.push_const_offset | GEN7_MOCS_L3);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      ADVANCE_BATCH();
-   }
+   gen7_upload_constant_state(brw, &brw->wm.base, true, _3DSTATE_CONSTANT_PS);
 
    dw2 = dw4 = dw5 = 0;