aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/gpu_asynch.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-12-11 22:26:14 -0800
committerbunnei <bunneidev@gmail.com>2020-12-28 16:33:48 -0800
commit14c825bd1c37b2444e858bf1a75fb77455b4eb52 (patch)
tree60dfa8c299f4709d04ca652c8eb35e7f7b13ad89 /src/video_core/gpu_asynch.h
parent5d4715cc6af424e8529de5ac1a11d1cca3b3f7cf (diff)
video_core: gpu: Refactor out synchronous/asynchronous GPU implementations.
- We must always use a GPU thread now, even with synchronous GPU.
Diffstat (limited to 'src/video_core/gpu_asynch.h')
-rw-r--r--src/video_core/gpu_asynch.h47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/video_core/gpu_asynch.h b/src/video_core/gpu_asynch.h
deleted file mode 100644
index a384113f4..000000000
--- a/src/video_core/gpu_asynch.h
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2019 yuzu Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include "video_core/gpu.h"
-#include "video_core/gpu_thread.h"
-
-namespace Core::Frontend {
-class GraphicsContext;
-}
-
-namespace VideoCore {
-class RendererBase;
-} // namespace VideoCore
-
-namespace VideoCommon {
-
-/// Implementation of GPU interface that runs the GPU asynchronously
-class GPUAsynch final : public Tegra::GPU {
-public:
- explicit GPUAsynch(Core::System& system_, bool use_nvdec_);
- ~GPUAsynch() override;
-
- void Start() override;
- void ObtainContext() override;
- void ReleaseContext() override;
- void PushGPUEntries(Tegra::CommandList&& entries) override;
- void PushCommandBuffer(Tegra::ChCommandHeaderList& entries) override;
- void SwapBuffers(const Tegra::FramebufferConfig* framebuffer) override;
- void FlushRegion(VAddr addr, u64 size) override;
- void InvalidateRegion(VAddr addr, u64 size) override;
- void FlushAndInvalidateRegion(VAddr addr, u64 size) override;
- void WaitIdle() const override;
-
- void OnCommandListEnd() override;
-
-protected:
- void TriggerCpuInterrupt(u32 syncpoint_id, u32 value) const override;
-
-private:
- GPUThread::ThreadManager gpu_thread;
- std::unique_ptr<Core::Frontend::GraphicsContext> cpu_context;
-};
-
-} // namespace VideoCommon