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_vmaAllocateDeviceMemoryFunction
Callback function:PFN_vmaAllocateDeviceMemoryFunction
struct VmaAllocationCreateInfo { VmaAllocationCreateFlags flags; VmaMemoryUsage usage; VkMemoryPropertyFlags requiredFlags; VkMemoryPropertyFlags preferredFlags; uint32_t memoryTypeBits; VmaPool pool; void * pUserData; float priority; }
An array ofVmaAllocationCreateInfo
structs.struct VmaAllocationInfo { uint32_t memoryType; VkDeviceMemory deviceMemory; VkDeviceSize offset; VkDeviceSize size; void * pMappedData; void * pUserData; char const * pName; }
An array ofVmaAllocationInfo
structs.struct VmaAllocationInfo2 { {@link VmaAllocationInfo VmaAllocationInfo} allocationInfo; VkDeviceSize blockSize; VkBool32 dedicatedMemory; }
An array ofVmaAllocationInfo2
structs.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 ofVmaAllocatorInfo
structs.struct VmaBudget { {@link VmaStatistics VmaStatistics} statistics; VkDeviceSize usage; VkDeviceSize budget; }
An array ofVmaBudget
structs.Callback function:PFN_vmaCheckDefragmentationBreakFunction
Callback function:PFN_vmaCheckDefragmentationBreakFunction
struct VmaDefragmentationInfo { VmaDefragmentationFlags flags; VmaPool pool; VkDeviceSize maxBytesPerPass; uint32_t maxAllocationsPerPass; {@link VmaCheckDefragmentationBreakFunctionI PFN_vmaCheckDefragmentationBreakFunction} pfnBreakCallback; void * pBreakCallbackUserData; }
An array ofVmaDefragmentationInfo
structs.struct VmaDefragmentationMove { VmaDefragmentationMoveOperation operation; VmaAllocation srcAllocation; VmaAllocation dstTmpAllocation; }
An array ofVmaDefragmentationMove
structs.struct VmaDefragmentationPassMoveInfo { uint32_t moveCount; {@link VmaDefragmentationMove VmaDefragmentationMove} * pMoves; }
An array ofVmaDefragmentationPassMoveInfo
structs.struct VmaDefragmentationStats { VkDeviceSize bytesMoved; VkDeviceSize bytesFreed; uint32_t allocationsMoved; uint32_t deviceMemoryBlocksFreed; }
An array ofVmaDefragmentationStats
structs.struct VmaDetailedStatistics { {@link VmaStatistics VmaStatistics} statistics; uint32_t unusedRangeCount; VkDeviceSize allocationSizeMin; VkDeviceSize allocationSizeMax; VkDeviceSize unusedRangeSizeMin; VkDeviceSize unusedRangeSizeMax; }
An array ofVmaDetailedStatistics
structs.struct VmaDeviceMemoryCallbacks { {@link VmaAllocateDeviceMemoryFunctionI PFN_vmaAllocateDeviceMemoryFunction} pfnAllocate; {@link VmaFreeDeviceMemoryFunctionI PFN_vmaFreeDeviceMemoryFunction} pfnFree; void * pUserData; }
An array ofVmaDeviceMemoryCallbacks
structs.Callback function:PFN_vmaFreeDeviceMemoryFunction
Callback function:PFN_vmaFreeDeviceMemoryFunction
struct VmaPoolCreateInfo { uint32_t memoryTypeIndex; VmaPoolCreateFlags flags; VkDeviceSize blockSize; size_t minBlockCount; size_t maxBlockCount; float priority; VkDeviceSize minAllocationAlignment; void * pMemoryAllocateNext; }
An array ofVmaPoolCreateInfo
structs.struct VmaStatistics { uint32_t blockCount; uint32_t allocationCount; VkDeviceSize blockBytes; VkDeviceSize allocationBytes; }
An array ofVmaStatistics
structs.struct VmaTotalStatistics { {@link VmaDetailedStatistics VmaDetailedStatistics} memoryType[32]; {@link VmaDetailedStatistics VmaDetailedStatistics} memoryHeap[16]; {@link VmaDetailedStatistics VmaDetailedStatistics} total; }
An array ofVmaTotalStatistics
structs.struct VmaVirtualAllocationCreateInfo { VkDeviceSize size; VkDeviceSize alignment; VmaVirtualAllocationCreateFlags flags; void * pUserData; }
An array ofVmaVirtualAllocationCreateInfo
structs.struct VmaVirtualAllocationInfo { VkDeviceSize offset; VkDeviceSize size; void * pUserData; }
An array ofVmaVirtualAllocationInfo
structs.struct VmaVirtualBlockCreateInfo { VkDeviceSize size; VmaVirtualBlockCreateFlagBits flags; {@link VkAllocationCallbacks VkAllocationCallbacks} const * pAllocationCallbacks; }
An array ofVmaVirtualBlockCreateInfo
structs.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; }