diff options
author | Kenneth Graunke <[email protected]> | 2019-02-16 00:57:54 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-07-31 15:14:10 -0700 |
commit | b61f17d3627bfcc51844e5a55a3e9a9a546007e0 (patch) | |
tree | eeaaa869f02c3092dd438083009f8dcfa0dfa48c /src/gallium/drivers/iris/iris_context.c | |
parent | 8af1990ad7703dd6805af9beb3a32ca7170c10c2 (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.c | 1 |
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 |