vsync_manager.cpp 616 B

1234567891011121314151617181920212223242526
  1. // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "core/hle/service/os/event.h"
  4. #include "core/hle/service/vi/vsync_manager.h"
  5. namespace Service::VI {
  6. VsyncManager::VsyncManager() = default;
  7. VsyncManager::~VsyncManager() = default;
  8. void VsyncManager::SignalVsync() {
  9. for (auto* event : m_vsync_events) {
  10. event->Signal();
  11. }
  12. }
  13. void VsyncManager::LinkVsyncEvent(Event* event) {
  14. m_vsync_events.insert(event);
  15. }
  16. void VsyncManager::UnlinkVsyncEvent(Event* event) {
  17. m_vsync_events.erase(event);
  18. }
  19. } // namespace Service::VI