diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/core.cpp | 2 | ||||
| -rw-r--r-- | src/core/core.h | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp index b7f4b4532..186fa46df 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp | |||
| @@ -177,6 +177,7 @@ System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { | |||
| 177 | } | 177 | } |
| 178 | 178 | ||
| 179 | gpu_core = std::make_unique<Tegra::GPU>(); | 179 | gpu_core = std::make_unique<Tegra::GPU>(); |
| 180 | audio_core = std::make_unique<AudioCore::AudioOut>(); | ||
| 180 | telemetry_session = std::make_unique<Core::TelemetrySession>(); | 181 | telemetry_session = std::make_unique<Core::TelemetrySession>(); |
| 181 | service_manager = std::make_shared<Service::SM::ServiceManager>(); | 182 | service_manager = std::make_shared<Service::SM::ServiceManager>(); |
| 182 | 183 | ||
| @@ -228,6 +229,7 @@ void System::Shutdown() { | |||
| 228 | service_manager.reset(); | 229 | service_manager.reset(); |
| 229 | telemetry_session.reset(); | 230 | telemetry_session.reset(); |
| 230 | gpu_core.reset(); | 231 | gpu_core.reset(); |
| 232 | audio_core.reset(); | ||
| 231 | 233 | ||
| 232 | // Close all CPU/threading state | 234 | // Close all CPU/threading state |
| 233 | cpu_barrier->NotifyEnd(); | 235 | cpu_barrier->NotifyEnd(); |
diff --git a/src/core/core.h b/src/core/core.h index c123fe401..6f4df775f 100644 --- a/src/core/core.h +++ b/src/core/core.h | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | #include <memory> | 8 | #include <memory> |
| 9 | #include <string> | 9 | #include <string> |
| 10 | #include <thread> | 10 | #include <thread> |
| 11 | #include "audio_core/audio_out.h" | ||
| 11 | #include "common/common_types.h" | 12 | #include "common/common_types.h" |
| 12 | #include "core/arm/exclusive_monitor.h" | 13 | #include "core/arm/exclusive_monitor.h" |
| 13 | #include "core/core_cpu.h" | 14 | #include "core/core_cpu.h" |
| @@ -131,6 +132,11 @@ public: | |||
| 131 | return *gpu_core; | 132 | return *gpu_core; |
| 132 | } | 133 | } |
| 133 | 134 | ||
| 135 | /// Gets the AudioCore interface | ||
| 136 | AudioCore::AudioOut& AudioCore() { | ||
| 137 | return *audio_core; | ||
| 138 | } | ||
| 139 | |||
| 134 | /// Gets the scheduler for the CPU core that is currently running | 140 | /// Gets the scheduler for the CPU core that is currently running |
| 135 | Kernel::Scheduler& CurrentScheduler() { | 141 | Kernel::Scheduler& CurrentScheduler() { |
| 136 | return *CurrentCpuCore().Scheduler(); | 142 | return *CurrentCpuCore().Scheduler(); |
| @@ -195,6 +201,7 @@ private: | |||
| 195 | /// AppLoader used to load the current executing application | 201 | /// AppLoader used to load the current executing application |
| 196 | std::unique_ptr<Loader::AppLoader> app_loader; | 202 | std::unique_ptr<Loader::AppLoader> app_loader; |
| 197 | std::unique_ptr<Tegra::GPU> gpu_core; | 203 | std::unique_ptr<Tegra::GPU> gpu_core; |
| 204 | std::unique_ptr<AudioCore::AudioOut> audio_core; | ||
| 198 | std::shared_ptr<Tegra::DebugContext> debug_context; | 205 | std::shared_ptr<Tegra::DebugContext> debug_context; |
| 199 | Kernel::SharedPtr<Kernel::Process> current_process; | 206 | Kernel::SharedPtr<Kernel::Process> current_process; |
| 200 | std::shared_ptr<ExclusiveMonitor> cpu_exclusive_monitor; | 207 | std::shared_ptr<ExclusiveMonitor> cpu_exclusive_monitor; |