mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
synced 2024-11-05 12:20:07 +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();
|
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);
|
vmaDestroyPool(g_hAllocator, pool);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6694,6 +6694,12 @@ VkResult VmaBlockVector::Allocate(
|
|||||||
VmaSuballocationType suballocType,
|
VmaSuballocationType suballocType,
|
||||||
VmaAllocation* pAllocation)
|
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 mapped = (createInfo.flags & VMA_ALLOCATION_CREATE_MAPPED_BIT) != 0;
|
||||||
const bool isUserDataString = (createInfo.flags & VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT) != 0;
|
const bool isUserDataString = (createInfo.flags & VMA_ALLOCATION_CREATE_USER_DATA_COPY_STRING_BIT) != 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user