mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-12-23 08:50:57 +01:00
video_core/texture: Add a raw representation of TSCEntry
This commit is contained in:
parent
2ad44a453f
commit
8ebeb9ade2
1 changed files with 29 additions and 24 deletions
|
@ -283,31 +283,36 @@ enum class TextureMipmapFilter : u32 {
|
||||||
|
|
||||||
struct TSCEntry {
|
struct TSCEntry {
|
||||||
union {
|
union {
|
||||||
BitField<0, 3, WrapMode> wrap_u;
|
struct {
|
||||||
BitField<3, 3, WrapMode> wrap_v;
|
union {
|
||||||
BitField<6, 3, WrapMode> wrap_p;
|
BitField<0, 3, WrapMode> wrap_u;
|
||||||
BitField<9, 1, u32> depth_compare_enabled;
|
BitField<3, 3, WrapMode> wrap_v;
|
||||||
BitField<10, 3, DepthCompareFunc> depth_compare_func;
|
BitField<6, 3, WrapMode> wrap_p;
|
||||||
BitField<13, 1, u32> srgb_conversion;
|
BitField<9, 1, u32> depth_compare_enabled;
|
||||||
BitField<20, 3, u32> max_anisotropy;
|
BitField<10, 3, DepthCompareFunc> depth_compare_func;
|
||||||
|
BitField<13, 1, u32> srgb_conversion;
|
||||||
|
BitField<20, 3, u32> max_anisotropy;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
BitField<0, 2, TextureFilter> mag_filter;
|
||||||
|
BitField<4, 2, TextureFilter> min_filter;
|
||||||
|
BitField<6, 2, TextureMipmapFilter> mipmap_filter;
|
||||||
|
BitField<9, 1, u32> cubemap_interface_filtering;
|
||||||
|
BitField<12, 13, u32> mip_lod_bias;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
BitField<0, 12, u32> min_lod_clamp;
|
||||||
|
BitField<12, 12, u32> max_lod_clamp;
|
||||||
|
BitField<24, 8, u32> srgb_border_color_r;
|
||||||
|
};
|
||||||
|
union {
|
||||||
|
BitField<12, 8, u32> srgb_border_color_g;
|
||||||
|
BitField<20, 8, u32> srgb_border_color_b;
|
||||||
|
};
|
||||||
|
std::array<f32, 4> border_color;
|
||||||
|
};
|
||||||
|
std::array<u32, 8> raw;
|
||||||
};
|
};
|
||||||
union {
|
|
||||||
BitField<0, 2, TextureFilter> mag_filter;
|
|
||||||
BitField<4, 2, TextureFilter> min_filter;
|
|
||||||
BitField<6, 2, TextureMipmapFilter> mipmap_filter;
|
|
||||||
BitField<9, 1, u32> cubemap_interface_filtering;
|
|
||||||
BitField<12, 13, u32> mip_lod_bias;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
BitField<0, 12, u32> min_lod_clamp;
|
|
||||||
BitField<12, 12, u32> max_lod_clamp;
|
|
||||||
BitField<24, 8, u32> srgb_border_color_r;
|
|
||||||
};
|
|
||||||
union {
|
|
||||||
BitField<12, 8, u32> srgb_border_color_g;
|
|
||||||
BitField<20, 8, u32> srgb_border_color_b;
|
|
||||||
};
|
|
||||||
std::array<f32, 4> border_color;
|
|
||||||
|
|
||||||
float GetMaxAnisotropy() const {
|
float GetMaxAnisotropy() const {
|
||||||
return static_cast<float>(1U << max_anisotropy);
|
return static_cast<float>(1U << max_anisotropy);
|
||||||
|
|
Loading…
Reference in a new issue