C Specification
The VkPhysicalDeviceHostImageCopyPropertiesEXT structure is defined
as:
// Provided by VK_EXT_host_image_copy
typedef struct VkPhysicalDeviceHostImageCopyPropertiesEXT {
VkStructureType sType;
void* pNext;
uint32_t copySrcLayoutCount;
VkImageLayout* pCopySrcLayouts;
uint32_t copyDstLayoutCount;
VkImageLayout* pCopyDstLayouts;
uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE];
VkBool32 identicalMemoryTypeRequirements;
} VkPhysicalDeviceHostImageCopyPropertiesEXT;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
copySrcLayoutCountis an integer related to the number of image layouts for host copies from images available or queried, as described below. -
pCopySrcLayoutsis a pointer to an array of VkImageLayout in which supported image layouts for use with host copy operations from images are returned. -
copyDstLayoutCountis an integer related to the number of image layouts for host copies to images available or queried, as described below. -
pCopyDstLayoutsis a pointer to an array of VkImageLayout in which supported image layouts for use with host copy operations to images are returned. -
optimalTilingLayoutUUIDis an array ofVK_UUID_SIZEuint8_tvalues representing a universally unique identifier for the implementation’s swizzling layout of images created withVK_IMAGE_TILING_OPTIMAL. -
identicalMemoryTypeRequirementsindicates that specifying theVK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXTflag in VkImageCreateInfo::usagedoes not affect the memory type requirements of the image.
Description
If the VkPhysicalDeviceHostImageCopyPropertiesEXT structure is included in the pNext chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, 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 user 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 VK_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 user 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 VK_IMAGE_LAYOUT_GENERAL image
layout in pCopySrcLayouts.
The optimalTilingLayoutUUID value can be used to ensure compatible
data layouts when using the VK_HOST_IMAGE_COPY_MEMCPY_EXT flag in
vkCopyMemoryToImageEXT and vkCopyImageToMemoryEXT.
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.