diff options
| author | 2018-04-10 21:37:49 -0400 | |
|---|---|---|
| committer | 2018-04-17 16:36:39 -0400 | |
| commit | 95144cc39c37d370d6911446736865ddca50312d (patch) | |
| tree | 8691967891b17b85ef655ebc92f859009210fb5c /src | |
| parent | gl_shader_decompiler: Add support for TEXS instruction. (diff) | |
| download | yuzu-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.cpp | 11 |
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()), |