summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-06-19 23:04:37 -0500
committerKenneth Graunke <[email protected]>2019-06-20 13:32:15 -0500
commitdfff6e10b4296592bae0034e91c633a31b2d2b90 (patch)
tree70ad6659a1b19b35d8aa884f810ae7275eef1984 /src/gallium/drivers/iris
parentc4c17ab3ec1d67b0f2fd9816681378bdc8efe220 (diff)
iris: Only do an RT flush for transfer maps if using copy_region.
If we wrote the data via the CPU, there's no point in doing a render target flush. If using BLORP, we do want a render target flush so the data lands.
Diffstat (limited to 'src/gallium/drivers/iris')
-rw-r--r--src/gallium/drivers/iris/iris_resource.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/iris/iris_resource.c b/src/gallium/drivers/iris/iris_resource.c
index 1f7ed3e270b..a413cbae9b3 100644
--- a/src/gallium/drivers/iris/iris_resource.c
+++ b/src/gallium/drivers/iris/iris_resource.c
@@ -1476,7 +1476,7 @@ iris_transfer_flush_region(struct pipe_context *ctx,
if (res->base.target == PIPE_BUFFER) {
history_flush |= iris_flush_bits_for_history(res) |
- PIPE_CONTROL_RENDER_TARGET_FLUSH;
+ (map->staging ? PIPE_CONTROL_RENDER_TARGET_FLUSH : 0);
}
for (int i = 0; i < IRIS_BATCH_COUNT; i++) {