From 674870d8819436605500e0bb9923cc3b66cdc0d9 Mon Sep 17 00:00:00 2001 From: Gliniak Date: Mon, 28 Apr 2025 23:08:05 +0200 Subject: [PATCH] [D3D12] Fixed stability issues (Graphics lost) on AMD GPUs - This includes infamous 6000 series crashes and crashes on newer drivers for 7000 and 9000 series Issue was caused by returning invalid (negative) address from MaxAs opcode. Currently it is unknown if this behaviour is correct and should be checked on console, so slight graphical issues might be present --- src/xenia/gpu/dxbc_shader_translator_alu.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xenia/gpu/dxbc_shader_translator_alu.cc b/src/xenia/gpu/dxbc_shader_translator_alu.cc index a1d2970f0..407d345d8 100644 --- a/src/xenia/gpu/dxbc_shader_translator_alu.cc +++ b/src/xenia/gpu/dxbc_shader_translator_alu.cc @@ -867,7 +867,7 @@ void DxbcShaderTranslator::ProcessScalarAluOperation( } a_.OpMax(dxbc::Dest::R(system_temp_ps_pc_p0_a0_, 0b1000), dxbc::Src::R(system_temp_ps_pc_p0_a0_, dxbc::Src::kWWWW), - dxbc::Src::LF(-256.0f)); + dxbc::Src::LF(0.0f)); a_.OpMin(dxbc::Dest::R(system_temp_ps_pc_p0_a0_, 0b1000), dxbc::Src::R(system_temp_ps_pc_p0_a0_, dxbc::Src::kWWWW), dxbc::Src::LF(255.0f));