diff options
| author | 2019-08-18 08:51:34 -0400 | |
|---|---|---|
| committer | 2019-08-18 08:51:34 -0400 | |
| commit | ca61e298b3ced36f5e1ac81e6960fc0d4ac89e0b (patch) | |
| tree | ad2dd05158c5df167e27a1ca1704142f62ddcf9a /src/video_core/shader | |
| parent | Merge pull request #2768 from ReinUsesLisp/hsetp2-fix (diff) | |
| parent | shader_ir: Implement NOP (diff) | |
| download | yuzu-ca61e298b3ced36f5e1ac81e6960fc0d4ac89e0b.tar.gz yuzu-ca61e298b3ced36f5e1ac81e6960fc0d4ac89e0b.tar.xz yuzu-ca61e298b3ced36f5e1ac81e6960fc0d4ac89e0b.zip | |
Merge pull request #2778 from ReinUsesLisp/nop
shader_ir: Implement NOP
Diffstat (limited to 'src/video_core/shader')
| -rw-r--r-- | src/video_core/shader/decode/other.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/shader/decode/other.cpp b/src/video_core/shader/decode/other.cpp index c0f64d7a0..ac0e764d6 100644 --- a/src/video_core/shader/decode/other.cpp +++ b/src/video_core/shader/decode/other.cpp | |||
| @@ -22,6 +22,12 @@ u32 ShaderIR::DecodeOther(NodeBlock& bb, u32 pc) { | |||
| 22 | const auto opcode = OpCode::Decode(instr); | 22 | const auto opcode = OpCode::Decode(instr); |
| 23 | 23 | ||
| 24 | switch (opcode->get().GetId()) { | 24 | switch (opcode->get().GetId()) { |
| 25 | case OpCode::Id::NOP: { | ||
| 26 | UNIMPLEMENTED_IF(instr.nop.cc != Tegra::Shader::ConditionCode::T); | ||
| 27 | UNIMPLEMENTED_IF(instr.nop.trigger != 0); | ||
| 28 | // With the previous preconditions, this instruction is a no-operation. | ||
| 29 | break; | ||
| 30 | } | ||
| 25 | case OpCode::Id::EXIT: { | 31 | case OpCode::Id::EXIT: { |
| 26 | const Tegra::Shader::ConditionCode cc = instr.flow_condition_code; | 32 | const Tegra::Shader::ConditionCode cc = instr.flow_condition_code; |
| 27 | UNIMPLEMENTED_IF_MSG(cc != Tegra::Shader::ConditionCode::T, "EXIT condition code used: {}", | 33 | UNIMPLEMENTED_IF_MSG(cc != Tegra::Shader::ConditionCode::T, "EXIT condition code used: {}", |