diff options
author | Laku <Laku@users.noreply.github.com> | 2018-08-22 09:02:18 +0200 |
---|---|---|
committer | Laku <Laku@users.noreply.github.com> | 2018-08-22 09:09:44 +0200 |
commit | 8e8326595f7ad5bf6b2d7ac1110504f97f7b3138 (patch) | |
tree | f966a703ff21cca2f7aeff583b683e685ec18d69 /src/video_core/engines/shader_bytecode.h | |
parent | Merge pull request #1136 from tech4me/master (diff) | |
download | yuzu-8e8326595f7ad5bf6b2d7ac1110504f97f7b3138.tar yuzu-8e8326595f7ad5bf6b2d7ac1110504f97f7b3138.tar.gz yuzu-8e8326595f7ad5bf6b2d7ac1110504f97f7b3138.tar.bz2 yuzu-8e8326595f7ad5bf6b2d7ac1110504f97f7b3138.tar.lz yuzu-8e8326595f7ad5bf6b2d7ac1110504f97f7b3138.tar.xz yuzu-8e8326595f7ad5bf6b2d7ac1110504f97f7b3138.tar.zst yuzu-8e8326595f7ad5bf6b2d7ac1110504f97f7b3138.zip |
Diffstat (limited to 'src/video_core/engines/shader_bytecode.h')
-rw-r--r-- | src/video_core/engines/shader_bytecode.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index 67194b0e3..a36df65f9 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h @@ -280,6 +280,19 @@ union Instruction { BitField<56, 1, u64> invert_b; } lop32i; + union { + BitField<28, 8, u64> imm_lut28; + BitField<48, 8, u64> imm_lut48; + + u32 GetImmLut28() const { + return static_cast<u32>(imm_lut28); + } + + u32 GetImmLut48() const { + return static_cast<u32>(imm_lut48); + } + } lop3; + u32 GetImm20_19() const { u32 imm{static_cast<u32>(imm20_19)}; imm <<= 12; @@ -650,6 +663,9 @@ public: LOP_R, LOP_IMM, LOP32I, + LOP3_C, + LOP3_R, + LOP3_IMM, MOV_C, MOV_R, MOV_IMM, @@ -872,6 +888,9 @@ private: INST("0101110001000---", Id::LOP_R, Type::ArithmeticInteger, "LOP_R"), INST("0011100001000---", Id::LOP_IMM, Type::ArithmeticInteger, "LOP_IMM"), INST("000001----------", Id::LOP32I, Type::ArithmeticIntegerImmediate, "LOP32I"), + INST("0000001---------", Id::LOP3_C, Type::ArithmeticInteger, "LOP3_C"), + INST("0101101111100---", Id::LOP3_R, Type::ArithmeticInteger, "LOP3_R"), + INST("0011110---------", Id::LOP3_IMM, Type::ArithmeticInteger, "LOP3_IMM"), INST("0100110001001---", Id::SHL_C, Type::Shift, "SHL_C"), INST("0101110001001---", Id::SHL_R, Type::Shift, "SHL_R"), INST("0011100-01001---", Id::SHL_IMM, Type::Shift, "SHL_IMM"), |