diff options
| author | 2022-10-06 21:29:53 +0200 | |
|---|---|---|
| committer | 2022-10-06 21:29:53 +0200 | |
| commit | 1effa578f12f79d7816e3543291f302f126cc1d2 (patch) | |
| tree | 14803b31b6817294d40d57446f6fa94c5ff3fe9a /src/video_core/gpu_thread.h | |
| parent | Merge pull request #9025 from FernandoS27/slava-ukrayini (diff) | |
| parent | vulkan_blitter: Fix pool allocation double free. (diff) | |
| download | yuzu-1effa578f12f79d7816e3543291f302f126cc1d2.tar.gz yuzu-1effa578f12f79d7816e3543291f302f126cc1d2.tar.xz yuzu-1effa578f12f79d7816e3543291f302f126cc1d2.zip | |
Merge pull request #8467 from FernandoS27/yfc-rel-1
Project yuzu Fried Chicken (Y.F.C.) Part 1
Diffstat (limited to 'src/video_core/gpu_thread.h')
| -rw-r--r-- | src/video_core/gpu_thread.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/video_core/gpu_thread.h b/src/video_core/gpu_thread.h index 2f8210cb9..64628d3e3 100644 --- a/src/video_core/gpu_thread.h +++ b/src/video_core/gpu_thread.h | |||
| @@ -15,7 +15,9 @@ | |||
| 15 | 15 | ||
| 16 | namespace Tegra { | 16 | namespace Tegra { |
| 17 | struct FramebufferConfig; | 17 | struct FramebufferConfig; |
| 18 | class DmaPusher; | 18 | namespace Control { |
| 19 | class Scheduler; | ||
| 20 | } | ||
| 19 | } // namespace Tegra | 21 | } // namespace Tegra |
| 20 | 22 | ||
| 21 | namespace Core { | 23 | namespace Core { |
| @@ -34,8 +36,10 @@ namespace VideoCommon::GPUThread { | |||
| 34 | 36 | ||
| 35 | /// Command to signal to the GPU thread that a command list is ready for processing | 37 | /// Command to signal to the GPU thread that a command list is ready for processing |
| 36 | struct SubmitListCommand final { | 38 | struct SubmitListCommand final { |
| 37 | explicit SubmitListCommand(Tegra::CommandList&& entries_) : entries{std::move(entries_)} {} | 39 | explicit SubmitListCommand(s32 channel_, Tegra::CommandList&& entries_) |
| 40 | : channel{channel_}, entries{std::move(entries_)} {} | ||
| 38 | 41 | ||
| 42 | s32 channel; | ||
| 39 | Tegra::CommandList entries; | 43 | Tegra::CommandList entries; |
| 40 | }; | 44 | }; |
| 41 | 45 | ||
| @@ -112,10 +116,10 @@ public: | |||
| 112 | 116 | ||
| 113 | /// Creates and starts the GPU thread. | 117 | /// Creates and starts the GPU thread. |
| 114 | void StartThread(VideoCore::RendererBase& renderer, Core::Frontend::GraphicsContext& context, | 118 | void StartThread(VideoCore::RendererBase& renderer, Core::Frontend::GraphicsContext& context, |
| 115 | Tegra::DmaPusher& dma_pusher); | 119 | Tegra::Control::Scheduler& scheduler); |
| 116 | 120 | ||
| 117 | /// Push GPU command entries to be processed | 121 | /// Push GPU command entries to be processed |
| 118 | void SubmitList(Tegra::CommandList&& entries); | 122 | void SubmitList(s32 channel, Tegra::CommandList&& entries); |
| 119 | 123 | ||
| 120 | /// Swap buffers (render frame) | 124 | /// Swap buffers (render frame) |
| 121 | void SwapBuffers(const Tegra::FramebufferConfig* framebuffer); | 125 | void SwapBuffers(const Tegra::FramebufferConfig* framebuffer); |
| @@ -131,6 +135,8 @@ public: | |||
| 131 | 135 | ||
| 132 | void OnCommandListEnd(); | 136 | void OnCommandListEnd(); |
| 133 | 137 | ||
| 138 | void TickGPU(); | ||
| 139 | |||
| 134 | private: | 140 | private: |
| 135 | /// Pushes a command to be executed by the GPU thread | 141 | /// Pushes a command to be executed by the GPU thread |
| 136 | u64 PushCommand(CommandData&& command_data, bool block = false); | 142 | u64 PushCommand(CommandData&& command_data, bool block = false); |