[Mesa-dev] [PATCH 3/3] i965: Drop BRW_NEW_BATCH from shader stage atoms on Gen7+.

Kenneth Graunke kenneth at whitecape.org
Sun Oct 2 21:49:01 UTC 2016


Sandybridge still uploads the push constants from these atoms, and those
live in the batch buffer, so they must be re-uploaded on every batch.

I don't see any reason for the Gen7+ atoms to listen to BRW_NEW_BATCH.
My guess is I just copy and pasted it a long time ago.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
 src/mesa/drivers/dri/i965/gen7_gs_state.c | 3 +--
 src/mesa/drivers/dri/i965/gen7_vs_state.c | 3 +--
 src/mesa/drivers/dri/i965/gen7_wm_state.c | 6 ++----
 src/mesa/drivers/dri/i965/gen8_ds_state.c | 3 +--
 src/mesa/drivers/dri/i965/gen8_gs_state.c | 3 +--
 src/mesa/drivers/dri/i965/gen8_hs_state.c | 3 +--
 src/mesa/drivers/dri/i965/gen8_ps_state.c | 3 +--
 src/mesa/drivers/dri/i965/gen8_vs_state.c | 3 +--
 8 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/gen7_gs_state.c b/src/mesa/drivers/dri/i965/gen7_gs_state.c
