summaryrefslogtreecommitdiff
path: root/src/video_core/gpu.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/gpu.cpp')
-rw-r--r--src/video_core/gpu.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/video_core/gpu.cpp b/src/video_core/gpu.cpp
index e8f763ce9..8acf2eda2 100644
--- a/src/video_core/gpu.cpp
+++ b/src/video_core/gpu.cpp
@@ -7,6 +7,7 @@
7#include "core/core.h" 7#include "core/core.h"
8#include "core/core_timing.h" 8#include "core/core_timing.h"
9#include "core/core_timing_util.h" 9#include "core/core_timing_util.h"
10#include "core/frontend/emu_window.h"
10#include "core/memory.h" 11#include "core/memory.h"
11#include "video_core/engines/fermi_2d.h" 12#include "video_core/engines/fermi_2d.h"
12#include "video_core/engines/kepler_compute.h" 13#include "video_core/engines/kepler_compute.h"
@@ -16,14 +17,15 @@
16#include "video_core/gpu.h" 17#include "video_core/gpu.h"
17#include "video_core/memory_manager.h" 18#include "video_core/memory_manager.h"
18#include "video_core/renderer_base.h" 19#include "video_core/renderer_base.h"
20#include "video_core/video_core.h"
19 21
20namespace Tegra { 22namespace Tegra {
21 23
22MICROPROFILE_DEFINE(GPU_wait, "GPU", "Wait for the GPU", MP_RGB(128, 128, 192)); 24MICROPROFILE_DEFINE(GPU_wait, "GPU", "Wait for the GPU", MP_RGB(128, 128, 192));
23 25
24GPU::GPU(Core::System& system, VideoCore::RendererBase& renderer, bool is_async) 26GPU::GPU(Core::System& system, std::unique_ptr<VideoCore::RendererBase>&& renderer_, bool is_async)
25 : system{system}, renderer{renderer}, is_async{is_async} { 27 : system{system}, renderer{std::move(renderer_)}, is_async{is_async} {
26 auto& rasterizer{renderer.Rasterizer()}; 28 auto& rasterizer{renderer->Rasterizer()};
27 memory_manager = std::make_unique<Tegra::MemoryManager>(system, rasterizer); 29 memory_manager = std::make_unique<Tegra::MemoryManager>(system, rasterizer);
28 dma_pusher = std::make_unique<Tegra::DmaPusher>(*this); 30 dma_pusher = std::make_unique<Tegra::DmaPusher>(*this);
29 maxwell_3d = std::make_unique<Engines::Maxwell3D>(system, rasterizer, *memory_manager); 31 maxwell_3d = std::make_unique<Engines::Maxwell3D>(system, rasterizer, *memory_manager);
@@ -137,7 +139,7 @@ u64 GPU::GetTicks() const {
137} 139}
138 140
139void GPU::FlushCommands() { 141void GPU::FlushCommands() {
140 renderer.Rasterizer().FlushCommands(); 142 renderer->Rasterizer().FlushCommands();
141} 143}
142 144
143// Note that, traditionally, methods are treated as 4-byte addressable locations, and hence 145// Note that, traditionally, methods are treated as 4-byte addressable locations, and hence