pub unsafe extern "C" fn vmaAllocateMemoryPages(
    allocator: VmaAllocator,
    pVkMemoryRequirements: *const MemoryRequirements,
    pCreateInfo: *const VmaAllocationCreateInfo,
    allocationCount: usize,
    pAllocations: *mut VmaAllocation,
    pAllocationInfo: *mut VmaAllocationInfo
) -> Result
Expand description

\brief General purpose memory allocation for multiple allocation objects at once.

\param allocator Allocator object. \param pVkMemoryRequirements Memory requirements for each allocation. \param pCreateInfo Creation parameters for each allocation. \param allocationCount Number of allocations to make. \param[out] pAllocations Pointer to array that will be filled with handles to created allocations. \param[out] pAllocationInfo Optional. Pointer to array that will be filled with parameters of created allocations.

You should free the memory using vmaFreeMemory() or vmaFreeMemoryPages().

Word “pages” is just a suggestion to use this function to allocate pieces of memory needed for sparse binding. It is just a general purpose allocation function able to make multiple allocations at once. It may be internally optimized to be more efficient than calling vmaAllocateMemory() allocationCount times.

All allocations are made using same parameters. All of them are created out of the same memory pool and type. If any allocation fails, all allocations already made within this function call are also freed, so that when returned result is not VK_SUCCESS, pAllocation array is always entirely filled with VK_NULL_HANDLE.