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 must have been created, allocated, or retrieved from the sameVkDevice
Member documentation
sType– the type of this structure.pNext–NULLor a pointer to an extension-specific structure.image–NULL_HANDLEor a handle of an image which this memory will be bound to.buffer–NULL_HANDLEor 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 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 Modifier and Type Method Description longbuffer()Returns the value of thebufferfield.VkMemoryDedicatedAllocateInfobuffer(long value)Sets the specified value to thebufferfield.static VkMemoryDedicatedAllocateInfocalloc()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemCalloc.static VkMemoryDedicatedAllocateInfo.Buffercalloc(int capacity)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemCalloc.static VkMemoryDedicatedAllocateInfocallocStack()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkMemoryDedicatedAllocateInfo.BuffercallocStack(int capacity)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.static VkMemoryDedicatedAllocateInfo.BuffercallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.static VkMemoryDedicatedAllocateInfocallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStackand initializes all its bits to zero.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()Returns the value of theimagefield.VkMemoryDedicatedAllocateInfoimage(long value)Sets the specified value to theimagefield.static VkMemoryDedicatedAllocateInfomalloc()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated withmemAlloc.static VkMemoryDedicatedAllocateInfo.Buffermalloc(int capacity)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated withmemAlloc.static VkMemoryDedicatedAllocateInfomallocStack()Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the thread-localMemoryStack.static VkMemoryDedicatedAllocateInfo.BuffermallocStack(int capacity)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the thread-localMemoryStack.static VkMemoryDedicatedAllocateInfo.BuffermallocStack(int capacity, org.lwjgl.system.MemoryStack stack)Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the specifiedMemoryStack.static VkMemoryDedicatedAllocateInfomallocStack(org.lwjgl.system.MemoryStack stack)Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStack.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()Returns the value of thepNextfield.VkMemoryDedicatedAllocateInfopNext(long value)Sets the specified value to thepNextfield.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()Returns the value of thesTypefield.VkMemoryDedicatedAllocateInfosType(int value)Sets the specified value to thesTypefield.
-
-
-
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()
Returns the value of thesTypefield.
-
pNext
public long pNext()
Returns the value of thepNextfield.
-
image
public long image()
Returns the value of theimagefield.
-
buffer
public long buffer()
Returns the value of thebufferfield.
-
sType
public VkMemoryDedicatedAllocateInfo sType(int value)
Sets the specified value to thesTypefield.
-
pNext
public VkMemoryDedicatedAllocateInfo pNext(long value)
Sets the specified value to thepNextfield.
-
image
public VkMemoryDedicatedAllocateInfo image(long value)
Sets the specified value to theimagefield.
-
buffer
public VkMemoryDedicatedAllocateInfo buffer(long value)
Sets the specified value to thebufferfield.
-
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
public static VkMemoryDedicatedAllocateInfo mallocStack()
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the thread-localMemoryStack.
-
callocStack
public static VkMemoryDedicatedAllocateInfo callocStack()
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the thread-localMemoryStackand initializes all its bits to zero.
-
mallocStack
public static VkMemoryDedicatedAllocateInfo mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a newVkMemoryDedicatedAllocateInfoinstance allocated on the specifiedMemoryStack.- Parameters:
stack- the stack from which to allocate
-
callocStack
public static VkMemoryDedicatedAllocateInfo callocStack(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
-
mallocStack
public static VkMemoryDedicatedAllocateInfo.Buffer mallocStack(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the thread-localMemoryStack.- Parameters:
capacity- the buffer capacity
-
callocStack
public static VkMemoryDedicatedAllocateInfo.Buffer callocStack(int capacity)
Returns a newVkMemoryDedicatedAllocateInfo.Bufferinstance allocated on the thread-localMemoryStackand 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.Bufferinstance 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.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.
-
-