iris: flag SBA updates when instruction BO changes
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 21 Jan 2018 08:36:54 +0000 (00:36 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:05 +0000 (10:26 -0800)
src/gallium/drivers/iris/iris_program_cache.c
src/gallium/drivers/iris/iris_state.c

index 2cbd635684db34a7a081839c700a7def47b2d413..8287b7eda1597839a928170d2b3a51cb7b5ab141 100644 (file)
@@ -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 *
index a24ffab51a3322653b79ae52216e12aac1036e9c..1dafc91ee7a711731363508d7dd72c4f3e00fad8 100644 (file)
@@ -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 */