This optimization is disabled by default, and it is recommended to be enabled.
The docs do not provide much info.

Cc: Ian Romanick <ian.d.roman...@intel.com>
Cc: "Neil S. Roberts" <n...@linux.intel.com>
Signed-off-by: Ben Widawsky <b...@bwidawsk.net>
---

Notes:
    I am enabling this optimization separately for BSW as the recommendation was
    explicit for SKL only.
    
    I will get perf data and piglit data before pushing. I'd propose we plan to 
push
    (with review of course) provided there are no regressions. It's possible the
    optimization will not show up in the existing workloads I test.

 src/mesa/drivers/dri/i965/brw_state_upload.c | 6 ++++--
 src/mesa/drivers/dri/i965/intel_reg.h        | 3 ++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c 
b/src/mesa/drivers/dri/i965/brw_state_upload.c
index ab316bf..11098cf 100644
--- a/src/mesa/drivers/dri/i965/brw_state_upload.c
+++ b/src/mesa/drivers/dri/i965/brw_state_upload.c
@@ -350,8 +350,10 @@ brw_upload_initial_gpu_state(struct brw_context *brw)
       BEGIN_BATCH(3);
       OUT_BATCH(MI_LOAD_REGISTER_IMM | (3 - 2));
       OUT_BATCH(GEN7_CACHE_MODE_1);
-      OUT_BATCH((GEN9_PARTIAL_RESOLVE_DISABLE_IN_VC << 16) |
-                GEN9_PARTIAL_RESOLVE_DISABLE_IN_VC);
+      OUT_BATCH((GEN9_PARTIAL_RESOLVE_DISABLE_IN_VC << 16)  |
+                (GEN9_FLOAT_BLEND_OPTMIZATION_ENABLE << 16) |
+                GEN9_PARTIAL_RESOLVE_DISABLE_IN_VC          |
+                GEN9_FLOAT_BLEND_OPTMIZATION_ENABLE);
       ADVANCE_BATCH();
    }
 
diff --git a/src/mesa/drivers/dri/i965/intel_reg.h 
b/src/mesa/drivers/dri/i965/intel_reg.h
index 488fb5b..235a022 100644
--- a/src/mesa/drivers/dri/i965/intel_reg.h
+++ b/src/mesa/drivers/dri/i965/intel_reg.h
@@ -142,8 +142,9 @@
 #define GEN7_3DPRIM_BASE_VERTEX         0x2440
 
 #define GEN7_CACHE_MODE_1               0x7004
-# define GEN8_HIZ_NP_PMA_FIX_ENABLE        (1 << 11)
 # define GEN8_HIZ_NP_EARLY_Z_FAILS_DISABLE (1 << 13)
+# define GEN8_HIZ_NP_PMA_FIX_ENABLE        (1 << 11)
+# define GEN9_FLOAT_BLEND_OPTMIZATION_ENABLE (1 << 4)
 # define GEN9_PARTIAL_RESOLVE_DISABLE_IN_VC (1 << 1)
 # define GEN8_HIZ_PMA_MASK_BITS \
    ((GEN8_HIZ_NP_PMA_FIX_ENABLE | GEN8_HIZ_NP_EARLY_Z_FAILS_DISABLE) << 16)
-- 
2.3.5

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to