Package org.lwjgl.util.vma
@NullMarked
package org.lwjgl.util.vma
Contains bindings to VMA, a simple and easy to integrate API to help you allocate memory for
VulkanĀ® buffer and image storage.
Resources
-
ClassDescriptionCallback function:
PFN_vmaAllocateDeviceMemoryFunctionCallback function:PFN_vmaAllocateDeviceMemoryFunctionstruct VmaAllocationCreateInfo { VmaAllocationCreateFlags flags; VmaMemoryUsage usage; VkMemoryPropertyFlags requiredFlags; VkMemoryPropertyFlags preferredFlags; uint32_t memoryTypeBits; VmaPool pool; void * pUserData; float priority; }An array ofVmaAllocationCreateInfostructs.struct VmaAllocationInfo { uint32_t memoryType; VkDeviceMemory deviceMemory; VkDeviceSize offset; VkDeviceSize size; void * pMappedData; void * pUserData; char const * pName; }An array ofVmaAllocationInfostructs.struct VmaAllocationInfo2 { {@link VmaAllocationInfo VmaAllocationInfo} allocationInfo; VkDeviceSize blockSize; VkBool32 dedicatedMemory; }An array ofVmaAllocationInfo2structs.struct VmaAllocatorCreateInfo { VmaAllocatorCreateFlags flags; VkPhysicalDevice physicalDevice; VkDevice device; VkDeviceSize preferredLargeHeapBlockSize; {@link VkAllocationCallbacks VkAllocationCallbacks} const * pAllocationCallbacks; {@link VmaDeviceMemoryCallbacks VmaDeviceMemoryCallbacks} const * pDeviceMemoryCallbacks; VkDeviceSize const * pHeapSizeLimit; {@link VmaVulkanFunctions VmaVulkanFunctions} const * pVulkanFunctions; VkInstance instance; uint32_t vulkanApiVersion; VkExternalMemoryHandleTypeFlagsKHR const * pTypeExternalMemoryHandleTypes; }struct VmaAllocatorInfo { VkInstance instance; VkPhysicalDevice physicalDevice; VkDevice device; }An array ofVmaAllocatorInfostructs.struct VmaBudget { {@link VmaStatistics VmaStatistics} statistics; VkDeviceSize usage; VkDeviceSize budget; }An array ofVmaBudgetstructs.Callback function:PFN_vmaCheckDefragmentationBreakFunctionCallback function:PFN_vmaCheckDefragmentationBreakFunctionstruct VmaDefragmentationInfo { VmaDefragmentationFlags flags; VmaPool pool; VkDeviceSize maxBytesPerPass; uint32_t maxAllocationsPerPass; {@link VmaCheckDefragmentationBreakFunctionI PFN_vmaCheckDefragmentationBreakFunction} pfnBreakCallback; void * pBreakCallbackUserData; }An array ofVmaDefragmentationInfostructs.struct VmaDefragmentationMove { VmaDefragmentationMoveOperation operation; VmaAllocation srcAllocation; VmaAllocation dstTmpAllocation; }An array ofVmaDefragmentationMovestructs.struct VmaDefragmentationPassMoveInfo { uint32_t moveCount; {@link VmaDefragmentationMove VmaDefragmentationMove} * pMoves; }An array ofVmaDefragmentationPassMoveInfostructs.struct VmaDefragmentationStats { VkDeviceSize bytesMoved; VkDeviceSize bytesFreed; uint32_t allocationsMoved; uint32_t deviceMemoryBlocksFreed; }An array ofVmaDefragmentationStatsstructs.struct VmaDetailedStatistics { {@link VmaStatistics VmaStatistics} statistics; uint32_t unusedRangeCount; VkDeviceSize allocationSizeMin; VkDeviceSize allocationSizeMax; VkDeviceSize unusedRangeSizeMin; VkDeviceSize unusedRangeSizeMax; }An array ofVmaDetailedStatisticsstructs.struct VmaDeviceMemoryCallbacks { {@link VmaAllocateDeviceMemoryFunctionI PFN_vmaAllocateDeviceMemoryFunction} pfnAllocate; {@link VmaFreeDeviceMemoryFunctionI PFN_vmaFreeDeviceMemoryFunction} pfnFree; void * pUserData; }An array ofVmaDeviceMemoryCallbacksstructs.Callback function:PFN_vmaFreeDeviceMemoryFunctionCallback function:PFN_vmaFreeDeviceMemoryFunctionstruct VmaPoolCreateInfo { uint32_t memoryTypeIndex; VmaPoolCreateFlags flags; VkDeviceSize blockSize; size_t minBlockCount; size_t maxBlockCount; float priority; VkDeviceSize minAllocationAlignment; void * pMemoryAllocateNext; }An array ofVmaPoolCreateInfostructs.struct VmaStatistics { uint32_t blockCount; uint32_t allocationCount; VkDeviceSize blockBytes; VkDeviceSize allocationBytes; }An array ofVmaStatisticsstructs.struct VmaTotalStatistics { {@link VmaDetailedStatistics VmaDetailedStatistics} memoryType[32]; {@link VmaDetailedStatistics VmaDetailedStatistics} memoryHeap[16]; {@link VmaDetailedStatistics VmaDetailedStatistics} total; }An array ofVmaTotalStatisticsstructs.struct VmaVirtualAllocationCreateInfo { VkDeviceSize size; VkDeviceSize alignment; VmaVirtualAllocationCreateFlags flags; void * pUserData; }An array ofVmaVirtualAllocationCreateInfostructs.struct VmaVirtualAllocationInfo { VkDeviceSize offset; VkDeviceSize size; void * pUserData; }An array ofVmaVirtualAllocationInfostructs.struct VmaVirtualBlockCreateInfo { VkDeviceSize size; VmaVirtualBlockCreateFlagBits flags; {@link VkAllocationCallbacks VkAllocationCallbacks} const * pAllocationCallbacks; }An array ofVmaVirtualBlockCreateInfostructs.struct VmaVulkanFunctions { PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; PFN_vkAllocateMemory vkAllocateMemory; PFN_vkFreeMemory vkFreeMemory; PFN_vkMapMemory vkMapMemory; PFN_vkUnmapMemory vkUnmapMemory; PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; PFN_vkBindBufferMemory vkBindBufferMemory; PFN_vkBindImageMemory vkBindImageMemory; PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; PFN_vkCreateBuffer vkCreateBuffer; PFN_vkDestroyBuffer vkDestroyBuffer; PFN_vkCreateImage vkCreateImage; PFN_vkDestroyImage vkDestroyImage; PFN_vkCmdCopyBuffer vkCmdCopyBuffer; PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR; PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR; PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR; PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR; PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR; PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirements; PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirements; PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR; }