Module com.io7m.jcoronado.lwjgl
Package com.io7m.jcoronado.lwjgl
Class VulkanLWJGLHostAllocatorJeMalloc
- java.lang.Object
-
- com.io7m.jcoronado.lwjgl.VulkanLWJGLHostAllocatorJeMalloc
-
- All Implemented Interfaces:
VulkanHostAllocatorCallbacksType.AllocationFunctionType
,VulkanHostAllocatorCallbacksType.DeallocationFunctionType
,VulkanHostAllocatorCallbacksType.InternalAllocationNotificationType
,VulkanHostAllocatorCallbacksType.InternalFreeNotificationType
,VulkanHostAllocatorCallbacksType.ReallocationFunctionType
,VulkanHostAllocatorType
public final class VulkanLWJGLHostAllocatorJeMalloc extends java.lang.Object implements VulkanHostAllocatorType
A JeMalloc based host allocator.
-
-
Constructor Summary
Constructors Constructor Description VulkanLWJGLHostAllocatorJeMalloc()
Construct an allocator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
allocate(long size, long alignment, VulkanSystemAllocationScope scope)
Allocatesize
octets of memory, aligned toalignment
, of scopescope
.VulkanHostAllocatorCallbacks
createCallbacks()
void
deallocate(long address)
Deallocate memory.void
onAllocation(long size, VulkanInternalAllocation type, VulkanSystemAllocationScope scope)
Called upon internal allocations.void
onFree(long size, VulkanInternalAllocation type, VulkanSystemAllocationScope scope)
Called upon internal deallocations.long
reallocate(long address, long size, long alignment, VulkanSystemAllocationScope scope)
Reallocatesize
octets of memory, aligned toalignment
, of scopescope
.
-
-
-
Method Detail
-
allocate
public long allocate(long size, long alignment, VulkanSystemAllocationScope scope)
Description copied from interface:VulkanHostAllocatorCallbacksType.AllocationFunctionType
Allocatesize
octets of memory, aligned toalignment
, of scopescope
. The function must return the address of the allocated memory as an integer, or0
if the allocation has failed. The function MUST NOT raise exceptions under any circumstances.- Specified by:
allocate
in interfaceVulkanHostAllocatorCallbacksType.AllocationFunctionType
- Parameters:
size
- The size of the allocationalignment
- The alignment of the allocationscope
- The scope of the allocation- Returns:
- The memory address
-
reallocate
public long reallocate(long address, long size, long alignment, VulkanSystemAllocationScope scope)
Description copied from interface:VulkanHostAllocatorCallbacksType.ReallocationFunctionType
Reallocatesize
octets of memory, aligned toalignment
, of scopescope
. The function must return the address of the allocated memory as an integer, or0
if the allocation has failed. The function MUST NOT raise exceptions under any circumstances.- Specified by:
reallocate
in interfaceVulkanHostAllocatorCallbacksType.ReallocationFunctionType
- Parameters:
address
- The original memory addresssize
- The size of the allocationalignment
- The alignment of the allocationscope
- The scope of the allocation- Returns:
- The memory address
-
deallocate
public void deallocate(long address)
Description copied from interface:VulkanHostAllocatorCallbacksType.DeallocationFunctionType
Deallocate memory. The function MUST NOT raise exceptions under any circumstances.- Specified by:
deallocate
in interfaceVulkanHostAllocatorCallbacksType.DeallocationFunctionType
- Parameters:
address
- The original memory address
-
onAllocation
public void onAllocation(long size, VulkanInternalAllocation type, VulkanSystemAllocationScope scope)
Description copied from interface:VulkanHostAllocatorCallbacksType.InternalAllocationNotificationType
Called upon internal allocations. The function MUST NOT raise exceptions under any circumstances.- Specified by:
onAllocation
in interfaceVulkanHostAllocatorCallbacksType.InternalAllocationNotificationType
- Parameters:
size
- The allocation size in bytestype
- The type of allocationscope
- The scope of the allocation
-
onFree
public void onFree(long size, VulkanInternalAllocation type, VulkanSystemAllocationScope scope)
Description copied from interface:VulkanHostAllocatorCallbacksType.InternalFreeNotificationType
Called upon internal deallocations. The function MUST NOT raise exceptions under any circumstances.- Specified by:
onFree
in interfaceVulkanHostAllocatorCallbacksType.InternalFreeNotificationType
- Parameters:
size
- The allocation size in bytestype
- The type of allocationscope
- The scope of the allocation
-
createCallbacks
public VulkanHostAllocatorCallbacks createCallbacks()
- Specified by:
createCallbacks
in interfaceVulkanHostAllocatorType
- Returns:
- The methods as a set of callbacks
-
-