summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_synch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/gpu_synch.cpp')
-rw-r--r--src/video_core/gpu_synch.cpp17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/video_core/gpu_synch.cpp b/src/video_core/gpu_synch.cpp
index d48221077..bd5278a5c 100644
--- a/src/video_core/gpu_synch.cpp
+++ b/src/video_core/gpu_synch.cpp
@@ -7,12 +7,15 @@
7 7
8namespace VideoCommon { 8namespace VideoCommon {
9 9
10GPUSynch::GPUSynch(Core::System& system, VideoCore::RendererBase& renderer) 10GPUSynch::GPUSynch(Core::System& system, std::unique_ptr<VideoCore::RendererBase>&& renderer,
11 : GPU(system, renderer, false) {} 11 std::unique_ptr<Core::Frontend::GraphicsContext>&& context)
12 : GPU(system, std::move(renderer), false), context{std::move(context)} {}
12 13
13GPUSynch::~GPUSynch() = default; 14GPUSynch::~GPUSynch() = default;
14 15
15void GPUSynch::Start() {} 16void GPUSynch::Start() {
17 context->MakeCurrent();
18}
16 19
17void GPUSynch::PushGPUEntries(Tegra::CommandList&& entries) { 20void GPUSynch::PushGPUEntries(Tegra::CommandList&& entries) {
18 dma_pusher->Push(std::move(entries)); 21 dma_pusher->Push(std::move(entries));
@@ -20,19 +23,19 @@ void GPUSynch::PushGPUEntries(Tegra::CommandList&& entries) {
20} 23}
21 24
22void GPUSynch::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) { 25void GPUSynch::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
23 renderer.SwapBuffers(framebuffer); 26 renderer->SwapBuffers(framebuffer);
24} 27}
25 28
26void GPUSynch::FlushRegion(CacheAddr addr, u64 size) { 29void GPUSynch::FlushRegion(CacheAddr addr, u64 size) {
27 renderer.Rasterizer().FlushRegion(addr, size); 30 renderer->Rasterizer().FlushRegion(addr, size);
28} 31}
29 32
30void GPUSynch::InvalidateRegion(CacheAddr addr, u64 size) { 33void GPUSynch::InvalidateRegion(CacheAddr addr, u64 size) {
31 renderer.Rasterizer().InvalidateRegion(addr, size); 34 renderer->Rasterizer().InvalidateRegion(addr, size);
32} 35}
33 36
34void GPUSynch::FlushAndInvalidateRegion(CacheAddr addr, u64 size) { 37void GPUSynch::FlushAndInvalidateRegion(CacheAddr addr, u64 size) {
35 renderer.Rasterizer().FlushAndInvalidateRegion(addr, size); 38 renderer->Rasterizer().FlushAndInvalidateRegion(addr, size);
36} 39}
37 40
38} // namespace VideoCommon 41} // namespace VideoCommon