Top Description Inners Fields Constructors Methods
org.lwjgl.vulkan

public Class VkMemoryAllocateFlagsInfo

extends Struct<VkMemoryAllocateFlagsInfo>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Known Direct Subclasses
org.lwjgl.vulkan.VkMemoryAllocateFlagsInfoKHR
Imports
javax.annotation.*, java.nio.*, org.lwjgl.*, org.lwjgl.system.*

Structure controlling how many instances of memory will be allocated.
Description

If MEMORY_ALLOCATE_DEVICE_MASK_BIT is not set, the number of instances allocated depends on whether MEMORY_HEAP_MULTI_INSTANCE_BIT is set in the memory heap. If MEMORY_HEAP_MULTI_INSTANCE_BIT is set, then memory is allocated for every physical device in the logical device (as if deviceMask has bits set for all device indices). If MEMORY_HEAP_MULTI_INSTANCE_BIT is not set, then a single instance of memory is allocated (as if deviceMask is set to one).

On some implementations, allocations from a multi-instance heap may consume memory on all physical devices even if the deviceMask excludes some devices. If VkPhysicalDeviceGroupProperties::subsetAllocation is TRUE, then memory is only consumed for the devices in the device mask.

Note

In practice, most allocations on a multi-instance heap will be allocated across all physical devices. Unicast allocation support is an optional optimization for a minority of allocations.

Valid Usage
Valid Usage (Implicit)

Layout


struct VkMemoryAllocateFlagsInfo {
    VkStructureType sType;
    void const * pNext;
    VkMemoryAllocateFlags flags;
    uint32_t deviceMask;
}

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class

Field Summary

Modifier and TypeField and Description
public static final int
ALIGNOF

The struct alignment in bytes.

public static final int
DEVICEMASK

The struct member offsets.

public static final int
FLAGS

The struct member offsets.

public static final int
PNEXT

The struct member offsets.

public static final int
SIZEOF

The struct size in bytes.

public static final int
STYPE

The struct member offsets.

Inherited from org.lwjgl.system.Struct:
containerDEFAULT_ALIGN_ASDEFAULT_PACK_ALIGNMENT

Constructor Summary

AccessConstructor and Description
protected
VkMemoryAllocateFlagsInfo(long address, ByteBuffer container)

public
VkMemoryAllocateFlagsInfo(ByteBuffer container)

Creates a VkMemoryAllocateFlagsInfo instance at the current position of the specified ByteBuffer container.

Method Summary

Modifier and TypeMethod and Description
public static VkMemoryAllocateFlagsInfo
calloc()

Returns a new VkMemoryAllocateFlagsInfo instance allocated with memCalloc.

public static VkMemoryAllocateFlagsInfo.Buffer
calloc(int
the buffer capacity
capacity
)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated with memCalloc.

public static VkMemoryAllocateFlagsInfo
calloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkMemoryAllocateFlagsInfo instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkMemoryAllocateFlagsInfo.Buffer
calloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

public static VkMemoryAllocateFlagsInfo
callocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkMemoryAllocateFlagsInfo
callocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkMemoryAllocateFlagsInfo.Buffer
callocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkMemoryAllocateFlagsInfo.Buffer
callocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
protected VkMemoryAllocateFlagsInfo
create(long
the struct memory address
address
,
ByteBuffer
an optional container buffer, to be referenced strongly by the struct instance.
container
)

Implements abstract org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.
public static VkMemoryAllocateFlagsInfo
create()

Returns a new VkMemoryAllocateFlagsInfo instance allocated with BufferUtils.

public static VkMemoryAllocateFlagsInfo
create(long address)

Returns a new VkMemoryAllocateFlagsInfo instance for the specified memory address.

public static VkMemoryAllocateFlagsInfo.Buffer
create(int
the buffer capacity
capacity
)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated with BufferUtils.

public static VkMemoryAllocateFlagsInfo.Buffer
create(long
the memory address
address
,
int
the buffer capacity
capacity
)

Create a VkMemoryAllocateFlagsInfo.Buffer instance at the specified memory.

