diff options
author | Alexander Orzechowski <alex@ozal.ski> | 2023-11-19 16:21:54 -0500 |
---|---|---|
committer | Alexander Orzechowski <alex@ozal.ski> | 2023-12-03 05:29:05 +0000 |
commit | 6e03d3015e1668bd70266b0ee4b0720b86ca59c7 (patch) | |
tree | fadbbd37030501549d4119c2c9823081a2b59572 | |
parent | d3a339a03e320c397696d3d0f49567670146a7a4 (diff) |
swapchain: Add wlr_swapchain_has_buffer
-rw-r--r-- | include/wlr/render/swapchain.h | 6 | ||||
-rw-r--r-- | 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 @@ -39,6 +39,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; } |