summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2020-02-05 18:58:23 -0800
committerFrancisco Jerez <currojerez@riseup.net>2020-02-06 21:37:06 -0800
commit34cf4b3460af57a670ad931dc80d7680de4b6791 (patch)
treeb3269df412f52605991c644c9267bb3a7211d706
parent6cf72a31cf7430331ac36dcaf6c8d1abce126d28 (diff)
WIP: iris: Insert buffer barrier in existing cache flush helpers.
-rw-r--r--src/gallium/drivers/iris/iris_resolve.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/iris/iris_resolve.c b/src/gallium/drivers/iris/iris_resolve.c
index 8aa9305648c..2c5b04299e1 100644
--- a/src/gallium/drivers/iris/iris_resolve.c
+++ b/src/gallium/drivers/iris/iris_resolve.c
@@ -383,6 +383,8 @@ iris_cache_flush_for_read(struct iris_batch *batch,
if (_mesa_hash_table_search_pre_hashed(batch->cache.render, bo->hash, bo) ||
_mesa_set_search_pre_hashed(batch->cache.depth, bo->hash, bo))
iris_flush_depth_and_render_caches(batch);
+
+ iris_emit_buffer_barrier_for(batch, bo, IRIS_DOMAIN_OTHER_READ);
}
static void *
@@ -397,6 +399,8 @@ iris_cache_flush_for_render(struct iris_batch *batch,
enum isl_format format,
enum isl_aux_usage aux_usage)
{
+ iris_emit_buffer_barrier_for(batch, bo, IRIS_DOMAIN_RENDER_WRITE);
+
if (_mesa_set_search_pre_hashed(batch->cache.depth, bo->hash, bo))
iris_flush_depth_and_render_caches(batch);
@@ -456,6 +460,8 @@ iris_cache_flush_for_depth(struct iris_batch *batch,
{
if (_mesa_hash_table_search_pre_hashed(batch->cache.render, bo->hash, bo))
iris_flush_depth_and_render_caches(batch);
+
+ iris_emit_buffer_barrier_for(batch, bo, IRIS_DOMAIN_DEPTH_WRITE);
}
void