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 <[email protected]> --- 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 _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
