summaryrefslogtreecommitdiff
path: root/src/video_core/shader/decode
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2019-07-11 21:14:44 -0300
committerGravatar ReinUsesLisp2019-07-22 16:16:10 -0300
commit104641db07d04cd32bc83986e2ea05711fab3b5f (patch)
tree6d113ada45986a54f23da1ef5324122069c31c1b /src/video_core/shader/decode
parentMerge pull request #2734 from ReinUsesLisp/compute-shaders (diff)
downloadyuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.tar.gz
yuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.tar.xz
yuzu-104641db07d04cd32bc83986e2ea05711fab3b5f.zip
shader/decode: Implement S2R Tic
Diffstat (limited to 'src/video_core/shader/decode')
-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) {
68 case SystemVariable::InvocationInfo: 68 case SystemVariable::InvocationInfo:
69 LOG_WARNING(HW_GPU, "MOV_SYS instruction with InvocationInfo is incomplete"); 69 LOG_WARNING(HW_GPU, "MOV_SYS instruction with InvocationInfo is incomplete");
70 return Immediate(0u); 70 return Immediate(0u);
71 case SystemVariable::Tid: {
72 Node value = Immediate(0);
73 value = BitfieldInsert(value, Operation(OperationCode::LocalInvocationIdX), 0, 9);
74 value = BitfieldInsert(value, Operation(OperationCode::LocalInvocationIdY), 16, 9);
75 value = BitfieldInsert(value, Operation(OperationCode::LocalInvocationIdZ), 26, 5);
76 return value;
77 }
71 case SystemVariable::TidX: 78 case SystemVariable::TidX:
72 return Operation(OperationCode::LocalInvocationIdX); 79 return Operation(OperationCode::LocalInvocationIdX);
73 case SystemVariable::TidY: 80 case SystemVariable::TidY: