Record Class VmaVulkanFunctions
java.lang.Object
java.lang.Record
club.doki7.vma.datatype.VmaVulkanFunctions
- All Implemented Interfaces:
IPointer
,IVmaVulkanFunctions
@ValueBasedCandidate
@UnsafeConstructor
public record VmaVulkanFunctions(@NotNull MemorySegment segment)
extends Record
implements IVmaVulkanFunctions
Pointers to some Vulkan functions - a subset used by the library.
Used in VmaAllocatorCreateInfo::pVulkanFunctions.
Structure
typedef struct VmaVulkanFunctions {
PFN_vkGetInstanceProcAddr getInstanceProcAddr
; // optional
PFN_vkGetDeviceProcAddr getDeviceProcAddr
; // optional
PFN_vkGetPhysicalDeviceProperties getPhysicalDeviceProperties
; // optional
PFN_vkGetPhysicalDeviceMemoryProperties getPhysicalDeviceMemoryProperties
; // optional
PFN_vkAllocateMemory allocateMemory
; // optional
PFN_vkFreeMemory freeMemory
; // optional
PFN_vkMapMemory mapMemory
; // optional
PFN_vkUnmapMemory unmapMemory
; // optional
PFN_vkFlushMappedMemoryRanges flushMappedMemoryRanges
; // optional
PFN_vkInvalidateMappedMemoryRanges invalidateMappedMemoryRanges
; // optional
PFN_vkBindBufferMemory bindBufferMemory
; // optional
PFN_vkBindImageMemory bindImageMemory
; // optional
PFN_vkGetBufferMemoryRequirements getBufferMemoryRequirements
; // optional
PFN_vkGetImageMemoryRequirements getImageMemoryRequirements
; // optional
PFN_vkCreateBuffer createBuffer
; // optional
PFN_vkDestroyBuffer destroyBuffer
; // optional
PFN_vkCreateImage createImage
; // optional
PFN_vkDestroyImage destroyImage
; // optional
PFN_vkCmdCopyBuffer cmdCopyBuffer
; // optional
PFN_vkGetBufferMemoryRequirements2KHR getBufferMemoryRequirements2KHR
; // optional
PFN_vkGetImageMemoryRequirements2KHR getImageMemoryRequirements2KHR
; // optional
PFN_vkBindBufferMemory2KHR bindBufferMemory2KHR
; // optional
PFN_vkBindImageMemory2KHR bindImageMemory2KHR
; // optional
PFN_vkGetPhysicalDeviceMemoryProperties2KHR getPhysicalDeviceMemoryProperties2KHR
; // optional
PFN_vkGetDeviceBufferMemoryRequirementsKHR getDeviceBufferMemoryRequirements
; // optional
PFN_vkGetDeviceImageMemoryRequirementsKHR getDeviceImageMemoryRequirements
; // optional
PFN_vkGetMemoryWin32HandleKHR getMemoryWin32HandleKHR
; // optional
void*[8] reserved;
} VmaVulkanFunctions;
Contracts
The property segment()
should always be not-null
(segment != NULL && !segment.equals(MemorySegment.NULL)
), and properly aligned to
LAYOUT.byteAlignment()
bytes. To represent null pointer, you may use a Java
null
instead. See the documentation of IPointer.segment()
for more details.
The constructor of this class is marked as UnsafeConstructor
, because it does not
perform any runtime check. The constructor can be useful for automatic code generators.
Member documentation
getInstanceProcAddr()
Required when using VMA_DYNAMIC_VULKAN_FUNCTIONS.getDeviceProcAddr()
Required when using VMA_DYNAMIC_VULKAN_FUNCTIONS.getBufferMemoryRequirements2KHR()
Fetch "vkGetBufferMemoryRequirements2" on Vulkan >= 1.1, fetch "vkGetBufferMemoryRequirements2KHR" when using VK_KHR_dedicated_allocation extension.getImageMemoryRequirements2KHR()
Fetch "vkGetImageMemoryRequirements2" on Vulkan >= 1.1, fetch "vkGetImageMemoryRequirements2KHR" when using VK_KHR_dedicated_allocation extension.bindBufferMemory2KHR()
Fetch "vkBindBufferMemory2" on Vulkan >= 1.1, fetch "vkBindBufferMemory2KHR" when using VK_KHR_bind_memory2 extension.bindImageMemory2KHR()
Fetch "vkBindImageMemory2" on Vulkan >= 1.1, fetch "vkBindImageMemory2KHR" when using VK_KHR_bind_memory2 extension.getPhysicalDeviceMemoryProperties2KHR()
Fetch from "vkGetPhysicalDeviceMemoryProperties2" on Vulkan >= 1.1, but you can also fetch it from "vkGetPhysicalDeviceMemoryProperties2KHR" if you enabled extension VK_KHR_get_physical_device_properties2.getDeviceBufferMemoryRequirements()
Fetch from "vkGetDeviceBufferMemoryRequirements" on Vulkan >= 1.3, but you can also fetch it from "vkGetDeviceBufferMemoryRequirementsKHR" if you enabled extension VK_KHR_maintenance4.getDeviceImageMemoryRequirements()
Fetch from "vkGetDeviceImageMemoryRequirements" on Vulkan >= 1.3, but you can also fetch it from "vkGetDeviceImageMemoryRequirementsKHR" if you enabled extension VK_KHR_maintenance4.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final record
Represents a pointer to / an array of null structure(s) in native memory. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final long
static final StructLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final AddressLayout
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final MemoryLayout.PathElement
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
static final long
-
Constructor Summary
ConstructorsConstructorDescriptionVmaVulkanFunctions
(@NotNull MemorySegment segment) Creates an instance of aVmaVulkanFunctions
record class. -
Method Summary
Modifier and TypeMethodDescriptionstatic VmaVulkanFunctions
static VmaVulkanFunctions.Ptr
allocateMemory
(@Nullable IPointer pointer) void
allocateMemory
(MemorySegment value) bindBufferMemory
(@Nullable IPointer pointer) void
bindBufferMemory
(MemorySegment value) bindBufferMemory2KHR
(@Nullable IPointer pointer) void
bindImageMemory
(@Nullable IPointer pointer) void
bindImageMemory
(MemorySegment value) bindImageMemory2KHR
(@Nullable IPointer pointer) void
bindImageMemory2KHR
(MemorySegment value) static VmaVulkanFunctions
clone
(Arena arena, VmaVulkanFunctions src) cmdCopyBuffer
(@Nullable IPointer pointer) void
cmdCopyBuffer
(MemorySegment value) createBuffer
(@Nullable IPointer pointer) void
createBuffer
(MemorySegment value) createImage
(@Nullable IPointer pointer) void
createImage
(MemorySegment value) destroyBuffer
(@Nullable IPointer pointer) void
destroyBuffer
(MemorySegment value) destroyImage
(@Nullable IPointer pointer) void
destroyImage
(MemorySegment value) final boolean
Indicates whether some other object is "equal to" this one.flushMappedMemoryRanges
(@Nullable IPointer pointer) void
freeMemory
(@Nullable IPointer pointer) void
freeMemory
(MemorySegment value) getBufferMemoryRequirements
(@Nullable IPointer pointer) void
getBufferMemoryRequirements2KHR
(@Nullable IPointer pointer) void
getDeviceBufferMemoryRequirements
(@Nullable IPointer pointer) void
getDeviceImageMemoryRequirements
(@Nullable IPointer pointer) void
getDeviceProcAddr
(@Nullable IPointer pointer) void
getDeviceProcAddr
(MemorySegment value) getImageMemoryRequirements
(@Nullable IPointer pointer) void
getImageMemoryRequirements2KHR
(@Nullable IPointer pointer) void
getInstanceProcAddr
(@Nullable IPointer pointer) void
getInstanceProcAddr
(MemorySegment value) getMemoryWin32HandleKHR
(@Nullable IPointer pointer) void
getPhysicalDeviceMemoryProperties
(@Nullable IPointer pointer) void
getPhysicalDeviceMemoryProperties2KHR
(@Nullable IPointer pointer) void
getPhysicalDeviceProperties
(@Nullable IPointer pointer) void
final int
hashCode()
Returns a hash code value for this object.invalidateMappedMemoryRanges
(@Nullable IPointer pointer) void
void
mapMemory
(MemorySegment value) @NotNull MemorySegment
segment()
Returns the value of thesegment
record component.final String
toString()
Returns a string representation of this record class.unmapMemory
(@Nullable IPointer pointer) void
unmapMemory
(MemorySegment value)
-
Field Details
-
LAYOUT
-
BYTES
public static final long BYTES -
PATH$getInstanceProcAddr
-
PATH$getDeviceProcAddr
-
PATH$getPhysicalDeviceProperties
-
PATH$getPhysicalDeviceMemoryProperties
-
PATH$allocateMemory
-
PATH$freeMemory
-
PATH$mapMemory
-
PATH$unmapMemory
-
PATH$flushMappedMemoryRanges
-
PATH$invalidateMappedMemoryRanges
-
PATH$bindBufferMemory
-
PATH$bindImageMemory
-
PATH$getBufferMemoryRequirements
-
PATH$getImageMemoryRequirements
-
PATH$createBuffer
-
PATH$destroyBuffer
-
PATH$createImage
-
PATH$destroyImage
-
PATH$cmdCopyBuffer
-
PATH$getBufferMemoryRequirements2KHR
-
PATH$getImageMemoryRequirements2KHR
-
PATH$bindBufferMemory2KHR
-
PATH$bindImageMemory2KHR
-
PATH$getPhysicalDeviceMemoryProperties2KHR
-
PATH$getDeviceBufferMemoryRequirements
-
PATH$getDeviceImageMemoryRequirements
-
PATH$getMemoryWin32HandleKHR
-
LAYOUT$getInstanceProcAddr
-
LAYOUT$getDeviceProcAddr
-
LAYOUT$getPhysicalDeviceProperties
-
LAYOUT$getPhysicalDeviceMemoryProperties
-
LAYOUT$allocateMemory
-
LAYOUT$freeMemory
-
LAYOUT$mapMemory
-
LAYOUT$unmapMemory
-
LAYOUT$flushMappedMemoryRanges
-
LAYOUT$invalidateMappedMemoryRanges
-
LAYOUT$bindBufferMemory
-
LAYOUT$bindImageMemory
-
LAYOUT$getBufferMemoryRequirements
-
LAYOUT$getImageMemoryRequirements
-
LAYOUT$createBuffer
-
LAYOUT$destroyBuffer
-
LAYOUT$createImage
-
LAYOUT$destroyImage
-
LAYOUT$cmdCopyBuffer
-
LAYOUT$getBufferMemoryRequirements2KHR
-
LAYOUT$getImageMemoryRequirements2KHR
-
LAYOUT$bindBufferMemory2KHR
-
LAYOUT$bindImageMemory2KHR
-
LAYOUT$getPhysicalDeviceMemoryProperties2KHR
-
LAYOUT$getDeviceBufferMemoryRequirements
-
LAYOUT$getDeviceImageMemoryRequirements
-
LAYOUT$getMemoryWin32HandleKHR
-
SIZE$getInstanceProcAddr
public static final long SIZE$getInstanceProcAddr -
SIZE$getDeviceProcAddr
public static final long SIZE$getDeviceProcAddr -
SIZE$getPhysicalDeviceProperties
public static final long SIZE$getPhysicalDeviceProperties -
SIZE$getPhysicalDeviceMemoryProperties
public static final long SIZE$getPhysicalDeviceMemoryProperties -
SIZE$allocateMemory
public static final long SIZE$allocateMemory -
SIZE$freeMemory
public static final long SIZE$freeMemory -
SIZE$mapMemory
public static final long SIZE$mapMemory -
SIZE$unmapMemory
public static final long SIZE$unmapMemory -
SIZE$flushMappedMemoryRanges
public static final long SIZE$flushMappedMemoryRanges -
SIZE$invalidateMappedMemoryRanges
public static final long SIZE$invalidateMappedMemoryRanges -
SIZE$bindBufferMemory
public static final long SIZE$bindBufferMemory -
SIZE$bindImageMemory
public static final long SIZE$bindImageMemory -
SIZE$getBufferMemoryRequirements
public static final long SIZE$getBufferMemoryRequirements -
SIZE$getImageMemoryRequirements
public static final long SIZE$getImageMemoryRequirements -
SIZE$createBuffer
public static final long SIZE$createBuffer -
SIZE$destroyBuffer
public static final long SIZE$destroyBuffer -
SIZE$createImage
public static final long SIZE$createImage -
SIZE$destroyImage
public static final long SIZE$destroyImage -
SIZE$cmdCopyBuffer
public static final long SIZE$cmdCopyBuffer -
SIZE$getBufferMemoryRequirements2KHR
public static final long SIZE$getBufferMemoryRequirements2KHR -
SIZE$getImageMemoryRequirements2KHR
public static final long SIZE$getImageMemoryRequirements2KHR -
SIZE$bindBufferMemory2KHR
public static final long SIZE$bindBufferMemory2KHR -
SIZE$bindImageMemory2KHR
public static final long SIZE$bindImageMemory2KHR -
SIZE$getPhysicalDeviceMemoryProperties2KHR
public static final long SIZE$getPhysicalDeviceMemoryProperties2KHR -
SIZE$getDeviceBufferMemoryRequirements
public static final long SIZE$getDeviceBufferMemoryRequirements -
SIZE$getDeviceImageMemoryRequirements
public static final long SIZE$getDeviceImageMemoryRequirements -
SIZE$getMemoryWin32HandleKHR
public static final long SIZE$getMemoryWin32HandleKHR -
OFFSET$getInstanceProcAddr
public static final long OFFSET$getInstanceProcAddr -
OFFSET$getDeviceProcAddr
public static final long OFFSET$getDeviceProcAddr -
OFFSET$getPhysicalDeviceProperties
public static final long OFFSET$getPhysicalDeviceProperties -
OFFSET$getPhysicalDeviceMemoryProperties
public static final long OFFSET$getPhysicalDeviceMemoryProperties -
OFFSET$allocateMemory
public static final long OFFSET$allocateMemory -
OFFSET$freeMemory
public static final long OFFSET$freeMemory -
OFFSET$mapMemory
public static final long OFFSET$mapMemory -
OFFSET$unmapMemory
public static final long OFFSET$unmapMemory -
OFFSET$flushMappedMemoryRanges
public static final long OFFSET$flushMappedMemoryRanges -
OFFSET$invalidateMappedMemoryRanges
public static final long OFFSET$invalidateMappedMemoryRanges -
OFFSET$bindBufferMemory
public static final long OFFSET$bindBufferMemory -
OFFSET$bindImageMemory
public static final long OFFSET$bindImageMemory -
OFFSET$getBufferMemoryRequirements
public static final long OFFSET$getBufferMemoryRequirements -
OFFSET$getImageMemoryRequirements
public static final long OFFSET$getImageMemoryRequirements -
OFFSET$createBuffer
public static final long OFFSET$createBuffer -
OFFSET$destroyBuffer
public static final long OFFSET$destroyBuffer -
OFFSET$createImage
public static final long OFFSET$createImage -
OFFSET$destroyImage
public static final long OFFSET$destroyImage -
OFFSET$cmdCopyBuffer
public static final long OFFSET$cmdCopyBuffer -
OFFSET$getBufferMemoryRequirements2KHR
public static final long OFFSET$getBufferMemoryRequirements2KHR -
OFFSET$getImageMemoryRequirements2KHR
public static final long OFFSET$getImageMemoryRequirements2KHR -
OFFSET$bindBufferMemory2KHR
public static final long OFFSET$bindBufferMemory2KHR -
OFFSET$bindImageMemory2KHR
public static final long OFFSET$bindImageMemory2KHR -
OFFSET$getPhysicalDeviceMemoryProperties2KHR
public static final long OFFSET$getPhysicalDeviceMemoryProperties2KHR -
OFFSET$getDeviceBufferMemoryRequirements
public static final long OFFSET$getDeviceBufferMemoryRequirements -
OFFSET$getDeviceImageMemoryRequirements
public static final long OFFSET$getDeviceImageMemoryRequirements -
OFFSET$getMemoryWin32HandleKHR
public static final long OFFSET$getMemoryWin32HandleKHR
-
-
Constructor Details
-
VmaVulkanFunctions
Creates an instance of aVmaVulkanFunctions
record class.- Parameters:
segment
- the value for thesegment
record component
-
-
Method Details
-
allocate
-
allocate
-
clone
-
getInstanceProcAddr
-
getInstanceProcAddr
-
getInstanceProcAddr
-
getDeviceProcAddr
-
getDeviceProcAddr
-
getDeviceProcAddr
-
getPhysicalDeviceProperties
@Pointer(comment="PFN_vkGetPhysicalDeviceProperties") public MemorySegment getPhysicalDeviceProperties() -
getPhysicalDeviceProperties
public void getPhysicalDeviceProperties(@Pointer(comment="PFN_vkGetPhysicalDeviceProperties") MemorySegment value) -
getPhysicalDeviceProperties
-
getPhysicalDeviceMemoryProperties
@Pointer(comment="PFN_vkGetPhysicalDeviceMemoryProperties") public MemorySegment getPhysicalDeviceMemoryProperties() -
getPhysicalDeviceMemoryProperties
public void getPhysicalDeviceMemoryProperties(@Pointer(comment="PFN_vkGetPhysicalDeviceMemoryProperties") MemorySegment value) -
getPhysicalDeviceMemoryProperties
-
allocateMemory
-
allocateMemory
-
allocateMemory
-
freeMemory
-
freeMemory
-
freeMemory
-
mapMemory
-
mapMemory
-
mapMemory
-
unmapMemory
-
unmapMemory
-
unmapMemory
-
flushMappedMemoryRanges
-
flushMappedMemoryRanges
public void flushMappedMemoryRanges(@Pointer(comment="PFN_vkFlushMappedMemoryRanges") MemorySegment value) -
flushMappedMemoryRanges
-
invalidateMappedMemoryRanges
@Pointer(comment="PFN_vkInvalidateMappedMemoryRanges") public MemorySegment invalidateMappedMemoryRanges() -
invalidateMappedMemoryRanges
public void invalidateMappedMemoryRanges(@Pointer(comment="PFN_vkInvalidateMappedMemoryRanges") MemorySegment value) -
invalidateMappedMemoryRanges
-
bindBufferMemory
-
bindBufferMemory
-
bindBufferMemory
-
bindImageMemory
-
bindImageMemory
-
bindImageMemory
-
getBufferMemoryRequirements
@Pointer(comment="PFN_vkGetBufferMemoryRequirements") public MemorySegment getBufferMemoryRequirements() -
getBufferMemoryRequirements
public void getBufferMemoryRequirements(@Pointer(comment="PFN_vkGetBufferMemoryRequirements") MemorySegment value) -
getBufferMemoryRequirements
-
getImageMemoryRequirements
@Pointer(comment="PFN_vkGetImageMemoryRequirements") public MemorySegment getImageMemoryRequirements() -
getImageMemoryRequirements
public void getImageMemoryRequirements(@Pointer(comment="PFN_vkGetImageMemoryRequirements") MemorySegment value) -
getImageMemoryRequirements
-
createBuffer
-
createBuffer
-
createBuffer
-
destroyBuffer
-
destroyBuffer
-
destroyBuffer
-
createImage
-
createImage
-
createImage
-
destroyImage
-
destroyImage
-
destroyImage
-
cmdCopyBuffer
-
cmdCopyBuffer
-
cmdCopyBuffer
-
getBufferMemoryRequirements2KHR
@Pointer(comment="PFN_vkGetBufferMemoryRequirements2KHR") public MemorySegment getBufferMemoryRequirements2KHR() -
getBufferMemoryRequirements2KHR
public void getBufferMemoryRequirements2KHR(@Pointer(comment="PFN_vkGetBufferMemoryRequirements2KHR") MemorySegment value) -
getBufferMemoryRequirements2KHR
-
getImageMemoryRequirements2KHR
@Pointer(comment="PFN_vkGetImageMemoryRequirements2KHR") public MemorySegment getImageMemoryRequirements2KHR() -
getImageMemoryRequirements2KHR
public void getImageMemoryRequirements2KHR(@Pointer(comment="PFN_vkGetImageMemoryRequirements2KHR") MemorySegment value) -
getImageMemoryRequirements2KHR
-
bindBufferMemory2KHR
-
bindBufferMemory2KHR
public void bindBufferMemory2KHR(@Pointer(comment="PFN_vkBindBufferMemory2KHR") MemorySegment value) -
bindBufferMemory2KHR
-
bindImageMemory2KHR
-
bindImageMemory2KHR
-
bindImageMemory2KHR
-
getPhysicalDeviceMemoryProperties2KHR
@Pointer(comment="PFN_vkGetPhysicalDeviceMemoryProperties2KHR") public MemorySegment getPhysicalDeviceMemoryProperties2KHR() -
getPhysicalDeviceMemoryProperties2KHR
public void getPhysicalDeviceMemoryProperties2KHR(@Pointer(comment="PFN_vkGetPhysicalDeviceMemoryProperties2KHR") MemorySegment value) -
getPhysicalDeviceMemoryProperties2KHR
public VmaVulkanFunctions getPhysicalDeviceMemoryProperties2KHR(@Nullable @Nullable IPointer pointer) -
getDeviceBufferMemoryRequirements
@Pointer(comment="PFN_vkGetDeviceBufferMemoryRequirementsKHR") public MemorySegment getDeviceBufferMemoryRequirements() -
getDeviceBufferMemoryRequirements
public void getDeviceBufferMemoryRequirements(@Pointer(comment="PFN_vkGetDeviceBufferMemoryRequirementsKHR") MemorySegment value) -
getDeviceBufferMemoryRequirements
-
getDeviceImageMemoryRequirements
@Pointer(comment="PFN_vkGetDeviceImageMemoryRequirementsKHR") public MemorySegment getDeviceImageMemoryRequirements() -
getDeviceImageMemoryRequirements
public void getDeviceImageMemoryRequirements(@Pointer(comment="PFN_vkGetDeviceImageMemoryRequirementsKHR") MemorySegment value) -
getDeviceImageMemoryRequirements
-
getMemoryWin32HandleKHR
-
getMemoryWin32HandleKHR
public void getMemoryWin32HandleKHR(@Pointer(comment="PFN_vkGetMemoryWin32HandleKHR") MemorySegment value) -
getMemoryWin32HandleKHR
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object)
. -
segment
Returns the value of thesegment
record component.
-