From 56c797e7f6f07030078ad8067807f0adac54945d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sun, 14 Jan 2024 23:32:46 +0100 Subject: [PATCH] Fix possible hangs in ManagedTexture destruction. Change a thread name. --- Common/GPU/Vulkan/VulkanRenderManager.cpp | 2 +- Common/Render/ManagedTexture.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Common/GPU/Vulkan/VulkanRenderManager.cpp b/Common/GPU/Vulkan/VulkanRenderManager.cpp index fe1ab035d0..c3e45d1fae 100644 --- a/Common/GPU/Vulkan/VulkanRenderManager.cpp +++ b/Common/GPU/Vulkan/VulkanRenderManager.cpp @@ -535,7 +535,7 @@ void VulkanRenderManager::ReleaseCompileQueue() { } void VulkanRenderManager::ThreadFunc() { - SetCurrentThreadName("RenderMan"); + SetCurrentThreadName("VulkanRenderMan"); while (true) { _dbg_assert_(useRenderThread_); diff --git a/Common/Render/ManagedTexture.cpp b/Common/Render/ManagedTexture.cpp index ccf93a9bde..ed76da4d90 100644 --- a/Common/Render/ManagedTexture.cpp +++ b/Common/Render/ManagedTexture.cpp @@ -35,11 +35,13 @@ public: ERROR_LOG(IO, "Failed to read file '%s'", filename_.c_str()); filename_.clear(); *state_ = ManagedTexture::LoadState::FAILED; + waitable_->Notify(); return; } if (!tempImage_->LoadTextureLevels(buffer, fileSize, type_)) { *state_ = ManagedTexture::LoadState::FAILED; + waitable_->Notify(); return; } delete[] buffer;