diff options
author | Mattijs Korpershoek <mkorpershoek@baylibre.com> | 2023-02-28 16:17:13 +0100 |
---|---|---|
committer | Mattijs Korpershoek <mkorpershoek@baylibre.com> | 2023-10-13 16:31:13 +0200 |
commit | 5de271fe6c0f909006141ea26a7b94c1102be31d (patch) | |
tree | 5f91f6622075b1744ecd75eaa0cb294fe585e186 /subprojects | |
parent | abe2fea38b2431edd9a18d59914aea281230f89c (diff) |
android: mm: generic: Use GraphicBufferAllocator instead of gralloc.h
gralloc.h is a very old API that has been deprecated at least since
Android P (9).
Switch over to a higher level abstraction of gralloc from libui, which
is compatible with Android 11 and up.
Libui:
* is provided in the VNDK (so it's available to vendors).
* is also used in the camera vts test named VtsAidlHalCameraProvider_TargetTest.
Notes:
* GraphicsBufferAllocator being a Singleton, buffer lifecycle
management is easier.
* The imported headers from Android generate the -Wextra-semi warning.
To avoid patching the files, a pragma has been added before inclusion.
* libdl was used for dlclosing() the legacy hal, so the dep has been dropped
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Diffstat (limited to 'subprojects')
-rw-r--r-- | subprojects/packagefiles/vndk/meson.build | 21 | ||||
-rw-r--r-- | subprojects/vndk.wrap | 2 |
2 files changed, 22 insertions, 1 deletions
diff --git a/subprojects/packagefiles/vndk/meson.build b/subprojects/packagefiles/vndk/meson.build index b5999f16..dbc7eda6 100644 --- a/subprojects/packagefiles/vndk/meson.build +++ b/subprojects/packagefiles/vndk/meson.build @@ -21,3 +21,24 @@ libhardware_dep = declare_dependency( dependencies : cxx.find_library('hardware', dirs : prebuild_libraries), include_directories : include_directories(include_base / 'hardware/libhardware/')) meson.override_dependency('libhardware', libhardware_dep) + +liblog_dep = declare_dependency( + dependencies : cxx.find_library('log', dirs : prebuild_libraries), + include_directories : include_directories(include_base / 'system/logging/liblog/include_vndk')) +meson.override_dependency('liblog', liblog_dep) + +libutils_dep = declare_dependency( + dependencies : [ + cxx.find_library('utils', dirs : prebuild_libraries), + liblog_dep, + ], + include_directories : include_directories(include_base / 'system/core/libutils/include')) +meson.override_dependency('libutils', libutils_dep) + +libui_dep = declare_dependency( + dependencies : [ + cxx.find_library('ui', dirs : prebuild_libraries), + libutils_dep, + ], + include_directories : include_directories(include_base / 'frameworks/native/libs/ui/include_vndk')) +meson.override_dependency('libui', libui_dep) diff --git a/subprojects/vndk.wrap b/subprojects/vndk.wrap index 70002ddc..b7a0d3f0 100644 --- a/subprojects/vndk.wrap +++ b/subprojects/vndk.wrap @@ -9,4 +9,4 @@ depth = 1 patch_directory = vndk [provide] -dependency_names = libhardware +dependency_names = libhardware, libui |