summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/shader_bytecode.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-11-26 04:38:42 +0100
committerGitHub <noreply@github.com>2018-11-26 04:38:42 +0100
commitd7d1ab15b6b2d766c6744f120fc95d119f620cde (patch)
tree155d72981741b5b280709c0535c15a2dd232a15a /src/video_core/engines/shader_bytecode.h
parentMerge pull request #1782 from FernandoS27/dc (diff)
parentgl_shader_decompiler: Implement R2P_IMM (diff)
downloadyuzu-d7d1ab15b6b2d766c6744f120fc95d119f620cde.tar
yuzu-d7d1ab15b6b2d766c6744f120fc95d119f620cde.tar.gz
yuzu-d7d1ab15b6b2d766c6744f120fc95d119f620cde.tar.bz2
yuzu-d7d1ab15b6b2d766c6744f120fc95d119f620cde.tar.lz
yuzu-d7d1ab15b6b2d766c6744f120fc95d119f620cde.tar.xz
yuzu-d7d1ab15b6b2d766c6744f120fc95d119f620cde.tar.zst
yuzu-d7d1ab15b6b2d766c6744f120fc95d119f620cde.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 639bedb80..52d03aee8 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -368,6 +368,11 @@ enum class HalfPrecision : u64 {
FMZ = 2,
};
+enum class R2pMode : u64 {
+ Pr = 0,
+ Cc = 1,
+};
+
enum class IpaInterpMode : u64 {
Linear = 0,
Perspective = 1,
@@ -857,6 +862,12 @@ union Instruction {
} hsetp2;
union {
+ BitField<40, 1, R2pMode> mode;
+ BitField<41, 2, u64> byte;
+ BitField<20, 7, u64> immediate_mask;
+ } r2p;
+
+ union {
BitField<39, 3, u64> pred39;
BitField<42, 1, u64> neg_pred;
BitField<43, 1, u64> neg_a;
@@ -1383,6 +1394,7 @@ public:
PSETP,
PSET,
CSETP,
+ R2P_IMM,
XMAD_IMM,
XMAD_CR,
XMAD_RC,
@@ -1412,6 +1424,7 @@ public:
HalfSetPredicate,
PredicateSetPredicate,
PredicateSetRegister,
+ RegisterSetPredicate,
Conversion,
Xmad,
Unknown,
@@ -1649,6 +1662,7 @@ private:
INST("0101000010001---", Id::PSET, Type::PredicateSetRegister, "PSET"),
INST("0101000010010---", Id::PSETP, Type::PredicateSetPredicate, "PSETP"),
INST("010100001010----", Id::CSETP, Type::PredicateSetPredicate, "CSETP"),
+ INST("0011100-11110---", Id::R2P_IMM, Type::RegisterSetPredicate, "R2P_IMM"),
INST("0011011-00------", Id::XMAD_IMM, Type::Xmad, "XMAD_IMM"),
INST("0100111---------", Id::XMAD_CR, Type::Xmad, "XMAD_CR"),
INST("010100010-------", Id::XMAD_RC, Type::Xmad, "XMAD_RC"),