Skip to content

Commit 6e7801e

Browse files
authored
Use fixed width integers for underlying enum types (#538)
1 parent cea630a commit 6e7801e

16 files changed

+112
-106
lines changed

Auxiliary/DirectXTexXbox.h

+8-5
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
#include <d3d11_1.h>
4242
#endif
4343

44+
#include <cstdint>
45+
#include <utility>
46+
4447
#define DIRECTX_TEX_XBOX_VERSION 150
4548

4649
namespace Xbox
@@ -95,28 +98,28 @@ namespace Xbox
9598
// Image I/O
9699

97100
HRESULT __cdecl GetMetadataFromDDSMemory(
98-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
101+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
99102
_Out_ DirectX::TexMetadata& metadata, _Out_ bool& isXbox);
100103
HRESULT __cdecl GetMetadataFromDDSFile(
101104
_In_z_ const wchar_t* szFile, _Out_ DirectX::TexMetadata& metadata, _Out_ bool& isXbox);
102105

103106
HRESULT __cdecl GetMetadataFromDDSMemoryEx(
104-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
107+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
105108
_Out_ DirectX::TexMetadata& metadata, _Out_ bool& isXbox,
106109
_Out_opt_ DirectX::DDSMetaData* ddPixelFormat);
107110
HRESULT __cdecl GetMetadataFromDDSFileEx(
108111
_In_z_ const wchar_t* szFile, _Out_ DirectX::TexMetadata& metadata, _Out_ bool& isXbox,
109112
_Out_opt_ DirectX::DDSMetaData* ddPixelFormat);
110113

111114
HRESULT __cdecl LoadFromDDSMemory(
112-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
115+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
113116
_Out_opt_ DirectX::TexMetadata* metadata, _Out_ XboxImage& image);
114117
HRESULT __cdecl LoadFromDDSFile(
115118
_In_z_ const wchar_t* szFile,
116119
_Out_opt_ DirectX::TexMetadata* metadata, _Out_ XboxImage& image);
117120

118121
HRESULT __cdecl LoadFromDDSMemoryEx(
119-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
122+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
120123
_Out_opt_ DirectX::TexMetadata* metadata,
121124
_Out_opt_ DirectX::DDSMetaData* ddPixelFormat,
122125
_Out_ XboxImage& image);
@@ -173,6 +176,6 @@ namespace Xbox
173176
// DDS helper functions
174177
HRESULT __cdecl EncodeDDSHeader(
175178
const XboxImage& xbox,
176-
_Out_writes_bytes_(maxsize) void* pDestination, _In_ size_t maxsize) noexcept;
179+
_Out_writes_bytes_(maxsize) uint8_t* pDestination, _In_ size_t maxsize) noexcept;
177180

178181
} // namespace

