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;
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);