Add function get tbm_bo_flag 55/46555/1 tizen_3.0.m1_mobile tizen_3.0.m1_tv accepted/tizen/mobile/20150826.015902 accepted/tizen/tv/20150826.015517 accepted/tizen/wearable/20150826.020121 submit/tizen/20150825.055649 submit/tizen_common/20151023.083358 submit/tizen_common/20151026.085049 tizen_3.0.m1_mobile_release tizen_3.0.m1_tv_release
authorChangyeon Lee <cyeon.lee@samsung.com>
Tue, 18 Aug 2015 11:53:05 +0000 (20:53 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Fri, 21 Aug 2015 10:30:07 +0000 (19:30 +0900)
Change-Id: Id0fac0135e4c9dd5ccad8a57247bad6619dc175f
Signed-off-by: Changyeon Lee <cyeon.lee@samsung.com>
packaging/libtbm.spec
src/tbm_bufmgr.c
src/tbm_bufmgr.h
src/tbm_bufmgr_backend.h [changed mode: 0644->0755]
src/tbm_bufmgr_int.h [changed mode: 0755->0644]

index e5f1f9b..29d7410 100644 (file)
@@ -2,7 +2,7 @@
 %bcond_with wayland
 
 Name:           libtbm
-Version:        1.1.7
+Version:        1.1.8
 Release:        1
 License:        MIT
 Summary:        The library for Tizen Buffer Manager
index e6e326e..61e5a70 100644 (file)
@@ -1262,6 +1262,11 @@ tbm_bo_import (tbm_bufmgr bufmgr, unsigned int key)
     bo->priv = bo_priv;
     bo->default_handle.u32 = 0;
 
+    if (bufmgr->backend->bo_get_flags)
+        bo->flags = bufmgr->backend->bo_get_flags (bo);
+    else
+        bo->flags = TBM_BO_DEFAULT;
+
     /* init bo state */
     if (!_tbm_bo_init_state (bo, CACHE_OP_IMPORT))
     {
@@ -1336,6 +1341,11 @@ tbm_bo_import_fd  (tbm_bufmgr bufmgr, tbm_fd fd)
     bo->priv = bo_priv;
     bo->default_handle.u32 = 0;
 
+    if (bufmgr->backend->bo_get_flags)
+        bo->flags = bufmgr->backend->bo_get_flags (bo);
+    else
+        bo->flags = TBM_BO_DEFAULT;
+
     /* init bo state */
     if (!_tbm_bo_init_state (bo, CACHE_OP_IMPORT))
     {
@@ -1680,3 +1690,10 @@ tbm_bufmgr_get_capability (tbm_bufmgr bufmgr)
     return capability;
 }
 
+int
+tbm_bo_get_flags (tbm_bo bo)
+{
+    TBM_RETURN_VAL_IF_FAIL(_tbm_bo_is_valid(bo), 0);
+
+    return bo->flags;
+}
index 9df6f45..5b276ee 100644 (file)
@@ -1010,6 +1010,34 @@ tbm_error_e tbm_get_last_error    (void);
  */
 unsigned int tbm_bufmgr_get_capability (tbm_bufmgr bufmgr);
 
+/**
+ * @brief Gets the tbm bo flags.
+ * @since_tizen 2.4
+ * @param[in] bo : the buffer object
+ * @return the tbm bo flags
+ * @see TBM_BO_FLAGS
+ * @par Example
+   @code
+   #include <tbm_bufmgr.h>
+
+   int bufmgr_fd;
+   tbm_bufmgr bufmgr;
+   tbm_bo;
+   int flags;
+
+   bufmgr = tbm_bufmgr_init (bufmgr_fd);
+   bo = tbm_bo_alloc (bufmgr, 128 * 128, TBM_BO_DEFAULT);
+   flags = tbm_bo_get_flags (bo);
+
+   ...
+
+   tbm_bo_unref (bo);
+   tbm_bufmgr_deinit (bufmgr);
+
+   @endcode
+ */
+int tbm_bo_get_flags (tbm_bo bo);
+
 #ifdef __cplusplus
 }
 #endif
old mode 100644 (file)
new mode 100755 (executable)
index cb6efaf..43974ad
@@ -277,6 +277,14 @@ struct _tbm_bufmgr_backend
     */
     int           (*surface_get_num_bos)   (tbm_format format);
 
+    /**
+    * @brief get the tbm flags of memory type
+    * @param[in] bo : the buffer object
+    * @see #TBM_BO_FLAGS
+    * @return tbm flags of memory type is this function succeeds, otherwise 0.
+    */
+    int           (*bo_get_flags)   (tbm_bo bo);
+
     /* Padding for future extension */
     void (*reserved1)    (void);
     void (*reserved2)    (void);
old mode 100755 (executable)
new mode 100644 (file)