From 6e03d3015e1668bd70266b0ee4b0720b86ca59c7 Mon Sep 17 00:00:00 2001 From: Alexander Orzechowski Date: Sun, 19 Nov 2023 16:21:54 -0500 Subject: [PATCH] swapchain: Add wlr_swapchain_has_buffer --- include/wlr/render/swapchain.h | 6 ++++++ render/swapchain.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/include/wlr/render/swapchain.h b/include/wlr/render/swapchain.h index 8bb8afc9..cb3aee9d 100644 --- a/include/wlr/render/swapchain.h +++ b/include/wlr/render/swapchain.h @@ -38,6 +38,12 @@ void wlr_swapchain_destroy(struct wlr_swapchain *swapchain); */ struct wlr_buffer *wlr_swapchain_acquire(struct wlr_swapchain *swapchain, int *age); +/** + * Returns true if this buffer has been created by this swapchain, and false + * otherwise. + */ +bool wlr_swapchain_has_buffer(struct wlr_swapchain *swapchain, + struct wlr_buffer *buffer); /** * Mark the buffer as submitted for presentation. This needs to be called by * swap chain users on frame boundaries. diff --git a/render/swapchain.c b/render/swapchain.c index a2b6373b..a50dae5c 100644 --- a/render/swapchain.c +++ b/render/swapchain.c @@ -113,7 +113,7 @@ struct wlr_buffer *wlr_swapchain_acquire(struct wlr_swapchain *swapchain, return slot_acquire(swapchain, free_slot, age); } -static bool swapchain_has_buffer(struct wlr_swapchain *swapchain, +bool wlr_swapchain_has_buffer(struct wlr_swapchain *swapchain, struct wlr_buffer *buffer) { for (size_t i = 0; i < WLR_SWAPCHAIN_CAP; i++) { struct wlr_swapchain_slot *slot = &swapchain->slots[i]; @@ -128,7 +128,7 @@ void wlr_swapchain_set_buffer_submitted(struct wlr_swapchain *swapchain, struct wlr_buffer *buffer) { assert(buffer != NULL); - if (!swapchain_has_buffer(swapchain, buffer)) { + if (!wlr_swapchain_has_buffer(swapchain, buffer)) { return; }