summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_thread.h
diff options
context:
space:
mode:
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