Convert WICTextureLoader, DDSTextureLoader12 to strongly typed flags

This commit is contained in:
Chuck Walbourn
2021-06-02 17:13:29 -07:00
parent d694249071
commit 3c9e187d96
8 changed files with 88 additions and 42 deletions

View File

@@ -1192,7 +1192,7 @@ namespace
size_t arraySize,
DXGI_FORMAT format,
D3D12_RESOURCE_FLAGS resFlags,
unsigned int loadFlags,
DDS_LOADER_FLAGS loadFlags,
_Outptr_ ID3D12Resource** texture) noexcept
{
if (!d3dDevice)
@@ -1243,7 +1243,7 @@ namespace
size_t bitSize,
size_t maxsize,
D3D12_RESOURCE_FLAGS resFlags,
unsigned int loadFlags,
DDS_LOADER_FLAGS loadFlags,
_Outptr_ ID3D12Resource** texture,
std::vector<D3D12_SUBRESOURCE_DATA>& subresources,
_Out_opt_ bool* outIsCubeMap) noexcept(false)
@@ -1585,7 +1585,7 @@ HRESULT DirectX::LoadDDSTextureFromMemoryEx(
size_t ddsDataSize,
size_t maxsize,
D3D12_RESOURCE_FLAGS resFlags,
unsigned int loadFlags,
DDS_LOADER_FLAGS loadFlags,
ID3D12Resource** texture,
std::vector<D3D12_SUBRESOURCE_DATA>& subresources,
DDS_ALPHA_MODE* alphaMode,
@@ -1675,7 +1675,7 @@ HRESULT DirectX::LoadDDSTextureFromFileEx(
const wchar_t* fileName,
size_t maxsize,
D3D12_RESOURCE_FLAGS resFlags,
unsigned int loadFlags,
DDS_LOADER_FLAGS loadFlags,
ID3D12Resource** texture,
std::unique_ptr<uint8_t[]>& ddsData,
std::vector<D3D12_SUBRESOURCE_DATA>& subresources,

View File

@@ -42,15 +42,31 @@ namespace DirectX
DDS_ALPHA_MODE_OPAQUE = 3,
DDS_ALPHA_MODE_CUSTOM = 4,
};
#endif
enum DDS_LOADER_FLAGS
#ifndef DDS_LOADER_FLAGS_DEFINED
#define DDS_LOADER_FLAGS_DEFINED
enum DDS_LOADER_FLAGS : uint32_t
{
DDS_LOADER_DEFAULT = 0,
DDS_LOADER_FORCE_SRGB = 0x1,
DDS_LOADER_MIP_RESERVE = 0x8,
};
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-dynamic-exception-spec"
#endif
DEFINE_ENUM_FLAG_OPERATORS(DDS_LOADER_FLAGS);
#ifdef __clang__
#pragma clang diagnostic pop
#endif
#endif
// Standard version
HRESULT __cdecl LoadDDSTextureFromMemory(
_In_ ID3D12Device* d3dDevice,
@@ -79,7 +95,7 @@ namespace DirectX
size_t ddsDataSize,
size_t maxsize,
D3D12_RESOURCE_FLAGS resFlags,
unsigned int loadFlags,
DDS_LOADER_FLAGS loadFlags,
_Outptr_ ID3D12Resource** texture,
std::vector<D3D12_SUBRESOURCE_DATA>& subresources,
_Out_opt_ DDS_ALPHA_MODE* alphaMode = nullptr,
@@ -90,7 +106,7 @@ namespace DirectX
_In_z_ const wchar_t* szFileName,
size_t maxsize,
D3D12_RESOURCE_FLAGS resFlags,
unsigned int loadFlags,
DDS_LOADER_FLAGS loadFlags,
_Outptr_ ID3D12Resource** texture,
std::unique_ptr<uint8_t[]>& ddsData,
std::vector<D3D12_SUBRESOURCE_DATA>& subresources,