summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorTopi Pohjolainen <[email protected]>2016-04-16 00:10:40 +0300
committerTopi Pohjolainen <[email protected]>2016-04-23 07:09:39 +0300
commit84db9ca3f7c587168e548189596bd1362b1f3b23 (patch)
treefedbfe1d9f49b6a29909c0d6d8bf0678929d9f40 /src/mesa
parent234b5f23f8047a837b8236e58301ad60fe63902b (diff)
i965/blorp: Reconfigure base state address only if needed
Signed-off-by: Topi Pohjolainen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/gen6_blorp.cpp3
-rw-r--r--src/mesa/drivers/dri/i965/gen7_blorp.cpp3
-rw-r--r--src/mesa/drivers/dri/i965/gen8_blorp.cpp4
3 files changed, 7 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.cpp b/src/mesa/drivers/dri/i965/gen6_blorp.cpp
index cc7cbd5b46c..5c0fa0c144a 100644
--- a/src/mesa/drivers/dri/i965/gen6_blorp.cpp
+++ b/src/mesa/drivers/dri/i965/gen6_blorp.cpp
@@ -989,7 +989,8 @@ gen6_blorp_exec(struct brw_context *brw,
/* Emit workaround flushes when we switch from drawing to blorping. */
brw_emit_post_sync_nonzero_flush(brw);
- brw_state_base_address.emit(brw);
+ if (brw_state_base_address.dirty.brw & brw->ctx.NewDriverState)
+ brw_state_base_address.emit(brw);
gen6_emit_3dstate_multisample(brw, params->dst.num_samples);
gen6_emit_3dstate_sample_mask(brw,
diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.cpp b/src/mesa/drivers/dri/i965/gen7_blorp.cpp
index a44c186f5c3..1520469e131 100644
--- a/src/mesa/drivers/dri/i965/gen7_blorp.cpp
+++ b/src/mesa/drivers/dri/i965/gen7_blorp.cpp
@@ -814,7 +814,8 @@ gen7_blorp_exec(struct brw_context *brw,
uint32_t prog_offset = params->get_wm_prog(brw, &prog_data);
- brw_state_base_address.emit(brw);
+ if (brw_state_base_address.dirty.brw & brw->ctx.NewDriverState)
+ brw_state_base_address.emit(brw);
gen6_emit_3dstate_multisample(brw, params->dst.num_samples);
gen6_emit_3dstate_sample_mask(brw,
diff --git a/src/mesa/drivers/dri/i965/gen8_blorp.cpp b/src/mesa/drivers/dri/i965/gen8_blorp.cpp
index 1bd9b97bb8f..d8ad5ea1b5f 100644
--- a/src/mesa/drivers/dri/i965/gen8_blorp.cpp
+++ b/src/mesa/drivers/dri/i965/gen8_blorp.cpp
@@ -635,7 +635,9 @@ gen8_blorp_exec(struct brw_context *brw, const brw_blorp_params *params)
uint32_t prog_offset = params->get_wm_prog(brw, &prog_data);
- gen8_upload_state_base_address(brw);
+ if (gen8_state_base_address.dirty.brw & brw->ctx.NewDriverState)
+ gen8_upload_state_base_address(brw);
+
gen7_blorp_emit_cc_viewport(brw);
gen7_l3_state.emit(brw);