shader_ir: Remove Ipa primitive
This commit is contained in:
parent
d6b173d5fe
commit
52223313b1
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Reference in New Issue