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/core.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/core.h')
| -rw-r--r-- | src/core/core.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/core.h b/src/core/core.h index 511a5ad3a..d720013f7 100644 --- a/src/core/core.h +++ b/src/core/core.h | |||
| @@ -47,6 +47,10 @@ namespace VideoCore { | |||
| 47 | class RendererBase; | 47 | class RendererBase; |
| 48 | } // namespace VideoCore | 48 | } // namespace VideoCore |
| 49 | 49 | ||
| 50 | namespace Core::Timing { | ||
| 51 | class CoreTiming; | ||
| 52 | } | ||
| 53 | |||
| 50 | namespace Core { | 54 | namespace Core { |
| 51 | 55 | ||
| 52 | class ARM_Interface; | 56 | class ARM_Interface; |
| @@ -205,6 +209,12 @@ public: | |||
| 205 | /// Provides a constant pointer to the current process. | 209 | /// Provides a constant pointer to the current process. |
| 206 | const Kernel::Process* CurrentProcess() const; | 210 | const Kernel::Process* CurrentProcess() const; |
| 207 | 211 | ||
| 212 | /// Provides a reference to the core timing instance. | ||
| 213 | Timing::CoreTiming& CoreTiming(); | ||
| 214 | |||
| 215 | /// Provides a constant reference to the core timing instance. | ||
| 216 | const Timing::CoreTiming& CoreTiming() const; | ||
| 217 | |||
| 208 | /// Provides a reference to the kernel instance. | 218 | /// Provides a reference to the kernel instance. |
| 209 | Kernel::KernelCore& Kernel(); | 219 | Kernel::KernelCore& Kernel(); |
| 210 | 220 | ||