diff options
author | Jason Macnak <natsu@google.com> | 2021-10-06 23:31:35 -0700 |
---|---|---|
committer | Jason Macnak <natsu@google.com> | 2021-10-08 14:31:12 -0700 |
commit | 64a179f2f608bf1c71be3c54bc66d1988833ad65 (patch) | |
tree | dc34d09d2acdcd1c84bf4bbf9ba3d185da358756 | |
parent | c68e8cf24e7fa94b72e9799b8718724e09f6287c (diff) | |
download | goldfish-opengl-64a179f2f608bf1c71be3c54bc66d1988833ad65.tar.gz |
Fix DisplayFinder for secondary Goldfish displays
Incorrectly handled in aosp/1843498. From logcat
`RanchuHwc: init: display:1 missing config:0`
Bug: b/201578179
Bug: b/202344168
Test: presubmit
Change-Id: I1e9f4349718dedf80dd29b332ad998d7b02b6cd5
Merged-In: I1e9f4349718dedf80dd29b332ad998d7b02b6cd5
-rw-r--r-- | system/hwc2/DisplayFinder.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/system/hwc2/DisplayFinder.cpp b/system/hwc2/DisplayFinder.cpp index 2a5655c6..df8f0fd1 100644 --- a/system/hwc2/DisplayFinder.cpp +++ b/system/hwc2/DisplayFinder.cpp @@ -38,25 +38,24 @@ HWC2::Error findCuttlefishDisplays(std::vector<DisplayMultiConfigs>& displays) { const auto deviceConfig = cuttlefish::GetDeviceConfig(); hwc2_display_t displayId = 0; - hwc2_config_t configId = 0; for (const auto& deviceDisplayConfig : deviceConfig.display_config()) { + const auto vsyncPeriodNanos = + HertzToPeriodNanos(deviceDisplayConfig.refresh_rate_hz()); + DisplayMultiConfigs display = { .displayId = displayId, - .activeConfigId = configId, + .activeConfigId = 0, .configs = { - DisplayConfig(configId, // + DisplayConfig(0, // deviceDisplayConfig.width(), // deviceDisplayConfig.height(), // deviceDisplayConfig.dpi(), // deviceDisplayConfig.dpi(), // - HertzToPeriodNanos( - deviceDisplayConfig.refresh_rate_hz()) // - ), // + vsyncPeriodNanos), }, }; displays.push_back(display); - ++configId; ++displayId; } @@ -158,13 +157,12 @@ HWC2::Error findGoldfishSecondaryDisplays( } hwc2_display_t secondaryDisplayId = 1; - hwc2_config_t secondaryConfigId = 1; while (!propIntParts.empty()) { DisplayMultiConfigs display; display.displayId = secondaryDisplayId; display.activeConfigId = 0; display.configs.push_back(DisplayConfig( - secondaryConfigId, // + 0, // /*width=*/propIntParts[1], // /*heighth=*/propIntParts[2], // /*dpiXh=*/propIntParts[3], // @@ -173,7 +171,6 @@ HWC2::Error findGoldfishSecondaryDisplays( )); displays.push_back(display); - ++secondaryConfigId; ++secondaryDisplayId; propIntParts.erase(propIntParts.begin(), propIntParts.begin() + 5); |