summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/iris/iris_program_cache.c2
-rw-r--r--src/gallium/drivers/iris/iris_state.c8
2 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/drivers/iris/iris_program_cache.c b/src/gallium/drivers/iris/iris_program_cache.c
index 2cbd635684d..8287b7eda15 100644
--- a/src/gallium/drivers/iris/iris_program_cache.c
+++ b/src/gallium/drivers/iris/iris_program_cache.c
@@ -160,6 +160,8 @@ recreate_cache_bo(struct iris_context *ice, uint32_t size)
iris_bo_unreference(old_bo);
iris_bo_unmap(old_bo);
}
+
+ ice->state.dirty |= IRIS_DIRTY_STATE_BASE_ADDRESS;
}
const void *
diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c
index a24ffab51a3..1dafc91ee7a 100644
--- a/src/gallium/drivers/iris/iris_state.c
+++ b/src/gallium/drivers/iris/iris_state.c
@@ -1271,8 +1271,12 @@ iris_setup_state_base_address(struct iris_context *ice,
struct iris_batch *batch,
struct iris_bo *instruction_bo)
{
- if (ice->state.dirty & IRIS_DIRTY_STATE_BASE_ADDRESS)
- ice->state.dirty &= ~IRIS_DIRTY_STATE_BASE_ADDRESS;
+ if (!(ice->state.dirty & IRIS_DIRTY_STATE_BASE_ADDRESS))
+ return;
+
+ //iris_batchbuffer_flush(...)
+
+ ice->state.dirty &= ~IRIS_DIRTY_STATE_BASE_ADDRESS;
/* XXX: PIPE_CONTROLs */