Merge "graphics: hwc2on1adapter: Buffer hotplug event after display creation"

am: 74033a720b

Change-Id: I952eb3e02baadcd4bec6c4c0e1084eaff28a0657
This commit is contained in:
Andrew F. Davis
2019-12-12 10:34:52 -08:00
committed by android-build-merger

View File

@@ -2590,13 +2590,6 @@ void HWC2On1Adapter::hwc1Hotplug(int hwc1DisplayId, int connected) {
std::unique_lock<std::recursive_timed_mutex> lock(mStateMutex);
// If the HWC2-side callback hasn't been registered yet, buffer this until
// it is registered
if (mCallbacks.count(Callback::Hotplug) == 0) {
mPendingHotplugs.emplace_back(hwc1DisplayId, connected);
return;
}
hwc2_display_t displayId = UINT64_MAX;
if (mHwc1DisplayMap.count(hwc1DisplayId) == 0) {
if (connected == 0) {
@@ -2625,6 +2618,13 @@ void HWC2On1Adapter::hwc1Hotplug(int hwc1DisplayId, int connected) {
mDisplays.erase(displayId);
}
// If the HWC2-side callback hasn't been registered yet, buffer this until
// it is registered
if (mCallbacks.count(Callback::Hotplug) == 0) {
mPendingHotplugs.emplace_back(hwc1DisplayId, connected);
return;
}
const auto& callbackInfo = mCallbacks[Callback::Hotplug];
// Call back without the state lock held