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.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);