Package org.lwjgl.vulkan
Class VkMemoryDedicatedAllocateInfo
java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkMemoryDedicatedAllocateInfo>
org.lwjgl.vulkan.VkMemoryDedicatedAllocateInfo
- All Implemented Interfaces:
AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkMemoryDedicatedAllocateInfoKHR
public class VkMemoryDedicatedAllocateInfo
extends org.lwjgl.system.Struct<VkMemoryDedicatedAllocateInfo>
implements org.lwjgl.system.NativeResource
Specify a dedicated memory allocation resource.
Valid Usage
- At least one of
imageandbuffermust beNULL_HANDLE - If
imageis notNULL_HANDLEand the memory is not an imported Android Hardware Buffer ,VkMemoryAllocateInfo::allocationSizemust equal theVkMemoryRequirements::sizeof the image - If
imageis notNULL_HANDLE,imagemust have been created withoutIMAGE_CREATE_SPARSE_BINDING_BITset inVkImageCreateInfo::flags - If
bufferis notNULL_HANDLEand the memory is not an imported Android Hardware Buffer ,VkMemoryAllocateInfo::allocationSizemust equal theVkMemoryRequirements::sizeof the buffer - If
bufferis notNULL_HANDLE,buffermust have been created withoutBUFFER_CREATE_SPARSE_BINDING_BITset inVkBufferCreateInfo::flags - If
imageis notNULL_HANDLEandVkMemoryAllocateInfodefines a memory import operation with handle typeEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, orEXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the external handle was created by the Vulkan API, then the memory being imported must also be a dedicated image allocation andimagemust be identical to the image associated with the imported memory - If
bufferis notNULL_HANDLEandVkMemoryAllocateInfodefines a memory import operation with handle typeEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT,EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT,EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT,EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_KMT_BIT,EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT, orEXTERNAL_MEMORY_HANDLE_TYPE_D3D12_RESOURCE_BIT, and the external handle was created by the Vulkan API, then the memory being imported must also be a dedicated buffer allocation andbuffermust be identical to the buffer associated with the imported memory - If
imageis notNULL_HANDLEandVkMemoryAllocateInfodefines a memory import operation with handle typeEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the memory being imported must also be a dedicated image allocation andimagemust be identical to the image associated with the imported memory - If
bufferis notNULL_HANDLEandVkMemoryAllocateInfodefines a memory import operation with handle typeEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, the memory being imported must also be a dedicated buffer allocation andbuffermust be identical to the buffer associated with the imported memory - If
imageis notNULL_HANDLE,imagemust not have been created withIMAGE_CREATE_DISJOINT_BITset inVkImageCreateInfo::flags
Valid Usage (Implicit)
sTypemust beSTRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO- If
imageis notNULL_HANDLE,imagemust be a validVkImagehandle - If
bufferis notNULL_HANDLE,buffermust be a validVkBufferhandle - Both of
buffer, andimagethat are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the sameVkDevice
Layout
struct VkMemoryDedicatedAllocateInfo {
VkStructureType sType();
void const * pNext();
VkImage image();
VkBuffer buffer();
}-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.lwjgl.system.Struct
org.lwjgl.system.Struct.StructValidationNested classes/interfaces inherited from interface org.lwjgl.system.Pointer
org.lwjgl.system.Pointer.Default -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe struct alignment in bytes.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct member offsets.static final intThe struct size in bytes.static final intThe struct member offsets.Fields inherited from interface org.lwjgl.system.Pointer
BITS32, BITS64, CLONG_SHIFT, CLONG_SIZE, POINTER_SHIFT, POINTER_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionVkMemoryDedicatedAllocateInfo(ByteBuffer container) Creates aVkMemoryDedicatedAllocateInfoinstance at the current position of the specifiedByteBuffercontainer. -
Method Summary
Modifier and TypeMethodDescriptionlongbuffer()NULL_HANDLEor a handle of a buffer which this memory will be bound to.buffer(long value) Sets the specified value to thebuffer()field.calloc()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemCalloc.calloc(int capacity) Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemCalloc.calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.calloc(org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.Deprecated.callocStack(int capacity) Deprecated.callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.create()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withBufferUtils.create(int capacity) Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withBufferUtils.create(long address) Returns a newVkMemoryDedicatedAllocateInfoinstance for the specified memory address.create(long address, int capacity) Create aVkMemoryDedicatedAllocateInfo.Bufferinstance at the specified memory.static @Nullable VkMemoryDedicatedAllocateInfocreateSafe(long address) static @Nullable VkMemoryDedicatedAllocateInfo.BuffercreateSafe(long address, int capacity) longimage()NULL_HANDLEor a handle of an image which this memory will be bound to.image(long value) Sets the specified value to theimage()field.malloc()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemAlloc.malloc(int capacity) Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemAlloc.malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the specifiedMemoryStack.malloc(org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStack.Deprecated.mallocStack(int capacity) Deprecated.mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.static longnbuffer(long struct) Unsafe version ofbuffer().static voidnbuffer(long struct, long value) Unsafe version ofbuffer.static longnimage(long struct) Unsafe version ofimage().static voidnimage(long struct, long value) Unsafe version ofimage.static longnpNext(long struct) Unsafe version ofpNext().static voidnpNext(long struct, long value) Unsafe version ofpNext.static intnsType(long struct) Unsafe version ofsType().static voidnsType(long struct, int value) Unsafe version ofsType.longpNext()NULLor a pointer to a structure extending this structure.pNext(long value) Sets the specified value to thepNext()field.set(int sType, long pNext, long image, long buffer) Initializes this struct with the specified values.Copies the specified struct data to this struct.intsizeof()intsType()aVkStructureTypevalue identifying this structure.sType(int value) Sets the specified value to thesType()field.Sets theSTRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFOvalue to thesType()field.Methods inherited from class org.lwjgl.system.Struct
clear, free, isNull, validate, validateMethods inherited from class org.lwjgl.system.Pointer.Default
address, equals, hashCode, toStringMethods inherited from interface org.lwjgl.system.NativeResource
close, free
-
Field Details
-
SIZEOF
public static final int SIZEOFThe struct size in bytes. -
ALIGNOF
public static final int ALIGNOFThe struct alignment in bytes. -
STYPE
public static final int STYPEThe struct member offsets. -
PNEXT
public static final int PNEXTThe struct member offsets. -
IMAGE
public static final int IMAGEThe struct member offsets. -
BUFFER
public static final int BUFFERThe struct member offsets.
-
-
Constructor Details
-
VkMemoryDedicatedAllocateInfo
Creates aVkMemoryDedicatedAllocateInfoinstance at the current position of the specifiedByteBuffercontainer. 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 Details
-
sizeof
public int sizeof()- Specified by:
sizeofin classorg.lwjgl.system.Struct<VkMemoryDedicatedAllocateInfo>
-
sType
public int sType()aVkStructureTypevalue identifying this structure. -
pNext
public long pNext()NULLor a pointer to a structure extending this structure. -
image
public long image()NULL_HANDLEor a handle of an image which this memory will be bound to. -
buffer
public long buffer()NULL_HANDLEor a handle of a buffer which this memory will be bound to. -
sType
Sets the specified value to thesType()field. -
sType$Default
Sets theSTRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFOvalue to thesType()field. -
pNext
Sets the specified value to thepNext()field. -
image
Sets the specified value to theimage()field. -
buffer
Sets the specified value to thebuffer()field. -
set
Initializes this struct with the specified values. -
set
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemAlloc. The instance must be explicitly freed. -
calloc
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemCalloc. The instance must be explicitly freed. -
create
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withBufferUtils. -
create
Returns a newVkMemoryDedicatedAllocateInfoinstance for the specified memory address. -
createSafe
-
malloc
Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
Create aVkMemoryDedicatedAllocateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
-
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
@Deprecated public static VkMemoryDedicatedAllocateInfo mallocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead. -
callocStack
@Deprecated public static VkMemoryDedicatedAllocateInfo callocStack(org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(MemoryStack)instead. -
mallocStack
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
mallocStack
@Deprecated public static VkMemoryDedicatedAllocateInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead. -
callocStack
@Deprecated public static VkMemoryDedicatedAllocateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack) Deprecated.Deprecated for removal in 3.4.0. Usecalloc(int, MemoryStack)instead. -
malloc
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
stack- the stack from which to allocate
-
malloc
public static VkMemoryDedicatedAllocateInfo.Buffer malloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the specifiedMemoryStack.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
calloc
public static VkMemoryDedicatedAllocateInfo.Buffer calloc(int capacity, org.lwjgl.system.MemoryStack stack) Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.- Parameters:
capacity- the buffer capacitystack- the stack from which to allocate
-
nsType
public static int nsType(long struct) Unsafe version ofsType(). -
npNext
public static long npNext(long struct) Unsafe version ofpNext(). -
nimage
public static long nimage(long struct) Unsafe version ofimage(). -
nbuffer
public static long nbuffer(long struct) Unsafe version ofbuffer(). -
nsType
public static void nsType(long struct, int value) Unsafe version ofsType. -
npNext
public static void npNext(long struct, long value) Unsafe version ofpNext. -
nimage
public static void nimage(long struct, long value) Unsafe version ofimage. -
nbuffer
public static void nbuffer(long struct, long value) Unsafe version ofbuffer.
-