Merge remote-tracking branch 'aosp/upstream-main' into merge-from-upstream am: d2bab9a7eb am: a85ee2655f
Original change: undetermined
Change-Id: Iabd81f9419347f0eb487b26d6d101c1b64c9d085
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/.ci/Dockerfile b/.ci/Dockerfile
index 9dfe3d3..a9e2242 100644
--- a/.ci/Dockerfile
+++ b/.ci/Dockerfile
@@ -41,10 +41,10 @@
USER ${RUN_USER}
# Install aospless package (produced by GloDroid/aospext)
-RUN wget -P ${USER_HOME} https://gitlab.freedesktop.org/-/project/5/uploads/70643bd1c4d419015b9930b7aadc9cfd/aospless_drm_hwcomposer_arm64.tar.xz && \
+RUN wget -P ${USER_HOME} https://gitlab.freedesktop.org/-/project/5/uploads/97f99b51143107ba02a51cf1c0ddb542/aospless_drm_hwcomposer_arm64.tar.xz && \
cd ${USER_HOME} && \
sha256sum aospless_drm_hwcomposer_arm64.tar.xz && \
- (echo 640e0d0e04761c804db69f880e0c0957699babdbe82c72c507177b860d878569 aospless_drm_hwcomposer_arm64.tar.xz | sha256sum --check) && \
+ (echo dae29adb121f51e59c95fb7b29e0f7aed5b2983d10c7f1d5f1b9fd551c4bbb47 aospless_drm_hwcomposer_arm64.tar.xz | sha256sum --check) && \
tar xf aospless_drm_hwcomposer_arm64.tar.xz && ln -s ../drm_hwcomposer/ ${USER_HOME}/aospless/src
# Create project path
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b045da8..9f3d022 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,7 +26,7 @@
- cd ..
- rm -f aospless_drm_hwcomposer_arm64.tar.xz
- rm -rf aospless/*
- - wget https://gitlab.freedesktop.org/-/project/5/uploads/70643bd1c4d419015b9930b7aadc9cfd/aospless_drm_hwcomposer_arm64.tar.xz
+ - wget https://gitlab.freedesktop.org/-/project/5/uploads/97f99b51143107ba02a51cf1c0ddb542/aospless_drm_hwcomposer_arm64.tar.xz
- tar xf aospless_drm_hwcomposer_arm64.tar.xz
- rm -rf aospless/src
- ln -s ../drm-hwcomposer/ aospless/src
@@ -44,7 +44,7 @@
- cd ..
- rm -f aospless_drm_hwcomposer_arm64.tar.xz
- rm -rf aospless/*
- - wget https://gitlab.freedesktop.org/-/project/5/uploads/70643bd1c4d419015b9930b7aadc9cfd/aospless_drm_hwcomposer_arm64.tar.xz
+ - wget https://gitlab.freedesktop.org/-/project/5/uploads/97f99b51143107ba02a51cf1c0ddb542/aospless_drm_hwcomposer_arm64.tar.xz
- tar xf aospless_drm_hwcomposer_arm64.tar.xz
- cd -
- make -j$(nproc) -k -f .ci/Makefile
diff --git a/hwc2_device/HwcDisplay.cpp b/hwc2_device/HwcDisplay.cpp
index 60861af..3469c85 100644
--- a/hwc2_device/HwcDisplay.cpp
+++ b/hwc2_device/HwcDisplay.cpp
@@ -1047,20 +1047,21 @@
if (type_ == HWC2::DisplayType::Virtual) {
return HWC2::Error::None;
}
+ if (!vsync_worker_) {
+ return HWC2::Error::NoResources;
+ }
vsync_event_en_ = HWC2_VSYNC_ENABLE == enabled;
-
+ std::optional<VSyncWorker::VsyncTimestampCallback> callback = std::nullopt;
if (vsync_event_en_) {
DrmHwc *hwc = hwc_;
hwc2_display_t id = handle_;
// Callback will be called from the vsync thread.
- auto callback = [hwc, id](int64_t timestamp, uint32_t period_ns) {
+ callback = [hwc, id](int64_t timestamp, uint32_t period_ns) {
hwc->SendVsyncEventToClient(id, timestamp, period_ns);
};
- vsync_worker_->SetTimestampCallback(callback);
- } else {
- vsync_worker_->SetTimestampCallback(std::nullopt);
}
+ vsync_worker_->SetTimestampCallback(std::move(callback));
return HWC2::Error::None;
}
diff --git a/meson.build b/meson.build
index 8cfbbc8..97474e2 100644
--- a/meson.build
+++ b/meson.build
@@ -45,6 +45,12 @@
'-DUSE_IMAPPER4_METADATA_API',
]
+dep_libdisplay_info = dependency('display_info', required : false)
+if dep_libdisplay_info.found()
+ common_cpp_flags += '-DHAS_LIBDISPLAY_INFO'
+ deps += dep_libdisplay_info
+endif
+
hwc2_cpp_flags = [
'-DHWC2_INCLUDE_STRINGIFICATION',
'-DHWC2_USE_CPP11',