Mesa (main): zink: update descriptor refs after starting renderpass

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Feb 26 15:37:06 UTC 2022


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

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Mon Feb  7 14:33:02 2022 -0500

zink: update descriptor refs after starting renderpass

this ensures that swapchain images will have been acquired before potentially
accessing swapchain images bound as descriptors

fixes caselist like:
dEQP-GLES31.functional.fbo.color.texcubearray.r8ui
dEQP-GLES31.functional.primitive_bounding_box.blit_fbo.blit_default_to_fbo

Reviewed-by: Emma Anholt <emma at anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15173>

---

 src/gallium/drivers/zink/zink_draw.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_draw.cpp b/src/gallium/drivers/zink/zink_draw.cpp
index d1eb37ac37f..f4e225cd965 100644
--- a/src/gallium/drivers/zink/zink_draw.cpp
+++ b/src/gallium/drivers/zink/zink_draw.cpp
@@ -562,11 +562,11 @@ zink_draw(struct pipe_context *pctx,
 
    barrier_draw_buffers(ctx, dinfo, dindirect, index_buffer);
 
+   zink_batch_rp(ctx);
+
    if (BATCH_CHANGED)
       zink_update_descriptor_refs(ctx, false);
 
-   zink_batch_rp(ctx);
-
    /* these must be after renderpass start to avoid issues with recursion */
    bool drawid_broken = false;
    if (reads_drawid && (!dindirect || !dindirect->buffer))



More information about the mesa-commit mailing list