VkExportMetalObjectsInfoEXT
The VkExportMetalObjectsInfoEXT structure is defined as:
typedef struct VkExportMetalObjectsInfoEXT {
VkStructureType sType;
const void* pNext;
} VkExportMetalObjectsInfoEXT;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.
Valid Usage
VUID-VkExportMetalObjectsInfoEXT-pNext-06791
If the pNext chain includes a VkExportMetalDeviceInfoEXT
structure, the VkInstance must have been created with
VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT in the
exportObjectType member of a
VkExportMetalObjectCreateInfoEXT structure in the pNext
chain of the VkInstanceCreateInfo structure in the
vkCreateInstance command
VUID-VkExportMetalObjectsInfoEXT-pNext-06792
If the pNext chain includes a
VkExportMetalCommandQueueInfoEXT structure, the VkInstancemust have been created with
VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT in the
exportObjectType member of a
VkExportMetalObjectCreateInfoEXT structure in the pNext
chain of the VkInstanceCreateInfo structure in the
vkCreateInstance command
VUID-VkExportMetalObjectsInfoEXT-pNext-06793
If the pNext chain includes a VkExportMetalBufferInfoEXT
structure, the VkDeviceMemory in its memory member must
have been allocated with
VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT in the
exportObjectType member of a
VkExportMetalObjectCreateInfoEXT structure in the pNext
chain of the VkMemoryAllocateInfo structure in the
vkAllocateMemory command
VUID-VkExportMetalObjectsInfoEXT-pNext-06794
If the pNext chain includes a VkExportMetalTextureInfoEXT
structure, exactly one of its image, imageView, or
bufferView members must not be VK_NULL_HANDLE
VUID-VkExportMetalObjectsInfoEXT-pNext-06795
If the pNext chain includes a VkExportMetalTextureInfoEXT
structure, and its image member is not VK_NULL_HANDLE, the
VkImage in its image member must have been created with
VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT in the
exportObjectType member of a
VkExportMetalObjectCreateInfoEXT structure in the pNext
chain of the VkImageCreateInfo structure in the
vkCreateImage command
VUID-VkExportMetalObjectsInfoEXT-pNext-06796
If the pNext chain includes a VkExportMetalTextureInfoEXT
structure, and its imageView member is not VK_NULL_HANDLE,
the VkImageView in its imageView member must have been
created with VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT in
the exportObjectType member of a
VkExportMetalObjectCreateInfoEXT structure in the pNext
chain of the VkImageViewCreateInfo structure in the
vkCreateImageView command
VUID-VkExportMetalObjectsInfoEXT-pNext-06797
If the pNext chain includes a VkExportMetalTextureInfoEXT
structure, and its bufferView member is not VK_NULL_HANDLE,
the VkBufferView in its bufferView member must have been
created with VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT in
the exportObjectType member of a
VkExportMetalObjectCreateInfoEXT structure in the pNext
chain of the VkBufferViewCreateInfo structure in the
vkCreateBufferView command
VUID-VkExportMetalObjectsInfoEXT-pNext-06798
If the pNext chain includes a VkExportMetalTextureInfoEXT
structure, and if either its image or imageView member is
not VK_NULL_HANDLE, then plane must be
VK_IMAGE_ASPECT_PLANE_0_BIT, VK_IMAGE_ASPECT_PLANE_1_BIT, or
VK_IMAGE_ASPECT_PLANE_2_BIT
VUID-VkExportMetalObjectsInfoEXT-pNext-06799
If the pNext chain includes a VkExportMetalTextureInfoEXT
structure, and if the VkImage in its image member does not
have a multi-planar format, then its
plane member must be VK_IMAGE_ASPECT_PLANE_0_BIT
VUID-VkExportMetalObjectsInfoEXT-pNext-06800
If the pNext chain includes a VkExportMetalTextureInfoEXT
structure, and if the VkImage in its image member has a
multi-planar format with only two planes, then
its plane member must not be VK_IMAGE_ASPECT_PLANE_2_BIT
VUID-VkExportMetalObjectsInfoEXT-pNext-06801
If the pNext chain includes a VkExportMetalTextureInfoEXT
structure, and if the VkImageView in its imageView member
does not have a multi-planar format, then its
plane member must be VK_IMAGE_ASPECT_PLANE_0_BIT
VUID-VkExportMetalObjectsInfoEXT-pNext-06802
If the pNext chain includes a VkExportMetalTextureInfoEXT
structure, and if the VkImageView in its imageView member
has a multi-planar format with only two planes,
then its plane member must not be
VK_IMAGE_ASPECT_PLANE_2_BIT
VUID-VkExportMetalObjectsInfoEXT-pNext-06803
If the pNext chain includes a VkExportMetalIOSurfaceInfoEXT
structure, the VkImage in its image member must have been
created with VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT
in the exportObjectType member of a
VkExportMetalObjectCreateInfoEXT structure in the pNext
chain of the VkImageCreateInfo structure in the
vkCreateImage command
VUID-VkExportMetalObjectsInfoEXT-pNext-06804
If the pNext chain includes a
VkExportMetalSharedEventInfoEXT structure, exactly one of its
semaphore or event members must not be VK_NULL_HANDLE
VUID-VkExportMetalObjectsInfoEXT-pNext-06805
If the pNext chain includes a
VkExportMetalSharedEventInfoEXT structure, and its semaphore
member is not VK_NULL_HANDLE, the VkSemaphore in its
semaphore member must have been created with
VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT in the
exportObjectType member of a
VkExportMetalObjectCreateInfoEXT structure in the pNext
chain of the VkSemaphoreCreateInfo structure in the
vkCreateSemaphore command
VUID-VkExportMetalObjectsInfoEXT-pNext-06806
If the pNext chain includes a
VkExportMetalSharedEventInfoEXT structure, and its event
member is not VK_NULL_HANDLE, the VkEvent in its event
member must have been created with
VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT in the
exportObjectType member of a
VkExportMetalObjectCreateInfoEXT structure in the pNext
chain of the VkEventCreateInfo structure in the
vkCreateEvent command
Valid Usage (Implicit)
VUID-VkExportMetalObjectsInfoEXT-sType-sType
sType must be VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT
VUID-VkExportMetalObjectsInfoEXT-pNext-pNext
Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkExportMetalBufferInfoEXT, VkExportMetalCommandQueueInfoEXT, VkExportMetalDeviceInfoEXT, VkExportMetalIOSurfaceInfoEXT, VkExportMetalSharedEventInfoEXT, or VkExportMetalTextureInfoEXT
VUID-VkExportMetalObjectsInfoEXT-sType-unique
The sType value of each structure in the pNext chain must be unique, with the exception of structures of type VkExportMetalBufferInfoEXT, VkExportMetalCommandQueueInfoEXT, VkExportMetalIOSurfaceInfoEXT, VkExportMetalSharedEventInfoEXT, or VkExportMetalTextureInfoEXT