diff options
| author | 2022-01-30 10:31:13 +0100 | |
|---|---|---|
| committer | 2022-10-06 21:00:52 +0200 | |
| commit | 668e80a9f42fb4ce0e16f6381d05bcbd286b2da1 (patch) | |
| tree | a1c668d6c3d00eade849b1d31dba4116095e4c12 /src/core/core.cpp | |
| parent | Texture Cache: Fix GC and GPU Modified on Joins. (diff) | |
| download | yuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.tar.gz yuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.tar.xz yuzu-668e80a9f42fb4ce0e16f6381d05bcbd286b2da1.zip | |
VideoCore: Refactor syncing.
Diffstat (limited to 'src/core/core.cpp')
| -rw-r--r-- | src/core/core.cpp | 12 |
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 | ||
| 675 | Tegra::Host1x::Host1x& System::Host1x() { | ||
| 676 | return *impl->host1x_core; | ||
| 677 | } | ||
| 678 | |||
| 679 | const Tegra::Host1x::Host1x& System::Host1x() const { | ||
| 680 | return *impl->host1x_core; | ||
| 681 | } | ||
| 682 | |||
| 671 | Core::Hardware::InterruptManager& System::InterruptManager() { | 683 | Core::Hardware::InterruptManager& System::InterruptManager() { |
| 672 | return *impl->interrupt_manager; | 684 | return *impl->interrupt_manager; |
| 673 | } | 685 | } |