From 90dca121b44c2784111bf30d31cdef71e4bf758d Mon Sep 17 00:00:00 2001 From: "joonbum.ko" Date: Mon, 22 Jan 2018 17:47:02 +0900 Subject: [PATCH] tpl_wayland_egl_thread: Modified to create timeline fd only for vulkan dpy. Change-Id: I40f7f28ce0663d04e93afa97fc3eaf5fd2448ad7 Signed-off-by: joonbum.ko --- src/tpl_wayland_egl_thread.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/tpl_wayland_egl_thread.c b/src/tpl_wayland_egl_thread.c index 48e37db..4b0a3c7 100644 --- a/src/tpl_wayland_egl_thread.c +++ b/src/tpl_wayland_egl_thread.c @@ -1452,13 +1452,6 @@ _twe_surface_set_wl_buffer_info(twe_wl_surf_source *surf_source, buf_info->rotated = TPL_FALSE; } - buf_info->sync_timeline = tbm_sync_timeline_create(); - if (buf_info->sync_timeline == -1) { - char buf[1024]; - strerror_r(errno, buf, sizeof(buf)); - TPL_WARN("Failed to create TBM sync timeline: %d(%s)", errno, buf); - } - buf_info->sync_timestamp = 0; buf_info->surf_source = surf_source; buf_info->num_rects = 0; @@ -1468,12 +1461,21 @@ _twe_surface_set_wl_buffer_info(twe_wl_surf_source *surf_source, buf_info->tbm_surface = tbm_surface; buf_info->sync_draw_source = NULL; buf_info->sync_fd = -1; + buf_info->sync_timeline = -1; buf_info->is_vk_image = surf_source->disp_source->is_vulkan_dpy; - if (buf_info->is_vk_image) + if (buf_info->is_vk_image) { + buf_info->sync_timeline = tbm_sync_timeline_create(); + if (buf_info->sync_timeline == -1) { + char buf[1024]; + strerror_r(errno, buf, sizeof(buf)); + TPL_WARN("Failed to create TBM sync timeline: %d(%s)", errno, buf); + } + wayland_tbm_client_set_sync_timeline(surf_source->disp_source->wl_tbm_client, (void *)buf_info->wl_buffer, buf_info->sync_timeline); + } wl_buffer_add_listener((void *)buf_info->wl_buffer, &wl_buffer_release_listener, tbm_surface); -- 2.7.4