X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ftbm_bufmgr_int.h;h=07e86a4ce03264b1bc0330623e0a498c34f233a9;hb=refs%2Fheads%2Flinux_yocto;hp=c5cba300d0f43e914b097e0dfa25f2be792f749f;hpb=e63541a42a8470996ae0dc2209b2febaaa71c390;p=platform%2Fcore%2Fuifw%2Flibtbm.git diff --git a/src/tbm_bufmgr_int.h b/src/tbm_bufmgr_int.h index c5cba30..07e86a4 100644 --- a/src/tbm_bufmgr_int.h +++ b/src/tbm_bufmgr_int.h @@ -48,17 +48,17 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include #include +#if ENABLE_DLOG #include +#endif #include #include #include #include #include #include -#include -#include #include -#include +#include "tbm_module.h" extern tbm_bufmgr gBufMgr; extern int b_dump_queue; @@ -172,31 +172,6 @@ struct list_head { struct list_head *next; }; -typedef enum _tbm_module_type { - TBM_MODULE_TYPE_NONE, - TBM_MODULE_TYPE_HAL_TBM, - TBM_MODULE_TYPE_TBM_BACKEND, - TBM_MODULE_TYPE_BUFMGR_BACKEND, -} tbm_module_type; - -typedef struct _tbm_module { - tbm_module_type type; - - void *module_data; /* backend module */ - tbm_bufmgr_backend backend; /* bufmgr backend (will be DEPRECATED) */ - - tbm_backend_module *backend_module_data; /* backend module data */ - tbm_backend_bufmgr_data *bufmgr_data; /* backend data of the backend module */ - tbm_backend_bufmgr_func *bufmgr_func; /* backend functions for bufmgr */ - tbm_backend_bo_func *bo_func; /* backend functions for bo */ - - int use_hal_tbm; /* use hal-api-tbm */ - int auth_wl_socket_created; /* create wayland socket for authenticated drm_fd */ - int auth_fd; - hal_tbm_backend *hal_backend; /* hal-api-tbm backend */ - hal_tbm_bufmgr *hal_bufmgr; /* hal-api-tbm bufmgr */ -} tbm_module; - /** * @brief tbm_bo : buffer object of Tizen Buffer Manager */ @@ -206,14 +181,13 @@ struct _tbm_bo { int ref_cnt; /* ref count of bo */ int flags; /* TBM_BO_FLAGS :bo memory type */ struct list_head user_data_list; /* list of the user_date in bo */ - void *priv; /* bo private (will be DEPRECATED) */ struct list_head item_link; /* link of bo */ tbm_surface_h surface; /* tbm_surface */ int lock_cnt; /* lock count of bo */ unsigned int map_cnt; /* device map count */ - tbm_backend_bo_data *bo_data; /* bo data of the backend module */ - int get_from_hal_surface; /* bo_data has be detroyed by hal backend */ + tbm_bo_data *bo_data; /* bo data of the module */ + int get_from_surface_data; /* bo_data has be detroyed by surface_data */ }; /** @@ -232,23 +206,7 @@ struct _tbm_bufmgr { struct list_head surf_queue_list; /* list of surface queues belonging to bufmgr */ struct list_head debug_key_list; /* list of debug data key list belonging to bufmgr */ - //TODO: tbm_module *module; - tbm_module *module; /* tbm module */ - - //TODO: replace this to data in tbm_module *module - void *module_data; /* backend module */ - tbm_bufmgr_backend backend; /* bufmgr backend (will be DEPRECATED) */ - - tbm_backend_module *backend_module_data; /* backend module data */ - tbm_backend_bufmgr_data *bufmgr_data; /* backend data of the backend module */ - tbm_backend_bufmgr_func *bufmgr_func; /* backend functions for bufmgr */ - tbm_backend_bo_func *bo_func; /* backend functions for bo */ - - int use_hal_tbm; /* use hal-api-tbm */ - int auth_wl_socket_created; /* create wayland socket for authenticated drm_fd */ - int auth_fd; - hal_tbm_backend *hal_backend; /* hal-api-tbm backend */ - hal_tbm_bufmgr *hal_bufmgr; /* hal-api-tbm bufmgr */ + tbm_module *module; /* tbm module information */ }; /** @@ -291,7 +249,7 @@ struct _tbm_surface { int height; } damage; - hal_tbm_surface *hal_surface; // hal_tbm_surface + tbm_surface_data *surface_data; /* surface data of the module */ }; typedef struct { @@ -344,25 +302,18 @@ 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(tbm_bufmgr bufmgr, int size, int flags); 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_module functions */ -tbm_module *tbm_module_load(int fd); -void tbm_module_unload(tbm_module *module); - -int tbm_module_bufmgr_get_capabilities(tbm_module *module, tbm_error_e *error); -tbm_error_e tbm_module_bufmgr_bind_native_display(tbm_module *module, void *native_display); -tbm_error_e tbm_module_bufmgr_get_supported_formats(tbm_module *module, uint32_t **formats, uint32_t *num); -tbm_error_e tbm_module_bufmgr_get_plane_data(tbm_module *module, int format, int plane_idx, uint32_t w, uint32_t h, uint32_t *size, uint32_t *offset, uint32_t *pitch, int *bo_idx); -tbm_backend_bo_data *tbm_module_bufmgr_bo_alloc(tbm_module *module, tbm_bo bo, int size, int flags, tbm_error_e *error); -tbm_backend_bo_data *tbm_module_bufmgr_bo_alloc_with_format(tbm_module *module, int format, int bo_idx, int width, int height, int bpp, tbm_bo_memory_type flags, tbm_error_e *error); -tbm_backend_bo_data *tbm_module_bufmgr_bo_import_fd(tbm_module *module, tbm_bo bo, tbm_fd fd, tbm_error_e *error); -tbm_backend_bo_data *tbm_module_bufmgr_bo_import_key(tbm_module *module, tbm_bo bo, tbm_key key, tbm_error_e *error); +tbm_bo tbm_bufmgr_internal_alloc_bo_with_bo_data(tbm_bufmgr bufmgr, tbm_bo_data *bo_data, int flags, tbm_error_e *error); +tbm_bo tbm_bufmgr_internal_import_bo_with_key(tbm_bufmgr bufmgr, tbm_key key); +tbm_bo tbm_bufmgr_internal_import_bo_with_fd(tbm_bufmgr bufmgr, tbm_fd fd); +int tbm_bufmgr_internal_support_capabilites(tbm_bufmgr bufmgr, int capabilities); #endif /* _TBM_BUFMGR_INT_H_ */