summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/shader_bytecode.h
diff options
context:
space:
mode:
authorFernandoS27 <fsahmkow27@gmail.com>2018-09-08 18:40:18 +0200
committerFernandoS27 <fsahmkow27@gmail.com>2018-09-10 02:46:31 +0200
commit00131e752dbe7103c4839ee1ee9d9ef889dacc61 (patch)
tree81d4e83756a885ec3f9c5faf2529ba78a9485d6f /src/video_core/engines/shader_bytecode.h
parentMerge pull request #1261 from FernandoS27/txq (diff)
downloadyuzu-00131e752dbe7103c4839ee1ee9d9ef889dacc61.tar
yuzu-00131e752dbe7103c4839ee1ee9d9ef889dacc61.tar.gz
yuzu-00131e752dbe7103c4839ee1ee9d9ef889dacc61.tar.bz2
yuzu-00131e752dbe7103c4839ee1ee9d9ef889dacc61.tar.lz
yuzu-00131e752dbe7103c4839ee1ee9d9ef889dacc61.tar.xz
yuzu-00131e752dbe7103c4839ee1ee9d9ef889dacc61.tar.zst
yuzu-00131e752dbe7103c4839ee1ee9d9ef889dacc61.zip
Diffstat (limited to 'src/video_core/engines/shader_bytecode.h')
-rw-r--r--src/video_core/engines/shader_bytecode.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h
index 6cfdb6e27..9176a8dbc 100644
--- a/src/video_core/engines/shader_bytecode.h
+++ b/src/video_core/engines/shader_bytecode.h
@@ -536,6 +536,16 @@ union Instruction {
union {
BitField<28, 1, u64> array;
BitField<29, 2, TextureType> texture_type;
+ BitField<31, 4, u64> component_mask;
+
+ bool IsComponentEnabled(size_t component) const {
+ return ((1ull << component) & component_mask) != 0;
+ }
+ } tmml;
+
+ union {
+ BitField<28, 1, u64> array;
+ BitField<29, 2, TextureType> texture_type;
BitField<56, 2, u64> component;
} tld4;
@@ -685,11 +695,13 @@ public:
LDG, // Load from global memory
STG, // Store in global memory
TEX,
- TXQ, // Texture Query
- TEXS, // Texture Fetch with scalar/non-vec4 source/destinations
- TLDS, // Texture Load with scalar/non-vec4 source/destinations
- TLD4, // Texture Load 4
- TLD4S, // Texture Load 4 with scalar / non - vec4 source / destinations
+ TXQ, // Texture Query
+ TEXS, // Texture Fetch with scalar/non-vec4 source/destinations
+ TLDS, // Texture Load with scalar/non-vec4 source/destinations
+ TLD4, // Texture Load 4
+ TLD4S, // Texture Load 4 with scalar / non - vec4 source / destinations
+ TMML_B, // Texture Mip Map Level
+ TMML, // Texture Mip Map Level
EXIT,
IPA,
FFMA_IMM, // Fused Multiply and Add
@@ -914,6 +926,8 @@ private:
INST("1101101---------", Id::TLDS, Type::Memory, "TLDS"),
INST("110010----111---", Id::TLD4, Type::Memory, "TLD4"),
INST("1101111100------", Id::TLD4S, Type::Memory, "TLD4S"),
+ INST("110111110110----", Id::TMML_B, Type::Memory, "TMML_B"),
+ INST("1101111101011---", Id::TMML, Type::Memory, "TMML"),
INST("111000110000----", Id::EXIT, Type::Trivial, "EXIT"),
INST("11100000--------", Id::IPA, Type::Trivial, "IPA"),
INST("0011001-1-------", Id::FFMA_IMM, Type::Ffma, "FFMA_IMM"),