zink: always trace_screen_unwrap in acquire

it's possible for acquire to be called from the frontend, in which
case the screen will still be trace-wrapped

cc: mesa-stable

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25288>
(cherry picked from commit 207b37bfd9)
This commit is contained in:
Mike Blumenkrantz 2023-08-16 06:41:48 -04:00 committed by Dylan Baker
parent 0e3f799bb9
commit ab94478a1f
2 changed files with 3 additions and 2 deletions

View file

@ -554,7 +554,7 @@
"description": "zink: always trace_screen_unwrap in acquire",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -23,6 +23,7 @@
*/
#include "util/detect_os.h"
#include "driver_trace/tr_screen.h"
#include "zink_context.h"
#include "zink_screen.h"
@ -607,7 +608,7 @@ zink_kopper_acquire(struct zink_context *ctx, struct zink_resource *res, uint64_
const struct kopper_swapchain *cswap = cdt->swapchain;
res->obj->new_dt |= res->base.b.width0 != cswap->scci.imageExtent.width ||
res->base.b.height0 != cswap->scci.imageExtent.height;
VkResult ret = kopper_acquire(zink_screen(ctx->base.screen), res, timeout);
VkResult ret = kopper_acquire(zink_screen(trace_screen_unwrap(ctx->base.screen)), res, timeout);
if (ret == VK_SUCCESS || ret == VK_SUBOPTIMAL_KHR) {
if (cswap != cdt->swapchain) {
ctx->swapchain_size = cdt->swapchain->scci.imageExtent;