Loosened restriction on alignment and size in ValidateAllocateMemoryParameters
diff --git a/src/D3D12MemAlloc.cpp b/src/D3D12MemAlloc.cpp index 0b8d8fd..96243ef 100644 --- a/src/D3D12MemAlloc.cpp +++ b/src/D3D12MemAlloc.cpp
@@ -817,11 +817,9 @@ return pAllocDesc && pAllocInfo && ppAllocation && - (pAllocInfo->Alignment == 0 || - pAllocInfo->Alignment == D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT || - pAllocInfo->Alignment == D3D12_DEFAULT_MSAA_RESOURCE_PLACEMENT_ALIGNMENT) && - pAllocInfo->SizeInBytes != 0 && - pAllocInfo->SizeInBytes % (64ull * 1024) == 0; + IsPow2(pAllocInfo->Alignment) && + pAllocInfo->SizeInBytes > 0 && + pAllocInfo->SizeInBytes % 4 == 0; } #endif // _D3D12MA_FUNCTIONS @@ -9880,7 +9878,7 @@ return E_INVALIDARG; } D3D12MA_DEBUG_GLOBAL_MUTEX_LOCK - return m_Pimpl->AllocateMemory(pAllocDesc, pAllocInfo, ppAllocation); + return m_Pimpl->AllocateMemory(pAllocDesc, pAllocInfo, ppAllocation); } HRESULT Allocator::CreateAliasingResource(