tbm_bufmgr: change tbm_bo_alloc_with_bo_data name 01/259901/1
authorSooChan Lim <sc1.lim@samsung.com>
Wed, 16 Jun 2021 06:00:00 +0000 (15:00 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Wed, 16 Jun 2021 07:06:31 +0000 (16:06 +0900)
change tbm_bo_alloc_with_bo_data into tbm_bufmgr_internal_alloc_bo_with_bo_data
and move this function to tbm_bufmgr.c

Change-Id: I7266e1630043d9ee64ea228070b6f78940d4acc0

src/tbm_bo.c
src/tbm_bufmgr.c
src/tbm_bufmgr_int.h
src/tbm_surface_internal.c

index 8872848..1faccdc 100644 (file)
@@ -53,7 +53,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
        } \
 }
 
-static char *
+char *
 _tbm_flag_to_str(int f)
 {
        static char str[255];
@@ -399,56 +399,6 @@ alloc_fail:
        return NULL;
 }
 
-/* LCOV_EXCL_START */
-tbm_bo
-tbm_bo_alloc_with_bo_data(tbm_bufmgr bufmgr, tbm_backend_bo_data *bo_data, int flags)
-{
-       tbm_bo bo, bo2 = NULL;
-
-       _tbm_bufmgr_mutex_lock();
-       _tbm_set_last_result(TBM_ERROR_NONE);
-
-       TBM_BO_RETURN_VAL_IF_FAIL(TBM_BUFMGR_IS_VALID(bufmgr), NULL);
-       TBM_BO_RETURN_VAL_IF_FAIL(bo_data, NULL);
-
-       // return an existed bo if the bo is already created with the same bo_data.
-       if (!LIST_IS_EMPTY(&bufmgr->bo_list)) {
-               LIST_FOR_EACH_ENTRY(bo2, &bufmgr->bo_list, item_link) {
-                       if (bo2->bo_data == bo_data) {
-                               TBM_ERR("find bo(%p) ref(%d) flag(%s) in list\n",
-                                               bo2, bo2->ref_cnt, _tbm_flag_to_str(bo2->flags));
-                               bo2->ref_cnt++;
-                               _tbm_bufmgr_mutex_unlock();
-                               return bo2;
-                       }
-               }
-       }
-
-       bo = calloc(1, sizeof(struct _tbm_bo));
-       if (!bo) {
-               /* LCOV_EXCL_START */
-               _tbm_set_last_result(TBM_ERROR_OUT_OF_MEMORY);
-               _tbm_bufmgr_mutex_unlock();
-               return NULL;
-               /* LCOV_EXCL_STOP */
-       }
-
-       _tbm_util_check_bo_cnt(bufmgr);
-
-       bo->get_from_hal_surface = 1;
-       bo->bo_data = bo_data;
-
-       _tbm_bo_init(bufmgr, bo, flags);
-
-       TBM_TRACE_BO("bo(%p) refcnt(%d), flag(%s)\n", bo, bo->ref_cnt, _tbm_flag_to_str(bo->flags));
-
-       _tbm_bufmgr_mutex_unlock();
-
-       return bo;
-}
-
-/* LCOV_EXCL_STOP */
-
 tbm_bo
 tbm_bo_ref(tbm_bo bo)
 {
index b235029..b20523a 100644 (file)
@@ -958,4 +958,47 @@ fail:
        return NULL;
 }
 
