tpl_wayland_egl_thread: Modified some bugs in in_use_buffers list. 84/188584/2
authorJoonbum Ko <joonbum.ko@samsung.com>
Thu, 6 Sep 2018 04:27:07 +0000 (13:27 +0900)
committerJoonbum Ko <joonbum.ko@samsung.com>
Wed, 12 Sep 2018 01:16:16 +0000 (10:16 +0900)
 - 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 <joonbum.ko@samsung.com>
src/tpl_wayland_egl_thread.c

index 7f5808b..405648b 100644 (file)
@@ -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,