aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHussein Elnawawy <helnawawy@google.com>2023-04-11 21:53:01 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-04-11 21:53:01 +0000
commit443ecf9857857761a1d99a1b75c9379c20dad659 (patch)
tree199a05079a97a55dc59c01623f47b472c7b4f1ea
parentf8c52e30e5adc1bbf5351d6f74979bd4a5df7ccd (diff)
parent312f18f4a4f6fa9914225fda9401d8e105367943 (diff)
downloadgoldfish-opengl-443ecf9857857761a1d99a1b75c9379c20dad659.tar.gz
Add gem5 display finder mode to hwc3 am: ae535ad8c0 am: 312f18f4a4
Original change: https://android-review.googlesource.com/c/device/generic/goldfish-opengl/+/2530969 Change-Id: I107669fb52c8b8bbd265703aa8ecf76ec3551a1b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--system/hwc3/Common.cpp9
-rw-r--r--system/hwc3/Common.h1
-rw-r--r--system/hwc3/DisplayFinder.cpp2
3 files changed, 11 insertions, 1 deletions
diff --git a/system/hwc3/Common.cpp b/system/hwc3/Common.cpp
index 9de1c82d..edbe93ce 100644
--- a/system/hwc3/Common.cpp
+++ b/system/hwc3/Common.cpp
@@ -36,6 +36,7 @@ bool IsCuttlefishFoldable() {
std::string::npos;
}
+
bool IsInNoOpCompositionMode() {
const std::string mode = ::android::base::GetProperty("ro.vendor.hwcomposer.mode", "");
DEBUG_LOG("%s: sysprop ro.vendor.hwcomposer.mode is %s", __FUNCTION__, mode.c_str());
@@ -48,6 +49,14 @@ bool IsInClientCompositionMode() {
return mode == "client";
}
+bool IsInGem5DisplayFinderMode() {
+ const std::string mode =
+ ::android::base::GetProperty("ro.vendor.hwcomposer.display_finder_mode", "");
+ DEBUG_LOG("%s: sysprop ro.vendor.hwcomposer.display_finder_mode is %s",
+ __FUNCTION__, mode.c_str());
+ return mode == "gem5";
+}
+
bool IsInNoOpDisplayFinderMode() {
const std::string mode =
::android::base::GetProperty("ro.vendor.hwcomposer.display_finder_mode", "");
diff --git a/system/hwc3/Common.h b/system/hwc3/Common.h
index eca9b7ab..bca365b8 100644
--- a/system/hwc3/Common.h
+++ b/system/hwc3/Common.h
@@ -49,6 +49,7 @@ bool IsCuttlefishFoldable();
bool IsInNoOpCompositionMode();
bool IsInClientCompositionMode();
+bool IsInGem5DisplayFinderMode();
bool IsInNoOpDisplayFinderMode();
bool IsInDrmDisplayFinderMode();
diff --git a/system/hwc3/DisplayFinder.cpp b/system/hwc3/DisplayFinder.cpp
index 1b45d0af..1bbb56c2 100644
--- a/system/hwc3/DisplayFinder.cpp
+++ b/system/hwc3/DisplayFinder.cpp
@@ -248,7 +248,7 @@ HWC3::Error findDrmDisplays(const DrmClient& drm,
HWC3::Error findDisplays(const DrmClient* drm,
std::vector<DisplayMultiConfigs>* outDisplays) {
HWC3::Error error = HWC3::Error::None;
- if (IsInNoOpCompositionMode()) {
+ if (IsInGem5DisplayFinderMode() || IsInNoOpCompositionMode()) {
error = findNoOpDisplays(outDisplays);
} else if (IsInDrmDisplayFinderMode()) {
if (drm == nullptr) {