public static VkMemoryAllocateFlagsInfo
createSafe(long address)

Like create, but returns null if address is NULL.

public static VkMemoryAllocateFlagsInfo.Buffer
createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

public int
deviceMask()

a mask of physical devices in the logical device, indicating that memory must be allocated on each device in the mask, if MEMORY_ALLOCATE_DEVICE_MASK_BIT is set in flags.

public VkMemoryAllocateFlagsInfo
deviceMask(int value)

Sets the specified value to the deviceMask field.

public int
flags()

a bitmask of VkMemoryAllocateFlagBits controlling the allocation.

public VkMemoryAllocateFlagsInfo
flags(int value)

Sets the specified value to the flags field.

public static VkMemoryAllocateFlagsInfo
malloc()

Returns a new VkMemoryAllocateFlagsInfo instance allocated with memAlloc.

public static VkMemoryAllocateFlagsInfo.Buffer
malloc(int
the buffer capacity
capacity
)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated with memAlloc.

public static VkMemoryAllocateFlagsInfo
malloc(MemoryStack
the stack from which to allocate
stack
)

Returns a new VkMemoryAllocateFlagsInfo instance allocated on the specified MemoryStack.

public static VkMemoryAllocateFlagsInfo.Buffer
malloc(int
the buffer capacity
capacity
,
MemoryStack
the stack from which to allocate
stack
)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated on the specified MemoryStack.

public static VkMemoryAllocateFlagsInfo
mallocStack()

Deprecated
Deprecated for removal in 3.4.0.
public static VkMemoryAllocateFlagsInfo
mallocStack(MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static VkMemoryAllocateFlagsInfo.Buffer
mallocStack(int capacity)

Deprecated
Deprecated for removal in 3.4.0.
public static VkMemoryAllocateFlagsInfo.Buffer
mallocStack(int capacity, MemoryStack stack)

Deprecated
Deprecated for removal in 3.4.0.
public static int
ndeviceMask(long struct)

Unsafe version of deviceMask.

public static void
ndeviceMask(long struct, int value)

Unsafe version of deviceMask.

public static int
nflags(long struct)

Unsafe version of flags.

public static void
nflags(long struct, int value)

Unsafe version of flags.

public static long
npNext(long struct)

Unsafe version of pNext.

public static void
npNext(long struct, long value)

Unsafe version of pNext.

public static int
nsType(long struct)

Unsafe version of sType.

public static void
nsType(long struct, int value)

Unsafe version of sType.

public long
pNext()

NULL or a pointer to a structure extending this structure.

public VkMemoryAllocateFlagsInfo
pNext(long value)

Sets the specified value to the pNext field.

public VkMemoryAllocateFlagsInfo
set(int sType, long pNext, int flags, int deviceMask)

Initializes this struct with the specified values.

public VkMemoryAllocateFlagsInfo

Returns:

this struct
set
(VkMemoryAllocateFlagsInfo
the source struct
src
)

Copies the specified struct data to this struct.

public int
sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).
public int
sType()

a VkStructureType value identifying this structure.

public VkMemoryAllocateFlagsInfo
sType(int value)

Sets the specified value to the sType field.

public VkMemoryAllocateFlagsInfo
Inherited from org.lwjgl.system.Struct:
__array__array__array__checkContainer__checkMalloc__create__getContainer__getContainer__member__member__member__padding__padding__struct__struct__union__unionclearfreeisNullvalidate

Field Detail

ALIGNOFback to summary
public static final int ALIGNOF

The struct alignment in bytes.

DEVICEMASKback to summary
public static final int DEVICEMASK

The struct member offsets.

FLAGSback to summary
public static final int FLAGS

The struct member offsets.

PNEXTback to summary
public static final int PNEXT

The struct member offsets.

SIZEOFback to summary
public static final int SIZEOF

The struct size in bytes.

STYPEback to summary
public static final int STYPE

The struct member offsets.

Constructor Detail

VkMemoryAllocateFlagsInfoback to summary
protected VkMemoryAllocateFlagsInfo(long address, ByteBuffer container)
VkMemoryAllocateFlagsInfoback to summary
public VkMemoryAllocateFlagsInfo(ByteBuffer container)

