shader_ir: Remove Ipa primitive

This commit is contained in:
ReinUsesLisp 2018-12-26 02:17:56 -03:00
parent d6b173d5fe
commit 52223313b1
3 changed files with 2 additions and 13 deletions

View file

@ -1204,12 +1204,6 @@ private:
return expr;
}
std::string Ipa(Operation operation) {
const auto& attribute = operation[0];
// TODO(Rodrigo): Special IPA attribute interactions
return Visit(attribute);
}
std::string Bra(Operation operation) {
const auto target = std::get<ImmediateNode>(*operation[0]);
code.AddLine(fmt::format("jmp_to = 0x{:x}u;", target.GetValue()));
@ -1448,8 +1442,6 @@ private:
&GLSLDecompiler::F4TextureQueryLod,
&GLSLDecompiler::F4TexelFetch,
&GLSLDecompiler::Ipa,
&GLSLDecompiler::Bra,
&GLSLDecompiler::PushFlowStack, // Ssy
&GLSLDecompiler::PushFlowStack, // Brk

View file

@ -134,9 +134,8 @@ u32 ShaderIR::DecodeOther(BasicBlock& bb, u32 pc) {
const Tegra::Shader::IpaMode input_mode{instr.ipa.interp_mode.Value(),
instr.ipa.sample_mode.Value()};
const Node input_attr = GetInputAttribute(attribute.index, attribute.element, input_mode);
const Node ipa = Operation(OperationCode::Ipa, input_attr);
const Node value = GetSaturatedFloat(ipa, instr.ipa.saturate);
const Node attr = GetInputAttribute(attribute.index, attribute.element, input_mode);
const Node value = GetSaturatedFloat(attr, instr.ipa.saturate);
SetRegister(bb, instr.gpr0, value);
break;

View file

@ -161,8 +161,6 @@ enum class OperationCode {
F4TextureQueryLod, /// (MetaTexture, float[N] coords) -> float4
F4TexelFetch, /// (MetaTexture, int[N], int) -> float4
Ipa, /// (abuf src) -> float
Bra, /// (uint branch_target) -> void
Ssy, /// (uint branch_target) -> void
Pbk, /// (uint branch_target) -> void