hal-api-tbm: check the bufmgr capabilities 92/260992/1
authorSooChan Lim <sc1.lim@samsung.com>
Wed, 7 Jul 2021 02:12:41 +0000 (11:12 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Wed, 7 Jul 2021 02:38:45 +0000 (11:38 +0900)
check the bufmgr capabilities at hal_tbm_bufmgr_get_capabilites.

Change-Id: Ib1781095c33a5de86dbc27b66ab3f89db8191738

src/hal-api-tbm.c

index 69d859ee98cca5e23850f70186d5b0887b551e7b..9d3b2d394c8d9c5daea1a8332ff12bc88cf16b67 100644 (file)
@@ -284,9 +284,25 @@ hal_tbm_backend_set_authenticated_drm_fd(hal_tbm_backend *backend, hal_tbm_fd au
 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)