diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-03-12 20:56:29 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-03-12 20:56:29 +0100 |
commit | 8ebeb9ade2ae279e2ad93e6e659ce12f30acaa02 (patch) | |
tree | 30768e5283329602e2ef0fa41402b26d53f46497 | |
parent | Merge pull request #2215 from ReinUsesLisp/samplers (diff) | |
download | yuzu-8ebeb9ade2ae279e2ad93e6e659ce12f30acaa02.tar yuzu-8ebeb9ade2ae279e2ad93e6e659ce12f30acaa02.tar.gz yuzu-8ebeb9ade2ae279e2ad93e6e659ce12f30acaa02.tar.bz2 yuzu-8ebeb9ade2ae279e2ad93e6e659ce12f30acaa02.tar.lz yuzu-8ebeb9ade2ae279e2ad93e6e659ce12f30acaa02.tar.xz yuzu-8ebeb9ade2ae279e2ad93e6e659ce12f30acaa02.tar.zst yuzu-8ebeb9ade2ae279e2ad93e6e659ce12f30acaa02.zip |
-rw-r--r-- | src/video_core/textures/texture.h | 53 |
1 files changed, 29 insertions, 24 deletions
diff --git a/src/video_core/textures/texture.h b/src/video_core/textures/texture.h index 8c278c0e2..a2b98245b 100644 --- a/src/video_core/textures/texture.h +++ b/src/video_core/textures/texture.h @@ -283,31 +283,36 @@ enum class TextureMipmapFilter : u32 { struct TSCEntry { union { - BitField<0, 3, WrapMode> wrap_u; - BitField<3, 3, WrapMode> wrap_v; - BitField<6, 3, WrapMode> wrap_p; - BitField<9, 1, u32> depth_compare_enabled; - BitField<10, 3, DepthCompareFunc> depth_compare_func; - BitField<13, 1, u32> srgb_conversion; - BitField<20, 3, u32> max_anisotropy; + struct { + union { + BitField<0, 3, WrapMode> wrap_u; + BitField<3, 3, WrapMode> wrap_v; + BitField<6, 3, WrapMode> wrap_p; + BitField<9, 1, u32> depth_compare_enabled; + 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 { return static_cast<float>(1U << max_anisotropy); |