summaryrefslogtreecommitdiff
path: root/src/core/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 121092868..fa059a394 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -51,6 +51,7 @@
51#include "core/telemetry_session.h" 51#include "core/telemetry_session.h"
52#include "core/tools/freezer.h" 52#include "core/tools/freezer.h"
53#include "network/network.h" 53#include "network/network.h"
54#include "video_core/host1x/host1x.h"
54#include "video_core/renderer_base.h" 55#include "video_core/renderer_base.h"
55#include "video_core/video_core.h" 56#include "video_core/video_core.h"
56 57
@@ -215,6 +216,7 @@ struct System::Impl {
215 216
216 telemetry_session = std::make_unique<Core::TelemetrySession>(); 217 telemetry_session = std::make_unique<Core::TelemetrySession>();
217 218
219 host1x_core = std::make_unique<Tegra::Host1x::Host1x>();
218 gpu_core = VideoCore::CreateGPU(emu_window, system); 220 gpu_core = VideoCore::CreateGPU(emu_window, system);
219 if (!gpu_core) { 221 if (!gpu_core) {
220 return SystemResultStatus::ErrorVideoCore; 222 return SystemResultStatus::ErrorVideoCore;
@@ -373,6 +375,7 @@ struct System::Impl {
373 app_loader.reset(); 375 app_loader.reset();
374 audio_core.reset(); 376 audio_core.reset();
375 gpu_core.reset(); 377 gpu_core.reset();
378 host1x_core.reset();
376 perf_stats.reset(); 379 perf_stats.reset();
377 kernel.Shutdown(); 380 kernel.Shutdown();
378 memory.Reset(); 381 memory.Reset();
@@ -450,6 +453,7 @@ struct System::Impl {
450 /// AppLoader used to load the current executing application 453 /// AppLoader used to load the current executing application
451 std::unique_ptr<Loader::AppLoader> app_loader; 454 std::unique_ptr<Loader::AppLoader> app_loader;
452 std::unique_ptr<Tegra::GPU> gpu_core; 455 std::unique_ptr<Tegra::GPU> gpu_core;
456 std::unique_ptr<Tegra::Host1x::Host1x> host1x_core;
453 std::unique_ptr<Hardware::InterruptManager> interrupt_manager; 457 std::unique_ptr<Hardware::InterruptManager> interrupt_manager;
454 std::unique_ptr<Core::DeviceMemory> device_memory; 458 std::unique_ptr<Core::DeviceMemory> device_memory;
455 std::unique_ptr<AudioCore::AudioCore> audio_core; 459 std::unique_ptr<AudioCore::AudioCore> audio_core;
@@ -668,6 +672,14 @@ const Tegra::GPU& System::GPU() const {
668 return *impl->gpu_core; 672 return *impl->gpu_core;
669} 673}
670 674
675Tegra::Host1x::Host1x& System::Host1x() {
676 return *impl->host1x_core;
677}
678
679const Tegra::Host1x::Host1x& System::Host1x() const {
680 return *impl->host1x_core;
681}
682
671Core::Hardware::InterruptManager& System::InterruptManager() { 683Core::Hardware::InterruptManager& System::InterruptManager() {
672 return *impl->interrupt_manager; 684 return *impl->interrupt_manager;
673} 685}