summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.h
diff options
context:
space:
mode:
authorGravatar Lioncash2019-02-14 12:42:58 -0500
committerGravatar Lioncash2019-02-15 21:50:25 -0500
commitbd983414f643b734a1f8bebe3183723733344f72 (patch)
treebda0421458439e25cba9d772a6a79b56e473d72e /src/core/hle/kernel/kernel.h
parentMerge pull request #2113 from ReinUsesLisp/vulkan-base (diff)
downloadyuzu-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.h9
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>
12class ResultVal; 12class ResultVal;
13 13
14namespace Core::Timing { 14namespace Core::Timing {
15class CoreTiming;
15struct EventType; 16struct EventType;
16} 17} // namespace Core::Timing
17 18
18namespace Kernel { 19namespace 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();