summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_thread.h
diff options
context:
space:
mode:
authorGravatar ameerj2021-02-28 22:03:00 -0500
committerGravatar ameerj2021-02-28 22:03:00 -0500
commit52e9d7fa49c1da30ece8909d80e3aeafeda2760e (patch)
tree39ae6f5764683db4ad4b04a36041ee7272f77246 /src/video_core/gpu_thread.h
parentMerge pull request #6007 from bunnei/ldn-error (diff)
downloadyuzu-52e9d7fa49c1da30ece8909d80e3aeafeda2760e.tar.gz
yuzu-52e9d7fa49c1da30ece8909d80e3aeafeda2760e.tar.xz
yuzu-52e9d7fa49c1da30ece8909d80e3aeafeda2760e.zip
gpu_thread: Remove Async NVDEC placeholders
This commit removes early placeholders for an implementation of async nvdec. With recent changes to the source code, the placeholders are no longer accurate, and can cause a nullptr dereference due to the nature of the cdma_pusher lifetime.
Diffstat (limited to 'src/video_core/gpu_thread.h')
-rw-r--r--src/video_core/gpu_thread.h19
1 files changed, 4 insertions, 15 deletions
diff --git a/src/video_core/gpu_thread.h b/src/video_core/gpu_thread.h
index 4cd951169..18269e51c 100644
--- a/src/video_core/gpu_thread.h
+++ b/src/video_core/gpu_thread.h
@@ -43,14 +43,6 @@ struct SubmitListCommand final {
43 Tegra::CommandList entries; 43 Tegra::CommandList entries;
44}; 44};
45 45
46/// Command to signal to the GPU thread that a cdma command list is ready for processing
47struct SubmitChCommandEntries final {
48 explicit SubmitChCommandEntries(Tegra::ChCommandHeaderList&& entries_)
49 : entries{std::move(entries_)} {}
50
51 Tegra::ChCommandHeaderList entries;
52};
53
54/// Command to signal to the GPU thread that a swap buffers is pending 46/// Command to signal to the GPU thread that a swap buffers is pending
55struct SwapBuffersCommand final { 47struct SwapBuffersCommand final {
56 explicit SwapBuffersCommand(std::optional<const Tegra::FramebufferConfig> framebuffer_) 48 explicit SwapBuffersCommand(std::optional<const Tegra::FramebufferConfig> framebuffer_)
@@ -91,9 +83,9 @@ struct OnCommandListEndCommand final {};
91struct GPUTickCommand final {}; 83struct GPUTickCommand final {};
92 84
93using CommandData = 85using CommandData =
94 std::variant<EndProcessingCommand, SubmitListCommand, SubmitChCommandEntries, 86 std::variant<EndProcessingCommand, SubmitListCommand, SwapBuffersCommand, FlushRegionCommand,
95 SwapBuffersCommand, FlushRegionCommand, InvalidateRegionCommand, 87 InvalidateRegionCommand, FlushAndInvalidateRegionCommand, OnCommandListEndCommand,
96 FlushAndInvalidateRegionCommand, OnCommandListEndCommand, GPUTickCommand>; 88 GPUTickCommand>;
97 89
98struct CommandDataContainer { 90struct CommandDataContainer {
99 CommandDataContainer() = default; 91 CommandDataContainer() = default;
@@ -123,14 +115,11 @@ public:
123 115
124 /// Creates and starts the GPU thread. 116 /// Creates and starts the GPU thread.
125 void StartThread(VideoCore::RendererBase& renderer, Core::Frontend::GraphicsContext& context, 117 void StartThread(VideoCore::RendererBase& renderer, Core::Frontend::GraphicsContext& context,
126 Tegra::DmaPusher& dma_pusher, Tegra::CDmaPusher& cdma_pusher); 118 Tegra::DmaPusher& dma_pusher);
127 119
128 /// Push GPU command entries to be processed 120 /// Push GPU command entries to be processed
129 void SubmitList(Tegra::CommandList&& entries); 121 void SubmitList(Tegra::CommandList&& entries);
130 122
131 /// Push GPU CDMA command buffer entries to be processed
132 void SubmitCommandBuffer(Tegra::ChCommandHeaderList&& entries);
133
134 /// Swap buffers (render frame) 123 /// Swap buffers (render frame)
135 void SwapBuffers(const Tegra::FramebufferConfig* framebuffer); 124 void SwapBuffers(const Tegra::FramebufferConfig* framebuffer);
136 125