summaryrefslogtreecommitdiff
path: root/libs/ui/Gralloc5.cpp
diff options
context:
space:
mode:
author Jooyung Han <jooyung@google.com> 2024-02-13 03:07:54 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2024-02-13 03:07:54 +0000
commitd53ea98501a54d48e88fb2e9ca9d0da9bf741b1b (patch)
tree13ea824a31dc76dc6a8aecf58dd4dc8d92827320 /libs/ui/Gralloc5.cpp
parent8203d98554b2f9ea40d0761cb66c1cf516a95961 (diff)
parentb66de05eddd3dd0719d1e2591ebfd832c4aeebf2 (diff)
Merge "binder: add openDeclaredPassthroughHal()" into main am: a38f2a995b am: b66de05edd
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2952185 Change-Id: Id50d2a0b5d4ed2c8672ee66b6e1c4e36774b728a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'libs/ui/Gralloc5.cpp')
-rw-r--r--libs/ui/Gralloc5.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/libs/ui/Gralloc5.cpp b/libs/ui/Gralloc5.cpp
index b07e15534a..f217810b6a 100644
--- a/libs/ui/Gralloc5.cpp
+++ b/libs/ui/Gralloc5.cpp
@@ -89,10 +89,18 @@ static void *loadIMapperLibrary() {
return nullptr;
}
- std::string lib_name = "mapper." + mapperSuffix + ".so";
- void *so = android_load_sphal_library(lib_name.c_str(), RTLD_LOCAL | RTLD_NOW);
+ void* so = nullptr;
+ // TODO(b/322384429) switch this to __ANDROID_API_V__ when V is finalized
+ // TODO(b/302113279) use __ANDROID_VENDOR_API__ for vendor variant
+ if (__builtin_available(android __ANDROID_API_FUTURE__, *)) {
+ so = AServiceManager_openDeclaredPassthroughHal("mapper", mapperSuffix.c_str(),
+ RTLD_LOCAL | RTLD_NOW);
+ } else {
+ std::string lib_name = "mapper." + mapperSuffix + ".so";
+ so = android_load_sphal_library(lib_name.c_str(), RTLD_LOCAL | RTLD_NOW);
+ }
if (!so) {
- ALOGE("Failed to load %s", lib_name.c_str());
+ ALOGE("Failed to load mapper.%s.so", mapperSuffix.c_str());
}
return so;
}();