From e025cd65cd7e5aa38eebaf5275092c750f389bc1 Mon Sep 17 00:00:00 2001 From: Skyth <19259897+blueskythlikesclouds@users.noreply.github.com> Date: Fri, 27 Sep 2024 15:40:46 +0300 Subject: [PATCH] Saturate D3D color. --- PowerRecomp/recompiler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/PowerRecomp/recompiler.cpp b/PowerRecomp/recompiler.cpp index 30a1aff..e27448e 100644 --- a/PowerRecomp/recompiler.cpp +++ b/PowerRecomp/recompiler.cpp @@ -1685,7 +1685,9 @@ bool Recompiler::Recompile( for (size_t i = 0; i < 4; i++) { constexpr size_t indices[] = { 3, 0, 1, 2 }; - println("\t{}.u32 {}= uint32_t({}.u8[{}]) << {};", temp(), i == 0 ? "" : "|", v(insn.operands[1]), i * 4, indices[i] * 8); + println("\t{}.u32[{}] = 0x404000FF;", vTemp(), i); + println("\t{}.f32[{}] = {}.f32[{}] < 3.0f ? 3.0f : ({}.f32[{}] > {}.f32[{}] ? {}.f32[{}] : {}.f32[{}]);", vTemp(), i, v(insn.operands[1]), i, v(insn.operands[1]), i, vTemp(), i, vTemp(), i, v(insn.operands[1]), i); + println("\t{}.u32 {}= uint32_t({}.u8[{}]) << {};", temp(), i == 0 ? "" : "|", vTemp(), i * 4, indices[i] * 8); } println("\t{}.u32[3] = {}.u32;", v(insn.operands[0]), temp()); break;