From a179977b8e33c4f920a1b15268b37122caf4bce1 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 7 Feb 2022 14:33:02 -0500 Subject: [PATCH] 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 Part-of: --- 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))