From 225ce82fa79099ecf11c324a9656c07378b29034 Mon Sep 17 00:00:00 2001 From: SooChan Lim Date: Thu, 10 Jun 2021 10:21:13 +0900 Subject: [PATCH] tbm_bufmgr: define tbm_module structure. The tbm_module manages the backend modules of tbm. 1. manage the backend types. 2. manage the backend resources. 2. control the backend functions. Change-Id: I4c59c10b291acce91b98fe6013398b0c501011c2 --- src/tbm_bufmgr_int.h | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/tbm_bufmgr_int.h b/src/tbm_bufmgr_int.h index 4b6644e..59f933e 100644 --- a/src/tbm_bufmgr_int.h +++ b/src/tbm_bufmgr_int.h @@ -170,6 +170,31 @@ 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 */ @@ -205,6 +230,10 @@ 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) */ -- 2.7.4