tpl_wayland_egl_thread: Modified to create timeline fd only for vulkan dpy. 28/167828/1
authorjoonbum.ko <joonbum.ko@samsung.com>
Mon, 22 Jan 2018 08:47:02 +0000 (17:47 +0900)
committerjoonbum.ko <joonbum.ko@samsung.com>
Mon, 22 Jan 2018 08:47:02 +0000 (17:47 +0900)
Change-Id: I40f7f28ce0663d04e93afa97fc3eaf5fd2448ad7
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
src/tpl_wayland_egl_thread.c

index 48e37db..4b0a3c7 100644 (file)
@@ -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);