|
|
|
@ -244,6 +244,16 @@ enum class TextureType : u64 { |
|
|
|
TextureCube = 3, |
|
|
|
}; |
|
|
|
|
|
|
|
enum class TextureQueryType : u64 { |
|
|
|
Dimension = 1, |
|
|
|
TextureType = 2, |
|
|
|
SamplePosition = 5, |
|
|
|
Filter = 16, |
|
|
|
LevelOfDetail = 18, |
|
|
|
Wrap = 20, |
|
|
|
BorderColor = 22, |
|
|
|
}; |
|
|
|
|
|
|
|
enum class IpaInterpMode : u64 { Linear = 0, Perspective = 1, Flat = 2, Sc = 3 }; |
|
|
|
enum class IpaSampleMode : u64 { Default = 0, Centroid = 1, Offset = 2 }; |
|
|
|
|
|
|
|
@ -518,6 +528,11 @@ union Instruction { |
|
|
|
} |
|
|
|
} tex; |
|
|
|
|
|
|
|
union { |
|
|
|
BitField<22, 6, TextureQueryType> query_type; |
|
|
|
BitField<31, 4, u64> component_mask; |
|
|
|
} txq; |
|
|
|
|
|
|
|
union { |
|
|
|
BitField<28, 1, u64> array; |
|
|
|
BitField<29, 2, TextureType> texture_type; |
|
|
|
@ -670,7 +685,7 @@ public: |
|
|
|
LDG, // Load from global memory |
|
|
|
STG, // Store in global memory |
|
|
|
TEX, |
|
|
|
TEXQ, // Texture Query |
|
|
|
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 |
|
|
|
@ -894,7 +909,7 @@ private: |
|
|
|
INST("1110111011010---", Id::LDG, Type::Memory, "LDG"), |
|
|
|
INST("1110111011011---", Id::STG, Type::Memory, "STG"), |
|
|
|
INST("110000----111---", Id::TEX, Type::Memory, "TEX"), |
|
|
|
INST("1101111101001---", Id::TEXQ, Type::Memory, "TEXQ"), |
|
|
|
INST("1101111101001---", Id::TXQ, Type::Memory, "TXQ"), |
|
|
|
INST("1101100---------", Id::TEXS, Type::Memory, "TEXS"), |
|
|
|
INST("1101101---------", Id::TLDS, Type::Memory, "TLDS"), |
|
|
|
INST("110010----111---", Id::TLD4, Type::Memory, "TLD4"), |
|
|
|
|