summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-01-21 00:36:54 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:05 -0800
commitf31ae762161af10bde1e896dbb37e9f48a0c7f01 (patch)
tree4c0e3174c26b91787cf707c600d77a01a27349d9 /src/gallium/drivers
parent7d90cc8da47862a5899b0d77dbad6b00982c3253 (diff)
iris: flag SBA updates when instruction BO changes
Diffstat (limited to 'src/gallium/drivers')
-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 */