Package org.lwjgl.vulkan
Class VkMemoryDedicatedAllocateInfo
- java.lang.Object
-
- org.lwjgl.system.Pointer.Default
-
- org.lwjgl.system.Struct
-
- org.lwjgl.vulkan.VkMemoryDedicatedAllocateInfo
-
- All Implemented Interfaces:
java.lang.AutoCloseable,org.lwjgl.system.NativeResource,org.lwjgl.system.Pointer
- Direct Known Subclasses:
VkMemoryDedicatedAllocateInfoKHR
public class VkMemoryDedicatedAllocateInfo extends org.lwjgl.system.Struct implements org.lwjgl.system.NativeResourceSpecify a dedicated memory allocation resource.Valid Usage
- At least one of
imageandbuffermust beNULL_HANDLE - If
imageis notNULL_HANDLE,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_HANDLE,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 { VkStructureTypesType(); void const *pNext(); VkImageimage(); VkBufferbuffer(); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classVkMemoryDedicatedAllocateInfo.BufferAn array ofVkMemoryDedicatedAllocateInfostructs.
-
Constructor Summary
Constructors Constructor Description VkMemoryDedicatedAllocateInfo(java.nio.ByteBuffer container)Creates aVkMemoryDedicatedAllocateInfoinstance at the current position of the specifiedByteBuffercontainer.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description longbuffer()NULL_HANDLEor a handle of a buffer which this memory will be bound to.VkMemoryDedicatedAllocateInfobuffer(long value)Sets the specified value to thebuffer()field.static VkMemoryDedicatedAllocateInfocalloc()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemCalloc.static VkMemoryDedicatedAllocateInfo.Buffercalloc(int capacity)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemCalloc.static VkMemoryDedicatedAllocateInfo.Buffercalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkMemoryDedicatedAllocateInfocalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkMemoryDedicatedAllocateInfocallocStack()Deprecated.static VkMemoryDedicatedAllocateInfo.BuffercallocStack(int capacity)Deprecated.static VkMemoryDedicatedAllocateInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkMemoryDedicatedAllocateInfocallocStack(org.lwjgl.system.MemoryStack stack)Deprecated.static VkMemoryDedicatedAllocateInfocreate()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withBufferUtils.static VkMemoryDedicatedAllocateInfo.Buffercreate(int capacity)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withBufferUtils.static VkMemoryDedicatedAllocateInfocreate(long address)Returns a newVkMemoryDedicatedAllocateInfoinstance for the specified memory address.static VkMemoryDedicatedAllocateInfo.Buffercreate(long address, int capacity)Create aVkMemoryDedicatedAllocateInfo.Bufferinstance at the specified memory.static VkMemoryDedicatedAllocateInfocreateSafe(long address)static VkMemoryDedicatedAllocateInfo.BuffercreateSafe(long address, int capacity)longimage()NULL_HANDLEor a handle of an image which this memory will be bound to.VkMemoryDedicatedAllocateInfoimage(long value)Sets the specified value to theimage()field.static VkMemoryDedicatedAllocateInfomalloc()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemAlloc.static VkMemoryDedicatedAllocateInfo.Buffermalloc(int capacity)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemAlloc.static VkMemoryDedicatedAllocateInfo.Buffermalloc(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkMemoryDedicatedAllocateInfomalloc(org.lwjgl.system.MemoryStack stack)Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStack.static VkMemoryDedicatedAllocateInfomallocStack()Deprecated.static VkMemoryDedicatedAllocateInfo.BuffermallocStack(int capacity)Deprecated.static VkMemoryDedicatedAllocateInfo.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Deprecated.static VkMemoryDedicatedAllocateInfomallocStack(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.VkMemoryDedicatedAllocateInfopNext(long value)Sets the specified value to thepNext()field.VkMemoryDedicatedAllocateInfoset(int sType, long pNext, long image, long buffer)Initializes this struct with the specified values.VkMemoryDedicatedAllocateInfoset(VkMemoryDedicatedAllocateInfo src)Copies the specified struct data to this struct.intsizeof()intsType()the type of this structure.VkMemoryDedicatedAllocateInfosType(int value)Sets the specified value to thesType()field.VkMemoryDedicatedAllocateInfosType$Default()Sets theSTRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFOvalue to thesType()field.
-
-
-
Constructor Detail
-
VkMemoryDedicatedAllocateInfo
public VkMemoryDedicatedAllocateInfo(java.nio.ByteBuffer container)
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 Detail
-
sizeof
public int sizeof()
- Specified by:
sizeofin classorg.lwjgl.system.Struct
-
sType
public int sType()
the type of 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
public VkMemoryDedicatedAllocateInfo sType(int value)
Sets the specified value to thesType()field.
-
sType$Default
public VkMemoryDedicatedAllocateInfo sType$Default()
Sets theSTRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFOvalue to thesType()field.
-
pNext
public VkMemoryDedicatedAllocateInfo pNext(long value)
Sets the specified value to thepNext()field.
-
image
public VkMemoryDedicatedAllocateInfo image(long value)
Sets the specified value to theimage()field.
-
buffer
public VkMemoryDedicatedAllocateInfo buffer(long value)
Sets the specified value to thebuffer()field.
-
set
public VkMemoryDedicatedAllocateInfo set(int sType, long pNext, long image, long buffer)
Initializes this struct with the specified values.
-
set
public VkMemoryDedicatedAllocateInfo set(VkMemoryDedicatedAllocateInfo src)
Copies the specified struct data to this struct.- Parameters:
src- the source struct- Returns:
- this struct
-
malloc
public static VkMemoryDedicatedAllocateInfo malloc()
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemAlloc. The instance must be explicitly freed.
-
calloc
public static VkMemoryDedicatedAllocateInfo calloc()
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemCalloc. The instance must be explicitly freed.
-
create
public static VkMemoryDedicatedAllocateInfo create()
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withBufferUtils.
-
create
public static VkMemoryDedicatedAllocateInfo create(long address)
Returns a newVkMemoryDedicatedAllocateInfoinstance for the specified memory address.
-
createSafe
@Nullable public static VkMemoryDedicatedAllocateInfo createSafe(long address)
-
malloc
public static VkMemoryDedicatedAllocateInfo.Buffer malloc(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemAlloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
calloc
public static VkMemoryDedicatedAllocateInfo.Buffer calloc(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemCalloc. The instance must be explicitly freed.- Parameters:
capacity- the buffer capacity
-
create
public static VkMemoryDedicatedAllocateInfo.Buffer create(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withBufferUtils.- Parameters:
capacity- the buffer capacity
-
create
public static VkMemoryDedicatedAllocateInfo.Buffer create(long address, int capacity)
Create aVkMemoryDedicatedAllocateInfo.Bufferinstance at the specified memory.- Parameters:
address- the memory addresscapacity- the buffer capacity
-
createSafe
@Nullable public static VkMemoryDedicatedAllocateInfo.Buffer createSafe(long address, int capacity)
-
mallocStack
@Deprecated public static VkMemoryDedicatedAllocateInfo mallocStack()
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(MemoryStack)instead.
-
callocStack
@Deprecated public static VkMemoryDedicatedAllocateInfo 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 public static VkMemoryDedicatedAllocateInfo.Buffer mallocStack(int capacity)
Deprecated.Deprecated for removal in 3.4.0. Usemalloc(int, MemoryStack)instead.
-
callocStack
@Deprecated public static VkMemoryDedicatedAllocateInfo.Buffer callocStack(int capacity)
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
public static VkMemoryDedicatedAllocateInfo malloc(org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
calloc
public static VkMemoryDedicatedAllocateInfo calloc(org.lwjgl.system.MemoryStack stack)
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:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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:
stack- the stack from which to allocatecapacity- the buffer capacity
-
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.
-
-