+tbm_bo
+tbm_bufmgr_internal_alloc_bo_with_bo_data(tbm_bufmgr bufmgr, tbm_backend_bo_data *bo_data, int flags)
+{
+       tbm_bo bo, bo2 = NULL;
+
+       _tbm_bufmgr_mutex_lock();
+       _tbm_set_last_result(TBM_ERROR_NONE);
+
+       TBM_BUFMGR_RETURN_VAL_IF_FAIL(TBM_BUFMGR_IS_VALID(bufmgr), NULL);
+       TBM_BUFMGR_RETURN_VAL_IF_FAIL(bo_data, NULL);
+
+       _tbm_bufmgr_check_bo_cnt(bufmgr);
+
+       bo = calloc(1, sizeof(struct _tbm_bo));
+       if (!bo) {
+               /* LCOV_EXCL_START */
+               TBM_ERR("memory allocationc failed.");
+               _tbm_set_last_result(TBM_ERROR_OUT_OF_MEMORY);
+               _tbm_bufmgr_mutex_unlock();
+               return NULL;
+               /* LCOV_EXCL_STOP */
+       }
+       bo->bo_data = bo_data;
+       bo->get_from_hal_surface = 1;
+
+       // return an existed bo if the bo is already created with the same bo_data.
+       bo2 = tbm_bufmgr_internal_find_bo(bufmgr, bo);
+       if (bo2) {
+               bo2->ref_cnt++;
+               free(bo);
+               _tbm_bufmgr_mutex_unlock();
+               return bo2;
+       }
+
+       _tbm_bufmgr_initialize_bo(bufmgr, bo, flags);
+
+       TBM_TRACE_BO("bo(%p) refcnt(%d), flag(%s)", bo, bo->ref_cnt, _tbm_flag_to_str(bo->flags));
+
+       _tbm_bufmgr_mutex_unlock();
+
+       return bo;
+}
+
 /* LCOV_EXCL_STOP */
index c5cba30..230e36c 100644 (file)
@@ -344,13 +344,15 @@ tbm_bufmgr tbm_bufmgr_get(void);
 
 void _tbm_set_last_result(tbm_error_e err);
 
+char *_tbm_flag_to_str(int f);
+
 /* functions for mutex */
 void _tbm_bufmgr_mutex_lock(void);
 void _tbm_bufmgr_mutex_unlock(void);
 tbm_bo tbm_bufmgr_internal_find_bo(tbm_bufmgr bufmgr, tbm_bo bo);
 
 tbm_bo tbm_bufmgr_internal_alloc_bo_with_format(tbm_bufmgr bufmgr, int format, int bo_idx, int width, int bpp, int height, tbm_bo_memory_type flags, tbm_error_e *error);
-tbm_bo tbm_bo_alloc_with_bo_data(tbm_bufmgr bufmgr, tbm_backend_bo_data *bo_data, int flags);
+tbm_bo tbm_bufmgr_internal_alloc_bo_with_bo_data(tbm_bufmgr bufmgr, tbm_backend_bo_data *bo_data, int flags);
 
 /* tbm_module functions */
 tbm_module *tbm_module_load(int fd);
index 8c6fc39..823f061 100644 (file)
@@ -766,7 +766,7 @@ _tbm_surface_internal_hal_tbm_create_surface(tbm_bufmgr bufmgr, int width, int h
                }
 
                for (i = 0; i < num_bos; i++) {
-                       surf->bos[i] = tbm_bo_alloc_with_bo_data(bufmgr, (tbm_backend_bo_data *)hal_bos[i], flags);
+                       surf->bos[i] = tbm_bufmgr_internal_alloc_bo_with_bo_data(bufmgr, (tbm_backend_bo_data *)hal_bos[i], flags);
                        if (!surf->bos[i]) {
                                TBM_ERR("fail to alloc bo idx:%d", i);
                                *error = tbm_get_last_error();
@@ -935,7 +935,7 @@ _tbm_surface_internal_hal_tbm_import_surface(tbm_bufmgr bufmgr, int width, int h
        surf->flags = flags;
 
        for (i = 0; i < num_bos; i++) {
-               surf->bos[i] = tbm_bo_alloc_with_bo_data(bufmgr, (tbm_backend_bo_data *)hal_bos[i], flags);
+               surf->bos[i] = tbm_bufmgr_internal_alloc_bo_with_bo_data(bufmgr, (tbm_backend_bo_data *)hal_bos[i], flags);
                if (!surf->bos[i]) {
                        TBM_ERR("fail to alloc bo idx:%d", i);
                        *error = tbm_get_last_error();