13
13
#include " DirectXTexP.h"
14
14
15
15
using namespace DirectX ;
16
- using namespace DirectX ::Internal;
17
16
18
17
19
18
namespace
@@ -55,10 +54,10 @@ namespace
55
54
56
55
constexpr size_t MAX_TEXTURE_DIMENSION = 16384u ;
57
56
58
- #if defined(_M_X64) || defined(_M_ARM64)
59
- constexpr size_t MAX_TEXTURE_SIZE = 16384u * 16384u * 16u ;
57
+ #if defined(_M_X64) || defined(_M_ARM64) || __x86_64__ || __aarch64__
58
+ constexpr uint64_t MAX_TEXTURE_SIZE = 16384u * 16384u * 16u ;
60
59
#else
61
- constexpr size_t MAX_TEXTURE_SIZE = UINT32_MAX;
60
+ constexpr uint64_t MAX_TEXTURE_SIZE = UINT32_MAX;
62
61
#endif
63
62
64
63
// Standard Swizzle is not defined for these formats.
@@ -147,7 +146,7 @@ namespace
147
146
if (!dptr)
148
147
return E_POINTER;
149
148
150
- if (( srcImage.rowPitch > UINT32_MAX) || (destImage. rowPitch > UINT32_MAX) )
149
+ if (srcImage.rowPitch > UINT32_MAX)
151
150
return HRESULT_E_ARITHMETIC_OVERFLOW;
152
151
153
152
const size_t height = isCompressed ? (srcImage.height + 3 ) / 4 : srcImage.height ;
@@ -216,7 +215,7 @@ namespace
216
215
if (!dptr)
217
216
return E_POINTER;
218
217
219
- if (( srcImage.rowPitch > UINT32_MAX) || (destImage. rowPitch > UINT32_MAX) )
218
+ if (srcImage.rowPitch > UINT32_MAX)
220
219
return HRESULT_E_ARITHMETIC_OVERFLOW;
221
220
222
221
const size_t height = isCompressed ? (srcImage.height + 3 ) / 4 : srcImage.height ;
@@ -296,9 +295,6 @@ namespace
296
295
if (!dptr)
297
296
return E_POINTER;
298
297
299
- if (destImage.rowPitch > UINT32_MAX)
300
- return HRESULT_E_ARITHMETIC_OVERFLOW;
301
-
302
298
// TODO: linear to swizzle x,y,z
303
299
return E_NOTIMPL;
304
300
}
@@ -320,9 +316,6 @@ namespace
320
316
if (!dptr)
321
317
return E_POINTER;
322
318
323
- if (destImage.rowPitch > UINT32_MAX)
324
- return HRESULT_E_ARITHMETIC_OVERFLOW;
325
-
326
319
// TODO: swizzle x,y,z to linear
327
320
return E_NOTIMPL;
328
321
}
0 commit comments