Mesa (master): iris: Only do an RT flush for transfer maps if using copy_region.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jun 20 18:32:52 UTC 2019


Module: Mesa
Branch: master
Commit: dfff6e10b4296592bae0034e91c633a31b2d2b90
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dfff6e10b4296592bae0034e91c633a31b2d2b90

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Jun 19 23:04:37 2019 -0500

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.

---

 src/gallium/drivers/iris/iris_resource.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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++) {




More information about the mesa-commit mailing list