summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2018-04-10 21:37:49 -0400
committerGravatar bunnei2018-04-17 16:36:39 -0400
commit95144cc39c37d370d6911446736865ddca50312d (patch)
tree8691967891b17b85ef655ebc92f859009210fb5c /src
parentgl_shader_decompiler: Add support for TEXS instruction. (diff)
downloadyuzu-95144cc39c37d370d6911446736865ddca50312d.tar.gz
yuzu-95144cc39c37d370d6911446736865ddca50312d.tar.xz
yuzu-95144cc39c37d370d6911446736865ddca50312d.zip
gl_shader_decompiler: Implement IPA instruction.
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
index a8f1ac5b5..045ccdb0f 100644
--- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
+++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp
@@ -379,7 +379,18 @@ private:
379 offset = PROGRAM_END - 1; 379 offset = PROGRAM_END - 1;
380 break; 380 break;
381 } 381 }
382 case OpCode::Id::IPA: {
383 const auto& attribute = instr.attribute.fmt28;
382 384
385 if (attribute.index == Attribute::Index::Position) {
386 LOG_CRITICAL(HW_GPU, "Unimplemented");
387 break;
388 }
389
390 std::string dest = GetRegister(instr.gpr0);
391 SetDest(attribute.element, dest, GetInputAttribute(attribute.index), 1, 4);
392 break;
393 }
383 default: { 394 default: {
384 LOG_CRITICAL(HW_GPU, "Unhandled instruction: 0x%02x (%s): 0x%08x", 395 LOG_CRITICAL(HW_GPU, "Unhandled instruction: 0x%02x (%s): 0x%08x",
385 static_cast<unsigned>(instr.opcode.EffectiveOpCode()), 396 static_cast<unsigned>(instr.opcode.EffectiveOpCode()),