diff options
| author | 2021-02-28 22:03:00 -0500 | |
|---|---|---|
| committer | 2021-02-28 22:03:00 -0500 | |
| commit | 52e9d7fa49c1da30ece8909d80e3aeafeda2760e (patch) | |
| tree | 39ae6f5764683db4ad4b04a36041ee7272f77246 /src/video_core/gpu_thread.h | |
| parent | Merge pull request #6007 from bunnei/ldn-error (diff) | |
| download | yuzu-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.h | 19 |
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 | ||
| 47 | struct 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 |
| 55 | struct SwapBuffersCommand final { | 47 | struct 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 {}; | |||
| 91 | struct GPUTickCommand final {}; | 83 | struct GPUTickCommand final {}; |
| 92 | 84 | ||
| 93 | using CommandData = | 85 | using 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 | ||
| 98 | struct CommandDataContainer { | 90 | struct 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 | ||