From 2da318d55d4bb6ad95ea66c8fcc8cb7db25c44f9 Mon Sep 17 00:00:00 2001 From: Joonbum Ko Date: Thu, 6 Sep 2018 13:27:07 +0900 Subject: [PATCH] tpl_wayland_egl_thread: Modified some bugs in in_use_buffers list. - For vulkan, get_buffers causes set_wl_buffer_info to be called once for all buffers. Therefore, vulkan does not have to push in_use_buffers when set_wl_buffer_info is called for each buffer first. Change-Id: Ic6fe472d675449906f3033f64807adc2821cec18 Signed-off-by: Joonbum Ko --- src/tpl_wayland_egl_thread.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/tpl_wayland_egl_thread.c b/src/tpl_wayland_egl_thread.c index 7f5808b..405648b 100644 --- a/src/tpl_wayland_egl_thread.c +++ b/src/tpl_wayland_egl_thread.c @@ -1385,6 +1385,13 @@ _twe_surface_set_wl_buffer_info(twe_wl_surf_source *surf_source, buf_info->transform = wl_egl_window->transform; ++wl_egl_window->serial; buf_info->serial = wl_egl_window->serial; + + if (surf_source->in_use_buffers) { + g_mutex_lock(&surf_source->surf_mutex); + __tpl_list_push_back(surf_source->in_use_buffers, + (void *)tbm_surface); + g_mutex_unlock(&surf_source->surf_mutex); + } } else { buf_info->dx = 0; buf_info->dy = 0; @@ -1430,13 +1437,6 @@ _twe_surface_set_wl_buffer_info(twe_wl_surf_source *surf_source, tbm_surface_internal_set_user_data(tbm_surface, KEY_BUFFER_INFO, buf_info); - if (surf_source->in_use_buffers) { - g_mutex_lock(&surf_source->surf_mutex); - __tpl_list_push_back(surf_source->in_use_buffers, - (void *)tbm_surface); - g_mutex_unlock(&surf_source->surf_mutex); - } - TRACE_MARK("[SET_BUFFER_INFO] BO(%d)", tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); TPL_LOG_T(BACKEND, -- 2.7.4