aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Macnak <natsu@google.com>2021-10-06 23:31:35 -0700
committerJason Macnak <natsu@google.com>2021-10-08 14:31:12 -0700
commit64a179f2f608bf1c71be3c54bc66d1988833ad65 (patch)
treedc34d09d2acdcd1c84bf4bbf9ba3d185da358756
parentc68e8cf24e7fa94b72e9799b8718724e09f6287c (diff)
downloadgoldfish-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.cpp17
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);