Mesa (main): zink: track whether current swapchain has data

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jun 28 02:57:46 UTC 2022


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

Author: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Date:   Mon Jun 20 12:30:23 2022 -0400

zink: track whether current swapchain has data

duplicated from resource object since swapchains can be shared

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

---

 src/gallium/drivers/zink/zink_kopper.c | 2 ++
 src/gallium/drivers/zink/zink_kopper.h | 1 +
 2 files changed, 3 insertions(+)

diff --git a/src/gallium/drivers/zink/zink_kopper.c b/src/gallium/drivers/zink/zink_kopper.c
index 2a6f458c6ac..68022a8ac89 100644
--- a/src/gallium/drivers/zink/zink_kopper.c
+++ b/src/gallium/drivers/zink/zink_kopper.c
@@ -507,6 +507,7 @@ kopper_acquire(struct zink_screen *screen, struct zink_resource *res, uint64_t t
       res->obj->indefinite_acquire = true;
       p_atomic_inc(&cdt->swapchain->num_acquires);
    }
+   cdt->swapchain->dt_has_data = false;
    res->obj->dt_has_data = false;
    return VK_SUCCESS;
 }
@@ -573,6 +574,7 @@ zink_kopper_acquire_submit(struct zink_screen *screen, struct zink_resource *res
    res->obj->acquired = true;
    /* this is now owned by the batch */
    cdt->swapchain->acquires[res->obj->dt_idx] = VK_NULL_HANDLE;
+   cdt->swapchain->dt_has_data = true;
    return res->obj->acquire;
 }
 
diff --git a/src/gallium/drivers/zink/zink_kopper.h b/src/gallium/drivers/zink/zink_kopper.h
index 7e3e9d81beb..c35dd8ce901 100644
--- a/src/gallium/drivers/zink/zink_kopper.h
+++ b/src/gallium/drivers/zink/zink_kopper.h
@@ -43,6 +43,7 @@ struct kopper_swapchain {
    unsigned num_acquires;
    unsigned max_acquires;
    unsigned async_presents;
+   bool dt_has_data;
 };
 
 enum kopper_type {



More information about the mesa-commit mailing list