summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Volk <servolk@google.com>2023-10-23 19:36:15 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-10-23 19:36:15 +0000
commite11cf7771e7c07a03b4e48bbf4be341dff6cac92 (patch)
tree186d9e1f246b9fba133a421c33ec07ff3493111f
parent50e7e90f29d299ad7002edee5be9b77d42450613 (diff)
parentac27a862a41948ec8ad3f3090655121d3931e791 (diff)
downloadgs101-e11cf7771e7c07a03b4e48bbf4be341dff6cac92.tar.gz
Merge "Revert^2 "displaycolor: Add support for external displays"" into main
-rw-r--r--libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp26
1 files changed, 19 insertions, 7 deletions
diff --git a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
index 9d5f1c1..5e19626 100644
--- a/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
+++ b/libhwc2.1/libdisplayinterface/ExynosDisplayDrmInterfaceModule.cpp
@@ -440,14 +440,26 @@ uint32_t ExynosDisplayDrmInterfaceModule::SaveBlob::getBlob(uint32_t type)
void ExynosDisplayDrmInterfaceModule::getDisplayInfo(
std::vector<displaycolor::DisplayInfo> &display_info) {
- displaycolor::DisplayInfo primary_display;
-
- primary_display.brightness_ranges =
- mExynosDisplay->mBrightnessController->getBrightnessRanges();
- primary_display.panel_name = GetPanelName();
- primary_display.panel_serial = GetPanelSerial();
+ displaycolor::DisplayInfo disp_info;
+
+ disp_info.brightness_ranges = mExynosDisplay->mBrightnessController->getBrightnessRanges();
+ if (mExynosDisplay->mType == HWC_DISPLAY_PRIMARY) {
+ disp_info.panel_name = GetPanelName();
+ disp_info.panel_serial = GetPanelSerial();
+ if (mExynosDisplay->mIndex == 0)
+ disp_info.display_type = DisplayType::DISPLAY_PRIMARY;
+ else
+ disp_info.display_type = DisplayType::DISPLAY_SECONDARY;
+ } else if (mExynosDisplay->mType == HWC_DISPLAY_EXTERNAL) {
+ disp_info.display_type = DisplayType::DISPLAY_EXTERNAL;
+ disp_info.panel_name = "external_display";
+ disp_info.panel_serial = "0001";
+ } else {
+ ALOGE("Unsupported display type (%d) in getDisplayInfo!", mExynosDisplay->mType);
+ return;
+ }
- display_info.push_back(primary_display);
+ display_info.push_back(disp_info);
}
const std::string ExynosDisplayDrmInterfaceModule::GetPanelInfo(const std::string &sysfs_rel,