From c9f29c22b84bbbe96ed8378ca84f15b9367d7bfb Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 27 Apr 2022 09:56:29 -0400 Subject: [PATCH] zink/kopper: add a mechanism for checking swapchain status Reviewed-by: Adam Jackson Part-of: --- src/gallium/drivers/zink/zink_kopper.c | 11 +++++++++++ src/gallium/drivers/zink/zink_kopper.h | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_kopper.c b/src/gallium/drivers/zink/zink_kopper.c index a5cf4d8b41c..00c882eece1 100644 --- a/src/gallium/drivers/zink/zink_kopper.c +++ b/src/gallium/drivers/zink/zink_kopper.c @@ -773,3 +773,14 @@ zink_kopper_fixup_depth_buffer(struct zink_context *ctx) zink_surface_reference(screen, &csurf->surf, cz->surf); pipe_surface_release(&ctx->base, &psurf); } + +bool +zink_kopper_check(struct pipe_resource *pres) +{ + struct zink_resource *res = zink_resource(pres); + assert(pres->bind & PIPE_BIND_DISPLAY_TARGET); + if (!res->obj->dt) + return false; + struct kopper_displaytarget *cdt = kopper_displaytarget(res->obj->dt); + return !cdt->is_kill; +} diff --git a/src/gallium/drivers/zink/zink_kopper.h b/src/gallium/drivers/zink/zink_kopper.h index 6a011f96fbe..d922ddc8236 100644 --- a/src/gallium/drivers/zink/zink_kopper.h +++ b/src/gallium/drivers/zink/zink_kopper.h @@ -114,5 +114,6 @@ bool zink_kopper_update(struct pipe_screen *pscreen, struct pipe_resource *pres, int *w, int *h); void zink_kopper_fixup_depth_buffer(struct zink_context *ctx); - +bool +zink_kopper_check(struct pipe_resource *pres); #endif