tbm_bo: do not print error if return value is NOT_SUPPORTED 83/253983/2
authorJunkyeong Kim <jk0430.kim@samsung.com>
Mon, 8 Feb 2021 09:52:37 +0000 (18:52 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 22 Feb 2021 03:46:11 +0000 (03:46 +0000)
Change-Id: Iaf4aaab751d09c2a3aa1da873fc113a8fa80e2f9
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/tbm_bo.c

index 95000a5..eb188f1 100644 (file)
@@ -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