Loading libs/vr/libdvr/tests/dvr_display_manager-test.cpp +0 −8 Original line number Diff line number Diff line Loading @@ -308,14 +308,6 @@ class TestDisplayManager { class DvrDisplayManagerTest : public Test { protected: void SetUp() override { // dvr display manager test doesn't apply to standalone vr devices because // tests cannot create display manager client on these devices. if (property_get_bool("ro.boot.vr", false)) { GTEST_SKIP() << "All tests in DvrDisplayManagerTest test case are skipped " "because the device boot to VR."; } int ret; DvrDisplayManager* display_manager; DvrSurfaceState* surface_state; Loading libs/vr/libvrflinger/hardware_composer.cpp +5 −38 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ namespace dvr { namespace { const char kDvrPerformanceProperty[] = "sys.dvr.performance"; const char kDvrStandaloneProperty[] = "ro.boot.vr"; const char kRightEyeOffsetProperty[] = "dvr.right_eye_offset_ns"; Loading Loading @@ -159,8 +158,6 @@ bool HardwareComposer::Initialize( return false; } is_standalone_device_ = property_get_bool(kDvrStandaloneProperty, false); request_display_callback_ = request_display_callback; primary_display_ = GetDisplayParams(composer, primary_display_id, true); Loading Loading @@ -206,8 +203,6 @@ void HardwareComposer::OnBootFinished() { return; boot_finished_ = true; post_thread_wait_.notify_one(); if (is_standalone_device_) request_display_callback_(true); } // Update the post thread quiescent state based on idle and suspended inputs. Loading Loading @@ -267,17 +262,11 @@ void HardwareComposer::OnPostThreadPaused() { layers_.clear(); // Phones create a new composer client on resume and destroy it on pause. // Standalones only create the composer client once and then use SetPowerMode // to control the screen on pause/resume. if (!is_standalone_device_) { if (composer_callback_ != nullptr) { composer_callback_->SetVsyncService(nullptr); composer_callback_ = nullptr; } composer_.reset(nullptr); } else { EnableDisplay(*target_display_, false); } // Trigger target-specific performance mode change. property_set(kDvrPerformanceProperty, "idle"); Loading Loading @@ -588,7 +577,7 @@ void HardwareComposer::SetDisplaySurfaces( surfaces_changed_ = true; } if (request_display_callback_ && !is_standalone_device_) if (request_display_callback_) request_display_callback_(!display_idle); // Set idle state based on whether there are any surfaces to handle. Loading Loading @@ -773,28 +762,6 @@ void HardwareComposer::PostThread() { VsyncEyeOffsets vsync_eye_offsets = get_vsync_eye_offsets(); if (is_standalone_device_) { // First, wait until boot finishes. std::unique_lock<std::mutex> lock(post_thread_mutex_); if (PostThreadCondWait(lock, -1, [this] { return boot_finished_; })) { return; } // Then, wait until we're either leaving the quiescent state, or the boot // finished display off timeout expires. if (PostThreadCondWait(lock, kBootFinishedDisplayOffTimeoutSec, [this] { return !post_thread_quiescent_; })) { return; } LOG_ALWAYS_FATAL_IF(post_thread_state_ & PostThreadState::Suspended, "Vr flinger should own the display by now."); post_thread_resumed_ = true; post_thread_ready_.notify_all(); if (!composer_) CreateComposer(); } while (1) { ATRACE_NAME("HardwareComposer::PostThread"); Loading libs/vr/libvrflinger/tests/vrflinger_test.cpp +0 −34 Original line number Diff line number Diff line Loading @@ -43,9 +43,6 @@ constexpr auto kVrFlingerSwitchMaxTime = std::chrono::seconds(1); // completed. constexpr auto kVrFlingerSwitchPollInterval = std::chrono::milliseconds(50); // How long to wait for a device that boots to VR to have vr flinger ready. constexpr auto kBootVrFlingerWaitTimeout = std::chrono::seconds(30); // A Binder connection to surface flinger. class SurfaceFlingerConnection { public: Loading Loading @@ -153,11 +150,6 @@ TEST(VrFlingerTest, ActivateDeactivate) { return; } // This test doesn't apply to standalone vr devices. if (property_get_bool("ro.boot.vr", false)) { return; } auto surface_flinger_connection = SurfaceFlingerConnection::Create(); ASSERT_NE(surface_flinger_connection, nullptr); Loading Loading @@ -230,31 +222,5 @@ TEST(VrFlingerTest, ActivateDeactivate) { SurfaceFlingerConnection::VrFlingerSwitchResult::kSuccess); } // This test runs only on devices that boot to vr. Such a device should boot to // a state where vr flinger is running, and the test verifies this after a // delay. TEST(BootVrFlingerTest, BootsToVrFlinger) { // Exit if we are not running on a device that boots to vr. if (!property_get_bool("ro.boot.vr", false)) { return; } auto surface_flinger_connection = SurfaceFlingerConnection::Create(); ASSERT_NE(surface_flinger_connection, nullptr); // Verify that vr flinger is enabled. ASSERT_TRUE(surface_flinger_connection->IsAlive()); auto vr_flinger_active = surface_flinger_connection->IsVrFlingerActive(); ASSERT_TRUE(vr_flinger_active.has_value()); bool active_value = vr_flinger_active.value(); if (!active_value) { // Try again, but delay up to 30 seconds. ASSERT_EQ(surface_flinger_connection->WaitForVrFlingerTimed(true, kVrFlingerSwitchPollInterval, kBootVrFlingerWaitTimeout), SurfaceFlingerConnection::VrFlingerSwitchResult::kSuccess); } } } // namespace dvr } // namespace android Loading
libs/vr/libdvr/tests/dvr_display_manager-test.cpp +0 −8 Original line number Diff line number Diff line Loading @@ -308,14 +308,6 @@ class TestDisplayManager { class DvrDisplayManagerTest : public Test { protected: void SetUp() override { // dvr display manager test doesn't apply to standalone vr devices because // tests cannot create display manager client on these devices. if (property_get_bool("ro.boot.vr", false)) { GTEST_SKIP() << "All tests in DvrDisplayManagerTest test case are skipped " "because the device boot to VR."; } int ret; DvrDisplayManager* display_manager; DvrSurfaceState* surface_state; Loading
libs/vr/libvrflinger/hardware_composer.cpp +5 −38 Original line number Diff line number Diff line Loading @@ -47,7 +47,6 @@ namespace dvr { namespace { const char kDvrPerformanceProperty[] = "sys.dvr.performance"; const char kDvrStandaloneProperty[] = "ro.boot.vr"; const char kRightEyeOffsetProperty[] = "dvr.right_eye_offset_ns"; Loading Loading @@ -159,8 +158,6 @@ bool HardwareComposer::Initialize( return false; } is_standalone_device_ = property_get_bool(kDvrStandaloneProperty, false); request_display_callback_ = request_display_callback; primary_display_ = GetDisplayParams(composer, primary_display_id, true); Loading Loading @@ -206,8 +203,6 @@ void HardwareComposer::OnBootFinished() { return; boot_finished_ = true; post_thread_wait_.notify_one(); if (is_standalone_device_) request_display_callback_(true); } // Update the post thread quiescent state based on idle and suspended inputs. Loading Loading @@ -267,17 +262,11 @@ void HardwareComposer::OnPostThreadPaused() { layers_.clear(); // Phones create a new composer client on resume and destroy it on pause. // Standalones only create the composer client once and then use SetPowerMode // to control the screen on pause/resume. if (!is_standalone_device_) { if (composer_callback_ != nullptr) { composer_callback_->SetVsyncService(nullptr); composer_callback_ = nullptr; } composer_.reset(nullptr); } else { EnableDisplay(*target_display_, false); } // Trigger target-specific performance mode change. property_set(kDvrPerformanceProperty, "idle"); Loading Loading @@ -588,7 +577,7 @@ void HardwareComposer::SetDisplaySurfaces( surfaces_changed_ = true; } if (request_display_callback_ && !is_standalone_device_) if (request_display_callback_) request_display_callback_(!display_idle); // Set idle state based on whether there are any surfaces to handle. Loading Loading @@ -773,28 +762,6 @@ void HardwareComposer::PostThread() { VsyncEyeOffsets vsync_eye_offsets = get_vsync_eye_offsets(); if (is_standalone_device_) { // First, wait until boot finishes. std::unique_lock<std::mutex> lock(post_thread_mutex_); if (PostThreadCondWait(lock, -1, [this] { return boot_finished_; })) { return; } // Then, wait until we're either leaving the quiescent state, or the boot // finished display off timeout expires. if (PostThreadCondWait(lock, kBootFinishedDisplayOffTimeoutSec, [this] { return !post_thread_quiescent_; })) { return; } LOG_ALWAYS_FATAL_IF(post_thread_state_ & PostThreadState::Suspended, "Vr flinger should own the display by now."); post_thread_resumed_ = true; post_thread_ready_.notify_all(); if (!composer_) CreateComposer(); } while (1) { ATRACE_NAME("HardwareComposer::PostThread"); Loading
libs/vr/libvrflinger/tests/vrflinger_test.cpp +0 −34 Original line number Diff line number Diff line Loading @@ -43,9 +43,6 @@ constexpr auto kVrFlingerSwitchMaxTime = std::chrono::seconds(1); // completed. constexpr auto kVrFlingerSwitchPollInterval = std::chrono::milliseconds(50); // How long to wait for a device that boots to VR to have vr flinger ready. constexpr auto kBootVrFlingerWaitTimeout = std::chrono::seconds(30); // A Binder connection to surface flinger. class SurfaceFlingerConnection { public: Loading Loading @@ -153,11 +150,6 @@ TEST(VrFlingerTest, ActivateDeactivate) { return; } // This test doesn't apply to standalone vr devices. if (property_get_bool("ro.boot.vr", false)) { return; } auto surface_flinger_connection = SurfaceFlingerConnection::Create(); ASSERT_NE(surface_flinger_connection, nullptr); Loading Loading @@ -230,31 +222,5 @@ TEST(VrFlingerTest, ActivateDeactivate) { SurfaceFlingerConnection::VrFlingerSwitchResult::kSuccess); } // This test runs only on devices that boot to vr. Such a device should boot to // a state where vr flinger is running, and the test verifies this after a // delay. TEST(BootVrFlingerTest, BootsToVrFlinger) { // Exit if we are not running on a device that boots to vr. if (!property_get_bool("ro.boot.vr", false)) { return; } auto surface_flinger_connection = SurfaceFlingerConnection::Create(); ASSERT_NE(surface_flinger_connection, nullptr); // Verify that vr flinger is enabled. ASSERT_TRUE(surface_flinger_connection->IsAlive()); auto vr_flinger_active = surface_flinger_connection->IsVrFlingerActive(); ASSERT_TRUE(vr_flinger_active.has_value()); bool active_value = vr_flinger_active.value(); if (!active_value) { // Try again, but delay up to 30 seconds. ASSERT_EQ(surface_flinger_connection->WaitForVrFlingerTimed(true, kVrFlingerSwitchPollInterval, kBootVrFlingerWaitTimeout), SurfaceFlingerConnection::VrFlingerSwitchResult::kSuccess); } } } // namespace dvr } // namespace android