summaryrefslogtreecommitdiffstats
path: root/src/video_core/gpu.cpp
diff options
context:
space:
mode:
authorRodrigo Locatti <reinuseslisp@airmail.cc>2020-04-02 06:38:25 +0200
committerGitHub <noreply@github.com>2020-04-02 06:38:25 +0200
commit825a6e2615f86742b2e5182af1329da4a2bae413 (patch)
tree0b5d26f82b65067f0562b14a65b0d34aba688e01 /src/video_core/gpu.cpp
parentMerge pull request #3591 from ReinUsesLisp/vk-wrapper-part2 (diff)
parentFrontend: Don't call DoneCurrent if the context isnt already current (diff)
downloadyuzu-825a6e2615f86742b2e5182af1329da4a2bae413.tar
yuzu-825a6e2615f86742b2e5182af1329da4a2bae413.tar.gz
yuzu-825a6e2615f86742b2e5182af1329da4a2bae413.tar.bz2
yuzu-825a6e2615f86742b2e5182af1329da4a2bae413.tar.lz
yuzu-825a6e2615f86742b2e5182af1329da4a2bae413.tar.xz
yuzu-825a6e2615f86742b2e5182af1329da4a2bae413.tar.zst
yuzu-825a6e2615f86742b2e5182af1329da4a2bae413.zip
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 @@
#include "core/core.h"
#include "core/core_timing.h"
#include "core/core_timing_util.h"
+#include "core/frontend/emu_window.h"
#include "core/memory.h"
#include "video_core/engines/fermi_2d.h"
#include "video_core/engines/kepler_compute.h"
@@ -16,14 +17,15 @@
#include "video_core/gpu.h"
#include "video_core/memory_manager.h"
#include "video_core/renderer_base.h"
+#include "video_core/video_core.h"
namespace Tegra {
MICROPROFILE_DEFINE(GPU_wait, "GPU", "Wait for the GPU", MP_RGB(128, 128, 192));
-GPU::GPU(Core::System& system, VideoCore::RendererBase& renderer, bool is_async)
- : system{system}, renderer{renderer}, is_async{is_async} {
- auto& rasterizer{renderer.Rasterizer()};
+GPU::GPU(Core::System& system, std::unique_ptr<VideoCore::RendererBase>&& renderer_, bool is_async)
+ : system{system}, renderer{std::move(renderer_)}, is_async{is_async} {
+ auto& rasterizer{renderer->Rasterizer()};
memory_manager = std::make_unique<Tegra::MemoryManager>(system, rasterizer);
dma_pusher = std::make_unique<Tegra::DmaPusher>(*this);
maxwell_3d = std::make_unique<Engines::Maxwell3D>(system, rasterizer, *memory_manager);
@@ -137,7 +139,7 @@ u64 GPU::GetTicks() const {
}
void GPU::FlushCommands() {
- renderer.Rasterizer().FlushCommands();
+ renderer->Rasterizer().FlushCommands();
}
// Note that, traditionally, methods are treated as 4-byte addressable locations, and hence