Browse Source

vk_master_semaphore: Use fetch_add to increase master semaphore tick

nce_cpp
ReinUsesLisp 5 years ago
committed by ameerj
parent
commit
dbe29b8bb6
  1. 6
      src/video_core/renderer_vulkan/vk_master_semaphore.h
  2. 4
      src/video_core/renderer_vulkan/vk_scheduler.cpp

6
src/video_core/renderer_vulkan/vk_master_semaphore.h

@ -39,9 +39,9 @@ public:
return KnownGpuTick() >= tick;
}
/// Advance to the logical tick.
void NextTick() noexcept {
++current_tick;
/// Advance to the logical tick and return the old one
[[nodiscard]] u64 NextTick() noexcept {
return current_tick.fetch_add(1, std::memory_order::relaxed);
}
/// Refresh the known GPU tick

4
src/video_core/renderer_vulkan/vk_scheduler.cpp

@ -168,9 +168,7 @@ void VKScheduler::SubmitExecution(VkSemaphore semaphore) {
EndPendingOperations();
InvalidateState();
const u64 signal_value = master_semaphore->CurrentTick();
master_semaphore->NextTick();
const u64 signal_value = master_semaphore->NextTick();
Record([semaphore, signal_value, this](vk::CommandBuffer cmdbuf) {
cmdbuf.End();

Loading…
Cancel
Save