summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/decode/other.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-07-12 02:14:44 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-07-22 21:16:10 +0200
commit104641db07d04cd32bc83986e2ea05711fab3b5f (patch)
tree6d113ada45986a54f23da1ef5324122069c31c1b /src/video_core/shader/decode/other.cpp
parentMerge pull request #2734 from ReinUsesLisp/compute-shaders (diff)
downloadyuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.tar
yuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.tar.gz
yuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.tar.bz2
yuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.tar.lz
yuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.tar.xz
yuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.tar.zst
yuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.zip
Diffstat (limited to 'src/video_core/shader/decode/other.cpp')
-rw-r--r--src/video_core/shader/decode/other.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/shader/decode/other.cpp b/src/video_core/shader/decode/other.cpp
index c0f64d7a0..856e1b3d8 100644
--- a/src/video_core/shader/decode/other.cpp
+++ b/src/video_core/shader/decode/other.cpp
@@ -68,6 +68,13 @@ u32 ShaderIR::DecodeOther(NodeBlock& bb, u32 pc) {
case SystemVariable::InvocationInfo:
LOG_WARNING(HW_GPU, "MOV_SYS instruction with InvocationInfo is incomplete");
return Immediate(0u);
+ case SystemVariable::Tid: {
+ Node value = Immediate(0);
+ value = BitfieldInsert(value, Operation(OperationCode::LocalInvocationIdX), 0, 9);
+ value = BitfieldInsert(value, Operation(OperationCode::LocalInvocationIdY), 16, 9);
+ value = BitfieldInsert(value, Operation(OperationCode::LocalInvocationIdZ), 26, 5);
+ return value;
+ }
case SystemVariable::TidX:
return Operation(OperationCode::LocalInvocationIdX);
case SystemVariable::TidY: