From ab687c3983b8bd886e0df9fd94cabf74a7c83a3c Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 31 Jan 2025 09:52:05 -0500 Subject: [PATCH] zink: also refcount needs_present from frontbuffer flush Fixes: 4b0f2d1a2b3 ("zink: refcount needs_present resource") Part-of: (cherry picked from commit 41296aab47edc83f740eb0e2e3fcb9e168dc59b0) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_screen.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 78f197a8557..c2ee6de4754 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -844,7 +844,7 @@ "description": "zink: also refcount needs_present from frontbuffer flush", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "4b0f2d1a2b30e5a288f909683203bfa3bbfacf50", "notes": null diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index e4e63f7a35c..1cc8e44a2da 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -1820,7 +1820,7 @@ zink_flush_frontbuffer(struct pipe_screen *pscreen, if (!zink_kopper_acquired(res->obj->dt, res->obj->dt_idx)) { /* swapbuffers to an undefined surface: acquire and present garbage */ zink_kopper_acquire(ctx, res, UINT64_MAX); - ctx->needs_present = res; + zink_resource_reference(&ctx->needs_present, res); /* set batch usage to submit acquire semaphore */ zink_batch_resource_usage_set(ctx->bs, res, true, false); /* ensure the resource is set up to present garbage */