Auxiliary/DirectXTexXboxDDS.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace
2727
// Decodes DDS header using XBOX extended header (variant of DX10 header)
2828
//-------------------------------------------------------------------------------------
2929
HRESULT DecodeDDSHeader(
30-
_In_reads_bytes_(size) const void* pSource,
30+
_In_reads_bytes_(size) const uint8_t* pSource,
3131
size_t size,
3232
DirectX::TexMetadata& metadata,
3333
_Out_opt_ DDSMetaData* ddPixelFormat,
@@ -229,7 +229,7 @@ namespace
229229
_Use_decl_annotations_
230230
HRESULT Xbox::EncodeDDSHeader(
231231
const XboxImage& xbox,
232-
void* pDestination,
232+
uint8_t* pDestination,
233233
size_t maxsize) noexcept
234234
{
235235
if (!pDestination)
@@ -383,7 +383,7 @@ HRESULT Xbox::EncodeDDSHeader(
383383

384384
_Use_decl_annotations_
385385
HRESULT Xbox::GetMetadataFromDDSMemory(
386-
const void* pSource,
386+
const uint8_t* pSource,
387387
size_t size,
388388
TexMetadata& metadata,
389389
bool& isXbox)
@@ -393,7 +393,7 @@ HRESULT Xbox::GetMetadataFromDDSMemory(
393393

394394
_Use_decl_annotations_
395395
HRESULT Xbox::GetMetadataFromDDSMemoryEx(
396-
const void* pSource,
396+
const uint8_t* pSource,
397397
size_t size,
398398
TexMetadata& metadata,
399399
bool& isXbox,
@@ -498,7 +498,7 @@ HRESULT Xbox::GetMetadataFromDDSFileEx(
498498
//-------------------------------------------------------------------------------------
499499
_Use_decl_annotations_
500500
HRESULT Xbox::LoadFromDDSMemory(
501-
const void* pSource,
501+
const uint8_t* pSource,
502502
size_t size,
503503
TexMetadata* metadata,
504504
XboxImage& xbox)
@@ -508,7 +508,7 @@ HRESULT Xbox::LoadFromDDSMemory(
508508

509509
_Use_decl_annotations_
510510
HRESULT Xbox::LoadFromDDSMemoryEx(
511-
const void* pSource,
511+
const uint8_t* pSource,
512512
size_t size,
513513
TexMetadata* metadata,
514514
DDSMetaData* ddPixelFormat,
@@ -694,7 +694,7 @@ HRESULT Xbox::SaveToDDSMemory(const XboxImage& xbox, Blob& blob)
694694
return hr;
695695

696696
// Copy header
697-
auto pDestination = reinterpret_cast<uint8_t*>(blob.GetBufferPointer());
697+
auto pDestination = blob.GetBufferPointer();
698698
assert(pDestination);
699699

700700
hr = EncodeDDSHeader(xbox, pDestination, DDS_XBOX_HEADER_SIZE);

DDSTextureLoader/DDSTextureLoader11.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ namespace DirectX
5353
#pragma clang diagnostic ignored "-Wdeprecated-dynamic-exception-spec"
5454
#endif
5555

56-
DEFINE_ENUM_FLAG_OPERATORS(DDS_LOADER_FLAGS);
56+
DEFINE_ENUM_FLAG_OPERATORS(DDS_LOADER_FLAGS)
5757

5858
#ifdef __clang__
5959
#pragma clang diagnostic pop

DDSTextureLoader/DDSTextureLoader12.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ namespace DirectX
7070
#pragma clang diagnostic ignored "-Wdeprecated-dynamic-exception-spec"
7171
#endif
7272

73-
DEFINE_ENUM_FLAG_OPERATORS(DDS_LOADER_FLAGS);
73+
DEFINE_ENUM_FLAG_OPERATORS(DDS_LOADER_FLAGS)
7474

7575
#ifdef __clang__
7676
#pragma clang diagnostic pop

DirectXTex/DirectXTex.h

+34-31
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ namespace DirectX
8686

8787
FORMAT_TYPE __cdecl FormatDataType(_In_ DXGI_FORMAT fmt) noexcept;
8888

89-
enum CP_FLAGS : unsigned long
89+
enum CP_FLAGS : uint32_t
9090
{
9191
CP_FLAGS_NONE = 0x0,
9292
// Normal operation
@@ -144,13 +144,13 @@ namespace DirectX
144144
TEX_DIMENSION_TEXTURE3D = 4,
145145
};
146146

147-
enum TEX_MISC_FLAG : unsigned long
147+
enum TEX_MISC_FLAG : uint32_t
148148
// Subset here matches D3D10_RESOURCE_MISC_FLAG and D3D11_RESOURCE_MISC_FLAG
149149
{
150150
TEX_MISC_TEXTURECUBE = 0x4L,
151151
};
152152

153-
enum TEX_MISC_FLAG2 : unsigned long
153+
enum TEX_MISC_FLAG2 : uint32_t
154154
{
155155
TEX_MISC2_ALPHA_MODE_MASK = 0x7L,
156156
};
@@ -210,7 +210,7 @@ namespace DirectX
210210
bool __cdecl IsDX10() const noexcept { return (fourCC == 0x30315844); }
211211
};
212212

213-
enum DDS_FLAGS : unsigned long
213+
enum DDS_FLAGS : uint32_t
214214
{
215215
DDS_FLAGS_NONE = 0x0,
216216

@@ -257,7 +257,7 @@ namespace DirectX
257257
// Enables the loader to read large dimension .dds files (i.e. greater than known hardware requirements)
258258
};
259259

260-
enum TGA_FLAGS : unsigned long
260+
enum TGA_FLAGS : uint32_t
261261
{
262262
TGA_FLAGS_NONE = 0x0,
263263

@@ -280,7 +280,7 @@ namespace DirectX
280280
// If no colorspace is specified in TGA 2.0 metadata, assume sRGB
281281
};
282282

283-
enum WIC_FLAGS : unsigned long
283+
enum WIC_FLAGS : uint32_t
284284
{
285285
WIC_FLAGS_NONE = 0x0,
286286

@@ -325,7 +325,7 @@ namespace DirectX
325325
};
326326

327327
HRESULT __cdecl GetMetadataFromDDSMemory(
328-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
328+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
329329
_In_ DDS_FLAGS flags,
330330
_Out_ TexMetadata& metadata) noexcept;
331331
HRESULT __cdecl GetMetadataFromDDSFile(
@@ -334,7 +334,7 @@ namespace DirectX
334334
_Out_ TexMetadata& metadata) noexcept;
335335

336336
HRESULT __cdecl GetMetadataFromDDSMemoryEx(
337-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
337+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
338338
_In_ DDS_FLAGS flags,
339339
_Out_ TexMetadata& metadata,
340340
_Out_opt_ DDSMetaData* ddPixelFormat) noexcept;
@@ -345,14 +345,14 @@ namespace DirectX
345345
_Out_opt_ DDSMetaData* ddPixelFormat) noexcept;
346346

347347
HRESULT __cdecl GetMetadataFromHDRMemory(
348-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
348+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
349349
_Out_ TexMetadata& metadata) noexcept;
350350
HRESULT __cdecl GetMetadataFromHDRFile(
351351
_In_z_ const wchar_t* szFile,
352352
_Out_ TexMetadata& metadata) noexcept;
353353

354354
HRESULT __cdecl GetMetadataFromTGAMemory(
355-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
355+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
356356
_In_ TGA_FLAGS flags,
357357
_Out_ TexMetadata& metadata) noexcept;
358358
HRESULT __cdecl GetMetadataFromTGAFile(
@@ -362,7 +362,7 @@ namespace DirectX
362362

363363
#ifdef _WIN32
364364
HRESULT __cdecl GetMetadataFromWICMemory(
365-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
365+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
366366
_In_ WIC_FLAGS flags,
367367
_Out_ TexMetadata& metadata,
368368
_In_ std::function<void __cdecl(IWICMetadataQueryReader*)> getMQR = nullptr);
@@ -376,7 +376,7 @@ namespace DirectX
376376

377377
// Compatability helpers
378378
HRESULT __cdecl GetMetadataFromTGAMemory(
379-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
379+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
380380
_Out_ TexMetadata& metadata) noexcept;
381381
HRESULT __cdecl GetMetadataFromTGAFile(
382382
_In_z_ const wchar_t* szFile,
@@ -461,7 +461,10 @@ namespace DirectX
461461

462462
void __cdecl Release() noexcept;
463463

464-
void *__cdecl GetBufferPointer() const noexcept { return m_buffer; }
464+
uint8_t* __cdecl GetBufferPointer() const noexcept { return m_buffer; }
465+
466+
const uint8_t* __cdecl GetConstBufferPointer() const noexcept { return m_buffer; }
467+
465468
size_t __cdecl GetBufferSize() const noexcept { return m_size; }
466469

467470
HRESULT __cdecl Resize(size_t size) noexcept;
@@ -471,16 +474,16 @@ namespace DirectX
471474
// Shorten size without reallocation
472475

473476
private:
474-
void* m_buffer;
475-
size_t m_size;
477+
uint8_t* m_buffer;
478+
size_t m_size;
476479
};
477480

478481
//---------------------------------------------------------------------------------
479482
// Image I/O
480483

481484
// DDS operations
482485
HRESULT __cdecl LoadFromDDSMemory(
483-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
486+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
484487
_In_ DDS_FLAGS flags,
485488
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
486489
HRESULT __cdecl LoadFromDDSFile(
@@ -489,7 +492,7 @@ namespace DirectX
489492
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
490493

491494
HRESULT __cdecl LoadFromDDSMemoryEx(
492-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
495+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
493496
_In_ DDS_FLAGS flags,
494497
_Out_opt_ TexMetadata* metadata,
495498
_Out_opt_ DDSMetaData* ddPixelFormat,
@@ -517,7 +520,7 @@ namespace DirectX
517520

518521
// HDR operations
519522
HRESULT __cdecl LoadFromHDRMemory(
520-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
523+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
521524
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
522525
HRESULT __cdecl LoadFromHDRFile(
523526
_In_z_ const wchar_t* szFile,
@@ -528,7 +531,7 @@ namespace DirectX
528531

529532
// TGA operations
530533
HRESULT __cdecl LoadFromTGAMemory(
531-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
534+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
532535
_In_ TGA_FLAGS flags,
533536
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
534537
HRESULT __cdecl LoadFromTGAFile(
@@ -546,7 +549,7 @@ namespace DirectX
546549
// WIC operations
547550
#ifdef _WIN32
548551
HRESULT __cdecl LoadFromWICMemory(
549-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
552+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
550553
_In_ WIC_FLAGS flags,
551554
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image,
552555
_In_ std::function<void __cdecl(IWICMetadataQueryReader*)> getMQR = nullptr);
@@ -578,7 +581,7 @@ namespace DirectX
578581

579582
// Compatability helpers
580583
HRESULT __cdecl LoadFromTGAMemory(
581-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
584+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
582585
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
583586
HRESULT __cdecl LoadFromTGAFile(
584587
_In_z_ const wchar_t* szFile,
@@ -590,7 +593,7 @@ namespace DirectX
590593
//---------------------------------------------------------------------------------
591594
// Texture conversion, resizing, mipmap generation, and block compression
592595

593-
enum TEX_FR_FLAGS : unsigned long
596+
enum TEX_FR_FLAGS : uint32_t
594597
{
595598
TEX_FR_ROTATE0 = 0x0,
596599
TEX_FR_ROTATE90 = 0x1,
@@ -608,7 +611,7 @@ namespace DirectX
608611
// Flip and/or rotate image
609612
#endif
610613

611-
enum TEX_FILTER_FLAGS : unsigned long
614+
enum TEX_FILTER_FLAGS : uint32_t
612615
{
613616
TEX_FILTER_DEFAULT = 0,
614617

@@ -662,9 +665,9 @@ namespace DirectX
662665
// Forces use of the WIC path even when logic would have picked a non-WIC path when both are an option
663666
};
664667

665-
constexpr unsigned long TEX_FILTER_DITHER_MASK = 0xF0000;
666-
constexpr unsigned long TEX_FILTER_MODE_MASK = 0xF00000;
667-
constexpr unsigned long TEX_FILTER_SRGB_MASK = 0xF000000;
668+
constexpr uint32_t TEX_FILTER_DITHER_MASK = 0xF0000;
669+
constexpr uint32_t TEX_FILTER_MODE_MASK = 0xF00000;
670+
constexpr uint32_t TEX_FILTER_SRGB_MASK = 0xF000000;
668671

669672
HRESULT __cdecl Resize(
670673
_In_ const Image& srcImage, _In_ size_t width, _In_ size_t height,
@@ -731,7 +734,7 @@ namespace DirectX
731734
_In_ float alphaReference, _Inout_ ScratchImage& mipChain) noexcept;
732735

733736

734-
enum TEX_PMALPHA_FLAGS : unsigned long
737+
enum TEX_PMALPHA_FLAGS : uint32_t
735738
{
736739
TEX_PMALPHA_DEFAULT = 0,
737740

@@ -754,7 +757,7 @@ namespace DirectX
754757
_In_ TEX_PMALPHA_FLAGS flags, _Out_ ScratchImage& result) noexcept;
755758
// Converts to/from a premultiplied alpha version of the texture
756759

757-
enum TEX_COMPRESS_FLAGS : unsigned long
760+
enum TEX_COMPRESS_FLAGS : uint32_t
758761
{
759762
TEX_COMPRESS_DEFAULT = 0,
760763

@@ -840,7 +843,7 @@ namespace DirectX
840843
//---------------------------------------------------------------------------------
841844
// Normal map operations
842845

843-
enum CNMAP_FLAGS : unsigned long
846+
enum CNMAP_FLAGS : uint32_t
844847
{
845848
CNMAP_DEFAULT = 0,
846849

@@ -889,7 +892,7 @@ namespace DirectX
889892
_In_ const Image& srcImage, _In_ const Rect& srcRect, _In_ const Image& dstImage,
890893
_In_ TEX_FILTER_FLAGS filter, _In_ size_t xOffset, _In_ size_t yOffset) noexcept;
891894

892-
enum CMSE_FLAGS : unsigned long
895+
enum CMSE_FLAGS : uint32_t
893896
{
894897
CMSE_DEFAULT = 0,
895898

@@ -953,7 +956,7 @@ namespace DirectX
953956
// DDS helper functions
954957
HRESULT __cdecl EncodeDDSHeader(
955958
_In_ const TexMetadata& metadata, DDS_FLAGS flags,
956-
_Out_writes_bytes_to_opt_(maxsize, required) void* pDestination, _In_ size_t maxsize,
959+
_Out_writes_bytes_to_opt_(maxsize, required) uint8_t* pDestination, _In_ size_t maxsize,
957960
_Out_ size_t& required) noexcept;
958961

959962
//---------------------------------------------------------------------------------

0 commit comments

Comments
 (0)