summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-09-10 03:39:39 +0200
committerGitHub <noreply@github.com>2018-09-10 03:39:39 +0200
commite58855c7a4596f8a2a69adfb1e4c3464a15f03a2 (patch)
treef10985b77f34a6d907bde37122d0d6353ba17091 /src/video_core/engines
parentMerge pull request #1272 from Subv/dma_2d (diff)
parentImplemented TMML (diff)
downloadyuzu-e58855c7a4596f8a2a69adfb1e4c3464a15f03a2.tar
yuzu-e58855c7a4596f8a2a69adfb1e4c3464a15f03a2.tar.gz
yuzu-e58855c7a4596f8a2a69adfb1e4c3464a15f03a2.tar.bz2
yuzu-e58855c7a4596f8a2a69adfb1e4c3464a15f03a2.tar.lz
yuzu-e58855c7a4596f8a2a69adfb1e4c3464a15f03a2.tar.xz
yuzu-e58855c7a4596f8a2a69adfb1e4c3464a15f03a2.tar.zst
yuzu-e58855c7a4596f8a2a69adfb1e4c3464a15f03a2.zip
Diffstat (limited to 'src/video_core/engines')
-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"),