mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
synced 2024-11-05 04:10:06 +00:00
Minor improvement in VmaBlockVector::Allocate. TestPool_SameSize: Added test for it.
This commit is contained in:
parent
c1af66a549
commit
d292417cdb
@ -1585,6 +1585,23 @@ static void TestPool_SameSize()
|
||||
|
||||
items.clear();
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Test for allocation too large for pool
|
||||
|
||||
{
|
||||
VmaAllocationCreateInfo allocCreateInfo = {};
|
||||
allocCreateInfo.pool = pool;
|
||||
|
||||
VkMemoryRequirements memReq;
|
||||
memReq.memoryTypeBits = UINT32_MAX;
|
||||
memReq.alignment = 1;
|
||||
memReq.size = poolCreateInfo.blockSize + 4;
|
||||
|
||||
VmaAllocation alloc = nullptr;
|
||||
res = vmaAllocateMemory(g_hAllocator, &memReq, &allocCreateInfo, &alloc, nullptr);
|
||||
assert(res == VK_ERROR_OUT_OF_DEVICE_MEMORY && alloc == nullptr);
|
||||
}
|
||||
|
||||
vmaDestroyPool(g_hAllocator, pool);
|
||||
}
|
||||
|
||||
|
@ -6694,6 +6694,12 @@ VkResult VmaBlockVector::Allocate(
|
||||
VmaSuballocationType suballocType,
|
||||
VmaAllocation* pAllocation)
|
||||
{
|
||||
// Early reject: requested allocation size is larger that maximum block size for this block vector.
|
||||
if(size > m_PreferredBlockSize)
|
||||
{
|
||||
return VK_ERROR_OUT_OF_DEVICE_MEMORY;
|
||||
}
|
||||
|
||||
const bool mapped = (createInfo.flags & VMA_ALLOCATION_CREATE_MAPPED_BIT) != 0;
|
||||
const bool isUserDataString = (createInfo.flags & VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT) != 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user