Merge "Fix vr flinger post thread to resume correctly" into oc-dr1-dev am: 4bfb7550af
am: 21802dacac
Change-Id: Iddbcd0b9b3a89bd5b3f47400143669421edb743d
diff --git a/libs/vr/libvrflinger/hardware_composer.cpp b/libs/vr/libvrflinger/hardware_composer.cpp
index 00172a1..d937c88 100644
--- a/libs/vr/libvrflinger/hardware_composer.cpp
+++ b/libs/vr/libvrflinger/hardware_composer.cpp
@@ -210,9 +210,6 @@
}
void HardwareComposer::OnPostThreadResumed() {
- if (request_display_callback_)
- request_display_callback_(true);
-
hwc2_hidl_->resetCommands();
// HIDL HWC seems to have an internal race condition. If we submit a frame too
@@ -249,9 +246,6 @@
// Trigger target-specific performance mode change.
property_set(kDvrPerformanceProperty, "idle");
-
- if (request_display_callback_)
- request_display_callback_(false);
}
HWC::Error HardwareComposer::Validate(hwc2_display_t display) {
@@ -479,6 +473,9 @@
pending_surfaces_ = std::move(surfaces);
}
+ if (request_display_callback_)
+ request_display_callback_(!display_idle);
+
// Set idle state based on whether there are any surfaces to handle.
UpdatePostThreadState(PostThreadState::Idle, display_idle);
}