summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-06-20 00:47:33 -0500
committerKenneth Graunke <[email protected]>2019-06-20 13:32:16 -0500
commitdb8f57a5cb4ab8e1ad789793678797c04e95de21 (patch)
tree4224b22bd80bf35bd2cea71c8482ff19f51e96b8 /src/gallium
parentecc500398f29c2dd7a86de7dec20f121974c65a2 (diff)
iris: Don't check VF address high bits when there is no buffer.
If there is no buffer, then it doesn't matter. Leave the old stale high bits in place (for next time) and don't bother invalidating. Cuts 5.6% of the flushes in the Civilization VI demo on Kabylake GT2.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/iris/iris_blorp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/iris/iris_blorp.c b/src/gallium/drivers/iris/iris_blorp.c
index 209940e9bc7..ede679e731a 100644
--- a/src/gallium/drivers/iris/iris_blorp.c
+++ b/src/gallium/drivers/iris/iris_blorp.c
@@ -212,7 +212,7 @@ blorp_vf_invalidate_for_vb_48b_transitions(struct blorp_batch *blorp_batch,
struct iris_bo *bo = addrs[i].buffer;
uint16_t high_bits = bo ? bo->gtt_offset >> 32u : 0;
- if (high_bits != ice->state.last_vbo_high_bits[i]) {
+ if (bo && high_bits != ice->state.last_vbo_high_bits[i]) {
need_invalidate = true;
ice->state.last_vbo_high_bits[i] = high_bits;
}