From 667f0bc84b5924f26bfb7505275a52892d664f86 Mon Sep 17 00:00:00 2001 From: Changyeon Lee Date: Tue, 18 Feb 2025 16:32:35 +0900 Subject: [PATCH] tbm_module: Remove TBM_MODULE_TYPE_BUFMGR_BACKEND Change-Id: I6fb4ab6a9e3ce80ca55230ed3a1c2b8ae8a05ffc --- doc/doxygen/libtbm.doxygen | 1 - include/Makefile.am | 1 - include/tbm_bufmgr_backend.h | 287 ------------------------------ src/Makefile.am | 1 - src/tbm_bufmgr_backend.c | 136 -------------- src/tbm_module.c | 336 +---------------------------------- src/tbm_module.h | 3 - 7 files changed, 4 insertions(+), 761 deletions(-) delete mode 100644 include/tbm_bufmgr_backend.h delete mode 100644 src/tbm_bufmgr_backend.c diff --git a/doc/doxygen/libtbm.doxygen b/doc/doxygen/libtbm.doxygen index 1b9403b..8e99abb 100644 --- a/doc/doxygen/libtbm.doxygen +++ b/doc/doxygen/libtbm.doxygen @@ -786,7 +786,6 @@ INPUT = \ include/tbm_surface_queue_internal.h \ include/tbm_sync.h \ include/tbm_drm_helper.h \ - include/tbm_bufmgr_backend.h \ include/tbm_backend.h # This tag can be used to specify the character encoding of the source files diff --git a/include/Makefile.am b/include/Makefile.am index eda22ad..503a309 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -14,6 +14,5 @@ libtbminclude_HEADERS = \ tbm_surface_queue_internal.h \ tbm_sync.h \ tbm_drm_helper.h \ - tbm_bufmgr_backend.h \ tbm_backend.h \ tbm_dummy_display.h diff --git a/include/tbm_bufmgr_backend.h b/include/tbm_bufmgr_backend.h deleted file mode 100644 index 7b8174d..0000000 --- a/include/tbm_bufmgr_backend.h +++ /dev/null @@ -1,287 +0,0 @@ -/************************************************************************** - -libtbm - -Copyright 2012 Samsung Electronics co., Ltd. All Rights Reserved. - -Contact: SooChan Lim , Sangjin Lee -Boram Park , Changyeon Lee - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sub license, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. -IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* - * This file is referenced by the xf86Module.h in xorg server. - */ - -#ifndef _TBM_BUFMGR_BACKEND_H_ -#define _TBM_BUFMGR_BACKEND_H_ - -#include -#include - -/** - * \file tbm_bufmgr_backend.h - * \brief backend header for Tizen Buffer Manager - * This header is for the implementation of the TBM backend module. - */ - -#define ABI_MINOR_MASK 0x0000FFFF -#define ABI_MAJOR_MASK 0xFFFF0000 -#define GET_ABI_MINOR(v) ((v) & ABI_MINOR_MASK) -#define GET_ABI_MAJOR(v) (((v) & ABI_MAJOR_MASK) >> 16) - -/* - * ABI versions. Each version has a major and minor revision. Modules - * using lower minor revisions must work with servers of a higher minor - * revision. There is no compatibility between different major revisions. - * Whenever the ABI_ANSIC_VERSION is changed, the others must also be - * changed. The minor revision mask is 0x0000FFFF and the major revision - * mask is 0xFFFF0000. - */ -#define SET_ABI_VERSION(maj, min) \ - ((((maj) << 16) & ABI_MAJOR_MASK) | ((min) & ABI_MINOR_MASK)) - -#define TBM_ABI_VERSION SET_ABI_VERSION(1, 1) /**< current abi vertion */ - -typedef struct _tbm_bufmgr_backend *tbm_bufmgr_backend; - -/** - * @brief TBM backend functions - * the set of function pointers for the backend module of TBM. - */ -struct _tbm_bufmgr_backend { - int flags; - - void *priv; /**< bufmgr private */ - - /** - * @brief deinitialize the bufmgr private. - * @param[in] priv : the private of the bufmgr - */ - void (*bufmgr_deinit)(void *priv); - - /** - * @brief get(bind) the native display - * @param[in] bufmgr : the buffer object - * @param[in] native_display : the native display - * @return 1 if this function succeeds, otherwise 0. - */ - int (*bufmgr_bind_native_display)(tbm_bufmgr bufmgr, void *native_display); - - /** - * @brief allocate the buffer object - * @param[in] bo : the buffer object - * @param[in] size : the size of buffer object - * @param[in] flags : the flags of memory type - * @return pointer of the bo private. - */ - void *(*bo_alloc)(tbm_bo bo, int size, int flags); - - /** - * @brief free the buffer object. - * @param[in] bo : the buffer object - */ - void (*bo_free)(tbm_bo bo); - - /** - * @brief get the size of a bo. - * @param[in] bo : the buffer object - * @return size if this function succeeds, otherwise 0. - */ - int (*bo_size)(tbm_bo bo); - - /** - * @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); - - /** - * @brief get the tbm_bo_handle according to the device type. - * @param[in] bo : the buffer object - * @param[in] device : the device type to get a handle - * @return the handle of the buffer object - */ - tbm_bo_handle(*bo_get_handle)(tbm_bo bo, int device); - - /** - * @brief map the buffer object according to the device type and the option. - * @param[in] bo : the buffer object - * @param[in] device : the device type to get a handle - * @param[in] opt : the option to access the buffer object - * @return the handle of the buffer object - */ - tbm_bo_handle(*bo_map)(tbm_bo bo, int device, int opt); - - /** - * @brief unmap the buffer object. - * @param[in] bo : the buffer object - * @return 1 if this function succeeds, otherwise 0. - */ - int (*bo_unmap)(tbm_bo bo); - - /** - * @brief lock the buffer object with a device and an opt. - * @param[in] bo : the buffer object - * @param[in] device : the device type to get a handle - * @param[in] opt : the option to access the buffer object - * @return 1 if this function succeeds, otherwise 0. - * @remark This function pointer could be null. (default: use the tizen global lock) - */ - int (*bo_lock)(tbm_bo bo, int device, int opt); - - /** - * @brief unlock the buffer object. - * @param[in] bo : the buffer object - * @return 1 if this function succeeds, otherwise 0. - * @remark This function pointer could be null. (default: use the tizen global lock) - */ - int (*bo_unlock)(tbm_bo bo); - - /** - * @brief export the buffer object - * @remarks tbm_fd must be free by user. - * @remarks If the backend doesn't support a buffer sharing by tbm fd, - fucntion pointer must be set to NULL. - * @param[in] bo : the buffer object - * @return tbm_fd associated with the buffer object - */ - tbm_fd (*bo_export_fd)(tbm_bo bo); - - /** - * @brief import the buffer object associated with the prime fd. - * @remarks tbm_fd must be free by user. - * @remarks If the backend doesn't support a buffer sharing by tbm fd, - fucntion pointer must be set to NULL. - * @param[in] bo : the buffer object - * @param[in] fd : the prime fd associated with the buffer object - * @return pointer of the bo private. - */ - void *(*bo_import_fd)(tbm_bo bo, tbm_fd fd); - - /** - * @brief export the buffer object - * @remarks If the backend doesn't support a buffer sharing by tbm key, - fucntion pointer must be set to NULL. - * @param[in] bo : the buffer object - * @return key associated with the buffer object - */ - unsigned int (*bo_export)(tbm_bo bo); - - /** - * @brief import the buffer object associated with the key. - * @remarks If the backend doesn't support a buffer sharing by tbm key, - fucntion pointer must be set to NULL. - * @param[in] bo : the buffer object - * @param[in] key : the key associated with the buffer object - * @return pointer of the bo private. - */ - void *(*bo_import)(tbm_bo bo, unsigned int key); - - /** - * @brief query the formats list and the num to be supported by backend. - * @param[out] **formats : format array list. this array has to be allocated by backend funtion - * @param[out] *num : the number of the formats to be supported by backend - * @return 1 if this function succeeds, otherwise 0. - */ - int (*surface_supported_format)(uint32_t **formats, uint32_t *num); - - /** - * @brief get the plane data of the surface. - * @param[in] width : the width of the surface - * @param[in] height : the height of the surface - * @param[in] format : the format of the surface - * @param[in] plane_idx : the format of the surface - * @param[out] size : the size of the plane - * @param[out] offset : the offset of the plane - * @param[out] pitch : the pitch of the plane - * @param[out] bo_idx : the bo index of the plane - * @return 1 if this function succeeds, otherwise 0. - */ - int (*surface_get_plane_data)(int width, int height, - tbm_format format, int plane_idx, uint32_t *size, uint32_t *offset, - uint32_t *pitch, int *bo_idx); - - /** - * @brief allocate the buffer object for tbm surface - * @param[in] bo : the buffer object - * @param[in] width : the width of surface - * @param[in] height : the height of surface - * @param[in] format : the format of surface - * @param[in] flags : the flags of memory type - * @param[in] bo_idx : the index of bo in surface - * @return pointer of the bo private. - */ - void * (*surface_bo_alloc)(tbm_bo bo, int width, int height, int format, int flags, int bo_idx); - - /* Padding for future extension */ - void (*reserved1)(void); - void (*reserved2)(void); - void (*reserved3)(void); - void (*reserved4)(void); - void (*reserved5)(void); - void (*reserved6)(void); -}; - -/** - * @brief tbm module information - * data type for the module information - */ -typedef struct { - const char *modname; /**< name of module, e.g. "foo" */ - const char *vendor; /**< vendor specific string */ - unsigned long abiversion; /**< ABI version */ -} TBMModuleVersionInfo; - -typedef int (*ModuleInitProc) (tbm_bufmgr, int); - -#define MODULEINITPPROTO(func) int func(tbm_bufmgr, int) /**< prototype for init symbol of bakcend module */ - -/** - * @brief tbm module data - * data type for the entry point of the backend module - */ -typedef struct { - TBMModuleVersionInfo *vers; /**< tbm module informtaion */ - ModuleInitProc init; /**< init function of a backend module */ -} TBMModuleData; - -#ifdef __cplusplus -extern "C" { -#endif - -tbm_bufmgr_backend tbm_backend_alloc(void); -void tbm_backend_free(tbm_bufmgr_backend backend); -int tbm_backend_init(tbm_bufmgr bufmgr, tbm_bufmgr_backend backend); - -void *tbm_backend_get_bufmgr_priv(tbm_bo bo); -void *tbm_backend_get_priv_from_bufmgr(tbm_bufmgr bufmgr); -void *tbm_backend_get_bo_priv(tbm_bo bo); -int tbm_backend_is_display_server(void); - -#ifdef __cplusplus -} -#endif -#endif /* _TBM_BUFMGR_BACKEND_H_ */ diff --git a/src/Makefile.am b/src/Makefile.am index 05adbd5..69bc406 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -18,7 +18,6 @@ libtbm_la_SOURCES = \ tbm_surface_internal.c \ tbm_surface.c \ tbm_surface_queue.c \ - tbm_bufmgr_backend.c \ tbm_bufmgr.c \ tbm_bo.c \ tbm_drm_helper_server.c \ diff --git a/src/tbm_bufmgr_backend.c b/src/tbm_bufmgr_backend.c deleted file mode 100644 index 2ab1d53..0000000 --- a/src/tbm_bufmgr_backend.c +++ /dev/null @@ -1,136 +0,0 @@ -/************************************************************************** - -libtbm - -Copyright 2012 Samsung Electronics co., Ltd. All Rights Reserved. - -Contact: SooChan Lim , Sangjin Lee -Boram Park , Changyeon Lee - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sub license, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. -IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -#include "config.h" - -#include -#include -#include -#include -#include "tbm_bufmgr_int.h" - -/* LCOV_EXCL_START */ -tbm_bufmgr_backend tbm_backend_alloc(void) -{ - tbm_bufmgr_backend bufmgr_backend; - - bufmgr_backend = calloc(1, sizeof(struct _tbm_bufmgr_backend)); - if (!bufmgr_backend) { - TBM_ERR("error: fail to allocate the bufmgr_backend"); - return NULL; - } - - return bufmgr_backend; -} - -void tbm_backend_free(tbm_bufmgr_backend backend) -{ - if (!backend) - return; - - free(backend); - backend = NULL; -} - -int tbm_backend_init(tbm_bufmgr bufmgr, tbm_bufmgr_backend backend) -{ - tbm_module *module = NULL; - - if (!bufmgr) { - TBM_ERR("error: fail to init tbm backend... bufmgr is null"); - return 0; - } - - if (!backend) { - TBM_ERR("error: fail to init tbm backend... backend is null"); - return 0; - } - - module = (tbm_module *)bufmgr; - - module->backend = backend; - -#if 0 // DEPRECATED - module->capabilities = TBM_BUFMGR_CAPABILITY_NONE; - - if (module->backend->bo_import && module->backend->bo_export) - module->capabilities |= TBM_BUFMGR_CAPABILITY_SHARE_KEY; - - if (module->backend->bo_import_fd && module->backend->bo_export_fd) - module->capabilities |= TBM_BUFMGR_CAPABILITY_SHARE_FD; -#endif - - return 1; -} - -void *tbm_backend_get_bufmgr_priv(tbm_bo bo) -{ - tbm_bufmgr_backend backend = bo->bufmgr->module->backend; - - return backend->priv; -} - -void *tbm_backend_get_priv_from_bufmgr(tbm_bufmgr bufmgr) -{ - tbm_module *module = (tbm_module *)bufmgr; - tbm_bufmgr_backend backend = module->backend; - - return backend->priv; -} - -void tbm_backend_set_bo_priv(tbm_bo bo, void *bo_priv) -{ - bo->bo_data->priv = bo_priv; -} - -void *tbm_backend_get_bo_priv(tbm_bo bo) -{ - return bo->bo_data->priv; -} - -int tbm_backend_is_display_server(void) -{ - const char *value; - - if (gBufMgr == NULL) { - TBM_ERR("error: no gBufMgr."); - return 0; - } - - /* TODO: TBM_DISPLAY_SERVER will be removed */ - value = (const char*)getenv("TBM_DISPLAY_SERVER"); - - if (value || gBufMgr->display_server) - return 1; - - return 0; -} -/* LCOV_EXCL_STOP */ diff --git a/src/tbm_module.c b/src/tbm_module.c index e24c48d..5631766 100644 --- a/src/tbm_module.c +++ b/src/tbm_module.c @@ -34,7 +34,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include "tbm_bufmgr_int.h" -#include "tbm_bufmgr_backend.h" #include "tbm_drm_helper.h" #define PREFIX_LIB "libtbm_" @@ -122,38 +121,6 @@ get_backend_fail: return 0; } -static int -_check_version(TBMModuleVersionInfo *data) -{ - int backend_module_major, backend_module_minor; - int tbm_backend_major, tbm_backend_minor; - - backend_module_major = GET_ABI_MAJOR(data->abiversion); - backend_module_minor = GET_ABI_MINOR(data->abiversion); - - TBM_DBG("TBM module %s: vendor=\"%s\" ABI=%d,%d", - data->modname ? data->modname : "UNKNOWN!", - data->vendor ? data->vendor : "UNKNOWN!", backend_module_major, backend_module_minor); - - tbm_backend_major = GET_ABI_MAJOR(TBM_ABI_VERSION); - tbm_backend_minor = GET_ABI_MINOR(TBM_ABI_VERSION); - - TBM_DBG("TBM ABI version %d.%d", - tbm_backend_major, tbm_backend_minor); - - if (backend_module_major != tbm_backend_major) { - TBM_ERR("TBM module ABI major ver(%d) doesn't match the TBM's ver(%d)", - backend_module_major, tbm_backend_major); - return 0; - } else if (backend_module_minor > tbm_backend_minor) { - TBM_ERR("TBM module ABI minor ver(%d) is newer than the TBM's ver(%d)", - backend_module_minor, tbm_backend_minor); - return 0; - } - - return 1; -} - static int _tbm_backend_check_bufmgr_func(tbm_backend_bufmgr_func *bufmgr_func) { @@ -218,12 +185,12 @@ _tbm_backend_load_module(tbm_module *module, const char *file) goto err; } - tbm_backend_major = GET_ABI_MAJOR(TBM_BACKEND_ABI_LATEST_VERSION); - tbm_backend_minor = GET_ABI_MINOR(TBM_BACKEND_ABI_LATEST_VERSION); + tbm_backend_major = TBM_BACKEND_GET_ABI_MAJOR(TBM_BACKEND_ABI_LATEST_VERSION); + tbm_backend_minor = TBM_BACKEND_GET_ABI_MINOR(TBM_BACKEND_ABI_LATEST_VERSION); TBM_INFO("TBM Backend ABI version %d.%d", tbm_backend_major, tbm_backend_minor); - backend_module_major = GET_ABI_MAJOR(backend_module_data->abi_version); - backend_module_minor = GET_ABI_MINOR(backend_module_data->abi_version); + backend_module_major = TBM_BACKEND_GET_ABI_MAJOR(backend_module_data->abi_version); + backend_module_minor = TBM_BACKEND_GET_ABI_MINOR(backend_module_data->abi_version); TBM_INFO("TBM module %s: vendor=\"%s\" Backend ABI version=%d.%d", backend_module_data->name ? backend_module_data->name : "UNKNOWN!", @@ -283,67 +250,6 @@ err: return 0; } - -static int -_tbm_backend_load_bufmgr_module(tbm_module *module, int fd, const char *file) -{ - char path[PATH_MAX] = {0, }; - TBMModuleVersionInfo *vers; - TBMModuleData *initdata; - ModuleInitProc init; - void *module_data; - - snprintf(path, sizeof(path), BUFMGR_MODULE_DIR "/%s", file); - - module_data = dlopen(path, RTLD_LAZY); - if (!module_data) { - TBM_ERR("failed to load module: %s(%s)", dlerror(), file); - return 0; - } - - initdata = dlsym(module_data, "tbmModuleData"); - if (!initdata) { - TBM_ERR("Error: module does not have data object."); - goto err; - } - - vers = initdata->vers; - if (!vers) { - TBM_ERR("Error: module does not supply version information."); - goto err; - } - - init = initdata->init; - if (!init) { - TBM_ERR("Error: module does not supply init symbol."); - goto err; - } - - if (!_check_version(vers)) { - TBM_ERR("Fail to check version."); - goto err; - } - - if (!init((tbm_bufmgr)module, fd)) { - TBM_ERR("Fail to init module(%s)", file); - goto err; - } - - if (!module->backend || !module->backend->priv) { - TBM_ERR("Error: module(%s) wrong operation. Check backend or backend's priv.", file); - goto err; - } - - module->module_data = module_data; - - TBM_DBG("Success to load module(%s)", file); - - return 1; - -err: - dlclose(module_data); - return 0; -} /* LCOV_EXCL_STOP */ tbm_module * @@ -374,13 +280,6 @@ tbm_module_load(int fd) goto done; } - /* try to load the old(deprecated) backend mdoule */ - ret = _tbm_backend_load_bufmgr_module(module, fd, DEFAULT_LIB); - if (ret) { - module->type = TBM_MODULE_TYPE_BUFMGR_BACKEND; - return module; - } - /* load backend_module from configured path */ n = scandir(BUFMGR_MODULE_DIR, &namelist, 0, alphasort); if (n < 0) { @@ -397,10 +296,6 @@ tbm_module_load(int fd) ret = _tbm_backend_load_module(module, namelist[n]->d_name); if (ret) module->type = TBM_MODULE_TYPE_TBM_BACKEND; - else { - ret = _tbm_backend_load_bufmgr_module(module, fd, namelist[n]->d_name); - module->type = TBM_MODULE_TYPE_BUFMGR_BACKEND; - } } } @@ -444,14 +339,6 @@ tbm_module_unload(tbm_module *module) module->bufmgr_data = NULL; module->backend_module_data = NULL; - dlclose(module->module_data); - break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - module->backend->bufmgr_deinit(module->backend->priv); - module->backend->priv = NULL; - tbm_backend_free(module->backend); - module->backend = NULL; - dlclose(module->module_data); break; default: @@ -483,12 +370,6 @@ tbm_module_get_capabilities(tbm_module *module, tbm_error_e *error) capabilities = module->bufmgr_func->bufmgr_get_capabilities(module->bufmgr_data, error); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - TBM_ERR("Do not support at tbm_bufmgr_backend."); - - *error = TBM_ERROR_NOT_SUPPORTED; - break; default: TBM_ERR("Wrong module type:%d", module->type); *error = TBM_ERROR_INVALID_OPERATION; @@ -504,7 +385,6 @@ tbm_module_bind_native_display(tbm_module *module, void *native_display) { tbm_error_e error = TBM_ERROR_NONE; tbm_backend_bufmgr_func *bufmgr_func = NULL; - tbm_bufmgr_backend backend = NULL; int ret = 0; TBM_RETURN_VAL_IF_FAIL(module, TBM_ERROR_INVALID_PARAMETER); @@ -550,17 +430,6 @@ tbm_module_bind_native_display(tbm_module *module, void *native_display) TBM_RETURN_VAL_IF_FAIL(bufmgr_func->bufmgr_bind_native_display, TBM_ERROR_NOT_SUPPORTED); error = bufmgr_func->bufmgr_bind_native_display(module->bufmgr_data, (tbm_native_display *)native_display); - break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_IF_FAIL(backend, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_IF_FAIL(backend->bufmgr_bind_native_display, TBM_ERROR_NOT_SUPPORTED); - - ret = backend->bufmgr_bind_native_display((tbm_bufmgr)module, native_display); - if (!ret) - error = TBM_ERROR_INVALID_OPERATION; - break; default: TBM_ERR("Wrong module type:%d", module->type); @@ -577,8 +446,6 @@ tbm_module_get_supported_formats(tbm_module *module, uint32_t **formats, uint32_ { tbm_error_e error = TBM_ERROR_NONE; tbm_backend_bufmgr_func *bufmgr_func = NULL; - tbm_bufmgr_backend backend = NULL; - int ret = 0; TBM_RETURN_VAL_IF_FAIL(module, TBM_ERROR_INVALID_PARAMETER); @@ -593,17 +460,6 @@ tbm_module_get_supported_formats(tbm_module *module, uint32_t **formats, uint32_ TBM_RETURN_VAL_IF_FAIL(bufmgr_func->bufmgr_get_supported_formats, TBM_ERROR_NOT_SUPPORTED); error = bufmgr_func->bufmgr_get_supported_formats(module->bufmgr_data, formats, num); - break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_IF_FAIL(backend, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_IF_FAIL(backend->surface_supported_format, TBM_ERROR_NOT_SUPPORTED); - - ret = backend->surface_supported_format(formats, num); - if (!ret) - error = TBM_ERROR_INVALID_OPERATION; - break; default: TBM_ERR("Wrong module type:%d", module->type); @@ -621,8 +477,6 @@ tbm_module_get_plane_data(tbm_module *module, int format, int plane_idx, uint32_ { tbm_error_e error = TBM_ERROR_NONE; tbm_backend_bufmgr_func *bufmgr_func = NULL; - tbm_bufmgr_backend backend = NULL; - int ret = 0; TBM_RETURN_VAL_IF_FAIL(module, TBM_ERROR_INVALID_PARAMETER); @@ -638,16 +492,6 @@ tbm_module_get_plane_data(tbm_module *module, int format, int plane_idx, uint32_ error = bufmgr_func->bufmgr_get_plane_data(module->bufmgr_data, format, plane_idx, w, h, size, offset, pitch, bo_idx); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_IF_FAIL(backend, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_IF_FAIL(backend->surface_get_plane_data, TBM_ERROR_NOT_SUPPORTED); - - ret = backend->surface_get_plane_data(w, h, format, plane_idx, size, offset, pitch, bo_idx); - if (!ret) - error = TBM_ERROR_INVALID_OPERATION; - break; default: TBM_ERR("Wrong module type:%d", module->type); error = TBM_ERROR_INVALID_OPERATION; @@ -731,7 +575,6 @@ tbm_module_alloc_bo_data(tbm_module *module, tbm_bo bo, int size, int flags, tbm { tbm_bo_data *bo_data = NULL; tbm_backend_bufmgr_func *bufmgr_func = NULL; - tbm_bufmgr_backend backend = NULL; TBM_RETURN_VAL_SET_ERR_IF_FAIL(module, NULL, *error, TBM_ERROR_INVALID_PARAMETER); @@ -752,18 +595,6 @@ tbm_module_alloc_bo_data(tbm_module *module, tbm_bo bo, int size, int flags, tbm bo_data->backend_bo_data = bufmgr_func->bufmgr_alloc_bo(module->bufmgr_data, (unsigned int)size, flags, error); TBM_GOTO_VAL_IF_FAIL(bo_data->backend_bo_data, failed); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - - backend = module->backend; - TBM_GOTO_VAL_SET_ERR_IF_FAIL(backend, failed, *error, TBM_ERROR_INVALID_OPERATION); - TBM_GOTO_VAL_SET_ERR_IF_FAIL(backend->bo_alloc, failed, *error, TBM_ERROR_NOT_SUPPORTED); - - bo_data->priv = (void *)backend->bo_alloc(bo, size, flags); - TBM_GOTO_VAL_SET_ERR_IF_FAIL(bo_data->priv, failed, *error, TBM_ERROR_INVALID_OPERATION); - - *error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); *error = TBM_ERROR_INVALID_OPERATION; @@ -818,13 +649,6 @@ tbm_module_alloc_bo_data_with_format(tbm_module *module, int format, int bo_idx, if (!bo_data->backend_bo_data) goto failed; break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - TBM_ERR("error: not supported tbm_module_alloc_bo_data_with_format."); - - *error = TBM_ERROR_NOT_SUPPORTED; - goto failed; - break; default: TBM_ERR("Wrong module type:%d", module->type); *error = TBM_ERROR_INVALID_OPERATION; @@ -851,7 +675,6 @@ tbm_module_import_bo_data_with_fd(tbm_module *module, tbm_bo bo, tbm_fd fd, tbm_ { tbm_bo_data *bo_data = NULL; tbm_backend_bufmgr_func *bufmgr_func = NULL; - tbm_bufmgr_backend backend = NULL; TBM_RETURN_VAL_SET_ERR_IF_FAIL(module, NULL, *error, TBM_ERROR_INVALID_PARAMETER); @@ -872,17 +695,7 @@ tbm_module_import_bo_data_with_fd(tbm_module *module, tbm_bo bo, tbm_fd fd, tbm_ bo_data->backend_bo_data = bufmgr_func->bufmgr_import_fd(module->bufmgr_data, fd, error); TBM_GOTO_VAL_IF_FAIL(bo_data->backend_bo_data, failed); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_GOTO_VAL_SET_ERR_IF_FAIL(backend, failed, *error, TBM_ERROR_INVALID_OPERATION); - TBM_GOTO_VAL_SET_ERR_IF_FAIL(backend->bo_import_fd, failed, *error, TBM_ERROR_NOT_SUPPORTED); - - bo_data->priv = (void *)backend->bo_import_fd(bo, fd); - TBM_GOTO_VAL_SET_ERR_IF_FAIL(bo_data->priv, failed, *error, TBM_ERROR_INVALID_OPERATION); - *error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); *error = TBM_ERROR_INVALID_OPERATION; @@ -909,7 +722,6 @@ tbm_module_import_bo_data_with_key(tbm_module *module, tbm_bo bo, tbm_key key, t { tbm_bo_data *bo_data = NULL; tbm_backend_bufmgr_func *bufmgr_func = NULL; - tbm_bufmgr_backend backend = NULL; TBM_RETURN_VAL_SET_ERR_IF_FAIL(module, NULL, *error, TBM_ERROR_INVALID_PARAMETER); @@ -930,17 +742,6 @@ tbm_module_import_bo_data_with_key(tbm_module *module, tbm_bo bo, tbm_key key, t bo_data->backend_bo_data = bufmgr_func->bufmgr_import_key(module->bufmgr_data, key, error); TBM_GOTO_VAL_IF_FAIL(bo_data->backend_bo_data, failed); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_GOTO_VAL_SET_ERR_IF_FAIL(backend, failed, *error, TBM_ERROR_INVALID_OPERATION); - TBM_GOTO_VAL_SET_ERR_IF_FAIL(backend->bo_import, failed, *error, TBM_ERROR_NOT_SUPPORTED); - - bo_data->priv = (void *)backend->bo_import(bo, key); - TBM_GOTO_VAL_SET_ERR_IF_FAIL(bo_data->priv, failed, *error, TBM_ERROR_INVALID_OPERATION); - - *error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); *error = TBM_ERROR_INVALID_OPERATION; @@ -975,10 +776,6 @@ tbm_module_compare_bo_data(tbm_module *module, tbm_bo_data *bo_data1, tbm_bo_dat case TBM_MODULE_TYPE_TBM_BACKEND: return (bo_data1->backend_bo_data == bo_data2->backend_bo_data); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - return (bo_data1->priv == bo_data2->priv); - break; default: TBM_ERR("Wrong module type:%d", module->type); break; @@ -1081,7 +878,6 @@ tbm_bo_data_free(tbm_bo_data *bo_data, int get_from_surface_data) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; TBM_RETURN_IF_FAIL(bo_data); TBM_RETURN_IF_FAIL(bo_data->module); @@ -1105,15 +901,6 @@ tbm_bo_data_free(tbm_bo_data *bo_data, int get_from_surface_data) bo_func->bo_free(bo_data->backend_bo_data); bo_data->backend_bo_data = NULL; break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_IF_FAIL(backend); - TBM_RETURN_IF_FAIL(backend->bo_free); - - backend->bo_free(bo_data->priv); - bo_data->priv = NULL; - break; default: TBM_ERR("Wrong module type:%d", module->type); break; @@ -1129,7 +916,6 @@ tbm_bo_data_get_size(tbm_bo_data *bo_data, tbm_error_e *error) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; int size = 0; TBM_RETURN_VAL_SET_ERR_IF_FAIL(bo_data, 0, *error, TBM_ERROR_INVALID_PARAMETER); @@ -1149,18 +935,6 @@ tbm_bo_data_get_size(tbm_bo_data *bo_data, tbm_error_e *error) size = bo_func->bo_get_size(bo_data->backend_bo_data, error); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend, 0, *error, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend->bo_size, 0, *error, TBM_ERROR_NOT_SUPPORTED); - - size = backend->bo_size(bo_data->priv); - if (size == 0) - *error = TBM_ERROR_INVALID_OPERATION; - else - *error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); *error = TBM_ERROR_INVALID_OPERATION; @@ -1176,7 +950,6 @@ tbm_bo_data_get_memory_types(tbm_bo_data *bo_data, tbm_error_e *error) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; int memory_types = TBM_BO_DEFAULT; TBM_RETURN_VAL_SET_ERR_IF_FAIL(bo_data, 0, *error, TBM_ERROR_INVALID_PARAMETER); @@ -1196,15 +969,6 @@ tbm_bo_data_get_memory_types(tbm_bo_data *bo_data, tbm_error_e *error) memory_types = bo_func->bo_get_memory_types(bo_data->backend_bo_data, error); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend, 0, *error, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend->bo_get_flags, 0, *error, TBM_ERROR_NOT_SUPPORTED); - - memory_types = backend->bo_get_flags(bo_data->priv); - *error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); *error = TBM_ERROR_INVALID_OPERATION; @@ -1220,7 +984,6 @@ tbm_bo_data_get_handle(tbm_bo_data *bo_data, int device, tbm_error_e *error) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; tbm_bo_handle bo_handle = (tbm_bo_handle)NULL; hal_tbm_bo_handle hbo_handle; @@ -1243,18 +1006,6 @@ tbm_bo_data_get_handle(tbm_bo_data *bo_data, int device, tbm_error_e *error) bo_handle = bo_func->bo_get_handle(bo_data->backend_bo_data, device, error); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend, (tbm_bo_handle)NULL, *error, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend->bo_get_handle, (tbm_bo_handle)NULL, *error, TBM_ERROR_NOT_SUPPORTED); - - bo_handle = backend->bo_get_handle(bo_data->priv, device); - if (!bo_handle.ptr) - *error = TBM_ERROR_INVALID_OPERATION; - else - *error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); bo_handle.ptr = NULL; @@ -1271,7 +1022,6 @@ tbm_bo_data_map(tbm_bo_data *bo_data, int device, int opt, tbm_error_e *error) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; tbm_bo_handle bo_handle = (tbm_bo_handle)NULL; hal_tbm_bo_handle hbo_handle = (hal_tbm_bo_handle)NULL; @@ -1294,18 +1044,6 @@ tbm_bo_data_map(tbm_bo_data *bo_data, int device, int opt, tbm_error_e *error) bo_handle = bo_func->bo_map(bo_data->backend_bo_data, device, opt, error); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend, (tbm_bo_handle)NULL, *error, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend->bo_map, (tbm_bo_handle)NULL, *error, TBM_ERROR_NOT_SUPPORTED); - - bo_handle = backend->bo_map(bo_data->priv, device, opt); - if (!bo_handle.ptr) - *error = TBM_ERROR_INVALID_OPERATION; - else - *error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); bo_handle.ptr = NULL; @@ -1322,9 +1060,7 @@ tbm_bo_data_unmap(tbm_bo_data *bo_data) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; tbm_error_e error; - int ret = 0; TBM_RETURN_VAL_IF_FAIL(bo_data, TBM_ERROR_INVALID_PARAMETER); TBM_RETURN_VAL_IF_FAIL(bo_data->module, TBM_ERROR_INVALID_PARAMETER); @@ -1343,18 +1079,6 @@ tbm_bo_data_unmap(tbm_bo_data *bo_data) error = bo_func->bo_unmap(bo_data->backend_bo_data); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_IF_FAIL(backend, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_IF_FAIL(backend->bo_unmap, TBM_ERROR_NOT_SUPPORTED); - - ret = backend->bo_unmap(bo_data->priv); - if (!ret) - error = TBM_ERROR_INVALID_OPERATION; - else - error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); error = TBM_ERROR_INVALID_OPERATION; @@ -1370,9 +1094,7 @@ tbm_bo_data_lock(tbm_bo_data *bo_data, int device, int opt) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; tbm_error_e error; - int ret = 0; TBM_RETURN_VAL_IF_FAIL(bo_data, TBM_ERROR_INVALID_PARAMETER); TBM_RETURN_VAL_IF_FAIL(bo_data->module, TBM_ERROR_INVALID_PARAMETER); @@ -1392,19 +1114,6 @@ tbm_bo_data_lock(tbm_bo_data *bo_data, int device, int opt) error = bo_func->bo_lock(bo_data->backend_bo_data, device, opt); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_IF_FAIL(backend, TBM_ERROR_INVALID_OPERATION); - if (!backend->bo_unmap) - return TBM_ERROR_NOT_SUPPORTED; - - ret = backend->bo_lock(bo_data->priv, device, opt); - if (!ret) - error = TBM_ERROR_INVALID_OPERATION; - else - error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); error = TBM_ERROR_INVALID_OPERATION; @@ -1420,7 +1129,6 @@ tbm_bo_data_unlock(tbm_bo_data *bo_data) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; tbm_error_e error; TBM_RETURN_VAL_IF_FAIL(bo_data, TBM_ERROR_INVALID_PARAMETER); @@ -1441,16 +1149,6 @@ tbm_bo_data_unlock(tbm_bo_data *bo_data) error = bo_func->bo_unlock(bo_data->backend_bo_data); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_IF_FAIL(backend, TBM_ERROR_INVALID_OPERATION); - if (!backend->bo_unlock) - return TBM_ERROR_NOT_SUPPORTED; - - backend->bo_unlock(bo_data->priv); - error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); error = TBM_ERROR_INVALID_OPERATION; @@ -1466,7 +1164,6 @@ tbm_bo_data_export_fd(tbm_bo_data *bo_data, tbm_error_e *error) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; tbm_fd fd; TBM_RETURN_VAL_SET_ERR_IF_FAIL(bo_data, -1, *error, TBM_ERROR_INVALID_PARAMETER); @@ -1486,18 +1183,6 @@ tbm_bo_data_export_fd(tbm_bo_data *bo_data, tbm_error_e *error) fd = bo_func->bo_export_fd(bo_data->backend_bo_data, error); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend, -1, *error, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend->bo_export_fd, -1, *error, TBM_ERROR_NOT_SUPPORTED); - - fd = backend->bo_export_fd(bo_data->priv); - if (fd < 0) - *error = TBM_ERROR_INVALID_OPERATION; - else - *error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); fd = -1; @@ -1514,7 +1199,6 @@ tbm_bo_data_export_key(tbm_bo_data *bo_data, tbm_error_e *error) { tbm_module *module = NULL; tbm_backend_bo_func *bo_func = NULL; - tbm_bufmgr_backend backend = NULL; tbm_key ret; TBM_RETURN_VAL_SET_ERR_IF_FAIL(bo_data, 0, *error, TBM_ERROR_INVALID_PARAMETER); @@ -1534,18 +1218,6 @@ tbm_bo_data_export_key(tbm_bo_data *bo_data, tbm_error_e *error) ret = bo_func->bo_export_key(bo_data->backend_bo_data, error); break; - case TBM_MODULE_TYPE_BUFMGR_BACKEND: - TBM_WRN("!!WARNING: This backend interface will be DEPRECATED after Tizen 6.5."); - backend = module->backend; - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend, 0, *error, TBM_ERROR_INVALID_OPERATION); - TBM_RETURN_VAL_SET_ERR_IF_FAIL(backend->bo_export, 0, *error, TBM_ERROR_NOT_SUPPORTED); - - ret = backend->bo_export(bo_data->priv); - if (!ret) - *error = TBM_ERROR_INVALID_OPERATION; - else - *error = TBM_ERROR_NONE; - break; default: TBM_ERR("Wrong module type:%d", module->type); ret = -1; diff --git a/src/tbm_module.h b/src/tbm_module.h index d0d8ee7..4938426 100644 --- a/src/tbm_module.h +++ b/src/tbm_module.h @@ -38,7 +38,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include #include #include -#include #include #include #include @@ -47,14 +46,12 @@ 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 */ -- 2.34.1