summaryrefslogtreecommitdiffstats
path: root/src/video_core/textures
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-06-07 01:28:09 +0200
committerSubv <subv2112@gmail.com>2018-06-07 01:36:15 +0200
commit47629c89a872cb35919b1d264973e8d6633bb654 (patch)
tree13cd7b27b562641e0eafe15df637f2f5d09e70fe /src/video_core/textures
parentGLState: Support changing the GL_TEXTURE_SWIZZLE parameter of each texture unit. (diff)
downloadyuzu-47629c89a872cb35919b1d264973e8d6633bb654.tar
yuzu-47629c89a872cb35919b1d264973e8d6633bb654.tar.gz
yuzu-47629c89a872cb35919b1d264973e8d6633bb654.tar.bz2
yuzu-47629c89a872cb35919b1d264973e8d6633bb654.tar.lz
yuzu-47629c89a872cb35919b1d264973e8d6633bb654.tar.xz
yuzu-47629c89a872cb35919b1d264973e8d6633bb654.tar.zst
yuzu-47629c89a872cb35919b1d264973e8d6633bb654.zip
Diffstat (limited to 'src/video_core/textures')
-rw-r--r--src/video_core/textures/texture.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/video_core/textures/texture.h b/src/video_core/textures/texture.h
index f48ca30b8..a17eaf19d 100644
--- a/src/video_core/textures/texture.h
+++ b/src/video_core/textures/texture.h
@@ -122,6 +122,17 @@ enum class ComponentType : u32 {
FLOAT = 7
};
+enum class SwizzleSource : u32 {
+ Zero = 0,
+
+ R = 2,
+ G = 3,
+ B = 4,
+ A = 5,
+ OneInt = 6,
+ OneFloat = 7,
+};
+
union TextureHandle {
u32 raw;
BitField<0, 20, u32> tic_id;
@@ -139,6 +150,11 @@ struct TICEntry {
BitField<10, 3, ComponentType> g_type;
BitField<13, 3, ComponentType> b_type;
BitField<16, 3, ComponentType> a_type;
+
+ BitField<19, 3, SwizzleSource> x_source;
+ BitField<22, 3, SwizzleSource> y_source;
+ BitField<25, 3, SwizzleSource> z_source;
+ BitField<28, 3, SwizzleSource> w_source;
};
u32 address_low;
union {