diff options
| author | bunnei <bunneidev@gmail.com> | 2019-08-29 12:58:43 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-29 12:58:43 -0400 |
| commit | 8d8341bb698d31db2bc001c424dd6d304e66dfee (patch) | |
| tree | 8856d97bfb22f9cc9c726e7020de051a9deef178 /src/video_core/shader/decode/other.cpp | |
| parent | 63d41fd9011313b7b416c2e0d39b397893d330e0 (diff) | |
| parent | 11138d67ad5a1f87591826585ba63e6c8351f052 (diff) | |
Merge pull request #2758 from ReinUsesLisp/packed-tid
shader/decode: Implement S2R Tic
Diffstat (limited to 'src/video_core/shader/decode/other.cpp')
| -rw-r--r-- | src/video_core/shader/decode/other.cpp | 7 |
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 ac0e764d6d..d46e0f8232 100644 --- a/src/video_core/shader/decode/other.cpp +++ b/src/video_core/shader/decode/other.cpp @@ -74,6 +74,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: |
