Mesa (main): zink: handle dead swapchains in acquire

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Apr 27 22:20:25 UTC 2022


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

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Tue Apr 19 11:21:44 2022 -0400

zink: handle dead swapchains in acquire

this is a no-op failure

Reviewed-by: Adam Jackson <ajax at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16038>

---

 src/gallium/drivers/zink/zink_kopper.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/zink/zink_kopper.c b/src/gallium/drivers/zink/zink_kopper.c
index 90203caa057..64b16756760 100644
--- a/src/gallium/drivers/zink/zink_kopper.c
+++ b/src/gallium/drivers/zink/zink_kopper.c
@@ -511,8 +511,11 @@ is_swapchain_kill(VkResult ret)
 bool
 zink_kopper_acquire(struct zink_context *ctx, struct zink_resource *res, uint64_t timeout)
 {
-   assert(res->obj->dt);
+   assert(zink_is_swapchain(res));
    struct kopper_displaytarget *cdt = kopper_displaytarget(res->obj->dt);
+   if (!cdt)
+      /* dead swapchain */
+      return false;
    if (cdt->is_kill) {
       kill_swapchain(ctx, res);
       return false;



More information about the mesa-commit mailing list