summaryrefslogtreecommitdiffstats
path: root/src/video_core/textures
diff options
context:
space:
mode:
authorFernandoS27 <fsahmkow27@gmail.com>2018-10-08 20:34:55 +0200
committerFernandoS27 <fsahmkow27@gmail.com>2018-10-10 03:14:32 +0200
commitaf653906d0cf38556acae1f8e5d3f8968ff7074a (patch)
tree55197afb627984e1756a885a9c4df9b0091d923c /src/video_core/textures
parentMerge pull request #1423 from DarkLordZach/romfs-file-exts (diff)
downloadyuzu-af653906d0cf38556acae1f8e5d3f8968ff7074a.tar
yuzu-af653906d0cf38556acae1f8e5d3f8968ff7074a.tar.gz
yuzu-af653906d0cf38556acae1f8e5d3f8968ff7074a.tar.bz2
yuzu-af653906d0cf38556acae1f8e5d3f8968ff7074a.tar.lz
yuzu-af653906d0cf38556acae1f8e5d3f8968ff7074a.tar.xz
yuzu-af653906d0cf38556acae1f8e5d3f8968ff7074a.tar.zst
yuzu-af653906d0cf38556acae1f8e5d3f8968ff7074a.zip
Diffstat (limited to 'src/video_core/textures')
-rw-r--r--src/video_core/textures/texture.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/video_core/textures/texture.h b/src/video_core/textures/texture.h
index 8f31d825a..58d17abcb 100644
--- a/src/video_core/textures/texture.h
+++ b/src/video_core/textures/texture.h
@@ -161,7 +161,9 @@ struct TICEntry {
BitField<21, 3, TICHeaderVersion> header_version;
};
union {
+ BitField<0, 3, u32> block_width;
BitField<3, 3, u32> block_height;
+ BitField<6, 3, u32> block_depth;
// High 16 bits of the pitch value
BitField<0, 16, u32> pitch_high;
@@ -202,13 +204,24 @@ struct TICEntry {
return depth_minus_1 + 1;
}
+ u32 BlockWidth() const {
+ ASSERT(IsTiled());
+ // The block height is stored in log2 format.
+ return 1 << block_width;
+ }
+
u32 BlockHeight() const {
- ASSERT(header_version == TICHeaderVersion::BlockLinear ||
- header_version == TICHeaderVersion::BlockLinearColorKey);
+ ASSERT(IsTiled());
// The block height is stored in log2 format.
return 1 << block_height;
}
+ u32 BlockDepth() const {
+ ASSERT(IsTiled());
+ // The block height is stored in log2 format.
+ return 1 << block_depth;
+ }
+
bool IsTiled() const {
return header_version == TICHeaderVersion::BlockLinear ||
header_version == TICHeaderVersion::BlockLinearColorKey;