aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader/decode/other.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2020-07-16 16:08:39 -0300
committerReinUsesLisp <reinuseslisp@airmail.cc>2020-07-16 16:09:39 -0300
commitc5391180e63e5bcb1146c4ab4f7fb4530fa9e6b0 (patch)
tree41f2d3259826486c3553ed4190a51eeb6f1a39ec /src/video_core/shader/decode/other.cpp
parent9dd2647098e196ed5956eb751c1d780f38a5a02e (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.cpp3
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: