Browse Source

[TEST] Hunting down recursive mutex 3

(cherry picked from commit 933f79af95)
vk-experiments8
CamilleLaVey 2 weeks ago
parent
commit
65e45f0a9a
  1. 2
      src/video_core/buffer_cache/buffer_cache_base.h
  2. 2
      src/video_core/renderer_opengl/gl_rasterizer.cpp
  3. 2
      src/video_core/renderer_vulkan/vk_rasterizer.cpp

2
src/video_core/buffer_cache/buffer_cache_base.h

@ -321,7 +321,7 @@ public:
} while (channel_state->has_deleted_buffers); } while (channel_state->has_deleted_buffers);
} }
std::recursive_mutex mutex;
std::mutex mutex;
Runtime& runtime; Runtime& runtime;
bool any_buffer_uploaded = false; bool any_buffer_uploaded = false;

2
src/video_core/renderer_opengl/gl_rasterizer.cpp

@ -716,7 +716,7 @@ void RasterizerOpenGL::AccelerateInlineToMemory(GPUVAddr address, size_t copy_si
} }
gpu_memory->WriteBlockUnsafe(address, memory.data(), copy_size); gpu_memory->WriteBlockUnsafe(address, memory.data(), copy_size);
{ {
std::unique_lock<std::recursive_mutex> lock{buffer_cache.mutex};
std::scoped_lock lock{buffer_cache.mutex};
if (!buffer_cache.InlineMemory(*cpu_addr, copy_size, memory)) { if (!buffer_cache.InlineMemory(*cpu_addr, copy_size, memory)) {
buffer_cache.WriteMemory(*cpu_addr, copy_size); buffer_cache.WriteMemory(*cpu_addr, copy_size);
} }

2
src/video_core/renderer_vulkan/vk_rasterizer.cpp

@ -925,7 +925,7 @@ void RasterizerVulkan::AccelerateInlineToMemory(GPUVAddr address, size_t copy_si
} }
gpu_memory->WriteBlockUnsafe(address, memory.data(), copy_size); gpu_memory->WriteBlockUnsafe(address, memory.data(), copy_size);
{ {
std::unique_lock<std::recursive_mutex> lock{buffer_cache.mutex};
std::scoped_lock lock{buffer_cache.mutex};
if (!buffer_cache.InlineMemory(*cpu_addr, copy_size, memory)) { if (!buffer_cache.InlineMemory(*cpu_addr, copy_size, memory)) {
buffer_cache.WriteMemory(*cpu_addr, copy_size); buffer_cache.WriteMemory(*cpu_addr, copy_size);
} }

Loading…
Cancel
Save