remove vblank's waiting_buffers in _tbm_queue_force_flush for prevent committing... 27/284927/1
authorjinbong, Lee <jinbong.lee@samsung.com>
Wed, 30 Nov 2022 06:47:33 +0000 (15:47 +0900)
committerJoonbum Ko <joonbum.ko@samsung.com>
Thu, 1 Dec 2022 04:39:01 +0000 (13:39 +0900)
Change-Id: Ic91aa678659b12c9ce80bce87504deef2e4299af

src/tpl_wl_egl_thread.c

index 5c4be2a..6804f2c 100755 (executable)
@@ -2339,6 +2339,15 @@ _tbm_queue_force_flush(tpl_wl_egl_surface_t *wl_egl_surface)
 
        _print_buffer_lists(wl_egl_surface);
 
+       if (wl_egl_surface->vblank) {
+               tpl_gmutex_lock(&wl_egl_surface->vblank->mutex);
+
+               if (wl_egl_surface->vblank->waiting_buffers)
+                       __tpl_list_fini(wl_egl_surface->vblank->waiting_buffers, NULL);
+
+               tpl_gmutex_unlock(&wl_egl_surface->vblank->mutex);
+       }
+
        if ((tsq_err = tbm_surface_queue_flush(wl_egl_surface->tbm_queue))
                != TBM_SURFACE_QUEUE_ERROR_NONE) {
                TPL_ERR("Failed to flush tbm_surface_queue(%p) tsq_err(%d)",