hardware_interrupt_manager.h 610 B

123456789101112131415161718192021222324252627282930313233
  1. // Copyright 2019 Yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <memory>
  6. #include "common/common_types.h"
  7. namespace Core {
  8. class System;
  9. }
  10. namespace Core::Timing {
  11. struct EventType;
  12. }
  13. namespace Core::Hardware {
  14. class InterruptManager {
  15. public:
  16. explicit InterruptManager(Core::System& system);
  17. ~InterruptManager();
  18. void GPUInterruptSyncpt(u32 syncpoint_id, u32 value);
  19. private:
  20. Core::System& system;
  21. std::shared_ptr<Core::Timing::EventType> gpu_interrupt_event;
  22. };
  23. } // namespace Core::Hardware