From 482599e1ada68f6fe87c13a2acb7d5fd0ea78386 Mon Sep 17 00:00:00 2001 From: Joonbum Ko Date: Tue, 27 Apr 2021 19:41:10 +0900 Subject: [PATCH] Add set_post_interval to set commit interval Change-Id: I1f531f4240662ccfe5afef643052e99a830ae4d6 Signed-off-by: Joonbum Ko --- src/tpl_wl_vk_thread.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/tpl_wl_vk_thread.c b/src/tpl_wl_vk_thread.c index 9bfb4ed..abd00cf 100644 --- a/src/tpl_wl_vk_thread.c +++ b/src/tpl_wl_vk_thread.c @@ -112,6 +112,8 @@ struct _tpl_wl_vk_surface { 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 { @@ -1210,6 +1212,8 @@ __tpl_wl_vk_wsi_surface_init(tpl_surface_t *surface) 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++) @@ -1283,6 +1287,27 @@ __tpl_wl_vk_wsi_surface_fini(tpl_surface_t *surface) 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) { @@ -2532,6 +2557,8 @@ __tpl_surface_init_backend_wl_vk_wsi_thread(tpl_surface_backend_t *backend) __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 -- 2.34.1