public class VkBindImageMemoryInfo
extends org.lwjgl.system.Struct
implements org.lwjgl.system.NativeResource
image must not already be backed by a memory objectimage must not have been created with any sparse memory binding flagsmemoryOffset must be less than the size of memorypNext chain does not include a VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to GetImageMemoryRequirements2 with imagepNext chain does not include a VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to GetImageMemoryRequirements2 with imagepNext chain does not include a VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to GetImageMemoryRequirements2 with the same imagepNext chain includes a VkBindImagePlaneMemoryInfo structure, image must have been created with the IMAGE_CREATE_DISJOINT_BIT bit set.pNext chain includes a VkBindImagePlaneMemoryInfo structure, memory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to GetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure included in the VkImageMemoryRequirementsInfo2 structure’s pNext chainpNext chain includes a VkBindImagePlaneMemoryInfo structure, memoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to GetImageMemoryRequirements2 with image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure included in the VkImageMemoryRequirementsInfo2 structure’s pNext chainpNext chain includes a VkBindImagePlaneMemoryInfo structure, the difference of the size of memory and memoryOffset must be greater than or equal to the size member of the VkMemoryRequirements structure returned from a call to GetImageMemoryRequirements2 with the same image and the correct planeAspect for this plane in the VkImagePlaneMemoryRequirementsInfo structure included in the VkImageMemoryRequirementsInfo2 structure’s pNext chainimage requires a dedicated allocation (as reported by GetImageMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::image equal to image and memoryOffset must be zeroVkMemoryAllocateInfo provided when memory was allocated included a VkMemoryDedicatedAllocateInfo structure in its pNext chain, and VkMemoryDedicatedAllocateInfo::image was not NULL_HANDLE, then image must equal VkMemoryDedicatedAllocateInfo::image and memoryOffset must be zero.VkMemoryAllocateInfo provided when memory was allocated included a VkMemoryDedicatedAllocateInfo structure in its pNext chain, and VkMemoryDedicatedAllocateInfo::image was not NULL_HANDLE, then memoryOffset must be zero, and image must be either equal to VkMemoryDedicatedAllocateInfo::image or an image that was created using the same parameters in VkImageCreateInfo, with the exception that extent and arrayLayers may differ subject to the following restrictions: every dimension in the extent parameter of the image being bound must be equal to or smaller than the original image for which the allocation was created; and the arrayLayers parameter of the image being bound must be equal to or smaller than the original image for which the allocation was created.image was created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::image equal to image and memoryOffset must be zeropNext chain includes a VkBindImageMemoryDeviceGroupInfo structure, all instances of memory specified by VkBindImageMemoryDeviceGroupInfo::pDeviceIndices must have been allocatedpNext chain includes a VkBindImageMemoryDeviceGroupInfo structure, and VkBindImageMemoryDeviceGroupInfo::splitInstanceBindRegionCount is not zero, then image must have been created with the IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT bit setpNext chain includes a VkBindImageMemoryDeviceGroupInfo structure, all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions must be valid rectangles contained within the dimensions of imagepNext chain includes a VkBindImageMemoryDeviceGroupInfo structure, the union of the areas of all elements of VkBindImageMemoryDeviceGroupInfo::pSplitInstanceBindRegions that correspond to the same instance of image must cover the entire image.image was created with a valid swapchain handle in VkImageSwapchainCreateInfoKHR::swapchain, then the pNext chain must include a VkBindImageMemorySwapchainInfoKHR structure containing the same swapchain handle.pNext chain includes a VkBindImageMemorySwapchainInfoKHR structure, memory must be NULL_HANDLEpNext chain does not include a VkBindImageMemorySwapchainInfoKHR structure, memory must be a valid VkDeviceMemory handleVkExportMemoryAllocateInfo::handleTypes used to allocate memory is not 0, it must include at least one of the handles set in VkExternalMemoryImageCreateInfo::handleTypes when image was createdmemory was created by a memory import operation, the external handle type of the imported memory must also have been set in VkExternalMemoryImageCreateInfo::handleTypes when image was createdsType must be STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFOpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkBindImageMemoryDeviceGroupInfo, VkBindImageMemorySwapchainInfoKHR, or VkBindImagePlaneMemoryInfosType member in the pNext chain must be uniqueimage must be a valid VkImage handleimage, and memory that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDeviceBindImageMemory2, BindImageMemory2KHR
sType – the type of this structure.pNext – NULL or a pointer to an extension-specific structure.image – the image to be attached to memory.memory – a VkDeviceMemory object describing the device memory to attach.memoryOffset – the start offset of the region of memory which is to be bound to the image. The number of bytes returned in the VkMemoryRequirements::size member in memory, starting from memoryOffset bytes, will be bound to the specified image.
struct VkBindImageMemoryInfo {
VkStructureType sType;
void const * pNext;
VkImage image;
VkDeviceMemory memory;
VkDeviceSize memoryOffset;
}| Modifier and Type | Class and Description |
|---|---|
static class |
VkBindImageMemoryInfo.Buffer
An array of
VkBindImageMemoryInfo structs. |
| Modifier and Type | Field and Description |
|---|---|
static int |
ALIGNOF
The struct alignment in bytes.
|
static int |
IMAGE
The struct member offsets.
|
static int |
MEMORY
The struct member offsets.
|
static int |
MEMORYOFFSET
The struct member offsets.
|
static int |
PNEXT
The struct member offsets.
|
static int |
SIZEOF
The struct size in bytes.
|
static int |
STYPE
The struct member offsets.
|
| Constructor and Description |
|---|
VkBindImageMemoryInfo(java.nio.ByteBuffer container)
Creates a
VkBindImageMemoryInfo instance at the current position of the specified ByteBuffer container. |
| Modifier and Type | Method and Description |
|---|---|
static VkBindImageMemoryInfo |
calloc()
Returns a new
VkBindImageMemoryInfo instance allocated with memCalloc. |
static VkBindImageMemoryInfo.Buffer |
calloc(int capacity)
Returns a new
VkBindImageMemoryInfo.Buffer instance allocated with memCalloc. |
static VkBindImageMemoryInfo |
callocStack()
Returns a new
VkBindImageMemoryInfo instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkBindImageMemoryInfo.Buffer |
callocStack(int capacity)
Returns a new
VkBindImageMemoryInfo.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero. |
static VkBindImageMemoryInfo.Buffer |
callocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkBindImageMemoryInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkBindImageMemoryInfo |
callocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkBindImageMemoryInfo instance allocated on the specified MemoryStack and initializes all its bits to zero. |
static VkBindImageMemoryInfo |
create()
Returns a new
VkBindImageMemoryInfo instance allocated with BufferUtils. |
static VkBindImageMemoryInfo.Buffer |
create(int capacity)
Returns a new
VkBindImageMemoryInfo.Buffer instance allocated with BufferUtils. |
static VkBindImageMemoryInfo |
create(long address)
Returns a new
VkBindImageMemoryInfo instance for the specified memory address. |
static VkBindImageMemoryInfo.Buffer |
create(long address,
int capacity)
Create a
VkBindImageMemoryInfo.Buffer instance at the specified memory. |
static VkBindImageMemoryInfo |
createSafe(long address)
|
static VkBindImageMemoryInfo.Buffer |
createSafe(long address,
int capacity)
|
long |
image()
Returns the value of the
image field. |
VkBindImageMemoryInfo |
image(long value)
Sets the specified value to the
image field. |
static VkBindImageMemoryInfo |
malloc()
Returns a new
VkBindImageMemoryInfo instance allocated with memAlloc. |
static VkBindImageMemoryInfo.Buffer |
malloc(int capacity)
Returns a new
VkBindImageMemoryInfo.Buffer instance allocated with memAlloc. |
static VkBindImageMemoryInfo |
mallocStack()
Returns a new
VkBindImageMemoryInfo instance allocated on the thread-local MemoryStack. |
static VkBindImageMemoryInfo.Buffer |
mallocStack(int capacity)
Returns a new
VkBindImageMemoryInfo.Buffer instance allocated on the thread-local MemoryStack. |
static VkBindImageMemoryInfo.Buffer |
mallocStack(int capacity,
org.lwjgl.system.MemoryStack stack)
Returns a new
VkBindImageMemoryInfo.Buffer instance allocated on the specified MemoryStack. |
static VkBindImageMemoryInfo |
mallocStack(org.lwjgl.system.MemoryStack stack)
Returns a new
VkBindImageMemoryInfo instance allocated on the specified MemoryStack. |
long |
memory()
Returns the value of the
memory field. |
VkBindImageMemoryInfo |
memory(long value)
Sets the specified value to the
memory field. |
long |
memoryOffset()
Returns the value of the
memoryOffset field. |
VkBindImageMemoryInfo |
memoryOffset(long value)
Sets the specified value to the
memoryOffset field. |
static long |
nimage(long struct)
Unsafe version of
image(). |
static void |
nimage(long struct,
long value)
Unsafe version of
image. |
static long |
nmemory(long struct)
Unsafe version of
memory(). |
static void |
nmemory(long struct,
long value)
Unsafe version of
memory. |
static long |
nmemoryOffset(long struct)
Unsafe version of
memoryOffset(). |
static void |
nmemoryOffset(long struct,
long value)
Unsafe version of
memoryOffset. |
static long |
npNext(long struct)
Unsafe version of
pNext(). |
static void |
npNext(long struct,
long value)
Unsafe version of
pNext. |
static int |
nsType(long struct)
Unsafe version of
sType(). |
static void |
nsType(long struct,
int value)
Unsafe version of
sType. |
long |
pNext()
Returns the value of the
pNext field. |
VkBindImageMemoryInfo |
pNext(long value)
Sets the specified value to the
pNext field. |
VkBindImageMemoryInfo |
set(int sType,
long pNext,
long image,
long memory,
long memoryOffset)
Initializes this struct with the specified values.
|
VkBindImageMemoryInfo |
set(VkBindImageMemoryInfo src)
Copies the specified struct data to this struct.
|
int |
sizeof() |
int |
sType()
Returns the value of the
sType field. |
VkBindImageMemoryInfo |
sType(int value)
Sets the specified value to the
sType field. |
public static final int SIZEOF
public static final int ALIGNOF
public static final int STYPE
public static final int PNEXT
public static final int IMAGE
public static final int MEMORY
public static final int MEMORYOFFSET
public VkBindImageMemoryInfo(java.nio.ByteBuffer container)
VkBindImageMemoryInfo 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.
public int sizeof()
sizeof in class org.lwjgl.system.Structpublic int sType()
sType field.public long pNext()
pNext field.public long image()
image field.public long memory()
memory field.public long memoryOffset()
memoryOffset field.public VkBindImageMemoryInfo sType(int value)
sType field.public VkBindImageMemoryInfo pNext(long value)
pNext field.public VkBindImageMemoryInfo image(long value)
image field.public VkBindImageMemoryInfo memory(long value)
memory field.public VkBindImageMemoryInfo memoryOffset(long value)
memoryOffset field.public VkBindImageMemoryInfo set(int sType, long pNext, long image, long memory, long memoryOffset)
public VkBindImageMemoryInfo set(VkBindImageMemoryInfo src)
src - the source structpublic static VkBindImageMemoryInfo malloc()
VkBindImageMemoryInfo instance allocated with memAlloc. The instance must be explicitly freed.public static VkBindImageMemoryInfo calloc()
VkBindImageMemoryInfo instance allocated with memCalloc. The instance must be explicitly freed.public static VkBindImageMemoryInfo create()
VkBindImageMemoryInfo instance allocated with BufferUtils.public static VkBindImageMemoryInfo create(long address)
VkBindImageMemoryInfo instance for the specified memory address.@Nullable public static VkBindImageMemoryInfo createSafe(long address)
public static VkBindImageMemoryInfo.Buffer malloc(int capacity)
VkBindImageMemoryInfo.Buffer instance allocated with memAlloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkBindImageMemoryInfo.Buffer calloc(int capacity)
VkBindImageMemoryInfo.Buffer instance allocated with memCalloc. The instance must be explicitly freed.capacity - the buffer capacitypublic static VkBindImageMemoryInfo.Buffer create(int capacity)
VkBindImageMemoryInfo.Buffer instance allocated with BufferUtils.capacity - the buffer capacitypublic static VkBindImageMemoryInfo.Buffer create(long address, int capacity)
VkBindImageMemoryInfo.Buffer instance at the specified memory.address - the memory addresscapacity - the buffer capacity@Nullable public static VkBindImageMemoryInfo.Buffer createSafe(long address, int capacity)
public static VkBindImageMemoryInfo mallocStack()
VkBindImageMemoryInfo instance allocated on the thread-local MemoryStack.public static VkBindImageMemoryInfo callocStack()
VkBindImageMemoryInfo instance allocated on the thread-local MemoryStack and initializes all its bits to zero.public static VkBindImageMemoryInfo mallocStack(org.lwjgl.system.MemoryStack stack)
VkBindImageMemoryInfo instance allocated on the specified MemoryStack.stack - the stack from which to allocatepublic static VkBindImageMemoryInfo callocStack(org.lwjgl.system.MemoryStack stack)
VkBindImageMemoryInfo instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatepublic static VkBindImageMemoryInfo.Buffer mallocStack(int capacity)
VkBindImageMemoryInfo.Buffer instance allocated on the thread-local MemoryStack.capacity - the buffer capacitypublic static VkBindImageMemoryInfo.Buffer callocStack(int capacity)
VkBindImageMemoryInfo.Buffer instance allocated on the thread-local MemoryStack and initializes all its bits to zero.capacity - the buffer capacitypublic static VkBindImageMemoryInfo.Buffer mallocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkBindImageMemoryInfo.Buffer instance allocated on the specified MemoryStack.stack - the stack from which to allocatecapacity - the buffer capacitypublic static VkBindImageMemoryInfo.Buffer callocStack(int capacity, org.lwjgl.system.MemoryStack stack)
VkBindImageMemoryInfo.Buffer instance allocated on the specified MemoryStack and initializes all its bits to zero.stack - the stack from which to allocatecapacity - the buffer capacitypublic static int nsType(long struct)
sType().public static long npNext(long struct)
pNext().public static long nimage(long struct)
image().public static long nmemory(long struct)
memory().public static long nmemoryOffset(long struct)
memoryOffset().public static void nsType(long struct,
int value)
sType.public static void npNext(long struct,
long value)
pNext.public static void nimage(long struct,
long value)
image.public static void nmemory(long struct,
long value)
memory.public static void nmemoryOffset(long struct,
long value)
memoryOffset.Copyright LWJGL. All Rights Reserved. License terms.