diff --git a/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp b/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp index 87824f908..f3d764f22 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp @@ -112,7 +112,9 @@ bool ComputePipeline::BindResources(VideoCore::BufferCache& buffer_cache, const auto src_sharp = src.GetSharp(*info); const auto& dst = info->texture_buffers[1]; const auto dst_sharp = dst.GetSharp(*info); - if (dst_sharp.base_address == 0x510e0000 || dst_sharp.base_address == 0x1926e0000 || + if (dst_sharp.base_address == 0x510e0000 || + dst_sharp.base_address == 0x1926e0000 || // Release + dst_sharp.base_address == 0x1928e0000 || // ReleaseWithDebInfo dst_sharp.base_address == 0x1d42e0000) { VideoCore::ImageViewInfo view_info; view_info.format = vk::Format::eR8G8B8A8Unorm; @@ -234,7 +236,7 @@ bool ComputePipeline::BindResources(VideoCore::BufferCache& buffer_cache, LOG_WARNING(Render_Vulkan, "Unexpected metadata read by a CS shader (buffer)"); } } - if (desc.is_written && info->pgm_hash != 0xfefebf9f && info->pgm_hash != 0x3d5ebf4e) { + if (desc.is_written && info->pgm_hash != 0xfefebf9f) { // Not skipping 0x3d5ebf4e as well, otherwise video player will be black texture_cache.InvalidateMemory(address, size); } const u32 alignment = instance.TexelBufferMinAlignment(); diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index b738c617b..db2654722 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -64,9 +64,10 @@ const ComputePipeline* PipelineCache::GetComputePipeline() { } bool ShouldSkipShader(u64 shader_hash, const char* shader_type) { - static constexpr std::array skip_hashes = {0xa509af23, 0x4ca76892, 0xa954e79d, - 0x42f2a521, 0x2da7fe60, 0x1635154c, - 0x8e3f8dc4}; + static constexpr std::array skip_hashes = {0xa509af23, 0x4ca76892, 0xa954e79d, + 0x42f2a521, 0x2da7fe60, 0x1635154c, + 0x8e3f8dc4, 0xc0cbc309, 0x77d1c63, + 0xff7a6d7c, 0xddfbac23}; if (std::ranges::contains(skip_hashes, shader_hash)) { LOG_WARNING(Render_Vulkan, "Skipped {} shader hash {:#x}.", shader_type, shader_hash); return true;