aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_context.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-02-16 00:57:54 -0800
committerKenneth Graunke <[email protected]>2019-07-31 15:14:10 -0700
commitb61f17d3627bfcc51844e5a55a3e9a9a546007e0 (patch)
treeeeaaa869f02c3092dd438083009f8dcfa0dfa48c /src/gallium/drivers/iris/iris_context.c
parent8af1990ad7703dd6805af9beb3a32ca7170c10c2 (diff)
iris: Skip emitting 3DSTATE_INDEX_BUFFER if possible
We were emitting 3DSTATE_INDEX_BUFFER on every indexed draw, even if back-to-back draws referred to the same index buffer. This improves drawoverhead scores in the DrawElements cases by about 10%, by giving us even more minimal batches.
Diffstat (limited to 'src/gallium/drivers/iris/iris_context.c')
-rw-r--r--src/gallium/drivers/iris/iris_context.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_context.c b/src/gallium/drivers/iris/iris_context.c
index a0f3aa8c2e2..8710f010ebf 100644
--- a/src/gallium/drivers/iris/iris_context.c
+++ b/src/gallium/drivers/iris/iris_context.c
@@ -100,6 +100,7 @@ iris_lost_context_state(struct iris_batch *batch)
ice->state.dirty = ~0ull;
memset(ice->state.last_grid, 0, sizeof(ice->state.last_grid));
batch->last_surface_base_address = ~0ull;
+ ice->vtbl.lost_genx_state(ice, batch);
}
static enum pipe_reset_status