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
|
// Returns size_t(-1) to indicate an out-of-range error
|
||||||
|
|
||||||
bool IsCubemap() const { return (miscFlags & TEX_MISC_TEXTURECUBE) != 0; }
|
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; }
|
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); }
|
void SetAlphaMode( TEX_ALPHA_MODE mode ) { miscFlags2 = (miscFlags2 & ~TEX_MISC2_ALPHA_MODE_MASK) | static_cast<uint32_t>(mode); }
|
||||||
// Helpers for miscFlags2
|
// Helpers for miscFlags2
|
||||||
|
|
||||||
|
bool IsVolumemap() const { return (dimension == TEX_DIMENSION_TEXTURE3D); }
|
||||||
|
// Helper for dimension
|
||||||
};
|
};
|
||||||
|
|
||||||
enum DDS_FLAGS
|
enum DDS_FLAGS
|
||||||
|
@ -30,7 +30,7 @@ static HRESULT _Capture( _In_ ID3D11DeviceContext* pContext, _In_ ID3D11Resource
|
|||||||
if ( !pContext || !pSource || !result.GetPixels() )
|
if ( !pContext || !pSource || !result.GetPixels() )
|
||||||
return E_POINTER;
|
return E_POINTER;
|
||||||
|
|
||||||
if ( metadata.dimension == TEX_DIMENSION_TEXTURE3D )
|
if ( metadata.IsVolumemap() )
|
||||||
{
|
{
|
||||||
//--- Volume texture ----------------------------------------------------------
|
//--- Volume texture ----------------------------------------------------------
|
||||||
assert( metadata.arraySize == 1 );
|
assert( metadata.arraySize == 1 );
|
||||||
@ -378,7 +378,7 @@ HRESULT CreateTextureEx( ID3D11Device* pDevice, const Image* srcImages, size_t n
|
|||||||
return E_OUTOFMEMORY;
|
return E_OUTOFMEMORY;
|
||||||
|
|
||||||
// Fill out subresource array
|
// Fill out subresource array
|
||||||
if ( metadata.dimension == TEX_DIMENSION_TEXTURE3D )
|
if ( metadata.IsVolumemap() )
|
||||||
{
|
{
|
||||||
//--- Volume case -------------------------------------------------------------
|
//--- Volume case -------------------------------------------------------------
|
||||||
if ( !metadata.depth )
|
if ( !metadata.depth )
|
||||||
|
@ -2644,7 +2644,7 @@ HRESULT GenerateMipMaps( const Image* srcImages, size_t nimages, const TexMetada
|
|||||||
if ( !srcImages || !nimages || !IsValid(metadata.format) )
|
if ( !srcImages || !nimages || !IsValid(metadata.format) )
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
if ( metadata.dimension == TEX_DIMENSION_TEXTURE3D
|
if ( metadata.IsVolumemap()
|
||||||
|| IsCompressed( metadata.format ) || IsVideo( metadata.format ) )
|
|| IsCompressed( metadata.format ) || IsVideo( metadata.format ) )
|
||||||
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
|
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 )
|
if ( filter & TEX_FILTER_FORCE_WIC )
|
||||||
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
|
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
|
||||||
|
|
||||||
if ( metadata.dimension != TEX_DIMENSION_TEXTURE3D
|
if ( !metadata.IsVolumemap()
|
||||||
|| IsCompressed( metadata.format ) || IsVideo( metadata.format ) )
|
|| IsCompressed( metadata.format ) || IsVideo( metadata.format ) )
|
||||||
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
|
return HRESULT_FROM_WIN32( ERROR_NOT_SUPPORTED );
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user