diff options
Diffstat (limited to 'src/video_core/engines')
| -rw-r--r-- | src/video_core/engines/shader_bytecode.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/video_core/engines/shader_bytecode.h b/src/video_core/engines/shader_bytecode.h index d2388673e..6cfdb6e27 100644 --- a/src/video_core/engines/shader_bytecode.h +++ b/src/video_core/engines/shader_bytecode.h | |||
| @@ -244,6 +244,16 @@ enum class TextureType : u64 { | |||
| 244 | TextureCube = 3, | 244 | TextureCube = 3, |
| 245 | }; | 245 | }; |
| 246 | 246 | ||
| 247 | enum class TextureQueryType : u64 { | ||
| 248 | Dimension = 1, | ||
| 249 | TextureType = 2, | ||
| 250 | SamplePosition = 5, | ||
| 251 | Filter = 16, | ||
| 252 | LevelOfDetail = 18, | ||
| 253 | Wrap = 20, | ||
| 254 | BorderColor = 22, | ||
| 255 | }; | ||
| 256 | |||
| 247 | enum class IpaInterpMode : u64 { Linear = 0, Perspective = 1, Flat = 2, Sc = 3 }; | 257 | enum class IpaInterpMode : u64 { Linear = 0, Perspective = 1, Flat = 2, Sc = 3 }; |
| 248 | enum class IpaSampleMode : u64 { Default = 0, Centroid = 1, Offset = 2 }; | 258 | enum class IpaSampleMode : u64 { Default = 0, Centroid = 1, Offset = 2 }; |
| 249 | 259 | ||
| @@ -519,6 +529,11 @@ union Instruction { | |||
| 519 | } tex; | 529 | } tex; |
| 520 | 530 | ||
| 521 | union { | 531 | union { |
| 532 | BitField<22, 6, TextureQueryType> query_type; | ||
| 533 | BitField<31, 4, u64> component_mask; | ||
| 534 | } txq; | ||
| 535 | |||
| 536 | union { | ||
| 522 | BitField<28, 1, u64> array; | 537 | BitField<28, 1, u64> array; |
| 523 | BitField<29, 2, TextureType> texture_type; | 538 | BitField<29, 2, TextureType> texture_type; |
| 524 | BitField<56, 2, u64> component; | 539 | BitField<56, 2, u64> component; |
| @@ -670,7 +685,7 @@ public: | |||
| 670 | LDG, // Load from global memory | 685 | LDG, // Load from global memory |
| 671 | STG, // Store in global memory | 686 | STG, // Store in global memory |
| 672 | TEX, | 687 | TEX, |
| 673 | TEXQ, // Texture Query | 688 | TXQ, // Texture Query |
| 674 | TEXS, // Texture Fetch with scalar/non-vec4 source/destinations | 689 | TEXS, // Texture Fetch with scalar/non-vec4 source/destinations |
| 675 | TLDS, // Texture Load with scalar/non-vec4 source/destinations | 690 | TLDS, // Texture Load with scalar/non-vec4 source/destinations |
| 676 | TLD4, // Texture Load 4 | 691 | TLD4, // Texture Load 4 |
| @@ -894,7 +909,7 @@ private: | |||
| 894 | INST("1110111011010---", Id::LDG, Type::Memory, "LDG"), | 909 | INST("1110111011010---", Id::LDG, Type::Memory, "LDG"), |
| 895 | INST("1110111011011---", Id::STG, Type::Memory, "STG"), | 910 | INST("1110111011011---", Id::STG, Type::Memory, "STG"), |
| 896 | INST("110000----111---", Id::TEX, Type::Memory, "TEX"), | 911 | INST("110000----111---", Id::TEX, Type::Memory, "TEX"), |
| 897 | INST("1101111101001---", Id::TEXQ, Type::Memory, "TEXQ"), | 912 | INST("1101111101001---", Id::TXQ, Type::Memory, "TXQ"), |
| 898 | INST("1101100---------", Id::TEXS, Type::Memory, "TEXS"), | 913 | INST("1101100---------", Id::TEXS, Type::Memory, "TEXS"), |
| 899 | INST("1101101---------", Id::TLDS, Type::Memory, "TLDS"), | 914 | INST("1101101---------", Id::TLDS, Type::Memory, "TLDS"), |
| 900 | INST("110010----111---", Id::TLD4, Type::Memory, "TLD4"), | 915 | INST("110010----111---", Id::TLD4, Type::Memory, "TLD4"), |