From e8413cd5ab6ac8b987a4953d2221b83ad226ec9a Mon Sep 17 00:00:00 2001 From: IndecisiveTurtle <47210458+raphaelthegreat@users.noreply.github.com> Date: Mon, 19 Aug 2024 03:25:13 +0300 Subject: [PATCH] skip motion blur draw --- src/shader_recompiler/ir/passes/resource_tracking_pass.cpp | 2 +- src/video_core/renderer_vulkan/vk_compute_pipeline.cpp | 2 +- src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp b/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp index 20a66ad0..b15b6133 100644 --- a/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp +++ b/src/shader_recompiler/ir/passes/resource_tracking_pass.cpp @@ -447,7 +447,7 @@ void PatchBufferInstruction(IR::Block& block, IR::Inst& inst, Info& info, .dword_offset = sharp.dword_offset, .length = BufferLength(buffer), .used_types = BufferDataType(inst, buffer.GetNumberFmt()), - .is_storage = is_store || buffer.GetSize() > MaxUboSize, + .is_storage = true || is_store || buffer.GetSize() > MaxUboSize, .is_written = is_store, }); } diff --git a/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp b/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp index 4788f6fb..789b9227 100644 --- a/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_compute_pipeline.cpp @@ -176,7 +176,7 @@ bool ComputePipeline::BindResources(VideoCore::BufferCache& buffer_cache, } } const u32 size = vsharp.GetSize(); - if (buffer.is_written && compute_key != 0xfefebf9f) { + if (buffer.is_written && compute_key != 0xfefebf9f && compute_key != 0x3d5ebf4e) { texture_cache.InvalidateMemory(address, size, true); } const u32 alignment = diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index 134f9021..577259e8 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -271,7 +271,8 @@ std::unique_ptr PipelineCache::CreateGraphicsPipeline() { } if (hash == 0x8ccd4c7 || hash == 3273382176 || hash == 1253917491 || hash == 3568414570 || - hash == 886182625 || hash == 2876255299 || hash == 2153234908 || hash == 0xc0cbc309) { + hash == 886182625 || hash == 2876255299 || hash == 2153234908 || hash == 0xc0cbc309 || + hash == 0xe0305cef) { return nullptr; }