Skip to content

Commit 6bd2e1b

Browse files
committed
Added Blob::GetConstBufferPointer
1 parent 72aca45 commit 6bd2e1b

6 files changed

+17
-14
lines changed

Auxiliary/DirectXTexXboxDDS.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -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);

DirectXTex/DirectXTex.h

+3
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,9 @@ namespace DirectX
462462
void __cdecl Release() noexcept;
463463

464464
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;

DirectXTex/DirectXTexDDS.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -2355,7 +2355,7 @@ HRESULT DirectX::SaveToDDSMemory(
23552355
if (FAILED(hr))
23562356
return hr;
23572357

2358-
auto pDestination = static_cast<uint8_t*>(blob.GetBufferPointer());
2358+
auto pDestination = blob.GetBufferPointer();
23592359
assert(pDestination);
23602360

23612361
hr = EncodeDDSHeader(metadata, flags, pDestination, blob.GetBufferSize(), required);

DirectXTex/DirectXTexHDR.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -1045,7 +1045,7 @@ HRESULT DirectX::SaveToHDRMemory(const Image& image, Blob& blob) noexcept
10451045
return hr;
10461046

10471047
// Copy header
1048-
auto dPtr = static_cast<uint8_t*>(blob.GetBufferPointer());
1048+
auto dPtr = blob.GetBufferPointer();
10491049
assert(dPtr != nullptr);
10501050
memcpy(dPtr, header, headerLen);
10511051
dPtr += headerLen;
@@ -1097,7 +1097,7 @@ HRESULT DirectX::SaveToHDRMemory(const Image& image, Blob& blob) noexcept
10971097
}
10981098
#endif
10991099

1100-
hr = blob.Trim(size_t(dPtr - static_cast<uint8_t*>(blob.GetBufferPointer())));
1100+
hr = blob.Trim(size_t(dPtr - blob.GetConstBufferPointer()));
11011101
if (FAILED(hr))
11021102
{
11031103
blob.Release();
@@ -1184,7 +1184,7 @@ HRESULT DirectX::SaveToHDRFile(const Image& image, const wchar_t* szFile) noexce
11841184
#ifdef _WIN32
11851185
auto const bytesToWrite = static_cast<const DWORD>(blob.GetBufferSize());
11861186
DWORD bytesWritten;
1187-
if (!WriteFile(hFile.get(), blob.GetBufferPointer(), bytesToWrite, &bytesWritten, nullptr))
1187+
if (!WriteFile(hFile.get(), blob.GetConstBufferPointer(), bytesToWrite, &bytesWritten, nullptr))
11881188
{
11891189
return HRESULT_FROM_WIN32(GetLastError());
11901190
}
@@ -1194,7 +1194,7 @@ HRESULT DirectX::SaveToHDRFile(const Image& image, const wchar_t* szFile) noexce
11941194
return E_FAIL;
11951195
}
11961196
#else
1197-
outFile.write(reinterpret_cast<char*>(blob.GetBufferPointer()),
1197+
outFile.write(reinterpret_cast<const char*>(blob.GetConstBufferPointer()),
11981198
static_cast<std::streamsize>(blob.GetBufferSize()));
11991199

12001200
if (!outFile)

DirectXTex/DirectXTexTGA.cpp

+3-3
Original file line numberDiff line numberDiff line change
@@ -2279,7 +2279,7 @@ HRESULT DirectX::SaveToTGAMemory(
22792279
return hr;
22802280

22812281
// Copy header
2282-
auto destPtr = static_cast<uint8_t*>(blob.GetBufferPointer());
2282+
auto destPtr = blob.GetBufferPointer();
22832283
assert(destPtr != nullptr);
22842284

22852285
uint8_t* dPtr = destPtr;
@@ -2396,7 +2396,7 @@ HRESULT DirectX::SaveToTGAFile(
23962396
#ifdef _WIN32
23972397
const DWORD bytesToWrite = static_cast<DWORD>(blob.GetBufferSize());
23982398
DWORD bytesWritten;
2399-
if (!WriteFile(hFile.get(), blob.GetBufferPointer(), bytesToWrite, &bytesWritten, nullptr))
2399+
if (!WriteFile(hFile.get(), blob.GetConstBufferPointer(), bytesToWrite, &bytesWritten, nullptr))
24002400
{
24012401
return HRESULT_FROM_WIN32(GetLastError());
24022402
}
@@ -2406,7 +2406,7 @@ HRESULT DirectX::SaveToTGAFile(
24062406
return E_FAIL;
24072407
}
24082408
#else
2409-
outFile.write(reinterpret_cast<char*>(blob.GetBufferPointer()),
2409+
outFile.write(reinterpret_cast<const char*>(blob.GetConstBufferPointer()),
24102410
static_cast<std::streamsize>(blob.GetBufferSize()));
24112411

24122412
if (!outFile)

DirectXTex/DirectXTexWIC.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ namespace
208208
m_streamEOF(0),
209209
mRefCount(1)
210210
{
211-
assert(mBlob.GetBufferPointer() && mBlob.GetBufferSize() > 0);
211+
assert(mBlob.GetConstBufferPointer() && mBlob.GetBufferSize() > 0);
212212
}
213213

214214
public:
@@ -254,7 +254,7 @@ namespace
254254
HRESULT STDMETHODCALLTYPE Read(void* pv, ULONG cb, ULONG* pcbRead) override
255255
{
256256
size_t maxRead = m_streamEOF - m_streamPosition;
257-
auto ptr = static_cast<const uint8_t*>(mBlob.GetBufferPointer());
257+
auto ptr = mBlob.GetBufferPointer();
258258
if (cb > maxRead)
259259
{
260260
const uint64_t pos = uint64_t(m_streamPosition) + uint64_t(maxRead);
@@ -324,7 +324,7 @@ namespace
324324
if (pos > UINT32_MAX)
325325
return HRESULT_E_ARITHMETIC_OVERFLOW;
326326

327-
auto ptr = static_cast<uint8_t*>(mBlob.GetBufferPointer());
327+
auto ptr = mBlob.GetBufferPointer();
328328
memcpy(&ptr[m_streamPosition], pv, cb);
329329

330330
m_streamPosition = static_cast<size_t>(pos);
@@ -347,7 +347,7 @@ namespace
347347

348348
if (blobSize >= size.LowPart)
349349
{
350-
auto ptr = static_cast<uint8_t*>(mBlob.GetBufferPointer());
350+
auto ptr = mBlob.GetBufferPointer();
351351
if (m_streamEOF < size.LowPart)
352352
{
353353
memset(&ptr[m_streamEOF], 0, size.LowPart - m_streamEOF);
@@ -367,7 +367,7 @@ namespace
367367
if (FAILED(hr))
368368
return hr;
369369

370-
auto ptr = static_cast<uint8_t*>(mBlob.GetBufferPointer());
370+
auto ptr = mBlob.GetBufferPointer();
371371
if (m_streamEOF < size.LowPart)
372372
{
373373
memset(&ptr[m_streamEOF], 0, size.LowPart - m_streamEOF);

0 commit comments

Comments
 (0)