diff options
| author | 2019-07-11 21:14:44 -0300 | |
|---|---|---|
| committer | 2019-07-22 16:16:10 -0300 | |
| commit | 104641db07d04cd32bc83986e2ea05711fab3b5f (patch) | |
| tree | 6d113ada45986a54f23da1ef5324122069c31c1b /src/video_core/shader/decode | |
| parent | Merge pull request #2734 from ReinUsesLisp/compute-shaders (diff) | |
| download | yuzu-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.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 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: |