From ec9f0f064e4c3567ae4a397e65cdd7f9300fb387 Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Sun, 13 Mar 2022 17:41:16 +0100 Subject: Shader decompiler: Fix storage tracking in deko3d. --- src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/shader_recompiler') diff --git a/src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp b/src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp index 38592afd0..ddf497e32 100644 --- a/src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp +++ b/src/shader_recompiler/ir_opt/global_memory_to_storage_buffer_pass.cpp @@ -334,7 +334,8 @@ std::optional TrackLowAddress(IR::Inst* inst) { /// Tries to track the storage buffer address used by a global memory instruction std::optional Track(const IR::Value& value, const Bias* bias) { const auto pred{[bias](const IR::Inst* inst) -> std::optional { - if (inst->GetOpcode() != IR::Opcode::GetCbufU32) { + if (inst->GetOpcode() != IR::Opcode::GetCbufU32 && + inst->GetOpcode() != IR::Opcode::GetCbufU32x2) { return std::nullopt; } const IR::Value index{inst->Arg(0)}; -- cgit v1.2.3 From 185fc03c3cb79a1ee1b65b0907749f75de34b45b Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Sun, 13 Mar 2022 21:49:40 +0100 Subject: Shader decompiler: do constant propgation before texture pass. --- src/shader_recompiler/frontend/maxwell/translate_program.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/shader_recompiler') diff --git a/src/shader_recompiler/frontend/maxwell/translate_program.cpp b/src/shader_recompiler/frontend/maxwell/translate_program.cpp index 248ad3ced..b22725584 100644 --- a/src/shader_recompiler/frontend/maxwell/translate_program.cpp +++ b/src/shader_recompiler/frontend/maxwell/translate_program.cpp @@ -212,11 +212,11 @@ IR::Program TranslateProgram(ObjectPool& inst_pool, ObjectPool