Просмотр исходного кода

vk_master_semaphore: Mark gpu_tick atomic operations with relaxed order

ReinUsesLisp 5 лет назад
Родитель
Сommit
dd9caf9aa0
1 измененных файлов с 4 добавлено и 4 удалено
  1. 4 4
      src/video_core/renderer_vulkan/vk_master_semaphore.h

+ 4 - 4
src/video_core/renderer_vulkan/vk_master_semaphore.h

@@ -21,12 +21,12 @@ public:
 
     /// Returns the current logical tick.
     [[nodiscard]] u64 CurrentTick() const noexcept {
-        return current_tick;
+        return current_tick.load(std::memory_order_relaxed);
     }
 
     /// Returns the last known GPU tick.
     [[nodiscard]] u64 KnownGpuTick() const noexcept {
-        return gpu_tick;
+        return gpu_tick.load(std::memory_order_relaxed);
     }
 
     /// Returns the timeline semaphore handle.
@@ -36,7 +36,7 @@ public:
 
     /// Returns true when a tick has been hit by the GPU.
     [[nodiscard]] bool IsFree(u64 tick) {
-        return gpu_tick >= tick;
+        return gpu_tick.load(std::memory_order_relaxed) >= tick;
     }
 
     /// Advance to the logical tick.
@@ -46,7 +46,7 @@ public:
 
     /// Refresh the known GPU tick
     void Refresh() {
-        gpu_tick = semaphore.GetCounter();
+        gpu_tick.store(semaphore.GetCounter(), std::memory_order_relaxed);
     }
 
     /// Waits for a tick to be hit on the GPU