diff options
| author | 2020-02-17 18:10:23 -0400 | |
|---|---|---|
| committer | 2020-04-22 11:36:10 -0400 | |
| commit | 487379c593bcaf3787ede187c5d44f7923b54dc9 (patch) | |
| tree | b66c5c541a55be6d4b76b78c07be11731a7cb400 /src/video_core/gpu_thread.h | |
| parent | TextureCache: Flush linear textures after finishing rendering. (diff) | |
| download | yuzu-487379c593bcaf3787ede187c5d44f7923b54dc9.tar.gz yuzu-487379c593bcaf3787ede187c5d44f7923b54dc9.tar.xz yuzu-487379c593bcaf3787ede187c5d44f7923b54dc9.zip | |
OpenGL: Implement Fencing backend.
Diffstat (limited to 'src/video_core/gpu_thread.h')
| -rw-r--r-- | src/video_core/gpu_thread.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/video_core/gpu_thread.h b/src/video_core/gpu_thread.h index cd74ad330..9d0877921 100644 --- a/src/video_core/gpu_thread.h +++ b/src/video_core/gpu_thread.h | |||
| @@ -70,9 +70,12 @@ struct FlushAndInvalidateRegionCommand final { | |||
| 70 | u64 size; | 70 | u64 size; |
| 71 | }; | 71 | }; |
| 72 | 72 | ||
| 73 | /// Command to signal to the GPU thread that processing has ended | ||
| 74 | struct OnCommandListEndCommand final {}; | ||
| 75 | |||
| 73 | using CommandData = | 76 | using CommandData = |
| 74 | std::variant<EndProcessingCommand, SubmitListCommand, SwapBuffersCommand, FlushRegionCommand, | 77 | std::variant<EndProcessingCommand, SubmitListCommand, SwapBuffersCommand, FlushRegionCommand, |
| 75 | InvalidateRegionCommand, FlushAndInvalidateRegionCommand>; | 78 | InvalidateRegionCommand, FlushAndInvalidateRegionCommand, OnCommandListEndCommand>; |
| 76 | 79 | ||
| 77 | struct CommandDataContainer { | 80 | struct CommandDataContainer { |
| 78 | CommandDataContainer() = default; | 81 | CommandDataContainer() = default; |
| @@ -122,6 +125,8 @@ public: | |||
| 122 | // Wait until the gpu thread is idle. | 125 | // Wait until the gpu thread is idle. |
| 123 | void WaitIdle() const; | 126 | void WaitIdle() const; |
| 124 | 127 | ||
| 128 | void OnCommandListEnd(); | ||
| 129 | |||
| 125 | private: | 130 | private: |
| 126 | /// Pushes a command to be executed by the GPU thread | 131 | /// Pushes a command to be executed by the GPU thread |
| 127 | u64 PushCommand(CommandData&& command_data); | 132 | u64 PushCommand(CommandData&& command_data); |