From 9af7cd587eb9fbf46101986d18d47925bc93fc06 Mon Sep 17 00:00:00 2001 From: Junkyeong Kim Date: Mon, 8 Feb 2021 18:52:37 +0900 Subject: [PATCH] tbm_bo: do not print error if return value is NOT_SUPPORTED Change-Id: Iaf4aaab751d09c2a3aa1da873fc113a8fa80e2f9 Signed-off-by: Junkyeong Kim --- src/tbm_bo.c | 50 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/src/tbm_bo.c b/src/tbm_bo.c index 95000a5..eb188f1 100644 --- a/src/tbm_bo.c +++ b/src/tbm_bo.c @@ -456,10 +456,15 @@ tbm_bo_alloc_with_format(tbm_bufmgr bufmgr, int format, int bo_idx, int width, /* LCOV_EXCL_STOP */ if (bufmgr->use_hal_tbm) { + hal_tbm_error ret; bo_data = (tbm_backend_bo_data *)hal_tbm_bufmgr_alloc_bo_with_format(bufmgr->hal_bufmgr, - format, bo_idx, width, height, (hal_tbm_bo_memory_type)flags, (hal_tbm_error *)error); - if (!bo_data) { - TBM_ERR("error: fail to tbm_bo_alloc_with_format\n"); + format, bo_idx, width, height, (hal_tbm_bo_memory_type)flags, &ret); + if (error) + *error = (tbm_error_e)ret; + if (ret != HAL_TBM_ERROR_NONE) { + if (ret != HAL_TBM_ERROR_NOT_SUPPORTED) { + TBM_ERR("error: fail to tbm_bo_alloc_with_format\n"); + } _tbm_set_last_result(*error); goto bo_alloc_fail; } @@ -515,25 +520,33 @@ tbm_bo_alloc_with_tiled_format(tbm_bufmgr bufmgr, int width, int height, int bpp if (!bufmgr->backend_module_data || !bufmgr->bufmgr_func->bufmgr_alloc_bo_with_tiled_format) { TBM_ERR("error: not supported tbm_bo_alloc_with_tiled_format\n"); _tbm_set_last_result(TBM_ERROR_NOT_SUPPORTED); - free(bo); - _tbm_bufmgr_mutex_unlock(); - return NULL; + goto bo_alloc_fail; } } - if (bufmgr->use_hal_tbm) + if (bufmgr->use_hal_tbm) { + hal_tbm_error ret; bo_data = (tbm_backend_bo_data *)hal_tbm_bufmgr_alloc_bo_with_tiled_format(bufmgr->hal_bufmgr, - width, height, bpp, format, (hal_tbm_bo_memory_type)flags, bo_idx, (hal_tbm_error *)error); - else + width, height, bpp, format, (hal_tbm_bo_memory_type)flags, bo_idx, &ret); + if (error) + *error = (tbm_error_e)ret; + if (ret != HAL_TBM_ERROR_NONE) { + if (ret != HAL_TBM_ERROR_NOT_SUPPORTED) { + TBM_ERR("error: fail to tbm_bo_alloc_with_tiled_format fmt(%s) idx(%d) w(%d) h(%d) flags(%s)\n", + FOURCC_STR(format), bo_idx, width, height, _tbm_flag_to_str(flags)); + } + _tbm_set_last_result(*error); + goto bo_alloc_fail; + } + } else { bo_data = bufmgr->bufmgr_func->bufmgr_alloc_bo_with_tiled_format(bufmgr->bufmgr_data, width, height, bpp, format, flags, bo_idx, error); - if (!bo_data) { - TBM_ERR("error: fail to tbm_bo_alloc_with_tiled_format fmt(%s) idx(%d) w(%d) h(%d) flags(%s)\n", - FOURCC_STR(format), bo_idx, width, height, _tbm_flag_to_str(flags)); - _tbm_set_last_result(*error); - free(bo); - _tbm_bufmgr_mutex_unlock(); - return NULL; + if (!bo_data) { + TBM_ERR("error: fail to tbm_bo_alloc_with_tiled_format fmt(%s) idx(%d) w(%d) h(%d) flags(%s)\n", + FOURCC_STR(format), bo_idx, width, height, _tbm_flag_to_str(flags)); + _tbm_set_last_result(*error); + goto bo_alloc_fail; + } } bo->bo_data = bo_data; @@ -542,6 +555,11 @@ tbm_bo_alloc_with_tiled_format(tbm_bufmgr bufmgr, int width, int height, int bpp _tbm_bufmgr_mutex_unlock(); return bo; + +bo_alloc_fail: + free(bo); + _tbm_bufmgr_mutex_unlock(); + return NULL; } tbm_bo -- 2.7.4