tpl_bool_t is_activated;
tpl_bool_t reset; /* TRUE if queue reseted by external */
tpl_bool_t vblank_done;
+
+ int post_interval;
};
typedef enum buffer_status {
wl_vk_surface->vblank = NULL;
wl_vk_surface->surface_sync = NULL;
+ wl_vk_surface->post_interval = surface->post_interval;
+
{
int i = 0;
for (i = 0; i < BUFFER_ARRAY_SIZE; i++)
surface->backend.data = NULL;
}
+static tpl_result_t
+__tpl_wl_vk_wsi_surface_set_post_interval(tpl_surface_t *surface,
+ int post_interval)
+{
+ tpl_wl_vk_surface_t *wl_vk_surface = NULL;
+
+ TPL_CHECK_ON_NULL_RETURN_VAL(surface, TPL_ERROR_INVALID_PARAMETER);
+
+ wl_vk_surface = (tpl_wl_vk_surface_t *)surface->backend.data;
+
+ TPL_CHECK_ON_NULL_RETURN_VAL(wl_vk_surface, TPL_ERROR_INVALID_PARAMETER);
+
+ TPL_INFO("[SET_POST_INTERVAL]",
+ "wl_vk_surface(%p) post_interval(%d -> %d)",
+ wl_vk_surface, wl_vk_surface->post_interval, post_interval);
+
+ wl_vk_surface->post_interval = post_interval;
+
+ return TPL_ERROR_NONE;
+}
+
static tpl_bool_t
__tpl_wl_vk_wsi_surface_validate(tpl_surface_t *surface)
{
__tpl_wl_vk_wsi_surface_get_swapchain_buffers;
backend->create_swapchain = __tpl_wl_vk_wsi_surface_create_swapchain;
backend->destroy_swapchain = __tpl_wl_vk_wsi_surface_destroy_swapchain;
+ backend->set_post_interval =
+ __tpl_wl_vk_wsi_surface_set_post_interval;
}
static int