Class VkPhysicalDeviceHostImageCopyProperties

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

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

If the VkPhysicalDeviceHostImageCopyProperties 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 VkCopyMemoryToImageInfo::dstImageLayout and VkCopyImageToImageInfo::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 VkCopyImageToMemoryInfo::srcImageLayout and VkCopyImageToImageInfo::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 flag in CopyMemoryToImage and CopyImageToMemory.

Valid Usage (Implicit)
  • sType must be STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES
  • 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 VkPhysicalDeviceHostImageCopyProperties {
     VkStructureType sType();
     void * pNext();
     uint32_t copySrcLayoutCount();
     VkImageLayout * pCopySrcLayouts();
     uint32_t copyDstLayoutCount();
     VkImageLayout * pCopyDstLayouts();
     uint8_t optimalTilingLayoutUUID()[VK_UUID_SIZE];
     VkBool32 identicalMemoryTypeRequirements();
 }