render: swapchain: Add method to count free slots

This commit is contained in:
Andri Yngvason 2025-06-16 17:44:02 +00:00
parent cded7797f7
commit 1146650d71
2 changed files with 13 additions and 0 deletions

View file

@ -46,5 +46,9 @@ struct wlr_buffer *wlr_swapchain_acquire(struct wlr_swapchain *swapchain);
*/
bool wlr_swapchain_has_buffer(struct wlr_swapchain *swapchain,
struct wlr_buffer *buffer);
/**
* Count how many free slots there are left in the swapchain.
*/
int wlr_swapchain_count_free_slots(const struct wlr_swapchain *swapchain);
#endif

View file

@ -120,3 +120,12 @@ bool wlr_swapchain_has_buffer(struct wlr_swapchain *swapchain,
}
return false;
}
int wlr_swapchain_count_free_slots(const struct wlr_swapchain *swapchain)
{
int count = 0;
for (size_t i = 0; i < WLR_SWAPCHAIN_CAP; i++) {
count += !swapchain->slots[i].acquired;
}
return count;
}