Creates a VkMemoryAllocateFlagsInfo instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

The created instance holds a strong reference to the container object.

Method Detail

callocback to summary
public static VkMemoryAllocateFlagsInfo calloc()

Returns a new VkMemoryAllocateFlagsInfo instance allocated with memCalloc. The instance must be explicitly freed.

callocback to summary
public static VkMemoryAllocateFlagsInfo.Buffer calloc(int capacity)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated with memCalloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

callocback to summary
public static VkMemoryAllocateFlagsInfo calloc(MemoryStack stack)

Returns a new VkMemoryAllocateFlagsInfo instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
stack:MemoryStack

the stack from which to allocate

callocback to summary
public static VkMemoryAllocateFlagsInfo.Buffer calloc(int capacity, MemoryStack stack)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

callocStackback to summary
public static VkMemoryAllocateFlagsInfo callocStack()

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkMemoryAllocateFlagsInfo callocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkMemoryAllocateFlagsInfo.Buffer callocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
callocStackback to summary
public static VkMemoryAllocateFlagsInfo.Buffer callocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use calloc(int, MemoryStack) instead.

Annotations
@Deprecated
createback to summary
protected VkMemoryAllocateFlagsInfo create(long address, ByteBuffer container)

Implements abstract org.lwjgl.system.Struct.create.

Doc from org.lwjgl.system.Struct.create.

Similar to the constructor, but returns the exact type of the Struct subclass.

Effectively, every Struct instance is a factory for more instances of the same type. This is used by StructBuffer.

Parameters
address:long

the struct memory address

container:ByteBuffer

an optional container buffer, to be referenced strongly by the struct instance.

Annotations
@Override
createback to summary
public static VkMemoryAllocateFlagsInfo create()

Returns a new VkMemoryAllocateFlagsInfo instance allocated with BufferUtils.

createback to summary
public static VkMemoryAllocateFlagsInfo create(long address)

Returns a new VkMemoryAllocateFlagsInfo instance for the specified memory address.

createback to summary
public static VkMemoryAllocateFlagsInfo.Buffer create(int capacity)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated with BufferUtils.

Parameters
capacity:int

the buffer capacity

createback to summary
public static VkMemoryAllocateFlagsInfo.Buffer create(long address, int capacity)

Create a VkMemoryAllocateFlagsInfo.Buffer instance at the specified memory.

Parameters
address:long

the memory address

capacity:int

the buffer capacity

createSafeback to summary
public static VkMemoryAllocateFlagsInfo createSafe(long address)

Like create, but returns null if address is NULL.

Annotations
@Nullable
createSafeback to summary
public static VkMemoryAllocateFlagsInfo.Buffer createSafe(long address, int capacity)

Like create, but returns null if address is NULL.

Annotations
@Nullable
deviceMaskback to summary
public int deviceMask()

a mask of physical devices in the logical device, indicating that memory must be allocated on each device in the mask, if MEMORY_ALLOCATE_DEVICE_MASK_BIT is set in flags.

Annotations
@NativeType:uint32_t
deviceMaskback to summary
public VkMemoryAllocateFlagsInfo deviceMask(int value)

Sets the specified value to the deviceMask field.

flagsback to summary
public int flags()

a bitmask of VkMemoryAllocateFlagBits controlling the allocation.

Annotations
@NativeType:VkMemoryAllocateFlags
flagsback to summary
public VkMemoryAllocateFlagsInfo flags(int value)

Sets the specified value to the flags field.

mallocback to summary
public static VkMemoryAllocateFlagsInfo malloc()

Returns a new VkMemoryAllocateFlagsInfo instance allocated with memAlloc. The instance must be explicitly freed.

mallocback to summary
public static VkMemoryAllocateFlagsInfo.Buffer malloc(int capacity)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated with memAlloc. The instance must be explicitly freed.

Parameters
capacity:int

the buffer capacity

mallocback to summary
public static VkMemoryAllocateFlagsInfo malloc(MemoryStack stack)

Returns a new VkMemoryAllocateFlagsInfo instance allocated on the specified MemoryStack.

