Class VkSparseImageOpaqueMemoryBindInfo

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkSparseImageOpaqueMemoryBindInfo>
org.lwjgl.vulkan.VkSparseImageOpaqueMemoryBindInfo
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkSparseImageOpaqueMemoryBindInfo extends org.lwjgl.system.Struct<VkSparseImageOpaqueMemoryBindInfo> implements org.lwjgl.system.NativeResource
Structure specifying sparse image opaque memory bind information.
Description
Note

This structure is normally used to bind memory to fully-resident sparse images or for mip tail regions of partially resident images. However, it can also be used to bind memory for the entire binding range of partially resident images.

If the pBinds[i].flags of an element i of pBinds does not contain SPARSE_MEMORY_BIND_METADATA_BIT, the resourceOffset is in the range [0, VkMemoryRequirements::size), This range includes data from all aspects of the image, including metadata. For most implementations this will probably mean that the resourceOffset is a simple device address offset within the resource. It is possible for an application to bind a range of memory that includes both resource data and metadata. However, the application would not know what part of the image the memory is used for, or if any range is being used for metadata.

If the pBinds[i].flags of an element i of pBinds contains SPARSE_MEMORY_BIND_METADATA_BIT, the binding range specified must be within the mip tail region of the metadata aspect. In this case the resourceOffset is not required to be a simple device address offset within the resource. However, it is defined to be within [imageMipTailOffset, imageMipTailOffset + imageMipTailSize) for the metadata aspect. See VkSparseMemoryBind for the full constraints on binding region with this flag present.

Valid Usage
  • If the flags member of any element of pBinds contains SPARSE_MEMORY_BIND_METADATA_BIT, the binding range defined must be within the mip tail region of the metadata aspect of image
Valid Usage (Implicit)
  • image must be a valid VkImage handle
  • pBinds must be a valid pointer to an array of bindCount valid VkSparseMemoryBind structures
  • bindCount must be greater than 0
See Also

VkBindSparseInfo, VkSparseMemoryBind

Layout


 struct VkSparseImageOpaqueMemoryBindInfo {
     VkImage image();
     uint32_t bindCount();
     VkSparseMemoryBind const * pBinds();
 }