From 75c66e35c68a791ab5415b1a120cc07321ad2e79 Mon Sep 17 00:00:00 2001 From: iwubcode Date: Thu, 20 Nov 2025 22:12:09 -0600 Subject: VideoCommon: add method to async shader compiler to clear pending/completed work (used on shutdown), this will in turn clear up any resources that the worker items may have held onto --- Source/Core/VideoCommon/AsyncShaderCompiler.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'Source/Core/VideoCommon/AsyncShaderCompiler.cpp') diff --git a/Source/Core/VideoCommon/AsyncShaderCompiler.cpp b/Source/Core/VideoCommon/AsyncShaderCompiler.cpp index c69354628d..e312525eb9 100644 --- a/Source/Core/VideoCommon/AsyncShaderCompiler.cpp +++ b/Source/Core/VideoCommon/AsyncShaderCompiler.cpp @@ -68,6 +68,19 @@ bool AsyncShaderCompiler::HasCompletedWork() return !m_completed_work.empty(); } +void AsyncShaderCompiler::ClearAllWork() +{ + { + std::lock_guard guard(m_pending_work_lock); + m_pending_work.clear(); + } + + { + std::lock_guard guard(m_completed_work_lock); + m_completed_work.clear(); + } +} + bool AsyncShaderCompiler::WaitUntilCompletion( const std::function& progress_callback) { -- cgit v1.2.3