diff options
author | bunnei <bunneidev@gmail.com> | 2020-04-09 06:17:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-09 06:17:39 +0200 |
commit | b96fd0bd0e562770399441c8164069d2437f00e7 (patch) | |
tree | 44c8516bec954176e6c68796a660cfa82023b253 /src/video_core/shader/decode | |
parent | Merge pull request #3624 from Kewlan/fix-sl-sr-position (diff) | |
parent | shader/other: Add error message for some S2R registers (diff) | |
download | yuzu-b96fd0bd0e562770399441c8164069d2437f00e7.tar yuzu-b96fd0bd0e562770399441c8164069d2437f00e7.tar.gz yuzu-b96fd0bd0e562770399441c8164069d2437f00e7.tar.bz2 yuzu-b96fd0bd0e562770399441c8164069d2437f00e7.tar.lz yuzu-b96fd0bd0e562770399441c8164069d2437f00e7.tar.xz yuzu-b96fd0bd0e562770399441c8164069d2437f00e7.tar.zst yuzu-b96fd0bd0e562770399441c8164069d2437f00e7.zip |
Diffstat (limited to 'src/video_core/shader/decode')
-rw-r--r-- | src/video_core/shader/decode/other.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/video_core/shader/decode/other.cpp b/src/video_core/shader/decode/other.cpp index e6edec459..d4f95b18c 100644 --- a/src/video_core/shader/decode/other.cpp +++ b/src/video_core/shader/decode/other.cpp @@ -71,18 +71,24 @@ u32 ShaderIR::DecodeOther(NodeBlock& bb, u32 pc) { bb.push_back(Operation(OperationCode::Discard)); break; } - case OpCode::Id::MOV_SYS: { + case OpCode::Id::S2R: { const Node value = [this, instr] { switch (instr.sys20) { case SystemVariable::LaneId: - LOG_WARNING(HW_GPU, "MOV_SYS instruction with LaneId is incomplete"); + LOG_WARNING(HW_GPU, "S2R instruction with LaneId is incomplete"); return Immediate(0U); case SystemVariable::InvocationId: return Operation(OperationCode::InvocationId); case SystemVariable::Ydirection: return Operation(OperationCode::YNegate); case SystemVariable::InvocationInfo: - LOG_WARNING(HW_GPU, "MOV_SYS instruction with InvocationInfo is incomplete"); + LOG_WARNING(HW_GPU, "S2R instruction with InvocationInfo is incomplete"); + return Immediate(0U); + case SystemVariable::WscaleFactorXY: + UNIMPLEMENTED_MSG("S2R WscaleFactorXY is not implemented"); + return Immediate(0U); + case SystemVariable::WscaleFactorZ: + UNIMPLEMENTED_MSG("S2R WscaleFactorZ is not implemented"); return Immediate(0U); case SystemVariable::Tid: { Node value = Immediate(0); |