Merge pull request #1254 from bunnei/ipa-saturate

gl_shader_decompiler: Implement saturate mode for IPA.
This commit is contained in:
bunnei 2018-09-06 19:19:04 -04:00 committed by GitHub
commit 6faf1b0972
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2197,11 +2197,15 @@ private:
case OpCode::Id::IPA: { case OpCode::Id::IPA: {
const auto& attribute = instr.attribute.fmt28; const auto& attribute = instr.attribute.fmt28;
const auto& reg = instr.gpr0; const auto& reg = instr.gpr0;
ASSERT_MSG(instr.ipa.saturate == 0, "IPA saturate not implemented");
Tegra::Shader::IpaMode input_mode{instr.ipa.interp_mode.Value(), Tegra::Shader::IpaMode input_mode{instr.ipa.interp_mode.Value(),
instr.ipa.sample_mode.Value()}; instr.ipa.sample_mode.Value()};
regs.SetRegisterToInputAttibute(reg, attribute.element, attribute.index, regs.SetRegisterToInputAttibute(reg, attribute.element, attribute.index,
input_mode); input_mode);
if (instr.ipa.saturate) {
regs.SetRegisterToFloat(reg, 0, regs.GetRegisterAsFloat(reg), 1, 1, true);
}
break; break;
} }
case OpCode::Id::SSY: { case OpCode::Id::SSY: {