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.NativeResource
Specify a dedicated memory allocation resource.Valid Usage
- At least one of
image
andbuffer
must beNULL_HANDLE
- If
image
is notNULL_HANDLE
,VkMemoryAllocateInfo
::allocationSize
must equal theVkMemoryRequirements
::size
of the image - If
image
is notNULL_HANDLE
,image
must have been created withoutIMAGE_CREATE_SPARSE_BINDING_BIT
set inVkImageCreateInfo
::flags
- If
buffer
is notNULL_HANDLE
,VkMemoryAllocateInfo
::allocationSize
must equal theVkMemoryRequirements
::size
of the buffer - If
buffer
is notNULL_HANDLE
,buffer
must have been created withoutBUFFER_CREATE_SPARSE_BINDING_BIT
set inVkBufferCreateInfo
::flags
- If
image
is notNULL_HANDLE
andVkMemoryAllocateInfo
defines 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 andimage
must be identical to the image associated with the imported memory. - If
buffer
is notNULL_HANDLE
andVkMemoryAllocateInfo
defines 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 andbuffer
must be identical to the buffer associated with the imported memory. - If
image
is notNULL_HANDLE
andVkMemoryAllocateInfo
defines a memory import operation with handle typeEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT
, the memory being imported must also be a dedicated image allocation andimage
must be identical to the image associated with the imported memory. - If
buffer
is notNULL_HANDLE
andVkMemoryAllocateInfo
defines a memory import operation with handle typeEXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT
, the memory being imported must also be a dedicated buffer allocation andbuffer
must be identical to the buffer associated with the imported memory. - If
image
is notNULL_HANDLE
,image
must not have been created withIMAGE_CREATE_DISJOINT_BIT
set inVkImageCreateInfo
::flags
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
- If
image
is notNULL_HANDLE
,image
must be a validVkImage
handle - If
buffer
is notNULL_HANDLE
,buffer
must be a validVkBuffer
handle - Both of
buffer
, andimage
that are valid handles must have been created, allocated, or retrieved from the sameVkDevice
Member documentation
sType
– the type of this structure.pNext
–NULL
or a pointer to an extension-specific structure.image
–NULL_HANDLE
or a handle of an image which this memory will be bound to.buffer
–NULL_HANDLE
or a handle of a buffer which this memory will be bound to.
Layout
struct VkMemoryDedicatedAllocateInfo { VkStructureType sType; void const * pNext; VkImage image; VkBuffer buffer; }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VkMemoryDedicatedAllocateInfo.Buffer
An array ofVkMemoryDedicatedAllocateInfo
structs.
-
Constructor Summary
Constructors Constructor Description VkMemoryDedicatedAllocateInfo(java.nio.ByteBuffer container)
Creates aVkMemoryDedicatedAllocateInfo
instance at the current position of the specifiedByteBuffer
container.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description long
buffer()
Returns the value of thebuffer
field.VkMemoryDedicatedAllocateInfo
buffer(long value)
Sets the specified value to thebuffer
field.static VkMemoryDedicatedAllocateInfo
calloc()
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated withmemCalloc
.static VkMemoryDedicatedAllocateInfo.Buffer
calloc(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated withmemCalloc
.static VkMemoryDedicatedAllocateInfo
callocStack()
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkMemoryDedicatedAllocateInfo.Buffer
callocStack(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.static VkMemoryDedicatedAllocateInfo.Buffer
callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkMemoryDedicatedAllocateInfo
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.static VkMemoryDedicatedAllocateInfo
create()
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated withBufferUtils
.static VkMemoryDedicatedAllocateInfo.Buffer
create(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated withBufferUtils
.static VkMemoryDedicatedAllocateInfo
create(long address)
Returns a newVkMemoryDedicatedAllocateInfo
instance for the specified memory address.static VkMemoryDedicatedAllocateInfo.Buffer
create(long address, int capacity)
Create aVkMemoryDedicatedAllocateInfo.Buffer
instance at the specified memory.static VkMemoryDedicatedAllocateInfo
createSafe(long address)
static VkMemoryDedicatedAllocateInfo.Buffer
createSafe(long address, int capacity)
long
image()
Returns the value of theimage
field.VkMemoryDedicatedAllocateInfo
image(long value)
Sets the specified value to theimage
field.static VkMemoryDedicatedAllocateInfo
malloc()
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated withmemAlloc
.static VkMemoryDedicatedAllocateInfo.Buffer
malloc(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated withmemAlloc
.static VkMemoryDedicatedAllocateInfo
mallocStack()
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated on the thread-localMemoryStack
.static VkMemoryDedicatedAllocateInfo.Buffer
mallocStack(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated on the thread-localMemoryStack
.static VkMemoryDedicatedAllocateInfo.Buffer
mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated on the specifiedMemoryStack
.static VkMemoryDedicatedAllocateInfo
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated on the specifiedMemoryStack
.static long
nbuffer(long struct)
Unsafe version ofbuffer()
.static void
nbuffer(long struct, long value)
Unsafe version ofbuffer
.static long
nimage(long struct)
Unsafe version ofimage()
.static void
nimage(long struct, long value)
Unsafe version ofimage
.static long
npNext(long struct)
Unsafe version ofpNext()
.static void
npNext(long struct, long value)
Unsafe version ofpNext
.static int
nsType(long struct)
Unsafe version ofsType()
.static void
nsType(long struct, int value)
Unsafe version ofsType
.long
pNext()
Returns the value of thepNext
field.VkMemoryDedicatedAllocateInfo
pNext(long value)
Sets the specified value to thepNext
field.VkMemoryDedicatedAllocateInfo
set(int sType, long pNext, long image, long buffer)
Initializes this struct with the specified values.VkMemoryDedicatedAllocateInfo
set(VkMemoryDedicatedAllocateInfo src)
Copies the specified struct data to this struct.int
sizeof()
int
sType()
Returns the value of thesType
field.VkMemoryDedicatedAllocateInfo
sType(int value)
Sets the specified value to thesType
field.
-
-
-
Constructor Detail
-
VkMemoryDedicatedAllocateInfo
public VkMemoryDedicatedAllocateInfo(java.nio.ByteBuffer container)
Creates aVkMemoryDedicatedAllocateInfo
instance at the current position of the specifiedByteBuffer
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
-
sizeof
public int sizeof()
- Specified by:
sizeof
in classorg.lwjgl.system.Struct
-
sType
public int sType()
Returns the value of thesType
field.
-
pNext
public long pNext()
Returns the value of thepNext
field.
-
image
public long image()
Returns the value of theimage
field.
-
buffer
public long buffer()
Returns the value of thebuffer
field.
-
sType
public VkMemoryDedicatedAllocateInfo sType(int value)
Sets the specified value 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 newVkMemoryDedicatedAllocateInfo
instance allocated withmemAlloc
. The instance must be explicitly freed.
-
calloc
public static VkMemoryDedicatedAllocateInfo calloc()
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated withmemCalloc
. The instance must be explicitly freed.
-
create
public static VkMemoryDedicatedAllocateInfo create()
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated withBufferUtils
.
-
create
public static VkMemoryDedicatedAllocateInfo create(long address)
Returns a newVkMemoryDedicatedAllocateInfo
instance for the specified memory address.
-
createSafe
@Nullable public static VkMemoryDedicatedAllocateInfo createSafe(long address)
-
malloc
public static VkMemoryDedicatedAllocateInfo.Buffer malloc(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated withmemAlloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
calloc
public static VkMemoryDedicatedAllocateInfo.Buffer calloc(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated withmemCalloc
. The instance must be explicitly freed.- Parameters:
capacity
- the buffer capacity
-
create
public static VkMemoryDedicatedAllocateInfo.Buffer create(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated withBufferUtils
.- Parameters:
capacity
- the buffer capacity
-
create
public static VkMemoryDedicatedAllocateInfo.Buffer create(long address, int capacity)
Create aVkMemoryDedicatedAllocateInfo.Buffer
instance at the specified memory.- Parameters:
address
- the memory addresscapacity
- the buffer capacity
-
createSafe
@Nullable public static VkMemoryDedicatedAllocateInfo.Buffer createSafe(long address, int capacity)
-
mallocStack
public static VkMemoryDedicatedAllocateInfo mallocStack()
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated on the thread-localMemoryStack
.
-
callocStack
public static VkMemoryDedicatedAllocateInfo callocStack()
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.
-
mallocStack
public static VkMemoryDedicatedAllocateInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocate
-
callocStack
public static VkMemoryDedicatedAllocateInfo callocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfo
instance allocated on the specifiedMemoryStack
and initializes all its bits to zero.- Parameters:
stack
- the stack from which to allocate
-
mallocStack
public static VkMemoryDedicatedAllocateInfo.Buffer mallocStack(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated on the thread-localMemoryStack
.- Parameters:
capacity
- the buffer capacity
-
callocStack
public static VkMemoryDedicatedAllocateInfo.Buffer callocStack(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated on the thread-localMemoryStack
and initializes all its bits to zero.- Parameters:
capacity
- the buffer capacity
-
mallocStack
public static VkMemoryDedicatedAllocateInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated on the specifiedMemoryStack
.- Parameters:
stack
- the stack from which to allocatecapacity
- the buffer capacity
-
callocStack
public static VkMemoryDedicatedAllocateInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfo.Buffer
instance allocated on the specifiedMemoryStack
and 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
.
-
-