summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2018-12-26 02:17:56 -0300
committerGravatar ReinUsesLisp2019-01-15 17:54:53 -0300
commit52223313b10af4c76b516d6ead247a1a201a71d8 (patch)
treee9fb7a948605622b7702d1c4aebef5838253850e /src
parentgl_shader_decompiler: Use rasterizer's UBO size limit (diff)
downloadyuzu-52223313b10af4c76b516d6ead247a1a201a71d8.tar.gz
yuzu-52223313b10af4c76b516d6ead247a1a201a71d8.tar.xz
yuzu-52223313b10af4c76b516d6ead247a1a201a71d8.zip
shader_ir: Remove Ipa primitive
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp8
-rw-r--r--src/video_core/shader/decode/other.cpp5
-rw-r--r--src/video_core/shader/shader_ir.h2
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:
1204 return expr; 1204 return expr;
1205 } 1205 }
1206 1206
1207 std::string Ipa(Operation operation) {
1208 const auto& attribute = operation[0];
1209 // TODO(Rodrigo): Special IPA attribute interactions
1210 return Visit(attribute);
1211 }
1212
1213 std::string Bra(Operation operation) { 1207 std::string Bra(Operation operation) {
1214 const auto target = std::get<ImmediateNode>(*operation[0]); 1208 const auto target = std::get<ImmediateNode>(*operation[0]);
1215 code.AddLine(fmt::format("jmp_to = 0x{:x}u;", target.GetValue())); 1209 code.AddLine(fmt::format("jmp_to = 0x{:x}u;", target.GetValue()));
@@ -1448,8 +1442,6 @@ private:
1448 &GLSLDecompiler::F4TextureQueryLod, 1442 &GLSLDecompiler::F4TextureQueryLod,
1449 &GLSLDecompiler::F4TexelFetch, 1443 &GLSLDecompiler::F4TexelFetch,
1450 1444
1451 &GLSLDecompiler::Ipa,
1452
1453 &GLSLDecompiler::Bra, 1445 &GLSLDecompiler::Bra,
1454 &GLSLDecompiler::PushFlowStack, // Ssy 1446 &GLSLDecompiler::PushFlowStack, // Ssy
1455 &GLSLDecompiler::PushFlowStack, // Brk 1447 &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) {
134 const Tegra::Shader::IpaMode input_mode{instr.ipa.interp_mode.Value(), 134 const Tegra::Shader::IpaMode input_mode{instr.ipa.interp_mode.Value(),
135 instr.ipa.sample_mode.Value()}; 135 instr.ipa.sample_mode.Value()};
136 136
137 const Node input_attr = GetInputAttribute(attribute.index, attribute.element, input_mode); 137 const Node attr = GetInputAttribute(attribute.index, attribute.element, input_mode);
138 const Node ipa = Operation(OperationCode::Ipa, input_attr); 138 const Node value = GetSaturatedFloat(attr, instr.ipa.saturate);
139 const Node value = GetSaturatedFloat(ipa, instr.ipa.saturate);
140 139
141 SetRegister(bb, instr.gpr0, value); 140 SetRegister(bb, instr.gpr0, value);
142 break; 141 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 {
161 F4TextureQueryLod, /// (MetaTexture, float[N] coords) -> float4 161 F4TextureQueryLod, /// (MetaTexture, float[N] coords) -> float4
162 F4TexelFetch, /// (MetaTexture, int[N], int) -> float4 162 F4TexelFetch, /// (MetaTexture, int[N], int) -> float4
163 163
164 Ipa, /// (abuf src) -> float
165
166 Bra, /// (uint branch_target) -> void 164 Bra, /// (uint branch_target) -> void
167 Ssy, /// (uint branch_target) -> void 165 Ssy, /// (uint branch_target) -> void
168 Pbk, /// (uint branch_target) -> void 166 Pbk, /// (uint branch_target) -> void