EXTERN hal_tbm_bufmgr_capability
hal_tbm_bufmgr_get_capabilities(hal_tbm_bufmgr *bufmgr, hal_tbm_error *error)
{
+ hal_tbm_bufmgr_capability caps = 0;
+
BUFMGR_FUNC_ENTRY_GOTO(bufmgr_get_capabilities, fail);
- return bufmgr_funcs->bufmgr_get_capabilities((hal_tbm_bufmgr *)bufmgr, error);
+ caps = bufmgr_funcs->bufmgr_get_capabilities((hal_tbm_bufmgr *)bufmgr, error);
+ if (bufmgr_funcs->bufmgr_alloc_surface && bufmgr_funcs->bufmgr_import_surface) {
+ caps |= HAL_TBM_BUFMGR_CAPABILITY_SHARE_SURFACE;
+ _I("HAL-BACKEND has HAL_TBM_BUFMGR_CAPABILITY_SHARE_SURFACE");
+ }
+ if (bufmgr_funcs->bufmgr_import_fd) {
+ caps |= HAL_TBM_BUFMGR_CAPABILITY_SHARE_FD;
+ _I("HAL-BACKEND has HAL_TBM_BUFMGR_CAPABILITY_SHARE_FD");
+ }
+ if (bufmgr_funcs->bufmgr_import_key) {
+ caps |= HAL_TBM_BUFMGR_CAPABILITY_SHARE_KEY;
+ _I("HAL-BACKEND has HAL_TBM_BUFMGR_CAPABILITY_SHARE_KEY");
+ }
+
+ return caps;
fail:
if (error)