summaryrefslogtreecommitdiffstats
path: root/src/core/core.cpp
diff options
context:
space:
mode:
authorJames Rowe <jroweboy@gmail.com>2020-03-25 03:58:49 +0100
committerJames Rowe <jroweboy@gmail.com>2020-03-25 04:03:42 +0100
commit282adfc70b5d7d958d564bfda0227bb3fbd8d110 (patch)
tree2a98e3bedec2e7fdb33478814a73be664661aecc /src/core/core.cpp
parentUse the correct directory for Qt Plugins (diff)
downloadyuzu-282adfc70b5d7d958d564bfda0227bb3fbd8d110.tar
yuzu-282adfc70b5d7d958d564bfda0227bb3fbd8d110.tar.gz
yuzu-282adfc70b5d7d958d564bfda0227bb3fbd8d110.tar.bz2
yuzu-282adfc70b5d7d958d564bfda0227bb3fbd8d110.tar.lz
yuzu-282adfc70b5d7d958d564bfda0227bb3fbd8d110.tar.xz
yuzu-282adfc70b5d7d958d564bfda0227bb3fbd8d110.tar.zst
yuzu-282adfc70b5d7d958d564bfda0227bb3fbd8d110.zip
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 218508126..6cc4a0812 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -24,7 +24,6 @@
#include "core/file_sys/sdmc_factory.h"
#include "core/file_sys/vfs_concat.h"
#include "core/file_sys/vfs_real.h"
-#include "core/frontend/scope_acquire_context.h"
#include "core/gdbstub/gdbstub.h"
#include "core/hardware_interrupt_manager.h"
#include "core/hle/kernel/client_port.h"
@@ -168,13 +167,9 @@ struct System::Impl {
Service::Init(service_manager, system);
GDBStub::Init();
- renderer = VideoCore::CreateRenderer(emu_window, system);
- if (!renderer->Init()) {
- return ResultStatus::ErrorVideoCore;
- }
interrupt_manager = std::make_unique<Core::Hardware::InterruptManager>(system);
- gpu_core = VideoCore::CreateGPU(system);
- renderer->Rasterizer().SetupDirtyFlags();
+ gpu_core = VideoCore::CreateGPU(emu_window, system);
+ gpu_core->Renderer().Rasterizer().SetupDirtyFlags();
is_powered_on = true;
exit_lock = false;
@@ -186,7 +181,6 @@ struct System::Impl {
ResultStatus Load(System& system, Frontend::EmuWindow& emu_window,
const std::string& filepath) {
- Core::Frontend::ScopeAcquireContext acquire_context{emu_window};
app_loader = Loader::GetLoader(GetGameFileFromPath(virtual_filesystem, filepath));
if (!app_loader) {
@@ -216,10 +210,6 @@ struct System::Impl {
AddGlueRegistrationForProcess(*app_loader, *main_process);
kernel.MakeCurrentProcess(main_process.get());
- // Main process has been loaded and been made current.
- // Begin GPU and CPU execution.
- gpu_core->Start();
-
// Initialize cheat engine
if (cheat_engine) {
cheat_engine->Initialize();
@@ -277,7 +267,6 @@ struct System::Impl {
}
// Shutdown emulation session
- renderer.reset();
GDBStub::Shutdown();
Service::Shutdown();
service_manager.reset();
@@ -353,7 +342,6 @@ struct System::Impl {
Service::FileSystem::FileSystemController fs_controller;
/// AppLoader used to load the current executing application
std::unique_ptr<Loader::AppLoader> app_loader;
- std::unique_ptr<VideoCore::RendererBase> renderer;
std::unique_ptr<Tegra::GPU> gpu_core;
std::unique_ptr<Hardware::InterruptManager> interrupt_manager;
Memory::Memory memory;
@@ -536,11 +524,11 @@ const Core::Hardware::InterruptManager& System::InterruptManager() const {
}
VideoCore::RendererBase& System::Renderer() {
- return *impl->renderer;
+ return impl->gpu_core->Renderer();
}
const VideoCore::RendererBase& System::Renderer() const {
- return *impl->renderer;
+ return impl->gpu_core->Renderer();
}
Kernel::KernelCore& System::Kernel() {