image must not have been bound to a memory objectimage must not have been created with any sparse memory binding flagsmemoryOffset must be less than the size of memoryimage requires a dedicated allocation (as reported by GetImageMemoryRequirements2 in VkMemoryDedicatedRequirements::requiresDedicatedAllocation for image), memory must have been created with VkMemoryDedicatedAllocateInfo::image equal to imagededicatedAllocationImageAliasing feature is not enabled, and the VkMemoryAllocateInfo 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 zerodedicatedAllocationImageAliasing feature is enabled, and the 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 createdIMAGE_CREATE_PROTECTED_BIT bit set, the image must be bound to a memory object allocated with a memory type that reports MEMORY_PROPERTY_PROTECTED_BITIMAGE_CREATE_PROTECTED_BIT bit not set, the image must not be bound to a memory object created with a memory type that reports MEMORY_PROPERTY_PROTECTED_BITimage was created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to TRUE, memory must have been created with VkDedicatedAllocationMemoryAllocateInfoNV::image equal to an image handle created with identical creation parameters to image and memoryOffset must be zeroVK_KHR_dedicated_allocation extension is not enabled, VkPhysicalDeviceProperties::apiVersion is less than Vulkan 1.1, and image was not created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to TRUE, memory must not have been allocated dedicated for a specific buffer or imageVkExportMemoryAllocateInfo::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, that is not VkImportAndroidHardwareBufferInfoANDROID with a non-NULL buffer value, the external handle type of the imported memory must also have been set in VkExternalMemoryImageCreateInfo::handleTypes when image was createdmemory was created with the VkImportAndroidHardwareBufferInfoANDROID memory import operation with a non-NULL buffer value, EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID must also have been set in VkExternalMemoryImageCreateInfo::handleTypes when image was createdimage was created with the IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT bit set, memory must have been allocated with the MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT bit setimage was created with the IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT bit set, memory must have been allocated with the MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT bit setpNext 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 setimage was created with the IMAGE_CREATE_DISJOINT_BIT bit set, then the pNext chain must include a VkBindImagePlaneMemoryInfo structurepNext 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 where VkBindImagePlaneMemoryInfo::planeAspect corresponds to the VkImagePlaneMemoryRequirementsInfo::planeAspect 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 where VkBindImagePlaneMemoryInfo::planeAspect corresponds to the VkImagePlaneMemoryRequirementsInfo::planeAspect 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 where VkBindImagePlaneMemoryInfo::planeAspect corresponds to the VkImagePlaneMemoryRequirementsInfo::planeAspect in the VkImageMemoryRequirementsInfo2 structure’s pNext chainpNext 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 imageimage was created with a valid swapchain handle in VkImageSwapchainCreateInfoKHR::swapchain, then the pNext chain must include a VkBindImageMemorySwapchainInfoKHR structure containing the same swapchain handlepNext chain includes a VkBindImageMemorySwapchainInfoKHR structure, memory must be NULL_HANDLEpNext chain does not include a VkBindImageMemorySwapchainInfoKHR structure, memory must be a valid VkDeviceMemory handlesType 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 value of each struct 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
struct VkBindImageMemoryInfo {
VkStructureType sType;
void const * pNext;
VkImage image;
VkDeviceMemory memory;
VkDeviceSize memoryOffset;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkBindImageMemoryInfo.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | IMAGE
The struct member offsets. |
| public static final int | MEMORY
The struct member offsets. |
| public static final int | MEMORYOFFSET
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkBindImageMemoryInfo(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public static VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkBindImageMemoryInfo | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkBindImageMemoryInfo. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo. | |
| public static VkBindImageMemoryInfo. | |
| protected VkBindImageMemoryInfo | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo. | create(int
the buffer capacity capacity)Returns a new |
| public static VkBindImageMemoryInfo. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo. | |
| public long | |
| public VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkBindImageMemoryInfo | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkBindImageMemoryInfo. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo | |
| public static VkBindImageMemoryInfo. | |
| public static VkBindImageMemoryInfo. | |
| public long | |
| public VkBindImageMemoryInfo | |
| public long | |
| public VkBindImageMemoryInfo | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public long | |
| public VkBindImageMemoryInfo | |
| public VkBindImageMemoryInfo | pNext(VkBindImageMemoryDeviceGroupInfo value)
Prepends the specified |
| public VkBindImageMemoryInfo | pNext(VkBindImageMemoryDeviceGroupInfoKHR value)
Prepends the specified |
| public VkBindImageMemoryInfo | pNext(VkBindImageMemorySwapchainInfoKHR value)
Prepends the specified |
| public VkBindImageMemoryInfo | pNext(VkBindImagePlaneMemoryInfo value)
Prepends the specified |
| public VkBindImageMemoryInfo | pNext(VkBindImagePlaneMemoryInfoKHR value)
Prepends the specified |
| public VkBindImageMemoryInfo | set(int sType, long pNext, long image, long memory, long memoryOffset)
Initializes this struct with the specified values. |
| public VkBindImageMemoryInfo | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkBindImageMemoryInfo | |
| public VkBindImageMemoryInfo |