surf_source->committed_buffers = NULL;
}
+ if (surf_source->vblank_waiting_buffers) {
+ __tpl_list_free(surf_source->vblank_waiting_buffers,
+ (tpl_free_func_t)__cb_buffer_remove_from_list);
+ surf_source->vblank_waiting_buffers = NULL;
+ }
+
if (!disp_source->is_vulkan_dpy) {
_twe_surface_buffer_flusher_fini(surf_source);
}
return TPL_ERROR_INVALID_OPERATION;
}
+ if (present_mode == TPL_DISPLAY_PRESENT_MODE_FIFO
+ || present_mode == TPL_DISPLAY_PRESENT_MODE_FIFO_RELAXED) {
+ surf_source->vblank_waiting_buffers = __tpl_list_alloc();
+ }
+
surf_source->format = format;
surf_source->swapchain_properties.width = width;
surf_source->swapchain_properties.height = height;