diff options
| author | 2019-02-14 12:42:58 -0500 | |
|---|---|---|
| committer | 2019-02-15 21:50:25 -0500 | |
| commit | bd983414f643b734a1f8bebe3183723733344f72 (patch) | |
| tree | bda0421458439e25cba9d772a6a79b56e473d72e /src/core/hle/kernel/kernel.h | |
| parent | Merge pull request #2113 from ReinUsesLisp/vulkan-base (diff) | |
| download | yuzu-bd983414f643b734a1f8bebe3183723733344f72.tar.gz yuzu-bd983414f643b734a1f8bebe3183723733344f72.tar.xz yuzu-bd983414f643b734a1f8bebe3183723733344f72.zip | |
core_timing: Convert core timing into a class
Gets rid of the largest set of mutable global state within the core.
This also paves a way for eliminating usages of GetInstance() on the
System class as a follow-up.
Note that no behavioral changes have been made, and this simply extracts
the functionality into a class. This also has the benefit of making
dependencies on the core timing functionality explicit within the
relevant interfaces.
Diffstat (limited to 'src/core/hle/kernel/kernel.h')
| -rw-r--r-- | src/core/hle/kernel/kernel.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/hle/kernel/kernel.h b/src/core/hle/kernel/kernel.h index 7406f107e..154bced42 100644 --- a/src/core/hle/kernel/kernel.h +++ b/src/core/hle/kernel/kernel.h | |||
| @@ -12,8 +12,9 @@ template <typename T> | |||
| 12 | class ResultVal; | 12 | class ResultVal; |
| 13 | 13 | ||
| 14 | namespace Core::Timing { | 14 | namespace Core::Timing { |
| 15 | class CoreTiming; | ||
| 15 | struct EventType; | 16 | struct EventType; |
| 16 | } | 17 | } // namespace Core::Timing |
| 17 | 18 | ||
| 18 | namespace Kernel { | 19 | namespace Kernel { |
| 19 | 20 | ||
| @@ -39,7 +40,11 @@ public: | |||
| 39 | KernelCore& operator=(KernelCore&&) = delete; | 40 | KernelCore& operator=(KernelCore&&) = delete; |
| 40 | 41 | ||
| 41 | /// Resets the kernel to a clean slate for use. | 42 | /// Resets the kernel to a clean slate for use. |
| 42 | void Initialize(); | 43 | /// |
| 44 | /// @param core_timing CoreTiming instance used to create any necessary | ||
| 45 | /// kernel-specific callback events. | ||
| 46 | /// | ||
| 47 | void Initialize(Core::Timing::CoreTiming& core_timing); | ||
| 43 | 48 | ||
| 44 | /// Clears all resources in use by the kernel instance. | 49 | /// Clears all resources in use by the kernel instance. |
| 45 | void Shutdown(); | 50 | void Shutdown(); |