Parameters
stack:MemoryStack

the stack from which to allocate

mallocback to summary
public static VkMemoryAllocateFlagsInfo.Buffer malloc(int capacity, MemoryStack stack)

Returns a new VkMemoryAllocateFlagsInfo.Buffer instance allocated on the specified MemoryStack.

Parameters
capacity:int

the buffer capacity

stack:MemoryStack

the stack from which to allocate

mallocStackback to summary
public static VkMemoryAllocateFlagsInfo mallocStack()

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkMemoryAllocateFlagsInfo mallocStack(MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkMemoryAllocateFlagsInfo.Buffer mallocStack(int capacity)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
mallocStackback to summary
public static VkMemoryAllocateFlagsInfo.Buffer mallocStack(int capacity, MemoryStack stack)

Deprecated

Deprecated for removal in 3.4.0. Use malloc(int, MemoryStack) instead.

Annotations
@Deprecated
ndeviceMaskback to summary
public static int ndeviceMask(long struct)

Unsafe version of deviceMask.

ndeviceMaskback to summary
public static void ndeviceMask(long struct, int value)

Unsafe version of deviceMask.

nflagsback to summary
public static int nflags(long struct)

Unsafe version of flags.

nflagsback to summary
public static void nflags(long struct, int value)

Unsafe version of flags.

npNextback to summary
public static long npNext(long struct)

Unsafe version of pNext.

npNextback to summary
public static void npNext(long struct, long value)

Unsafe version of pNext.

nsTypeback to summary
public static int nsType(long struct)

Unsafe version of sType.

nsTypeback to summary
public static void nsType(long struct, int value)

Unsafe version of sType.

pNextback to summary
public long pNext()

NULL or a pointer to a structure extending this structure.

Annotations
@NativeType:void const *
pNextback to summary
public VkMemoryAllocateFlagsInfo pNext(long value)

Sets the specified value to the pNext field.

setback to summary
public VkMemoryAllocateFlagsInfo set(int sType, long pNext, int flags, int deviceMask)

Initializes this struct with the specified values.

setback to summary
public VkMemoryAllocateFlagsInfo set(VkMemoryAllocateFlagsInfo src)

Copies the specified struct data to this struct.

Parameters
src:VkMemoryAllocateFlagsInfo

the source struct

Returns:VkMemoryAllocateFlagsInfo

this struct

sizeofback to summary
public int sizeof()

Implements abstract org.lwjgl.system.Struct.sizeof.

Doc from org.lwjgl.system.Struct.sizeof.

Returns sizeof(struct).

Annotations
@Override
sTypeback to summary
public int sType()

a VkStructureType value identifying this structure.

Annotations
@NativeType:VkStructureType
sTypeback to summary
public VkMemoryAllocateFlagsInfo sType(int value)

Sets the specified value to the sType field.

sType$Defaultback to summary
public VkMemoryAllocateFlagsInfo sType$Default()

Sets the STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO value to the sType field.

org.lwjgl.vulkan back to summary

public Class VkMemoryAllocateFlagsInfo.Buffer

extends StructBuffer<VkMemoryAllocateFlagsInfo, VkMemoryAllocateFlagsInfo.Buffer>
implements NativeResource
Class Inheritance
All Implemented Interfaces
org.lwjgl.system.NativeResource, java.lang.AutoCloseable
Known Direct Subclasses
org.lwjgl.vulkan.VkMemoryAllocateFlagsInfoKHR.Buffer

An array of VkMemoryAllocateFlagsInfo structs.

Field Summary

Modifier and TypeField and Description
private static final VkMemoryAllocateFlagsInfo

Constructor Summary

AccessConstructor and Description
public
Buffer(ByteBuffer container)

Creates a new VkMemoryAllocateFlagsInfo.Buffer instance backed by the specified container.

public
Buffer(long address, int cap)

pack-priv
Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Summary

Modifier and TypeMethod and Description
public int

Returns:

the value of the VkMemoryAllocateFlagsInfo#deviceMask field.
deviceMask
()

public VkMemoryAllocateFlagsInfo.Buffer
deviceMask(int value)

Sets the specified value to the VkMemoryAllocateFlagsInfo#deviceMask field.

public int

Returns:

the value of the VkMemoryAllocateFlagsInfo#flags field.
flags
()

public VkMemoryAllocateFlagsInfo.Buffer
flags(int value)

Sets the specified value to the VkMemoryAllocateFlagsInfo#flags field.

protected VkMemoryAllocateFlagsInfo
public long

Returns:

the value of the VkMemoryAllocateFlagsInfo#pNext field.
pNext
()

public VkMemoryAllocateFlagsInfo.Buffer
pNext(long value)

Sets the specified value to the VkMemoryAllocateFlagsInfo#pNext field.

protected VkMemoryAllocateFlagsInfo.Buffer
public int

Returns:

the value of the VkMemoryAllocateFlagsInfo#sType field.
sType
()

public VkMemoryAllocateFlagsInfo.Buffer
sType(int value)

Sets the specified value to the VkMemoryAllocateFlagsInfo#sType field.

public VkMemoryAllocateFlagsInfo.Buffer
Inherited from org.lwjgl.system.StructBuffer:
applyapplyforEachgetgetgetgetiteratorparallelStreamputputsizeofspliteratorstream

Field Detail

ELEMENT_FACTORYback to summary
private static final VkMemoryAllocateFlagsInfo ELEMENT_FACTORY

Constructor Detail

Bufferback to summary
public Buffer(ByteBuffer container)

Creates a new VkMemoryAllocateFlagsInfo.Buffer instance backed by the specified container.

Changes to the container's content will be visible to the struct buffer instance and vice versa. The two buffers' position, limit, and mark values will be independent. The new buffer's position will be zero, its capacity and its limit will be the number of bytes remaining in this buffer divided by VkMemoryAllocateFlagsInfo#SIZEOF, and its mark will be undefined.

The created buffer instance holds a strong reference to the container object.

Bufferback to summary
public Buffer(long address, int cap)
Bufferback to summary
pack-priv Buffer(long address, ByteBuffer container, int mark, int pos, int lim, int cap)

Method Detail

deviceMaskback to summary
public int deviceMask()
Returns:int

the value of the VkMemoryAllocateFlagsInfo#deviceMask field.

Annotations
@NativeType:uint32_t
deviceMaskback to summary
public VkMemoryAllocateFlagsInfo.Buffer deviceMask(int value)

Sets the specified value to the VkMemoryAllocateFlagsInfo#deviceMask field.

flagsback to summary
public int flags()
Returns:int

the value of the VkMemoryAllocateFlagsInfo#flags field.

Annotations
@NativeType:VkMemoryAllocateFlags
flagsback to summary
public VkMemoryAllocateFlagsInfo.Buffer flags(int value)

Sets the specified value to the VkMemoryAllocateFlagsInfo#flags field.

getElementFactoryback to summary
protected VkMemoryAllocateFlagsInfo getElementFactory()

Implements abstract org.lwjgl.system.StructBuffer.getElementFactory.

Annotations
@Override
pNextback to summary
public long pNext()
Returns:long

the value of the VkMemoryAllocateFlagsInfo#pNext field.

Annotations
@NativeType:void const *
pNextback to summary
public VkMemoryAllocateFlagsInfo.Buffer pNext(long value)

Sets the specified value to the VkMemoryAllocateFlagsInfo#pNext field.

selfback to summary
protected VkMemoryAllocateFlagsInfo.Buffer self()

Implements abstract org.lwjgl.system.CustomBuffer.self.

Annotations
@Override
sTypeback to summary
public int sType()
Returns:int

the value of the VkMemoryAllocateFlagsInfo#sType field.

Annotations
@NativeType:VkStructureType
sTypeback to summary
public VkMemoryAllocateFlagsInfo.Buffer sType(int value)

Sets the specified value to the VkMemoryAllocateFlagsInfo#sType field.

sType$Defaultback to summary
public VkMemoryAllocateFlagsInfo.Buffer sType$Default()

Sets the STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO value to the VkMemoryAllocateFlagsInfo#sType field.