From 4657adc052d4597e471466b7a9bf9f5b9b69abe5 Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Mon, 2 Feb 2026 19:27:11 -0400 Subject: [PATCH] [video_core] Replacing recursive mutex with simple mutex lock --- src/video_core/buffer_cache/buffer_cache_base.h | 2 +- src/video_core/query_cache.h | 4 ++-- src/video_core/renderer_opengl/gl_rasterizer.cpp | 2 +- src/video_core/renderer_vulkan/vk_rasterizer.cpp | 2 +- src/video_core/texture_cache/texture_cache_base.h | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/video_core/buffer_cache/buffer_cache_base.h b/src/video_core/buffer_cache/buffer_cache_base.h index ed50634683..a96ce04c35 100644 --- a/src/video_core/buffer_cache/buffer_cache_base.h +++ b/src/video_core/buffer_cache/buffer_cache_base.h @@ -318,7 +318,7 @@ public: } while (channel_state->has_deleted_buffers); } - std::recursive_mutex mutex; + std::mutex mutex; Runtime& runtime; private: diff --git a/src/video_core/query_cache.h b/src/video_core/query_cache.h index e1019f2285..d0435f045e 100644 --- a/src/video_core/query_cache.h +++ b/src/video_core/query_cache.h @@ -300,7 +300,7 @@ private: } void AsyncFlushQuery(CachedQuery* query, std::optional timestamp, - std::unique_lock& lock) { + std::unique_lock& lock) { const AsyncJobId new_async_job_id = slot_async_jobs.insert(); { AsyncJob& async_job = slot_async_jobs[new_async_job_id]; @@ -346,7 +346,7 @@ private: VideoCore::RasterizerInterface& rasterizer; Tegra::MaxwellDeviceMemoryManager& device_memory; - mutable std::recursive_mutex mutex; + mutable std::mutex mutex; std::unordered_map> cached_queries; diff --git a/src/video_core/renderer_opengl/gl_rasterizer.cpp b/src/video_core/renderer_opengl/gl_rasterizer.cpp index 602509bfdb..7976e04d3b 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer.cpp +++ b/src/video_core/renderer_opengl/gl_rasterizer.cpp @@ -713,7 +713,7 @@ void RasterizerOpenGL::AccelerateInlineToMemory(GPUVAddr address, size_t copy_si } gpu_memory->WriteBlockUnsafe(address, memory.data(), copy_size); { - std::unique_lock lock{buffer_cache.mutex}; + std::unique_lock lock{buffer_cache.mutex}; if (!buffer_cache.InlineMemory(*cpu_addr, copy_size, memory)) { buffer_cache.WriteMemory(*cpu_addr, copy_size); } diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 4650e827b3..914ec04b25 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -882,7 +882,7 @@ void RasterizerVulkan::AccelerateInlineToMemory(GPUVAddr address, size_t copy_si } gpu_memory->WriteBlockUnsafe(address, memory.data(), copy_size); { - std::unique_lock lock{buffer_cache.mutex}; + std::unique_lock lock{buffer_cache.mutex}; if (!buffer_cache.InlineMemory(*cpu_addr, copy_size, memory)) { buffer_cache.WriteMemory(*cpu_addr, copy_size); } diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h index 42f1a158d9..99122ba952 100644 --- a/src/video_core/texture_cache/texture_cache_base.h +++ b/src/video_core/texture_cache/texture_cache_base.h @@ -269,7 +269,7 @@ public: /// Prepare an image to be used void PrepareImage(ImageId image_id, bool is_modification, bool invalidate); - std::recursive_mutex mutex; + std::mutex mutex; private: /// Iterate over all page indices in a range