surf_source->vblank_done = TPL_TRUE;
+ g_mutex_lock(&surf_source->surf_mutex);
if (!disp_source->is_vulkan_dpy) {
if (surf_source->vblank_waiting_buffers) {
tbm_surface_h tbm_surface = NULL;
_twe_thread_wl_surface_commit(surf_source, tbm_surface);
}
} else {
- g_mutex_lock(&surf_source->surf_mutex);
switch (surf_source->swapchain_properties.present_mode) {
case TPL_DISPLAY_PRESENT_MODE_MAILBOX:
if (surf_source->draw_done_buffer) {
break;
}
- g_mutex_unlock(&surf_source->surf_mutex);
}
+ g_mutex_unlock(&surf_source->surf_mutex);
}
static tdm_client_vblank*
return TPL_ERROR_INVALID_OPERATION;
}
+ g_mutex_lock(&surf_source->surf_mutex);
if (surf_source->committed_buffers) {
while (!__tpl_list_is_empty(surf_source->committed_buffers)) {
tbm_surface_h tbm_surface =
tbm_surface, tsq_err);
}
}
+ g_mutex_unlock(&surf_source->surf_mutex);
TPL_LOG_T(BACKEND,
"[FORCE_FLUSH] surf_source(%p) tbm_queue(%p)",