mirror of
https://github.com/microsoft/DirectXTex.git
synced 2025-07-09 19:50:13 +02:00
DirectXTex: Added IsVolumemap() helper to TexMetadata
This commit is contained in:
parent
c5c8fece25
commit
c43f736184
@ -123,11 +123,14 @@ namespace DirectX
|
||||
// Returns size_t(-1) to indicate an out-of-range error
|
||||
|
||||
bool IsCubemap() const { return (miscFlags & TEX_MISC_TEXTURECUBE) != 0; }
|
||||
// Helpers for miscFlags
|
||||
// Helper for miscFlags
|
||||
|
||||
bool IsPMAlpha() const { return ((miscFlags2 & TEX_MISC2_ALPHA_MODE_MASK) == TEX_ALPHA_MODE_PREMULTIPLIED) != 0; }
|
||||
void SetAlphaMode( TEX_ALPHA_MODE mode ) { miscFlags2 = (miscFlags2 & ~TEX_MISC2_ALPHA_MODE_MASK) | static_cast<uint32_t>(mode); }
|
||||
// Helpers for miscFlags2
|
||||
|
||||
bool IsVolumemap() const { return (dimension == TEX_DIMENSION_TEXTURE3D); }
|
||||
// Helper for dimension
|
||||
};
|
||||
|
||||
enum DDS_FLAGS
|
||||
|
@ -30,7 +30,7 @@ static HRESULT _Capture( _In_ ID3D11DeviceContext* pContext, _In_ ID3D11Resource
|
||||
if ( !pContext || !pSource || !result.GetPixels() )
|
||||
return E_POINTER;
|
||||
|
||||
if ( metadata.dimension == TEX_DIMENSION_TEXTURE3D )
|
||||
if ( metadata.IsVolumemap() )
|
||||
{
|
||||
//--- Volume texture ----------------------------------------------------------
|
||||
assert( metadata.arraySize == 1 );
|
||||
@ -378,7 +378,7 @@ HRESULT CreateTextureEx( ID3D11Device* pDevice, const Image* srcImages, size_t n
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
// Fill out subresource array
|
||||
if ( metadata.dimension == TEX_DIMENSION_TEXTURE3D )
|
||||
if ( metadata.IsVolumemap() )
|
||||
{
|
||||
//--- Volume case -------------------------------------------------------------
|
||||
if ( !metadata.depth )
|
||||
|
@ -2644,7 +2644,7 @@ HRESULT GenerateMipMaps( const Image* srcImages, size_t nimages, const TexMetada
|
||||
if ( !srcImages || !nimages || !IsValid(metadata.format) )
|
||||
return E_INVALIDARG;
|
||||
|
||||
if ( metadata.dimension == TEX_DIMENSION_TEXTURE3D
|
||||
if ( metadata.IsVolumemap()
|
||||
|| IsCompressed( metadata.format ) || IsVideo( metadata.format ) )
|
||||
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
|
||||
|
||||
@ -2953,7 +2953,7 @@ HRESULT GenerateMipMaps3D( const Image* srcImages, size_t nimages, const TexMeta
|
||||
if ( filter & TEX_FILTER_FORCE_WIC )
|
||||
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
|
||||
|
||||
if ( metadata.dimension != TEX_DIMENSION_TEXTURE3D
|
||||
if ( !metadata.IsVolumemap()
|
||||
|| IsCompressed( metadata.format ) || IsVideo( metadata.format ) )
|
||||
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user