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 | c5391180e63e5bcb1146c4ab4f7fb4530fa9e6b0 (patch) | |
| tree | 41f2d3259826486c3553ed4190a51eeb6f1a39ec /src/video_core/shader/decode/other.cpp | |
| parent | 9dd2647098e196ed5956eb751c1d780f38a5a02e (diff) | |
decode/other: Implement S2R.LaneId
This maps to host's thread id.
- Fixes graphical issues on Paper Mario.
Diffstat (limited to 'src/video_core/shader/decode/other.cpp')
| -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 c0a8f233f7..29a7cfbfe4 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: |
