tbm_module: add tbm_module_bo_map and use it
[platform/core/uifw/libtbm.git] / include / tbm_type_common.h
index 1b8ab30..8571c0d 100644 (file)
@@ -75,7 +75,6 @@ typedef int32_t tbm_fd;
  */
 typedef void tbm_native_display;
 
-
 /* TBM_DEVICE_TYPE */
 
 /**
@@ -125,6 +124,8 @@ typedef enum {
        TBM_SURFACE_QUEUE_ERROR_SURFACE_ALLOC_FAILED = TBM_ERROR_BASE | 0x0304,   /**< Allocation of surface failed */
        TBM_SURFACE_QUEUE_ERROR_ALREADY_EXIST = TBM_ERROR_BASE | 0x0305,              /**< Already existed surface */
        TBM_SURFACE_QUEUE_ERROR_UNKNOWN_SURFACE = TBM_ERROR_BASE | 0x0306,            /**< Unknown surface */
+       TBM_SURFACE_QUEUE_ERROR_INVALID_SEQUENCE = TBM_ERROR_BASE | 0x0307,       /**< Invalid sequence */
+       TBM_SURFACE_QUEUE_ERROR_TIMEOUT = TBM_ERROR_BASE | 0x0308,                /**< Timeout */
 } tbm_error_e;
 
 typedef tbm_error_e tbm_surface_queue_error_e;
@@ -134,10 +135,11 @@ typedef tbm_error_e tbm_surface_queue_error_e;
  * @since_tizen 2.4
  */
 enum TBM_BUFMGR_CAPABILITY {
-       TBM_BUFMGR_CAPABILITY_NONE = 0,                                 /**< Not Support capability*/
-       TBM_BUFMGR_CAPABILITY_SHARE_KEY = (1 << 0),             /**< Support sharing buffer by tbm key */
-       TBM_BUFMGR_CAPABILITY_SHARE_FD = (1 << 1),              /**< Support sharing buffer by tbm fd */
-       TBM_BUFMGR_CAPABILITY_TBM_SYNC = (1 << 2),              /**< Support tbm sync */
+       TBM_BUFMGR_CAPABILITY_NONE = 0,                  /**< Not Support capability*/
+       TBM_BUFMGR_CAPABILITY_SHARE_KEY = (1 << 0),      /**< Support sharing buffer by tbm key */
+       TBM_BUFMGR_CAPABILITY_SHARE_FD = (1 << 1),       /**< Support sharing buffer by tbm fd */
+       TBM_BUFMGR_CAPABILITY_TBM_SYNC = (1 << 2),       /**< Support timeline sync */
+       TBM_BUFMGR_CAPABILITY_TILED_MEMORY = (1 << 3),   /**< Support tiled memory */
 };
 
 /**
@@ -185,10 +187,24 @@ enum TBM_BO_FLAGS {
        TBM_BO_SCANOUT = (1 << 0),         /**< scanout memory                                    */
        TBM_BO_NONCACHABLE = (1 << 1), /**< non-cachable memory                               */
        TBM_BO_WC = (1 << 2),              /**< write-combine memory                              */
-       TBM_BO_VENDOR = (0xffff0000), /**< vendor specific memory: it depends on the backend */
+       TBM_BO_TILED = (1 << 3),       /**< tiled memory                                      */
+       TBM_BO_VENDOR = (0xffff0000),  /**< vendor specific memory: it depends on the backend */
 };
 
 /**
+ * @brief Definition for the TBM surface buffer data struct.
+ * @since_tizen 6.5
+ */
+typedef struct _tbm_surface_buffer_data {
+       int *fds;                       /**< an array of dmabuf fds */
+       unsigned int num_fds;           /**< the number of dmabuf fds */
+       int *meta_data;                 /**< an array of meta data */
+       unsigned int num_meta_data;     /**< the number of meta data */
+       void *reserved1;                /**< reserved data1 */
+       void *reserved2;                /**< reserved data2 */
+} tbm_surface_buffer_data;
+
+/**
  * @brief Called when the user data is deleted in buffer object.
  * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
  * @param[in] user_data User_data to be passed to callback function