@ -125,16 +125,6 @@ enum class SurfaceTarget {
TextureCubeArray ,
} ;
/**
* Gets the compression factor for the specified PixelFormat . This applies to just the
* " compressed width " and " compressed height " , not the overall compression factor of a
* compressed image . This is used for maintaining proper surface sizes for compressed
* texture formats .
*/
static constexpr u32 GetCompressionFactor ( PixelFormat format ) {
if ( format = = PixelFormat : : Invalid )
return 0 ;
constexpr std : : array < u32 , MaxPixelFormat > compression_factor_table = { {
1 , // ABGR8U
1 , // ABGR8S
@ -204,13 +194,20 @@ static constexpr u32 GetCompressionFactor(PixelFormat format) {
1 , // Z32FS8
} } ;
/**
* Gets the compression factor for the specified PixelFormat . This applies to just the
* " compressed width " and " compressed height " , not the overall compression factor of a
* compressed image . This is used for maintaining proper surface sizes for compressed
* texture formats .
*/
static constexpr u32 GetCompressionFactor ( PixelFormat format ) {
if ( format = = PixelFormat : : Invalid )
return 0 ;
ASSERT ( static_cast < std : : size_t > ( format ) < compression_factor_table . size ( ) ) ;
return compression_factor_table [ static_cast < std : : size_t > ( format ) ] ;
}
static constexpr u32 GetDefaultBlockWidth ( PixelFormat format ) {
if ( format = = PixelFormat : : Invalid )
return 0 ;
constexpr std : : array < u32 , MaxPixelFormat > block_width_table = { {
1 , // ABGR8U
1 , // ABGR8S
@ -279,14 +276,15 @@ static constexpr u32 GetDefaultBlockWidth(PixelFormat format) {
1 , // S8Z24
1 , // Z32FS8
} } ;
ASSERT ( static_cast < std : : size_t > ( format ) < block_width_table . size ( ) ) ;
return block_width_table [ static_cast < std : : size_t > ( format ) ] ;
}
static constexpr u32 GetDefaultBlock Height ( PixelFormat format ) {
static constexpr u32 GetDefaultBlockWidth ( PixelFormat format ) {
if ( format = = PixelFormat : : Invalid )
return 0 ;
ASSERT ( static_cast < std : : size_t > ( format ) < block_width_table . size ( ) ) ;
return block_width_table [ static_cast < std : : size_t > ( format ) ] ;
}
constexpr std : : array < u32 , MaxPixelFormat > block_height_table = { {
1 , // ABGR8U
1 , // ABGR8S
@ -356,14 +354,14 @@ static constexpr u32 GetDefaultBlockHeight(PixelFormat format) {
1 , // Z32FS8
} } ;
static constexpr u32 GetDefaultBlockHeight ( PixelFormat format ) {
if ( format = = PixelFormat : : Invalid )
return 0 ;
ASSERT ( static_cast < std : : size_t > ( format ) < block_height_table . size ( ) ) ;
return block_height_table [ static_cast < std : : size_t > ( format ) ] ;
}
static constexpr u32 GetFormatBpp ( PixelFormat format ) {
if ( format = = PixelFormat : : Invalid )
return 0 ;
constexpr std : : array < u32 , MaxPixelFormat > bpp_table = { {
32 , // ABGR8U
32 , // ABGR8S
@ -433,6 +431,10 @@ static constexpr u32 GetFormatBpp(PixelFormat format) {
64 , // Z32FS8
} } ;
static constexpr u32 GetFormatBpp ( PixelFormat format ) {
if ( format = = PixelFormat : : Invalid )
return 0 ;
ASSERT ( static_cast < std : : size_t > ( format ) < bpp_table . size ( ) ) ;
return bpp_table [ static_cast < std : : size_t > ( format ) ] ;
}