From 2df4744b53a4fc64889038623d9a4e2c6bffb20f Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Sat, 22 Aug 2026 21:40:47 -0400 Subject: [PATCH] Some meows --- src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 4 ++-- src/video_core/vulkan_common/vulkan_device.cpp | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 07e4b4d378..358695bcd6 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -712,7 +712,7 @@ void PipelineCache::LoadDiskResources(u64 title_id, std::stop_token stop_loading workers.WaitForRequests(stop_loading); if (use_vulkan_pipeline_cache) { - std::unique_lock cache_lock{vulkan_pipeline_cache_mutex}; + std::shared_lock cache_lock{vulkan_pipeline_cache_mutex}; SerializeVulkanPipelineCache(vulkan_pipeline_cache_filename, vulkan_pipeline_cache, CACHE_VERSION); size_t size = 0; @@ -747,7 +747,7 @@ void PipelineCache::QueueVulkanPipelineCacheFlush() { last_flush = now; serialization_thread.QueueWork([this] { { - std::unique_lock lock{vulkan_pipeline_cache_mutex}; + std::shared_lock lock{vulkan_pipeline_cache_mutex}; SerializeVulkanPipelineCache(vulkan_pipeline_cache_filename, vulkan_pipeline_cache, CACHE_VERSION); size_t size = 0; diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index a7c93c161c..11ec738c99 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -729,6 +729,10 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR } logical = vk::Device::Create(physical, queue_cis, ExtensionListForVulkan(loaded_extensions), first_next, dld); + if (!extensions.synchronization2) { + dld.vkCmdPipelineBarrier2 = nullptr; + dld.vkQueueSubmit2 = nullptr; + } graphics_queue = logical.GetQueue(graphics_family); present_queue = logical.GetQueue(present_family);