vsync_manager.h 483 B

1234567891011121314151617181920212223242526272829
  1. // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <set>
  5. namespace Service {
  6. class Event;
  7. }
  8. namespace Service::VI {
  9. class DisplayList;
  10. class VsyncManager {
  11. public:
  12. explicit VsyncManager();
  13. ~VsyncManager();
  14. void SignalVsync();
  15. void LinkVsyncEvent(Event* event);
  16. void UnlinkVsyncEvent(Event* event);
  17. private:
  18. std::set<Event*> m_vsync_events;
  19. };
  20. } // namespace Service::VI