From 506e3782891da702725b625c103edc61d4279d71 Mon Sep 17 00:00:00 2001 From: iwubcode Date: Fri, 21 Nov 2025 00:34:37 -0600 Subject: [PATCH] VideoCommon: remove template parameter from lock guards in AsyncShaderCompiler, let type deduction do its thing and improve readability --- .../Core/VideoCommon/AsyncShaderCompiler.cpp | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Source/Core/VideoCommon/AsyncShaderCompiler.cpp b/Source/Core/VideoCommon/AsyncShaderCompiler.cpp index e312525eb9..83eaa2e23e 100644 --- a/Source/Core/VideoCommon/AsyncShaderCompiler.cpp +++ b/Source/Core/VideoCommon/AsyncShaderCompiler.cpp @@ -35,7 +35,7 @@ void AsyncShaderCompiler::QueueWorkItem(WorkItemPtr item, u32 priority) } else { - std::lock_guard guard(m_pending_work_lock); + std::lock_guard guard(m_pending_work_lock); m_pending_work.emplace(priority, std::move(item)); m_worker_thread_wake.notify_one(); } @@ -45,7 +45,7 @@ void AsyncShaderCompiler::RetrieveWorkItems() { std::deque completed_work; { - std::lock_guard guard(m_completed_work_lock); + std::lock_guard guard(m_completed_work_lock); m_completed_work.swap(completed_work); } @@ -58,25 +58,25 @@ void AsyncShaderCompiler::RetrieveWorkItems() bool AsyncShaderCompiler::HasPendingWork() { - std::lock_guard guard(m_pending_work_lock); + std::lock_guard guard(m_pending_work_lock); return !m_pending_work.empty() || m_busy_workers.load() != 0; } bool AsyncShaderCompiler::HasCompletedWork() { - std::lock_guard guard(m_completed_work_lock); + std::lock_guard guard(m_completed_work_lock); return !m_completed_work.empty(); } void AsyncShaderCompiler::ClearAllWork() { { - std::lock_guard guard(m_pending_work_lock); + std::lock_guard guard(m_pending_work_lock); m_pending_work.clear(); } { - std::lock_guard guard(m_completed_work_lock); + std::lock_guard guard(m_completed_work_lock); m_completed_work.clear(); } } @@ -102,8 +102,8 @@ bool AsyncShaderCompiler::WaitUntilCompletion( size_t total_items; { // Safe to hold both locks here, since nowhere else does. - std::lock_guard pending_guard(m_pending_work_lock); - std::lock_guard completed_guard(m_completed_work_lock); + std::lock_guard pending_guard(m_pending_work_lock); + std::lock_guard completed_guard(m_completed_work_lock); total_items = m_completed_work.size() + m_pending_work.size() + m_busy_workers.load() + 1; } @@ -112,7 +112,7 @@ bool AsyncShaderCompiler::WaitUntilCompletion( { size_t remaining_items; { - std::lock_guard pending_guard(m_pending_work_lock); + std::lock_guard pending_guard(m_pending_work_lock); if (m_pending_work.empty() && !m_busy_workers.load()) return true; remaining_items = m_pending_work.size(); @@ -177,7 +177,7 @@ void AsyncShaderCompiler::StopWorkerThreads() // Signal worker threads to stop, and wake all of them. { - std::lock_guard guard(m_pending_work_lock); + std::lock_guard guard(m_pending_work_lock); m_exit_flag.Set(); m_worker_thread_wake.notify_all(); } @@ -226,7 +226,7 @@ void AsyncShaderCompiler::WorkerThreadEntryPoint(void* param) void AsyncShaderCompiler::WorkerThreadRun() { - std::unique_lock pending_lock(m_pending_work_lock); + std::unique_lock pending_lock(m_pending_work_lock); while (!m_exit_flag.IsSet()) { m_worker_thread_wake.wait(pending_lock); @@ -241,7 +241,7 @@ void AsyncShaderCompiler::WorkerThreadRun() if (item->Compile()) { - std::lock_guard completed_guard(m_completed_work_lock); + std::lock_guard completed_guard(m_completed_work_lock); m_completed_work.push_back(std::move(item)); }