From 52223313b10af4c76b516d6ead247a1a201a71d8 Mon Sep 17 00:00:00 2001 From: ReinUsesLisp Date: Wed, 26 Dec 2018 02:17:56 -0300 Subject: [PATCH] shader_ir: Remove Ipa primitive --- src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 8 -------- src/video_core/shader/decode/other.cpp | 5 ++--- src/video_core/shader/shader_ir.h | 2 -- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 7d7abe703..ecd27db07 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -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(*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 diff --git a/src/video_core/shader/decode/other.cpp b/src/video_core/shader/decode/other.cpp index 1918762b8..386433d8e 100644 --- a/src/video_core/shader/decode/other.cpp +++ b/src/video_core/shader/decode/other.cpp @@ -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; diff --git a/src/video_core/shader/shader_ir.h b/src/video_core/shader/shader_ir.h index 6d036d200..52c7c3180 100644 --- a/src/video_core/shader/shader_ir.h +++ b/src/video_core/shader/shader_ir.h @@ -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