From c7fd36cf0eaec3ae1ecbc58d43cc47c6592e3739 Mon Sep 17 00:00:00 2001 From: xezrunner <8061077+xezrunner@users.noreply.github.com> Date: Tue, 20 Aug 2024 23:32:40 +0200 Subject: [PATCH] workaround: skip track section shader (V_MOVREL...) --- src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index c11705e7..af006885 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp @@ -327,6 +327,13 @@ std::unique_ptr PipelineCache::CreateComputePipeline() { MakeShaderInfo(Shader::Stage::Compute, cs_pgm.user_data, liverpool->regs); info.pgm_base = cs_pgm.Address(); info.pgm_hash = compute_key; + + // TEMP: for Amplitude 2016: + // Skip broken shader with V_MOVREL... instructions: + if (compute_key == 0xc7f34c4f) { + return nullptr; + } + auto program = Shader::TranslateProgram(inst_pool, block_pool, code, std::move(info), profile);