diff options
| author | Javier Martinez <hoogmin@gmail.com> | 2025-01-31 12:26:33 -0500 |
|---|---|---|
| committer | Javier Martinez <hoogmin@gmail.com> | 2025-02-05 20:06:59 -0500 |
| commit | 7dec083af5ebb99d1a3269b5f523b55bfe939d51 (patch) | |
| tree | f4c2aea4372d31d7a0fadd359c3ecbe4fdf64f5e /Source/Core/VideoCommon/AsyncShaderCompiler.cpp | |
| parent | cd3993708f25ecbfb62eea9cdd8279bc002a01d1 (diff) | |
Refactor: Make loop non-infinite instead in AsyncShaderCompiler.
Diffstat (limited to 'Source/Core/VideoCommon/AsyncShaderCompiler.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/AsyncShaderCompiler.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/Source/Core/VideoCommon/AsyncShaderCompiler.cpp b/Source/Core/VideoCommon/AsyncShaderCompiler.cpp index ca59ee6330..c69354628d 100644 --- a/Source/Core/VideoCommon/AsyncShaderCompiler.cpp +++ b/Source/Core/VideoCommon/AsyncShaderCompiler.cpp @@ -95,23 +95,20 @@ bool AsyncShaderCompiler::WaitUntilCompletion( } // Update progress while the compiles complete. - for (;;) + while (Core::GetState(Core::System::GetInstance()) != Core::State::Stopping) { - if (Core::GetState(Core::System::GetInstance()) == Core::State::Stopping) - return false; - size_t remaining_items; { std::lock_guard<std::mutex> pending_guard(m_pending_work_lock); if (m_pending_work.empty() && !m_busy_workers.load()) - break; + return true; remaining_items = m_pending_work.size(); } progress_callback(total_items - remaining_items, total_items); std::this_thread::sleep_for(CHECK_INTERVAL); } - return true; + return false; } bool AsyncShaderCompiler::StartWorkerThreads(u32 num_worker_threads) |
