Class VkPhysicalDeviceHostImageCopyPropertiesEXT

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

public class VkPhysicalDeviceHostImageCopyPropertiesEXT extends org.lwjgl.system.Struct<VkPhysicalDeviceHostImageCopyPropertiesEXT> implements org.lwjgl.system.NativeResource
Structure enumerating image layouts supported by an implementation for host memory copies.
Description

If the VkPhysicalDeviceHostImageCopyPropertiesEXT structure is included in the pNext chain of the VkPhysicalDeviceProperties2 structure passed to GetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

If pCopyDstLayouts is NULL, then the number of image layouts that are supported in VkCopyMemoryToImageInfoEXT::dstImageLayout and VkCopyImageToImageInfoEXT::dstImageLayout is returned in copyDstLayoutCount. Otherwise, copyDstLayoutCount must be set by the application to the number of elements in the pCopyDstLayouts array, and on return the variable is overwritten with the number of values actually written to pCopyDstLayouts. If the value of copyDstLayoutCount is less than the number of image layouts that are supported, at most copyDstLayoutCount values will be written to pCopyDstLayouts. The implementation must include the IMAGE_LAYOUT_GENERAL image layout in pCopyDstLayouts.

If pCopySrcLayouts is NULL, then the number of image layouts that are supported in VkCopyImageToMemoryInfoEXT::srcImageLayout and VkCopyImageToImageInfoEXT::srcImageLayout is returned in copySrcLayoutCount. Otherwise, copySrcLayoutCount must be set by the application to the number of elements in the pCopySrcLayouts array, and on return the variable is overwritten with the number of values actually written to pCopySrcLayouts. If the value of copySrcLayoutCount is less than the number of image layouts that are supported, at most copySrcLayoutCount values will be written to pCopySrcLayouts. The implementation must include the IMAGE_LAYOUT_GENERAL image layout in pCopySrcLayouts.

The optimalTilingLayoutUUID value can be used to ensure compatible data layouts when using the HOST_IMAGE_COPY_MEMCPY_EXT flag in CopyMemoryToImageEXT and CopyImageToMemoryEXT.

Valid Usage (Implicit)
  • sType must be STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT
  • If copySrcLayoutCount is not 0, and pCopySrcLayouts is not NULL, pCopySrcLayouts must be a valid pointer to an array of copySrcLayoutCount VkImageLayout values
  • If copyDstLayoutCount is not 0, and pCopyDstLayouts is not NULL, pCopyDstLayouts must be a valid pointer to an array of copyDstLayoutCount VkImageLayout values

Layout


 struct VkPhysicalDeviceHostImageCopyPropertiesEXT {
     VkStructureType sType();
     void * pNext();
     uint32_t copySrcLayoutCount();
     VkImageLayout * pCopySrcLayouts();
     uint32_t copyDstLayoutCount();
     VkImageLayout * pCopyDstLayouts();
     uint8_t optimalTilingLayoutUUID()[VK_UUID_SIZE];
     VkBool32 identicalMemoryTypeRequirements();
 }