From 7789a667e24f79bff7798376aa2b4c40705a63ef Mon Sep 17 00:00:00 2001 From: Joonbum Ko Date: Thu, 17 Dec 2020 16:43:40 +0900 Subject: [PATCH] Add internal function to get bo name from tbm_surface Change-Id: I467f724d531d0a3c3b6de1d8568f4632bc8960b9 Signed-off-by: Joonbum Ko --- src/tpl_wayland_egl_thread.c | 91 +++++++++++++++++++++----------------------- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/src/tpl_wayland_egl_thread.c b/src/tpl_wayland_egl_thread.c index 070273c..4e978d5 100755 --- a/src/tpl_wayland_egl_thread.c +++ b/src/tpl_wayland_egl_thread.c @@ -255,6 +255,12 @@ tpl_result_t _twe_thread_fence_wait_source_attach(twe_wl_surf_source *surf_source, tbm_surface_h tbm_surface, tbm_fd sync_fd); +static int +_get_tbm_surface_bo_name(tbm_surface_h tbm_surface) +{ + return tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0)); +} + static gpointer _twe_thread_loop(gpointer data) { @@ -714,7 +720,7 @@ _twe_print_buffer_list(twe_wl_surf_source *surf_source) tbm_surface = (tbm_surface_h)__tpl_list_node_get_data(node); TPL_DEBUG("VBLANK WAITING BUFFERS | %d | tbm_surface(%p) bo(%d)", idx, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); idx++; } @@ -732,7 +738,7 @@ _twe_print_buffer_list(twe_wl_surf_source *surf_source) tbm_surface = (tbm_surface_h)__tpl_list_node_get_data(node); TPL_DEBUG("DEQUEUED BUFFERS | %d | tbm_surface(%p) bo(%d)", idx, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); idx++; } @@ -750,7 +756,7 @@ _twe_print_buffer_list(twe_wl_surf_source *surf_source) tbm_surface = (tbm_surface_h)__tpl_list_node_get_data(node); TPL_DEBUG("COMMITTED BUFFERS | %d | tbm_surface(%p) bo(%d)", idx, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); idx++; } } @@ -1683,15 +1689,13 @@ __cb_buffer_release_callback(void *data, struct wl_proxy *wl_buffer) buf_info->need_to_release = TPL_FALSE; - TRACE_MARK("[RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + TRACE_MARK("[RELEASE] BO(%d)", _get_tbm_surface_bo_name(tbm_surface)); TRACE_ASYNC_END((int)tbm_surface, "[COMMIT ~ RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo( - tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); TPL_LOG_T(BACKEND, "[REL] wl_buffer(%p) tbm_surface(%p) bo(%d)", buf_info->wl_buffer, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); tbm_surface_internal_unref(tbm_surface); } @@ -1734,16 +1738,15 @@ __cb_buffer_fenced_release(void *data, buf_info->release_fence_fd = fence; TRACE_MARK("[FENCED_RELEASE] BO(%d) fence(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0)), + _get_tbm_surface_bo_name(tbm_surface), fence); TRACE_ASYNC_END((int)tbm_surface, "[COMMIT ~ RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo( - tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); TPL_LOG_T(BACKEND, "[FENCED_RELEASE] wl_buffer(%p) tbm_surface(%p) bo(%d) fence(%d)", buf_info->wl_buffer, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0)), + _get_tbm_surface_bo_name(tbm_surface), fence); tsq_err = tbm_surface_queue_release(surf_source->tbm_queue, @@ -1788,15 +1791,14 @@ __cb_buffer_immediate_release(void *data, buf_info->release_fence_fd = -1; TRACE_MARK("[IMMEDIATE_RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); TRACE_ASYNC_END((int)tbm_surface, "[COMMIT ~ RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo( - tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); TPL_LOG_T(BACKEND, "[IMMEDIATE_RELEASE] wl_buffer(%p) tbm_surface(%p) bo(%d)", buf_info->wl_buffer, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); tsq_err = tbm_surface_queue_release(surf_source->tbm_queue, tbm_surface); @@ -1880,13 +1882,13 @@ _twe_surface_set_wl_buffer_info(twe_wl_surf_source *surf_source, } TRACE_MARK("[SET_BUFFER_INFO] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); TPL_LOG_T(BACKEND, "[REUSE_BUF] buf_info(%p) tbm_surface(%p) bo(%d) (%dx%d) " "transform(%d) w_transform(%d)", buf_info, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0)), + _get_tbm_surface_bo_name(tbm_surface), buf_info->width, buf_info->height, buf_info->transform, buf_info->w_transform); return; @@ -1985,12 +1987,12 @@ _twe_surface_set_wl_buffer_info(twe_wl_surf_source *surf_source, buf_info); TRACE_MARK("[SET_BUFFER_INFO] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); TPL_LOG_T(BACKEND, "[NEW_BUF] buf_info(%p) tbm_surface(%p) bo(%d) (%dx%d) " "transform(%d) w_transform(%d)", buf_info, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0)), + _get_tbm_surface_bo_name(tbm_surface), buf_info->width, buf_info->height, buf_info->transform, buf_info->w_transform); } @@ -2035,7 +2037,7 @@ _twe_surface_trace_enqueue_buffer(twe_wl_surf_source *surf_source, buf_info->commit_sync_fd = surf_source->commit_sync.fd; surf_source->commit_sync.fd = -1; TRACE_ASYNC_BEGIN(buf_info->commit_sync_fd, "[COMMIT_SYNC] bo(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); g_mutex_unlock(&surf_source->commit_sync.mutex); g_mutex_lock(&surf_source->presentation_sync.mutex); @@ -2312,16 +2314,15 @@ _twe_thread_wl_vk_surface_commit(twe_wl_surf_source *surf_source, wl_display_flush(surf_source->disp_source->disp); - TRACE_MARK("[COMMIT] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + TRACE_MARK("[COMMIT] BO(%d)", _get_tbm_surface_bo_name(tbm_surface)); TRACE_ASYNC_BEGIN((int)tbm_surface, "[COMMIT ~ RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); buf_info->sync_timestamp++; TPL_LOG_T(BACKEND, "[COMMIT] wl_buffer(%p) tbm_surface(%p) bo(%d)", buf_info->wl_buffer, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); if (surf_source->swapchain_properties.present_mode == TPL_DISPLAY_PRESENT_MODE_FIFO_RELAXED || @@ -2339,10 +2340,10 @@ _twe_thread_wl_vk_surface_commit(twe_wl_surf_source *surf_source, /* Presented buffer's sync operating dependent on tdm timeline fence. */ if (buf_info->sync_fd != -1) { TPL_LOG_T(BACKEND, "[RELEASE_IMMEDIATELY] tbm_surface(%p) bo(%d) sync_fd(%d)", - tbm_surface, tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0)), + tbm_surface, _get_tbm_surface_bo_name(tbm_surface), buf_info->sync_fd); TRACE_MARK("[RELEASE_IMMEDIATELY] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); tsq_err = tbm_surface_queue_release(surf_source->tbm_queue, tbm_surface); if (tsq_err != TBM_SURFACE_QUEUE_ERROR_NONE) TPL_ERR("Failed to release tbm_surface(%p) when vk_surface_commit.", @@ -2397,7 +2398,7 @@ __cb_presentation_feedback_presented(void *data, TPL_DEBUG("[FEEDBACK][PRESENTED] surf_source(%p) tbm_surface(%p) bo(%d)", surf_source, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); if (buf_info->presentation_sync_fd != -1) { int ret = _write_to_eventfd(buf_info->presentation_sync_fd); @@ -2408,7 +2409,7 @@ __cb_presentation_feedback_presented(void *data, TRACE_ASYNC_END(buf_info->presentation_sync_fd, "[PRESENTATION_SYNC] bo(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); close(buf_info->presentation_sync_fd); buf_info->presentation_sync_fd = -1; @@ -2447,7 +2448,7 @@ __cb_presentation_feedback_discarded(void *data, TPL_DEBUG("[FEEDBACK][DISCARDED] surf_source(%p) tbm_surface(%p) bo(%d)", surf_source, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); if (buf_info->presentation_sync_fd != -1) { int ret = _write_to_eventfd(buf_info->presentation_sync_fd); @@ -2458,7 +2459,7 @@ __cb_presentation_feedback_discarded(void *data, TRACE_ASYNC_END(buf_info->presentation_sync_fd, "[PRESENTATION_SYNC] bo(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); close(buf_info->presentation_sync_fd); buf_info->presentation_sync_fd = -1; @@ -2511,7 +2512,7 @@ _twe_thread_wl_surface_commit(twe_wl_surf_source *surf_source, __tpl_list_push_back(surf_source->presentation_feedbacks, tbm_surface); TRACE_ASYNC_BEGIN(buf_info->presentation_sync_fd, "[PRESENTATION_SYNC] bo(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); } g_mutex_unlock(&surf_source->presentation_sync.mutex); @@ -2599,13 +2600,13 @@ _twe_thread_wl_surface_commit(twe_wl_surf_source *surf_source, wl_display_flush(surf_source->disp_source->disp); TRACE_ASYNC_BEGIN((int)tbm_surface, "[COMMIT ~ RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); buf_info->need_to_commit = TPL_FALSE; TPL_LOG_T(BACKEND, "[COMMIT] wl_buffer(%p) tbm_surface(%p) bo(%d)", buf_info->wl_buffer, tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); if ((_twe_ctx->tdm_source || surf_source->vblank) && _twe_surface_wait_vblank(surf_source) != TPL_ERROR_NONE) @@ -2625,7 +2626,7 @@ _twe_thread_wl_surface_commit(twe_wl_surf_source *surf_source, } TRACE_ASYNC_END(buf_info->commit_sync_fd, "[COMMIT_SYNC] bo(%d)", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); TPL_DEBUG("[COMMIT_SYNC][SEND] surf_source(%p) commit_sync_fd(%d)", surf_source, buf_info->commit_sync_fd); @@ -2688,7 +2689,7 @@ _twe_thread_wl_surface_acquire_and_commit(twe_wl_surf_source *surf_source) if (surf_source->vblank_done) { TPL_LOG_T(BACKEND, "[ACQ] tbm_surface(%p) bo(%d)", tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); _twe_thread_wl_surface_commit(surf_source, tbm_surface); } else { @@ -2701,7 +2702,7 @@ _twe_thread_wl_surface_acquire_and_commit(twe_wl_surf_source *surf_source) TPL_LOG_T(BACKEND, "[ACQ][COMMIT_PENDING] tbm_surface(%p) bo(%d)", tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); } else { _twe_thread_wl_surface_commit(surf_source, tbm_surface); } @@ -2710,7 +2711,7 @@ _twe_thread_wl_surface_acquire_and_commit(twe_wl_surf_source *surf_source) } else { /* wayland_vulkan */ TPL_LOG_T(BACKEND, "[ACQ] tbm_surface(%p) bo(%d)", tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); switch (surf_source->swapchain_properties.present_mode) { case TPL_DISPLAY_PRESENT_MODE_IMMEDIATE: @@ -2721,8 +2722,7 @@ _twe_thread_wl_surface_acquire_and_commit(twe_wl_surf_source *surf_source) if (surf_source->draw_done_buffer) { TPL_LOG_T(BACKEND, "[SKIP] tbm_surface(%p) bo(%d)", tbm_surface, - tbm_bo_export(tbm_surface_internal_get_bo( - tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); tbm_surface_internal_unref(surf_source->draw_done_buffer); tbm_surface_queue_release(surf_source->tbm_queue, surf_source->draw_done_buffer); @@ -3103,8 +3103,7 @@ _twe_thread_wl_surf_source_destroy(void *source) (tpl_free_func_t)__cb_buffer_remove_from_list); TRACE_ASYNC_END((int)tbm_surface, "[COMMIT ~ RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo( - tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); tsq_err = tbm_surface_queue_release(surf_source->tbm_queue, tbm_surface); if (tsq_err != TBM_SURFACE_QUEUE_ERROR_NONE) TPL_ERR("Failed to release. tbm_surface(%p) tsq_err(%d)", @@ -3561,8 +3560,7 @@ twe_surface_destroy_swapchain(twe_surface_h twe_surface) (tpl_free_func_t)__cb_buffer_remove_from_list); TRACE_ASYNC_END((int)tbm_surface, "[COMMIT ~ RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo( - tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); tsq_err = tbm_surface_queue_release(surf_source->tbm_queue, tbm_surface); if (tsq_err != TBM_SURFACE_QUEUE_ERROR_NONE) TPL_ERR("Failed to release. tbm_surface(%p) tsq_err(%d)", @@ -3906,7 +3904,7 @@ twe_surface_create_sync_fd(tbm_surface_h tbm_surface) if (buf_info) { char name[32]; snprintf(name, 32, "%d", - tbm_bo_export(tbm_surface_internal_get_bo(tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); sync_fd = tbm_sync_fence_create(buf_info->sync_timeline, name, buf_info->sync_timestamp); @@ -4006,8 +4004,7 @@ twe_surface_queue_force_flush(twe_surface_h twe_surface) __tpl_list_pop_front(surf_source->committed_buffers, (tpl_free_func_t)__cb_buffer_remove_from_list); TRACE_ASYNC_END((int)tbm_surface, "[COMMIT ~ RELEASE] BO(%d)", - tbm_bo_export(tbm_surface_internal_get_bo( - tbm_surface, 0))); + _get_tbm_surface_bo_name(tbm_surface)); tsq_err = tbm_surface_queue_release(surf_source->tbm_queue, tbm_surface); if (tsq_err != TBM_SURFACE_QUEUE_ERROR_NONE) TPL_ERR("Failed to release. tbm_surface(%p) tsq_err(%d)", -- 2.7.4