summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris/iris_resource.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-06-19 23:12:52 -0500
committerKenneth Graunke <[email protected]>2019-06-20 13:32:16 -0500
commitecc500398f29c2dd7a86de7dec20f121974c65a2 (patch)
treefd1b123b4e7368f782a421545848aed5fda8c9ba /src/gallium/drivers/iris/iris_resource.c
parent1d63af0f2c6be12d134357670c32c47ace2c8da2 (diff)
iris: Drop RT flushes from depth stencil clearing flushes.
These write depth and stencil, not color writes, so there's no need to flush the render target.
Diffstat (limited to 'src/gallium/drivers/iris/iris_resource.c')
-rw-r--r--src/gallium/drivers/iris/iris_resource.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c
index 8ca1e6e940a..9a2b7bda22b 100644
--- a/src/gallium/drivers/iris/iris_resource.c
+++ b/src/gallium/drivers/iris/iris_resource.c
@@ -1572,18 +1572,13 @@ void
iris_flush_and_dirty_for_history(struct iris_context *ice,
struct iris_batch *batch,
struct iris_resource *res,
+ uint32_t extra_flags,
const char *reason)
{
if (res->base.target != PIPE_BUFFER)
return;
- uint32_t flush = iris_flush_bits_for_history(res);
-
- /* We've likely used the rendering engine (i.e. BLORP) to write to this
- * surface. Flush the render cache so the data actually lands.
- */
- if (batch->name != IRIS_BATCH_COMPUTE)
- flush |= PIPE_CONTROL_RENDER_TARGET_FLUSH;
+ uint32_t flush = iris_flush_bits_for_history(res) | extra_flags;
iris_emit_pipe_control_flush(batch, reason, flush);