Add set_post_interval to set commit interval 29/257729/1
authorJoonbum Ko <joonbum.ko@samsung.com>
Tue, 27 Apr 2021 10:41:10 +0000 (19:41 +0900)
committerJoonbum Ko <joonbum.ko@samsung.com>
Fri, 30 Apr 2021 06:38:44 +0000 (15:38 +0900)
Change-Id: I1f531f4240662ccfe5afef643052e99a830ae4d6
Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
src/tpl_wl_vk_thread.c

index 9bfb4ed..abd00cf 100644 (file)
@@ -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