summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_asynch.cpp
diff options
context:
space:
mode:
authorGravatar Levi2021-01-10 22:09:56 -0700
committerGravatar Levi2021-01-10 22:09:56 -0700
commit7a3c884e39fccfbb498b855080bffabc9ce2e7f1 (patch)
tree5056f9406dec188439cb0deb87603498243a9412 /src/video_core/gpu_asynch.cpp
parentMore forgetting... duh (diff)
parentMerge pull request #5229 from Morph1984/fullscreen-opt (diff)
downloadyuzu-7a3c884e39fccfbb498b855080bffabc9ce2e7f1.tar.gz
yuzu-7a3c884e39fccfbb498b855080bffabc9ce2e7f1.tar.xz
yuzu-7a3c884e39fccfbb498b855080bffabc9ce2e7f1.zip
Merge remote-tracking branch 'upstream/master' into int-flags
Diffstat (limited to 'src/video_core/gpu_asynch.cpp')
-rw-r--r--src/video_core/gpu_asynch.cpp64
1 files changed, 0 insertions, 64 deletions
diff --git a/src/video_core/gpu_asynch.cpp b/src/video_core/gpu_asynch.cpp
deleted file mode 100644
index 70a3d5738..000000000
--- a/src/video_core/gpu_asynch.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
1// Copyright 2019 yuzu Emulator Project
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "core/core.h"
6#include "core/hardware_interrupt_manager.h"
7#include "video_core/gpu_asynch.h"
8#include "video_core/gpu_thread.h"
9#include "video_core/renderer_base.h"
10
11namespace VideoCommon {
12
13GPUAsynch::GPUAsynch(Core::System& system) : GPU{system, true}, gpu_thread{system} {}
14
15GPUAsynch::~GPUAsynch() = default;
16
17void GPUAsynch::Start() {
18 gpu_thread.StartThread(*renderer, renderer->Context(), *dma_pusher);
19 cpu_context = renderer->GetRenderWindow().CreateSharedContext();
20 cpu_context->MakeCurrent();
21}
22
23void GPUAsynch::ObtainContext() {
24 cpu_context->MakeCurrent();
25}
26
27void GPUAsynch::ReleaseContext() {
28 cpu_context->DoneCurrent();
29}
30
31void GPUAsynch::PushGPUEntries(Tegra::CommandList&& entries) {
32 gpu_thread.SubmitList(std::move(entries));
33}
34
35void GPUAsynch::SwapBuffers(const Tegra::FramebufferConfig* framebuffer) {
36 gpu_thread.SwapBuffers(framebuffer);
37}
38
39void GPUAsynch::FlushRegion(VAddr addr, u64 size) {
40 gpu_thread.FlushRegion(addr, size);
41}
42
43void GPUAsynch::InvalidateRegion(VAddr addr, u64 size) {
44 gpu_thread.InvalidateRegion(addr, size);
45}
46
47void GPUAsynch::FlushAndInvalidateRegion(VAddr addr, u64 size) {
48 gpu_thread.FlushAndInvalidateRegion(addr, size);
49}
50
51void GPUAsynch::TriggerCpuInterrupt(const u32 syncpoint_id, const u32 value) const {
52 auto& interrupt_manager = system.InterruptManager();
53 interrupt_manager.GPUInterruptSyncpt(syncpoint_id, value);
54}
55
56void GPUAsynch::WaitIdle() const {
57 gpu_thread.WaitIdle();
58}
59
60void GPUAsynch::OnCommandListEnd() {
61 gpu_thread.OnCommandListEnd();
62}
63
64} // namespace VideoCommon