[Mesa-dev] [PATCH] i965/blorp: Cleanup leftovers from push constant disabling

Topi Pohjolainen topi.pohjolainen at intel.com
Wed Jul 13 08:34:19 UTC 2016


Setup for pixel shader push constants is the same as for other
stages. Note that on gen8+ the if-else branches were identical
and the generation check for packet size redundant.

Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
 src/mesa/drivers/dri/i965/gen7_blorp.c | 27 ++++--------------
 src/mesa/drivers/dri/i965/gen8_blorp.c | 50 ++++------------------------------
 2 files changed, 12 insertions(+), 65 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.c b/src/mesa/drivers/dri/i965/gen7_blorp.c
index abdc4be..72ab082 100644
--- a/src/mesa/drivers/dri/i965/gen7_blorp.c
+++ b/src/mesa/drivers/dri/i965/gen7_blorp.c
@@ -233,7 +233,7 @@ gen7_blorp_emit_surface_state(struct brw_context *brw,
  * buffer are valid.
  */
 static void
-gen7_blorp_emit_disable_constant_state(struct brw_context *brw,
+gen7_blorp_disable_constant_state(struct brw_context *brw,
                                        unsigned opcode)
 {
    BEGIN_BATCH(7);
@@ -570,20 +570,6 @@ gen7_blorp_emit_sampler_state_pointers_ps(struct brw_context *brw,
    ADVANCE_BATCH();
 }
 
-void
-gen7_blorp_emit_constant_ps_disable(struct brw_context *brw)
-{
-   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();
-}
-
 static void
 gen7_blorp_emit_depth_stencil_config(struct brw_context *brw,
                                      const struct brw_blorp_params *params)
@@ -779,10 +765,11 @@ gen7_blorp_exec(struct brw_context *brw,
       gen7_blorp_emit_cc_state_pointer(brw, cc_state_offset);
    }
 
-   gen7_blorp_emit_disable_constant_state(brw, _3DSTATE_CONSTANT_VS);
-   gen7_blorp_emit_disable_constant_state(brw, _3DSTATE_CONSTANT_HS);
-   gen7_blorp_emit_disable_constant_state(brw, _3DSTATE_CONSTANT_DS);
-   gen7_blorp_emit_disable_constant_state(brw, _3DSTATE_CONSTANT_GS);
+   gen7_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_VS);
+   gen7_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_HS);
+   gen7_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_DS);
+   gen7_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_GS);
+   gen7_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_PS);
 
    depthstencil_offset = gen6_blorp_emit_depth_stencil_state(brw, params);
    gen7_blorp_emit_depth_stencil_state_pointers(brw, depthstencil_offset);
@@ -821,8 +808,6 @@ gen7_blorp_exec(struct brw_context *brw,
    if (params->wm_prog_data)
       gen7_blorp_emit_binding_table_pointers_ps(brw, wm_bind_bo_offset);
 
-   gen7_blorp_emit_constant_ps_disable(brw);
-
    if (params->src.mt) {
       const uint32_t sampler_offset =
          gen6_blorp_emit_sampler_state(brw, BRW_MAPFILTER_LINEAR, 0, true);
diff --git a/src/mesa/drivers/dri/i965/gen8_blorp.c b/src/mesa/drivers/dri/i965/gen8_blorp.c
index 21fcd9e..f68aba5 100644
--- a/src/mesa/drivers/dri/i965/gen8_blorp.c
+++ b/src/mesa/drivers/dri/i965/gen8_blorp.c
@@ -161,7 +161,7 @@ gen8_blorp_emit_blend_state(struct brw_context *brw,
  * buffer are valid.
  */
 static void
-gen8_blorp_emit_disable_constant_state(struct brw_context *brw,
+gen8_blorp_disable_constant_state(struct brw_context *brw,
                                        unsigned opcode)
 {
    BEGIN_BATCH(11);
@@ -566,44 +566,6 @@ gen8_blorp_emit_depth_stencil_state(struct brw_context *brw,
    ADVANCE_BATCH();
 }
 
-static void
-gen8_blorp_emit_disable_constant_ps(struct brw_context *brw)
-{
-   const int dwords = brw->gen >= 8 ? 11 : 7;
-   BEGIN_BATCH(dwords);
-   OUT_BATCH(_3DSTATE_CONSTANT_PS << 16 | (dwords - 2));
-
-   if (brw->gen >= 9) {
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-   } else {
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-   }
-
-   if (brw->gen >= 9) {
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-   } else {
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-      OUT_BATCH(0);
-   }
-
-   ADVANCE_BATCH();
-}
-
 static uint32_t
 gen8_blorp_emit_surface_states(struct brw_context *brw,
                                const struct brw_blorp_params *params)
@@ -680,12 +642,12 @@ gen8_blorp_exec(struct brw_context *brw, const struct brw_blorp_params *params)
    const uint32_t cc_state_offset = gen6_blorp_emit_cc_state(brw);
    gen7_blorp_emit_cc_state_pointer(brw, cc_state_offset);
 
-   gen8_blorp_emit_disable_constant_state(brw, _3DSTATE_CONSTANT_VS);
-   gen8_blorp_emit_disable_constant_state(brw, _3DSTATE_CONSTANT_HS);
-   gen8_blorp_emit_disable_constant_state(brw, _3DSTATE_CONSTANT_DS);
-   gen8_blorp_emit_disable_constant_state(brw, _3DSTATE_CONSTANT_GS);
+   gen8_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_VS);
+   gen8_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_HS);
+   gen8_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_DS);
+   gen8_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_GS);
+   gen8_blorp_disable_constant_state(brw, _3DSTATE_CONSTANT_PS);
 
-   gen8_blorp_emit_disable_constant_ps(brw);
    wm_bind_bo_offset = gen8_blorp_emit_surface_states(brw, params);
 
    gen7_blorp_emit_binding_table_pointers_ps(brw, wm_bind_bo_offset);
-- 
2.5.5



More information about the mesa-dev mailing list