summaryrefslogtreecommitdiff
path: root/src/core/core.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/core.h')
-rw-r--r--src/core/core.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/core/core.h b/src/core/core.h
index ed475ac4e..059db4262 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -27,6 +27,10 @@ namespace Service::SM {
27class ServiceManager; 27class ServiceManager;
28} 28}
29 29
30namespace VideoCore {
31class RendererBase;
32}
33
30namespace Core { 34namespace Core {
31 35
32class System { 36class System {
@@ -127,11 +131,26 @@ public:
127 /// Gets a CPU interface to the CPU core with the specified index 131 /// Gets a CPU interface to the CPU core with the specified index
128 Cpu& CpuCore(size_t core_index); 132 Cpu& CpuCore(size_t core_index);
129 133
130 /// Gets the GPU interface 134 /// Gets a mutable reference to the GPU interface
131 Tegra::GPU& GPU() { 135 Tegra::GPU& GPU() {
132 return *gpu_core; 136 return *gpu_core;
133 } 137 }
134 138
139 /// Gets an immutable reference to the GPU interface.
140 const Tegra::GPU& GPU() const {
141 return *gpu_core;
142 }
143
144 /// Gets a mutable reference to the renderer.
145 VideoCore::RendererBase& Renderer() {
146 return *renderer;
147 }
148
149 /// Gets an immutable reference to the renderer.
150 const VideoCore::RendererBase& Renderer() const {
151 return *renderer;
152 }
153
135 /// Gets the scheduler for the CPU core that is currently running 154 /// Gets the scheduler for the CPU core that is currently running
136 Kernel::Scheduler& CurrentScheduler() { 155 Kernel::Scheduler& CurrentScheduler() {
137 return *CurrentCpuCore().Scheduler(); 156 return *CurrentCpuCore().Scheduler();
@@ -195,6 +214,7 @@ private:
195 214
196 /// AppLoader used to load the current executing application 215 /// AppLoader used to load the current executing application
197 std::unique_ptr<Loader::AppLoader> app_loader; 216 std::unique_ptr<Loader::AppLoader> app_loader;
217 std::unique_ptr<VideoCore::RendererBase> renderer;
198 std::unique_ptr<Tegra::GPU> gpu_core; 218 std::unique_ptr<Tegra::GPU> gpu_core;
199 std::shared_ptr<Tegra::DebugContext> debug_context; 219 std::shared_ptr<Tegra::DebugContext> debug_context;
200 Kernel::SharedPtr<Kernel::Process> current_process; 220 Kernel::SharedPtr<Kernel::Process> current_process;