VkExportMetalObjectsInfoEXT
The VkExportMetalObjectsInfoEXT
structure is defined as:
typedef struct VkExportMetalObjectsInfoEXT {
VkStructureType sType;
const void* pNext;
} VkExportMetalObjectsInfoEXT;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or 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 struct in the pNext
chain must be unique, with the exception of structures of type VkExportMetalBufferInfoEXT, VkExportMetalCommandQueueInfoEXT, VkExportMetalIOSurfaceInfoEXT, VkExportMetalSharedEventInfoEXT, or VkExportMetalTextureInfoEXT