Skip to content

Commit 56eb5aa

Browse files
committed
Use uint8_t* instead of void* for byte-addressible memory
1 parent c09b4fe commit 56eb5aa

9 files changed

+53
-50
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) const uint8_t* pDestination, _In_ size_t maxsize) noexcept;
177180

178181
} // namespace

Auxiliary/DirectXTexXboxDDS.cpp

+6-6
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,

DirectXTex/DirectXTex.h

+16-16
Original file line numberDiff line numberDiff line change
@@ -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,7 @@ 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; }
465465
size_t __cdecl GetBufferSize() const noexcept { return m_size; }
466466

467467
HRESULT __cdecl Resize(size_t size) noexcept;
@@ -471,16 +471,16 @@ namespace DirectX
471471
// Shorten size without reallocation
472472

473473
private:
474-
void* m_buffer;
475-
size_t m_size;
474+
uint8_t* m_buffer;
475+
size_t m_size;
476476
};
477477

478478
//---------------------------------------------------------------------------------
479479
// Image I/O
480480

481481
// DDS operations
482482
HRESULT __cdecl LoadFromDDSMemory(
483-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
483+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
484484
_In_ DDS_FLAGS flags,
485485
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
486486
HRESULT __cdecl LoadFromDDSFile(
@@ -489,7 +489,7 @@ namespace DirectX
489489
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
490490

491491
HRESULT __cdecl LoadFromDDSMemoryEx(
492-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
492+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
493493
_In_ DDS_FLAGS flags,
494494
_Out_opt_ TexMetadata* metadata,
495495
_Out_opt_ DDSMetaData* ddPixelFormat,
@@ -517,7 +517,7 @@ namespace DirectX
517517

518518
// HDR operations
519519
HRESULT __cdecl LoadFromHDRMemory(
520-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
520+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
521521
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
522522
HRESULT __cdecl LoadFromHDRFile(
523523
_In_z_ const wchar_t* szFile,
@@ -528,7 +528,7 @@ namespace DirectX
528528

529529
// TGA operations
530530
HRESULT __cdecl LoadFromTGAMemory(
531-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
531+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
532532
_In_ TGA_FLAGS flags,
533533
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
534534
HRESULT __cdecl LoadFromTGAFile(
@@ -546,7 +546,7 @@ namespace DirectX
546546
// WIC operations
547547
#ifdef _WIN32
548548
HRESULT __cdecl LoadFromWICMemory(
549-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
549+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
550550
_In_ WIC_FLAGS flags,
551551
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image,
552552
_In_ std::function<void __cdecl(IWICMetadataQueryReader*)> getMQR = nullptr);
@@ -578,7 +578,7 @@ namespace DirectX
578578

579579
// Compatability helpers
580580
HRESULT __cdecl LoadFromTGAMemory(
581-
_In_reads_bytes_(size) const void* pSource, _In_ size_t size,
581+
_In_reads_bytes_(size) const uint8_t* pSource, _In_ size_t size,
582582
_Out_opt_ TexMetadata* metadata, _Out_ ScratchImage& image) noexcept;
583583
HRESULT __cdecl LoadFromTGAFile(
584584
_In_z_ const wchar_t* szFile,
@@ -953,7 +953,7 @@ namespace DirectX
953953
// DDS helper functions
954954
HRESULT __cdecl EncodeDDSHeader(
955955
_In_ const TexMetadata& metadata, DDS_FLAGS flags,
956-
_Out_writes_bytes_to_opt_(maxsize, required) void* pDestination, _In_ size_t maxsize,
956+
_Out_writes_bytes_to_opt_(maxsize, required) uint8_t* pDestination, _In_ size_t maxsize,
957957
_Out_ size_t& required) noexcept;
958958

959959
//---------------------------------------------------------------------------------

DirectXTex/DirectXTex.inl

+2-2
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ inline HRESULT __cdecl SaveToDDSFile(const Image& image, DDS_FLAGS flags, const
156156
// Compatability helpers
157157
//=====================================================================================
158158
_Use_decl_annotations_
159-
inline HRESULT __cdecl GetMetadataFromTGAMemory(const void* pSource, size_t size, TexMetadata& metadata) noexcept
159+
inline HRESULT __cdecl GetMetadataFromTGAMemory(const uint8_t* pSource, size_t size, TexMetadata& metadata) noexcept
160160
{
161161
return GetMetadataFromTGAMemory(pSource, size, TGA_FLAGS_NONE, metadata);
162162
}
@@ -168,7 +168,7 @@ inline HRESULT __cdecl GetMetadataFromTGAFile(const wchar_t* szFile, TexMetadata
168168
}
169169

170170
_Use_decl_annotations_
171-
inline HRESULT __cdecl LoadFromTGAMemory(const void* pSource, size_t size, TexMetadata* metadata, ScratchImage& image) noexcept
171+
inline HRESULT __cdecl LoadFromTGAMemory(const uint8_t* pSource, size_t size, TexMetadata* metadata, ScratchImage& image) noexcept
172172
{
173173
return LoadFromTGAMemory(pSource, size, TGA_FLAGS_NONE, metadata, image);
174174
}

DirectXTex/DirectXTexDDS.cpp

+6-6
Original file line numberDiff line numberDiff line change
@@ -675,7 +675,7 @@ _Use_decl_annotations_
675675
HRESULT DirectX::EncodeDDSHeader(
676676
const TexMetadata& metadata,
677677
DDS_FLAGS flags,
678-
void* pDestination,
678+
uint8_t* pDestination,
679679
size_t maxsize,
680680
size_t& required) noexcept
681681
{
@@ -851,7 +851,7 @@ HRESULT DirectX::EncodeDDSHeader(
851851
if (maxsize < required)
852852
return E_NOT_SUFFICIENT_BUFFER;
853853

854-
*static_cast<uint32_t*>(pDestination) = DDS_MAGIC;
854+
*reinterpret_cast<uint32_t*>(pDestination) = DDS_MAGIC;
855855

856856
auto header = reinterpret_cast<DDS_HEADER*>(static_cast<uint8_t*>(pDestination) + sizeof(uint32_t));
857857
assert(header);
@@ -1835,7 +1835,7 @@ namespace
18351835

18361836
_Use_decl_annotations_
18371837
HRESULT DirectX::GetMetadataFromDDSMemory(
1838-
const void* pSource,
1838+
const uint8_t* pSource,
18391839
size_t size,
18401840
DDS_FLAGS flags,
18411841
TexMetadata& metadata) noexcept
@@ -1845,7 +1845,7 @@ HRESULT DirectX::GetMetadataFromDDSMemory(
18451845

18461846
_Use_decl_annotations_
18471847
HRESULT DirectX::GetMetadataFromDDSMemoryEx(
1848-
const void* pSource,
1848+
const uint8_t* pSource,
18491849
size_t size,
18501850
DDS_FLAGS flags,
18511851
TexMetadata& metadata,
@@ -1957,7 +1957,7 @@ HRESULT DirectX::GetMetadataFromDDSFileEx(
19571957
//-------------------------------------------------------------------------------------
19581958
_Use_decl_annotations_
19591959
HRESULT DirectX::LoadFromDDSMemory(
1960-
const void* pSource,
1960+
const uint8_t* pSource,
19611961
size_t size,
19621962
DDS_FLAGS flags,
19631963
TexMetadata* metadata,
@@ -1968,7 +1968,7 @@ HRESULT DirectX::LoadFromDDSMemory(
19681968

19691969
_Use_decl_annotations_
19701970
HRESULT DirectX::LoadFromDDSMemoryEx(
1971-
const void* pSource,
1971+
const uint8_t* pSource,
19721972
size_t size,
19731973
DDS_FLAGS flags,
19741974
TexMetadata* metadata,

DirectXTex/DirectXTexHDR.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ namespace
9494
// Decodes HDR header
9595
//-------------------------------------------------------------------------------------
9696
HRESULT DecodeHDRHeader(
97-
_In_reads_bytes_(size) const void* pSource,
97+
_In_reads_bytes_(size) const uint8_t* pSource,
9898
size_t size,
9999
_Out_ TexMetadata& metadata,
100100
size_t& offset,
@@ -121,7 +121,7 @@ namespace
121121

122122
// Process first part of header
123123
bool formatFound = false;
124-
auto info = static_cast<const char*>(pSource);
124+
auto info = reinterpret_cast<const char*>(pSource);
125125
while (size > 0)
126126
{
127127
if (*info == '\n')
@@ -310,7 +310,7 @@ namespace
310310
return E_FAIL;
311311
}
312312

313-
offset = size_t(info - static_cast<const char*>(pSource));
313+
offset = size_t(info - reinterpret_cast<const char*>(pSource));
314314

315315
metadata.width = width;
316316
metadata.height = height;
@@ -600,7 +600,7 @@ namespace
600600
// Obtain metadata from HDR file in memory/on disk
601601
//-------------------------------------------------------------------------------------
602602
_Use_decl_annotations_
603-
HRESULT DirectX::GetMetadataFromHDRMemory(const void* pSource, size_t size, TexMetadata& metadata) noexcept
603+
HRESULT DirectX::GetMetadataFromHDRMemory(const uint8_t* pSource, size_t size, TexMetadata& metadata) noexcept
604604
{
605605
if (!pSource || size == 0)
606606
return E_INVALIDARG;
@@ -696,7 +696,7 @@ HRESULT DirectX::GetMetadataFromHDRFile(const wchar_t* szFile, TexMetadata& meta
696696
// Load a HDR file in memory
697697
//-------------------------------------------------------------------------------------
698698
_Use_decl_annotations_
699-
HRESULT DirectX::LoadFromHDRMemory(const void* pSource, size_t size, TexMetadata* metadata, ScratchImage& image) noexcept
699+
HRESULT DirectX::LoadFromHDRMemory(const uint8_t* pSource, size_t size, TexMetadata* metadata, ScratchImage& image) noexcept
700700
{
701701
if (!pSource || size == 0)
702702
return E_INVALIDARG;

DirectXTex/DirectXTexTGA.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ namespace
139139
// Decodes TGA header
140140
//-------------------------------------------------------------------------------------
141141
HRESULT DecodeTGAHeader(
142-
_In_reads_bytes_(size) const void* pSource,
142+
_In_reads_bytes_(size) const uint8_t* pSource,
143143
size_t size,
144144
TGA_FLAGS flags,
145145
_Out_ TexMetadata& metadata,
@@ -156,7 +156,7 @@ namespace
156156
return HRESULT_E_INVALID_DATA;
157157
}
158158

159-
auto pHeader = static_cast<const TGA_HEADER*>(pSource);
159+
auto pHeader = reinterpret_cast<const TGA_HEADER*>(pSource);
160160

161161
if (pHeader->bDescriptor & (TGA_FLAGS_INTERLEAVED_2WAY | TGA_FLAGS_INTERLEAVED_4WAY))
162162
{
@@ -1447,7 +1447,7 @@ namespace
14471447
//-------------------------------------------------------------------------------------
14481448
_Use_decl_annotations_
14491449
HRESULT DirectX::GetMetadataFromTGAMemory(
1450-
const void* pSource,
1450+
const uint8_t* pSource,
14511451
size_t size,
14521452
TGA_FLAGS flags,
14531453
TexMetadata& metadata) noexcept
@@ -1641,7 +1641,7 @@ HRESULT DirectX::GetMetadataFromTGAFile(const wchar_t* szFile, TGA_FLAGS flags,
16411641
//-------------------------------------------------------------------------------------
16421642
_Use_decl_annotations_
16431643
HRESULT DirectX::LoadFromTGAMemory(
1644-
const void* pSource,
1644+
const uint8_t* pSource,
16451645
size_t size,
16461646
TGA_FLAGS flags,
16471647
TexMetadata* metadata,

0 commit comments

Comments
 (0)