engine_interface.h 669 B

1234567891011121314151617181920212223
  1. // Copyright 2020 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "common/common_types.h"
  6. namespace Tegra::Engines {
  7. class EngineInterface {
  8. public:
  9. virtual ~EngineInterface() = default;
  10. /// Write the value to the register identified by method.
  11. virtual void CallMethod(u32 method, u32 method_argument, bool is_last_call) = 0;
  12. /// Write multiple values to the register identified by method.
  13. virtual void CallMultiMethod(u32 method, const u32* base_start, u32 amount,
  14. u32 methods_pending) = 0;
  15. };
  16. } // namespace Tegra::Engines