|
|
|
@ -966,6 +966,38 @@ union Instruction { |
|
|
|
} |
|
|
|
} tex; |
|
|
|
|
|
|
|
union { |
|
|
|
BitField<28, 1, u64> array; |
|
|
|
BitField<29, 2, TextureType> texture_type; |
|
|
|
BitField<31, 4, u64> component_mask; |
|
|
|
BitField<49, 1, u64> nodep_flag; |
|
|
|
BitField<50, 1, u64> dc_flag; |
|
|
|
BitField<36, 1, u64> aoffi_flag; |
|
|
|
BitField<37, 3, TextureProcessMode> process_mode; |
|
|
|
|
|
|
|
bool IsComponentEnabled(std::size_t component) const { |
|
|
|
return ((1ull << component) & component_mask) != 0; |
|
|
|
} |
|
|
|
|
|
|
|
TextureProcessMode GetTextureProcessMode() const { |
|
|
|
return process_mode; |
|
|
|
} |
|
|
|
|
|
|
|
bool UsesMiscMode(TextureMiscMode mode) const { |
|
|
|
switch (mode) { |
|
|
|
case TextureMiscMode::DC: |
|
|
|
return dc_flag != 0; |
|
|
|
case TextureMiscMode::NODEP: |
|
|
|
return nodep_flag != 0; |
|
|
|
case TextureMiscMode::AOFFI: |
|
|
|
return aoffi_flag != 0; |
|
|
|
default: |
|
|
|
break; |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
} tex_b; |
|
|
|
|
|
|
|
union { |
|
|
|
BitField<22, 6, TextureQueryType> query_type; |
|
|
|
BitField<31, 4, u64> component_mask; |
|
|
|
|