diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-07-16 16:08:39 -0300 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2020-07-16 16:09:39 -0300 |
commit | 210cc0204d63c65f314c0f5de21f172dc006083f (patch) | |
tree | 41f2d3259826486c3553ed4190a51eeb6f1a39ec /src | |
parent | 263200f982f1c8509450721cf5fa9d8639c198ef (diff) |
decode/other: Implement S2R.LaneId
This maps to host's thread id.
- Fixes graphical issues on Paper Mario.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/shader/decode/other.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/video_core/shader/decode/other.cpp b/src/video_core/shader/decode/other.cpp index c0a8f233f..29a7cfbfe 100644 --- a/src/video_core/shader/decode/other.cpp +++ b/src/video_core/shader/decode/other.cpp @@ -75,8 +75,7 @@ u32 ShaderIR::DecodeOther(NodeBlock& bb, u32 pc) { const Node value = [this, instr] { switch (instr.sys20) { case SystemVariable::LaneId: - LOG_WARNING(HW_GPU, "S2R instruction with LaneId is incomplete"); - return Immediate(0U); + return Operation(OperationCode::ThreadId); case SystemVariable::InvocationId: return Operation(OperationCode::InvocationId); case SystemVariable::Ydirection: |