index 2f740e6..90abe3e 100644
--- a/src/mesa/drivers/dri/i965/gen7_gs_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_gs_state.c
@@ -155,8 +155,7 @@ upload_gs_state(struct brw_context *brw)
 const struct brw_tracked_state gen7_gs_state = {
    .dirty = {
       .mesa  = _NEW_TRANSFORM,
-      .brw   = BRW_NEW_BATCH |
-               BRW_NEW_BLORP |
+      .brw   = BRW_NEW_BLORP |
                BRW_NEW_CONTEXT |
                BRW_NEW_GEOMETRY_PROGRAM |
                BRW_NEW_GS_PROG_DATA,
diff --git a/src/mesa/drivers/dri/i965/gen7_vs_state.c b/src/mesa/drivers/dri/i965/gen7_vs_state.c
index cfd535e..6e86a6b 100644
--- a/src/mesa/drivers/dri/i965/gen7_vs_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_vs_state.c
@@ -76,8 +76,7 @@ upload_vs_state(struct brw_context *brw)
 const struct brw_tracked_state gen7_vs_state = {
    .dirty = {
       .mesa  = 0,
-      .brw   = BRW_NEW_BATCH |
-               BRW_NEW_BLORP |
+      .brw   = BRW_NEW_BLORP |
                BRW_NEW_CONTEXT |
                BRW_NEW_VS_PROG_DATA,
    },
diff --git a/src/mesa/drivers/dri/i965/gen7_wm_state.c b/src/mesa/drivers/dri/i965/gen7_wm_state.c
index 14f8a23..a9ebcb3 100644
--- a/src/mesa/drivers/dri/i965/gen7_wm_state.c
+++ b/src/mesa/drivers/dri/i965/gen7_wm_state.c
@@ -135,8 +135,7 @@ const struct brw_tracked_state gen7_wm_state = {
                _NEW_LINE |
                _NEW_MULTISAMPLE |
                _NEW_POLYGON,
-      .brw   = BRW_NEW_BATCH |
-               BRW_NEW_BLORP |
+      .brw   = BRW_NEW_BLORP |
                BRW_NEW_FS_PROG_DATA,
    },
    .emit = upload_wm_state,
@@ -271,8 +270,7 @@ const struct brw_tracked_state gen7_ps_state = {
       .mesa  = _NEW_BUFFERS |
                _NEW_COLOR |
                _NEW_MULTISAMPLE,
-      .brw   = BRW_NEW_BATCH |
-               BRW_NEW_BLORP |
+      .brw   = BRW_NEW_BLORP |
                BRW_NEW_FS_PROG_DATA,
    },
    .emit = upload_ps_state,
diff --git a/src/mesa/drivers/dri/i965/gen8_ds_state.c b/src/mesa/drivers/dri/i965/gen8_ds_state.c
index a9ca20c..0677f81 100644
--- a/src/mesa/drivers/dri/i965/gen8_ds_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_ds_state.c
@@ -105,8 +105,7 @@ gen8_upload_ds_state(struct brw_context *brw)
 const struct brw_tracked_state gen8_ds_state = {
    .dirty = {
       .mesa  = 0,
-      .brw   = BRW_NEW_BATCH |
-               BRW_NEW_BLORP |
+      .brw   = BRW_NEW_BLORP |
                BRW_NEW_TESS_PROGRAMS |
                BRW_NEW_TES_PROG_DATA,
    },
diff --git a/src/mesa/drivers/dri/i965/gen8_gs_state.c b/src/mesa/drivers/dri/i965/gen8_gs_state.c
index 448f060..5838bc8 100644
--- a/src/mesa/drivers/dri/i965/gen8_gs_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_gs_state.c
@@ -132,8 +132,7 @@ gen8_upload_gs_state(struct brw_context *brw)
 const struct brw_tracked_state gen8_gs_state = {
    .dirty = {
       .mesa  = 0,
-      .brw   = BRW_NEW_BATCH |
-               BRW_NEW_BLORP |
+      .brw   = BRW_NEW_BLORP |
                BRW_NEW_CONTEXT |
                BRW_NEW_GEOMETRY_PROGRAM |
                BRW_NEW_GS_PROG_DATA,
diff --git a/src/mesa/drivers/dri/i965/gen8_hs_state.c b/src/mesa/drivers/dri/i965/gen8_hs_state.c
index 7b9f634..ef8afea 100644
--- a/src/mesa/drivers/dri/i965/gen8_hs_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_hs_state.c
@@ -82,8 +82,7 @@ gen8_upload_hs_state(struct brw_context *brw)
 const struct brw_tracked_state gen8_hs_state = {
    .dirty = {
       .mesa  = 0,
-      .brw   = BRW_NEW_BATCH |
-               BRW_NEW_BLORP |
+      .brw   = BRW_NEW_BLORP |
                BRW_NEW_TCS_PROG_DATA |
                BRW_NEW_TESS_PROGRAMS,
    },
diff --git a/src/mesa/drivers/dri/i965/gen8_ps_state.c b/src/mesa/drivers/dri/i965/gen8_ps_state.c
index 03bac4a..ef143cd 100644
--- a/src/mesa/drivers/dri/i965/gen8_ps_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_ps_state.c
@@ -281,8 +281,7 @@ upload_ps_state(struct brw_context *brw)
 const struct brw_tracked_state gen8_ps_state = {
    .dirty = {
       .mesa  = _NEW_MULTISAMPLE,
-      .brw   = BRW_NEW_BATCH |
-               BRW_NEW_BLORP |
+      .brw   = BRW_NEW_BLORP |
                BRW_NEW_FS_PROG_DATA,
    },
    .emit = upload_ps_state,
diff --git a/src/mesa/drivers/dri/i965/gen8_vs_state.c b/src/mesa/drivers/dri/i965/gen8_vs_state.c
index f63db78..0724f5c 100644
--- a/src/mesa/drivers/dri/i965/gen8_vs_state.c
+++ b/src/mesa/drivers/dri/i965/gen8_vs_state.c
@@ -83,8 +83,7 @@ upload_vs_state(struct brw_context *brw)
 const struct brw_tracked_state gen8_vs_state = {
    .dirty = {
       .mesa  = 0,
-      .brw   = BRW_NEW_BATCH |
-               BRW_NEW_BLORP |
+      .brw   = BRW_NEW_BLORP |
                BRW_NEW_CONTEXT |
                BRW_NEW_VS_PROG_DATA,
    },
-- 
2.10.0



More information about the mesa-dev mailing list