tdm_thread_cb_hwc_commit hwc_commit;
tdm_error ret;
- if (hwc_commit_handler && hwc_commit_handler->use_vblank)
- return;
-
if (hwc_commit_handler)
private_hwc = hwc_commit_handler->private_hwc;
else
tdm_thread_cb_hwc_commit hwc_commit;
tdm_error ret;
- if (hwc_commit_handler && hwc_commit_handler->use_vblank)
- return;
-
if (hwc_commit_handler)
private_hwc = hwc_commit_handler->private_hwc;
else
hwc_commit_handler->func = func;
hwc_commit_handler->user_data = user_data;
hwc_commit_handler->owner_tid = syscall(SYS_gettid);
- if (hwc_use_vblank)
- hwc_commit_handler->use_vblank = 1;
if (private_module == private_display->virtual_module) {
private_voutput = private_output->private_voutput;
}
}
- if (private_module->use_hal_tdm)
- ret = (tdm_error)hal_tdm_hwc_commit((hal_tdm_hwc *)private_hwc->hwc_backend, sync, hwc_commit_handler);
- else
- ret = func_hwc->hwc_commit(private_hwc->hwc_backend, sync, hwc_commit_handler);
- TDM_GOTO_IF_FAIL(ret == TDM_ERROR_NONE, commit_failed);
-
if (hwc_use_vblank) {
/* LCOV_EXCL_START */
+ hwc_commit_handler->use_vblank = 1;
+
+ if (private_module->use_hal_tdm)
+ ret = (tdm_error)hal_tdm_hwc_commit((hal_tdm_hwc *)private_hwc->hwc_backend, sync, NULL);
+ else
+ ret = func_hwc->hwc_commit(private_hwc->hwc_backend, sync, NULL);
+ TDM_GOTO_IF_FAIL(ret == TDM_ERROR_NONE, commit_failed);
+
ret = _tdm_hwc_vblank(private_hwc, hwc_commit_handler);
if (ret == TDM_ERROR_NONE) {
if (tdm_debug_module & TDM_DEBUG_COMMIT)
goto commit_failed;
/* LCOV_EXCL_STOP */
} else {
+ if (private_module->use_hal_tdm)
+ ret = (tdm_error)hal_tdm_hwc_commit((hal_tdm_hwc *)private_hwc->hwc_backend, sync, hwc_commit_handler);
+ else
+ ret = func_hwc->hwc_commit(private_hwc->hwc_backend, sync, hwc_commit_handler);
+ TDM_GOTO_IF_FAIL(ret == TDM_ERROR_NONE, commit_failed);
+
if (tdm_debug_module & TDM_DEBUG_COMMIT)
TDM_INFO("hwc(%d) backend commit: handle(%p) func(%p) user_data(%p)",
private_hwc->index, hwc_commit_handler, func, user_data);