From 3eca1e87903f43b0984b678f3dd3b4e559aaeece Mon Sep 17 00:00:00 2001 From: "jinbong, Lee" Date: Wed, 30 Nov 2022 15:47:33 +0900 Subject: [PATCH] remove vblank's waiting_buffers in _tbm_queue_force_flush for prevent committing flushed tbm_surface Change-Id: Ic91aa678659b12c9ce80bce87504deef2e4299af --- src/tpl_wl_egl_thread.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/tpl_wl_egl_thread.c b/src/tpl_wl_egl_thread.c index 5c4be2a..6804f2c 100755 --- a/src/tpl_wl_egl_thread.c +++ b/src/tpl_wl_egl_thread.c @@ -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)", -- 2.34.1