diff options
author | bunnei <bunneidev@gmail.com> | 2020-02-08 04:06:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-08 04:06:57 +0100 |
commit | 90df4b8e2b07be217b8fc2d08b766577710b3945 (patch) | |
tree | 72d14549e5b0ab0e8de836ece410667b278c2a2f /src/video_core/engines/shader_bytecode.h | |
parent | Merge pull request #3381 from bunnei/ipc-fix (diff) | |
parent | shader/shift: Implement SHIFT_RIGHT_{IMM,R} (diff) | |
download | yuzu-90df4b8e2b07be217b8fc2d08b766577710b3945.tar yuzu-90df4b8e2b07be217b8fc2d08b766577710b3945.tar.gz yuzu-90df4b8e2b07be217b8fc2d08b766577710b3945.tar.bz2 yuzu-90df4b8e2b07be217b8fc2d08b766577710b3945.tar.lz yuzu-90df4b8e2b07be217b8fc2d08b766577710b3945.tar.xz yuzu-90df4b8e2b07be217b8fc2d08b766577710b3945.tar.zst yuzu-90df4b8e2b07be217b8fc2d08b766577710b3945.zip |
Diffstat (limited to 'src/video_core/engines/shader_bytecode.h')
-rw-r--r-- | src/video_core/engines/shader_bytecode.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index 81b6d9eff..402869fde 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h @@ -624,6 +624,19 @@ enum class ShuffleOperation : u64 { Bfly = 3, // shuffleXorNV }; +enum class ShfType : u64 { + Bits32 = 0, + U64 = 2, + S64 = 3, +}; + +enum class ShfXmode : u64 { + None = 0, + HI = 1, + X = 2, + XHI = 3, +}; + union Instruction { constexpr Instruction& operator=(const Instruction& instr) { value = instr.value; @@ -776,6 +789,13 @@ union Instruction { } shr; union { + BitField<37, 2, ShfType> type; + BitField<48, 2, ShfXmode> xmode; + BitField<50, 1, u64> wrap; + BitField<20, 6, u64> immediate; + } shf; + + union { BitField<39, 5, u64> shift_amount; BitField<48, 1, u64> negate_b; BitField<49, 1, u64> negate_a; |