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

Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Apr  8 09:28:52 2022 -0400

zink: only trigger deferred present barrier if swapchain has acquired

otherwise this was just pointlessly flushed by the frontend and
can be ignored

Reviewed-by: Dave Airlie <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15820>

---

 src/gallium/drivers/zink/zink_context.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/zink/zink_context.c 
b/src/gallium/drivers/zink/zink_context.c
index 36b3a3cf8bf..30f461c146f 100644
--- a/src/gallium/drivers/zink/zink_context.c
+++ b/src/gallium/drivers/zink/zink_context.c
@@ -3247,7 +3247,8 @@ zink_flush(struct pipe_context *pctx,
       zink_begin_render_pass(ctx);
 
    if (ctx->needs_present && (flags & PIPE_FLUSH_END_OF_FRAME)) {
-      zink_resource_image_barrier(ctx, ctx->needs_present, 
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, 0, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT);
+      if (ctx->needs_present->obj->image)
+         zink_resource_image_barrier(ctx, ctx->needs_present, 
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, 0, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT);
    }
 
    if (!batch->has_work) {

Reply via email to