{
vk_swapchain_tpl_t *swapchain_tpl = chain->backend_data;
- if (sync) {
- *tbm_surface = tpl_surface_dequeue_buffer_with_sync(swapchain_tpl->tpl_surface,
- timeout, sync);
- if (*tbm_surface == NULL)
+ *tbm_surface = tpl_surface_dequeue_buffer_with_sync(swapchain_tpl->tpl_surface,
+ timeout, sync);
+ if (*tbm_surface == NULL) {
+ if (timeout == 0)
+ return VK_NOT_READY;
+ else if (timeout != UINT64_MAX)
return VK_TIMEOUT;
- } else {
- *tbm_surface = tpl_surface_dequeue_buffer(swapchain_tpl->tpl_surface);
- VK_CHECK(*tbm_surface, return VK_ERROR_SURFACE_LOST_KHR, "tpl_surface_dequeue_buffers() failed.\n");
+ else
+ return VK_ERROR_SURFACE_LOST_KHR;
}
return VK_SUCCESS;
static void
swapchain_tpl_deinit(VkDevice device,
- vk_swapchain_t *chain)
+ vk_swapchain_t *chain)
{
vk_swapchain_tpl_t *swapchain_tpl = chain->backend_data;