tbm_bo: return flag of tbm bo from backend 80/274380/3
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 27 Apr 2022 03:14:14 +0000 (12:14 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Wed, 27 Apr 2022 08:12:51 +0000 (17:12 +0900)
backend can change flag of tbm bo
flag should be got from backend

Change-Id: Ib38b15ed2ac051fe2b6a3ed62541726a5b04acd7

src/tbm_bo.c

index 02f4619..ca47734 100644 (file)
@@ -778,13 +778,20 @@ tbm_bo_get_user_data(tbm_bo bo, unsigned long key, void **data)
 int
 tbm_bo_get_flags(tbm_bo bo)
 {
+       tbm_error_e error;
        int flags;
 
        _tbm_bufmgr_mutex_lock();
+       _tbm_set_last_result(TBM_ERROR_NONE);
 
        TBM_BO_RETURN_VAL_IF_FAIL(_tbm_bo_is_valid(bo), 0);
 
-       flags = bo->flags;
+       flags = tbm_bo_data_get_memory_types(bo->bo_data, &error);
+       if (error != TBM_ERROR_NONE) {
+               TBM_ERR("tbm_bo_data_get_memory_types filed.");
+               flags = TBM_BO_DEFAULT;
+               _tbm_set_last_result(error);
+       }
 
        TBM_TRACE_BO("bo(%p)\n", bo);