diff options
| author | GPUCode <geoster3d@gmail.com> | 2023-03-19 17:23:24 +0200 |
|---|---|---|
| committer | GPUCode <geoster3d@gmail.com> | 2023-05-01 23:13:24 +0300 |
| commit | 2ad9acf795fcb9f0f01ed85e1b4f1accd9c3965d (patch) | |
| tree | 58c66b4f690b4ca069229ed46df7140f6dd6b0e7 /src/video_core/renderer_vulkan/vk_scheduler.h | |
| parent | 47938541c25528d1122e15b87dc0113bbbe94d13 (diff) | |
renderer_vulkan: Async presentation
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_scheduler.h')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_scheduler.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_scheduler.h b/src/video_core/renderer_vulkan/vk_scheduler.h index 8d75ce987..475c682eb 100644 --- a/src/video_core/renderer_vulkan/vk_scheduler.h +++ b/src/video_core/renderer_vulkan/vk_scheduler.h @@ -34,7 +34,7 @@ public: ~Scheduler(); /// Sends the current execution context to the GPU. - void Flush(VkSemaphore signal_semaphore = nullptr, VkSemaphore wait_semaphore = nullptr); + u64 Flush(VkSemaphore signal_semaphore = nullptr, VkSemaphore wait_semaphore = nullptr); /// Sends the current execution context to the GPU and waits for it to complete. void Finish(VkSemaphore signal_semaphore = nullptr, VkSemaphore wait_semaphore = nullptr); @@ -106,6 +106,8 @@ public: return *master_semaphore; } + std::mutex submit_mutex; + private: class Command { public: @@ -201,7 +203,7 @@ private: void AllocateWorkerCommandBuffer(); - void SubmitExecution(VkSemaphore signal_semaphore, VkSemaphore wait_semaphore); + u64 SubmitExecution(VkSemaphore signal_semaphore, VkSemaphore wait_semaphore); void AllocateNewContext(); |
