diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-08-06 09:38:16 +0200 |
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-09-23 23:05:30 +0200 |
| commit | 282ae8fa51e060e6d4ef026b734aa871b1b9331e (patch) | |
| tree | 3bc4603b6add0582315dc65544f1986427e4182d /src/video_core/fence_manager.h | |
| parent | aa6587d854e4953876b02ca71278a665bcae8179 (diff) | |
Query Cache: address issues
Diffstat (limited to 'src/video_core/fence_manager.h')
| -rw-r--r-- | src/video_core/fence_manager.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/video_core/fence_manager.h b/src/video_core/fence_manager.h index 8459a3092..805a89900 100644 --- a/src/video_core/fence_manager.h +++ b/src/video_core/fence_manager.h @@ -55,6 +55,9 @@ public: // Unlike other fences, this one doesn't void SignalOrdering() { + if constexpr (!can_async_check) { + TryReleasePendingFences<false>(); + } std::scoped_lock lock{buffer_cache.mutex}; buffer_cache.AccumulateFlushes(); } @@ -104,13 +107,9 @@ public: SignalFence(std::move(func)); } - void WaitPendingFences(bool force) { + void WaitPendingFences([[maybe_unused]] bool force) { if constexpr (!can_async_check) { - if (force) { - TryReleasePendingFences<true>(); - } else { - TryReleasePendingFences<false>(); - } + TryReleasePendingFences<true>(); } else { if (!force) { return; @@ -125,7 +124,8 @@ public: }); SignalFence(std::move(func)); std::unique_lock lk(wait_mutex); - wait_cv.wait(lk, [&wait_finished] { return wait_finished.load(std::memory_order_relaxed); }); + wait_cv.wait( + lk, [&wait_finished] { return wait_finished.load(std::memory_order_relaxed); }); } } |
