summaryrefslogtreecommitdiff
path: root/src/video_core/gpu_thread.h
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-02-17 18:10:23 -0400
committerGravatar Fernando Sahmkow2020-04-22 11:36:10 -0400
commit487379c593bcaf3787ede187c5d44f7923b54dc9 (patch)
treeb66c5c541a55be6d4b76b78c07be11731a7cb400 /src/video_core/gpu_thread.h
parentTextureCache: Flush linear textures after finishing rendering. (diff)
downloadyuzu-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.h7
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
74struct OnCommandListEndCommand final {};
75
73using CommandData = 76using CommandData =
74 std::variant<EndProcessingCommand, SubmitListCommand, SwapBuffersCommand, FlushRegionCommand, 77 std::variant<EndProcessingCommand, SubmitListCommand, SwapBuffersCommand, FlushRegionCommand,
75 InvalidateRegionCommand, FlushAndInvalidateRegionCommand>; 78 InvalidateRegionCommand, FlushAndInvalidateRegionCommand, OnCommandListEndCommand>;
76 79
77struct CommandDataContainer { 80struct 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
125private: 130private:
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);