# Interface VMAAllocatorType

All Superinterfaces:
  `AutoCloseable, com.io7m.jmulticlose.core.CloseableType, VulkanHandleDispatchableType, VulkanHandleType`

All Known Implementing Classes:
  `VMALWJGLAllocator`

public interface VMAAllocatorType extends VulkanHandleDispatchableType
A configured VMA allocator.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `VMAAllocationResult<VulkanBufferType>`
  `createBuffer(VMAAllocationCreateInfo alloc_create_info, VulkanBufferCreateInfo buffer_create_info)`
  Allocate a buffer.
  `VMAAllocationResult<VulkanImageType>`
  `createImage(VMAAllocationCreateInfo alloc_create_info, VulkanImageCreateInfo image_create_info)`
  Allocate an image.
  `VMAMappedMemoryType`
  `mapMemory(VMAAllocationType allocation)`
  Map the memory associated with the given allocation.

  ### Methods inherited from interface com.io7m.jmulticlose.core.CloseableType

  `isClosed`

  ### Methods inherited from interface VulkanHandleType

  `close`

- ## Method Details

  - ### createBuffer

    VMAAllocationResult<VulkanBufferType> createBuffer(VMAAllocationCreateInfo alloc_create_info, VulkanBufferCreateInfo buffer_create_info) throws VulkanException
    Allocate a buffer.
    Parameters:
      `alloc_create_info` - The allocation creation info
      `buffer_create_info` - The buffer creation info
    Returns:
      An allocation
    Throws:
      `VulkanException` - On errors

  - ### createImage

    VMAAllocationResult<VulkanImageType> createImage(VMAAllocationCreateInfo alloc_create_info, VulkanImageCreateInfo image_create_info) throws VulkanException
    Allocate an image.
    Parameters:
      `alloc_create_info` - The allocation creation info
      `image_create_info` - The image creation info
    Returns:
      An allocation
    Throws:
      `VulkanException` - On errors

  - ### mapMemory

    VMAMappedMemoryType mapMemory(VMAAllocationType allocation) throws VulkanException
    Map the memory associated with the given allocation.
    Parameters:
      `allocation` - The VMA allocation
    Returns:
      The memory, mapped
    Throws:
      `VulkanException` - On errors