summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/shader_bytecode.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-06-17 19:26:11 +0200
committerbunnei <bunneidev@gmail.com>2018-06-17 21:27:48 +0200
commitafdd657d307306af27796199b798e7441fb7e21d (patch)
tree196b3267a4521b1bd0fb103e6e20854705499b35 /src/video_core/engines/shader_bytecode.h
parentgl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP. (diff)
downloadyuzu-afdd657d307306af27796199b798e7441fb7e21d.tar
yuzu-afdd657d307306af27796199b798e7441fb7e21d.tar.gz
yuzu-afdd657d307306af27796199b798e7441fb7e21d.tar.bz2
yuzu-afdd657d307306af27796199b798e7441fb7e21d.tar.lz
yuzu-afdd657d307306af27796199b798e7441fb7e21d.tar.xz
yuzu-afdd657d307306af27796199b798e7441fb7e21d.tar.zst
yuzu-afdd657d307306af27796199b798e7441fb7e21d.zip
Diffstat (limited to 'src/video_core/engines/shader_bytecode.h')
-rw-r--r--src/video_core/engines/shader_bytecode.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 800b70dbf..cefd57f4c 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -230,6 +230,14 @@ union Instruction {
} fmnmx;
union {
+ BitField<39, 1, u64> invert_a;
+ BitField<40, 1, u64> invert_b;
+ BitField<41, 2, LogicOperation> operation;
+ BitField<44, 2, u64> unk44;
+ BitField<48, 3, Pred> pred48;
+ } lop;
+
+ union {
BitField<53, 2, LogicOperation> operation;
BitField<55, 1, u64> invert_a;
BitField<56, 1, u64> invert_b;
@@ -476,6 +484,9 @@ public:
I2I_C,
I2I_R,
I2I_IMM,
+ LOP_C,
+ LOP_R,
+ LOP_IMM,
LOP32I,
MOV_C,
MOV_R,
@@ -675,6 +686,9 @@ private:
INST("0100110000000---", Id::BFE_C, Type::Bfe, "BFE_C"),
INST("0101110000000---", Id::BFE_R, Type::Bfe, "BFE_R"),
INST("0011100-00000---", Id::BFE_IMM, Type::Bfe, "BFE_IMM"),
+ INST("0100110001000---", Id::LOP_C, Type::ArithmeticInteger, "LOP_C"),
+ 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("0100110001001---", Id::SHL_C, Type::Shift, "SHL_C"),
INST("0101110001001---", Id::SHL_R, Type::Shift, "SHL_R"),