summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_synch.h
diff options
context:
space:
mode:
authorGravatar Rodrigo Locatti2020-04-02 01:38:25 -0300
committerGravatar GitHub2020-04-02 01:38:25 -0300
commit825a6e2615f86742b2e5182af1329da4a2bae413 (patch)
tree0b5d26f82b65067f0562b14a65b0d34aba688e01 /src/video_core/gpu_synch.h
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.gz
yuzu-825a6e2615f86742b2e5182af1329da4a2bae413.tar.xz
yuzu-825a6e2615f86742b2e5182af1329da4a2bae413.zip
Merge pull request #3552 from jroweboy/single-context
Refactor Context management (Fixes renderdoc on opengl issues)
Diffstat (limited to 'src/video_core/gpu_synch.h')
-rw-r--r--src/video_core/gpu_synch.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/video_core/gpu_synch.h b/src/video_core/gpu_synch.h
index c71baee89..866a94c8c 100644
--- a/src/video_core/gpu_synch.h
+++ b/src/video_core/gpu_synch.h
@@ -6,6 +6,10 @@
6 6
7#include "video_core/gpu.h" 7#include "video_core/gpu.h"
8 8
9namespace Core::Frontend {
10class GraphicsContext;
11}
12
9namespace VideoCore { 13namespace VideoCore {
10class RendererBase; 14class RendererBase;
11} // namespace VideoCore 15} // namespace VideoCore
@@ -15,7 +19,8 @@ namespace VideoCommon {
15/// Implementation of GPU interface that runs the GPU synchronously 19/// Implementation of GPU interface that runs the GPU synchronously
16class GPUSynch final : public Tegra::GPU { 20class GPUSynch final : public Tegra::GPU {
17public: 21public:
18 explicit GPUSynch(Core::System& system, VideoCore::RendererBase& renderer); 22 explicit GPUSynch(Core::System& system, std::unique_ptr<VideoCore::RendererBase>&& renderer,
23 std::unique_ptr<Core::Frontend::GraphicsContext>&& context);
19 ~GPUSynch() override; 24 ~GPUSynch() override;
20 25
21 void Start() override; 26 void Start() override;
@@ -29,6 +34,9 @@ public:
29protected: 34protected:
30 void TriggerCpuInterrupt([[maybe_unused]] u32 syncpoint_id, 35 void TriggerCpuInterrupt([[maybe_unused]] u32 syncpoint_id,
31 [[maybe_unused]] u32 value) const override {} 36 [[maybe_unused]] u32 value) const override {}
37
38private:
39 std::unique_ptr<Core::Frontend::GraphicsContext> context;
32}; 40};
33 41
34} // namespace VideoCommon 42} // namespace VideoCommon