diff options
author | Kenneth Graunke <[email protected]> | 2018-04-20 23:28:03 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:06 -0800 |
commit | 60d708bb80f0b587b99f87aac4c9faa9ee9c760b (patch) | |
tree | ea81b46b831d9a1c3c6cfcfbf6e443e12a8d4ca7 /src/gallium/drivers/iris/iris_batch.h | |
parent | dbd4770397c6c7bd3f1d9c887504f0972d144be6 (diff) |
iris: copy over i965's cache tracking
needed to split out vtbl so I can pipe control without ice
Diffstat (limited to 'src/gallium/drivers/iris/iris_batch.h')
-rw-r--r-- | src/gallium/drivers/iris/iris_batch.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_batch.h b/src/gallium/drivers/iris/iris_batch.h index 8af1415b649..b58f0836156 100644 --- a/src/gallium/drivers/iris/iris_batch.h +++ b/src/gallium/drivers/iris/iris_batch.h @@ -48,6 +48,7 @@ struct iris_batch_buffer { struct iris_batch { struct iris_screen *screen; + struct iris_vtable *vtbl; struct pipe_debug_callback *dbg; /** Current batchbuffer being queued up. */ @@ -72,6 +73,22 @@ struct iris_batch { /** The amount of aperture space (in bytes) used by all exec_bos */ int aperture_space; + struct { + /** + * Set of struct brw_bo * that have been rendered to within this + * batchbuffer and would need flushing before being used from another + * cache domain that isn't coherent with it (i.e. the sampler). + */ + struct hash_table *render; + + /** + * Set of struct brw_bo * that have been used as a depth buffer within + * this batchbuffer and would need flushing before being used from + * another cache domain that isn't coherent with it (i.e. the sampler). + */ + struct set *depth; + } cache; + #if DEBUG /** Map from batch offset to iris_alloc_state data (with DEBUG_BATCH) */ // XXX: unused @@ -82,6 +99,7 @@ struct iris_batch { void iris_init_batch(struct iris_batch *batch, struct iris_screen *screen, + struct iris_vtable *vtbl, struct pipe_debug_callback *dbg, uint8_t ring); void iris_batch_free(struct iris_batch *batch); |