diff options
author | bunnei <bunneidev@gmail.com> | 2020-04-23 04:09:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-23 04:09:38 +0200 |
commit | bf2ddb8fd5feaeaf2806fe102de8e3089f893137 (patch) | |
tree | b97d388da23608c00808b6662e3c0564fc4f6d59 /src/video_core/gpu_thread.h | |
parent | Merge pull request #3767 from ReinUsesLisp/point-size-pipeline (diff) | |
parent | GL_Fence_Manager: use GL_TIMEOUT_IGNORED instead of a loop, (diff) | |
download | yuzu-bf2ddb8fd5feaeaf2806fe102de8e3089f893137.tar yuzu-bf2ddb8fd5feaeaf2806fe102de8e3089f893137.tar.gz yuzu-bf2ddb8fd5feaeaf2806fe102de8e3089f893137.tar.bz2 yuzu-bf2ddb8fd5feaeaf2806fe102de8e3089f893137.tar.lz yuzu-bf2ddb8fd5feaeaf2806fe102de8e3089f893137.tar.xz yuzu-bf2ddb8fd5feaeaf2806fe102de8e3089f893137.tar.zst yuzu-bf2ddb8fd5feaeaf2806fe102de8e3089f893137.zip |
Diffstat (limited to 'src/video_core/gpu_thread.h')
-rw-r--r-- | src/video_core/gpu_thread.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/video_core/gpu_thread.h b/src/video_core/gpu_thread.h index cd74ad330..5a28335d6 100644 --- a/src/video_core/gpu_thread.h +++ b/src/video_core/gpu_thread.h @@ -70,9 +70,16 @@ struct FlushAndInvalidateRegionCommand final { u64 size; }; +/// Command called within the gpu, to schedule actions after a command list end +struct OnCommandListEndCommand final {}; + +/// Command to make the gpu look into pending requests +struct GPUTickCommand final {}; + using CommandData = std::variant<EndProcessingCommand, SubmitListCommand, SwapBuffersCommand, FlushRegionCommand, - InvalidateRegionCommand, FlushAndInvalidateRegionCommand>; + InvalidateRegionCommand, FlushAndInvalidateRegionCommand, OnCommandListEndCommand, + GPUTickCommand>; struct CommandDataContainer { CommandDataContainer() = default; @@ -122,6 +129,8 @@ public: // Wait until the gpu thread is idle. void WaitIdle() const; + void OnCommandListEnd(); + private: /// Pushes a command to be executed by the GPU thread u64 PushCommand(CommandData&& command_data); |