Class VkSparseImageMemoryBind

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

public class VkSparseImageMemoryBind extends org.lwjgl.system.Struct<VkSparseImageMemoryBind> implements org.lwjgl.system.NativeResource
Structure specifying sparse image memory bind.
Valid Usage
  • If the sparseResidencyAliased feature is not enabled, and if any other resources are bound to ranges of memory, the range of memory being bound must not overlap with those bound ranges
  • memory and memoryOffset must match the memory requirements of the calling command’s image, as described in section Resource Memory Association
  • offset.x must be a multiple of the sparse image block width (VkSparseImageFormatProperties::imageGranularity.width) of the image
  • extent.width must be greater than 0
  • extent.width must either be a multiple of the sparse image block width of the image, or else (extent.width + offset.x) must equal the width of the image subresource
  • offset.y must be a multiple of the sparse image block height (VkSparseImageFormatProperties::imageGranularity.height) of the image
  • extent.height must be greater than 0
  • extent.height must either be a multiple of the sparse image block height of the image, or else (extent.height + offset.y) must equal the height of the image subresource
  • offset.z must be a multiple of the sparse image block depth (VkSparseImageFormatProperties::imageGranularity.depth) of the image
  • extent.depth must be greater than 0
  • extent.depth must either be a multiple of the sparse image block depth of the image, or else (extent.depth + offset.z) must equal the depth of the image subresource
  • If memory was created with VkExportMemoryAllocateInfo::handleTypes not equal to 0, at least one handle type it contained must also have been set in VkExternalMemoryImageCreateInfo::handleTypes when the image was created
  • If memory 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 created
Valid Usage (Implicit)
  • subresource must be a valid VkImageSubresource structure
  • If memory is not NULL_HANDLE, memory must be a valid VkDeviceMemory handle
  • flags must be a valid combination of VkSparseMemoryBindFlagBits values
See Also

VkExtent3D, VkImageSubresource, VkOffset3D, VkSparseImageMemoryBindInfo

Layout


 struct VkSparseImageMemoryBind {
     VkImageSubresource subresource();
     VkOffset3D offset();
     VkExtent3D extent();
     VkDeviceMemory memory();
     VkDeviceSize memoryOffset();
     VkSparseMemoryBindFlags flags();
 }