C Specification
The VkExportMetalObjectsInfoEXT structure is defined as:
// Provided by VK_EXT_metal_objects
typedef struct VkExportMetalObjectsInfoEXT {
VkStructureType sType;
const void* pNext;
} VkExportMetalObjectsInfoEXT;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure.
Description
-
VUID-VkExportMetalObjectsInfoEXT-pNext-06791
If thepNextchain includes a VkExportMetalDeviceInfoEXT structure, the VkInstance must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXTin theexportObjectTypemember of a VkExportMetalObjectCreateInfoEXT structure in thepNextchain of the VkInstanceCreateInfo structure in the vkCreateInstance command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06792
If thepNextchain includes a VkExportMetalCommandQueueInfoEXT structure, the VkInstance must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXTin theexportObjectTypemember of a VkExportMetalObjectCreateInfoEXT structure in thepNextchain of the VkInstanceCreateInfo structure in the vkCreateInstance command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06793
If thepNextchain includes a VkExportMetalBufferInfoEXT structure, the VkDeviceMemory in itsmemorymember must have been allocated withVK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXTin theexportObjectTypemember of a VkExportMetalObjectCreateInfoEXT structure in thepNextchain of the VkMemoryAllocateInfo structure in the vkAllocateMemory command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06794
If thepNextchain includes a VkExportMetalTextureInfoEXT structure, exactly one of itsimage,imageView, orbufferViewmembers must not be VK_NULL_HANDLE -
VUID-VkExportMetalObjectsInfoEXT-pNext-06795
If thepNextchain includes a VkExportMetalTextureInfoEXT structure, and itsimagemember is not VK_NULL_HANDLE, the VkImage in itsimagemember must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXTin theexportObjectTypemember of a VkExportMetalObjectCreateInfoEXT structure in thepNextchain of the VkImageCreateInfo structure in the vkCreateImage command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06796
If thepNextchain includes a VkExportMetalTextureInfoEXT structure, and itsimageViewmember is not VK_NULL_HANDLE, the VkImageView in itsimageViewmember must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXTin theexportObjectTypemember of a VkExportMetalObjectCreateInfoEXT structure in thepNextchain of the VkImageViewCreateInfo structure in the vkCreateImageView command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06797
If thepNextchain includes a VkExportMetalTextureInfoEXT structure, and itsbufferViewmember is not VK_NULL_HANDLE, the VkBufferView in itsbufferViewmember must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXTin theexportObjectTypemember of a VkExportMetalObjectCreateInfoEXT structure in thepNextchain of the VkBufferViewCreateInfo structure in the vkCreateBufferView command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06798
If thepNextchain includes a VkExportMetalTextureInfoEXT structure, and if either itsimageorimageViewmember is not VK_NULL_HANDLE, thenplanemust beVK_IMAGE_ASPECT_PLANE_0_BIT,VK_IMAGE_ASPECT_PLANE_1_BIT, orVK_IMAGE_ASPECT_PLANE_2_BIT -
VUID-VkExportMetalObjectsInfoEXT-pNext-06799
If thepNextchain includes a VkExportMetalTextureInfoEXT structure, and if the VkImage in itsimagemember does not have a multi-planar format, then itsplanemember must beVK_IMAGE_ASPECT_PLANE_0_BIT -
VUID-VkExportMetalObjectsInfoEXT-pNext-06800
If thepNextchain includes a VkExportMetalTextureInfoEXT structure, and if the VkImage in itsimagemember has a multi-planar format with only two planes, then itsplanemember must not beVK_IMAGE_ASPECT_PLANE_2_BIT -
VUID-VkExportMetalObjectsInfoEXT-pNext-06801
If thepNextchain includes a VkExportMetalTextureInfoEXT structure, and if the VkImageView in itsimageViewmember does not have a multi-planar format, then itsplanemember must beVK_IMAGE_ASPECT_PLANE_0_BIT -
VUID-VkExportMetalObjectsInfoEXT-pNext-06802
If thepNextchain includes a VkExportMetalTextureInfoEXT structure, and if the VkImageView in itsimageViewmember has a multi-planar format with only two planes, then itsplanemember must not beVK_IMAGE_ASPECT_PLANE_2_BIT -
VUID-VkExportMetalObjectsInfoEXT-pNext-06803
If thepNextchain includes a VkExportMetalIOSurfaceInfoEXT structure, the VkImage in itsimagemember must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXTin theexportObjectTypemember of a VkExportMetalObjectCreateInfoEXT structure in thepNextchain of the VkImageCreateInfo structure in the vkCreateImage command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06804
If thepNextchain includes a VkExportMetalSharedEventInfoEXT structure, exactly one of itssemaphoreoreventmembers must not be VK_NULL_HANDLE -
VUID-VkExportMetalObjectsInfoEXT-pNext-06805
If thepNextchain includes a VkExportMetalSharedEventInfoEXT structure, and itssemaphoremember is not VK_NULL_HANDLE, the VkSemaphore in itssemaphoremember must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXTin theexportObjectTypemember of a VkExportMetalObjectCreateInfoEXT structure in thepNextchain of the VkSemaphoreCreateInfo structure in the vkCreateSemaphore command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06806
If thepNextchain includes a VkExportMetalSharedEventInfoEXT structure, and itseventmember is not VK_NULL_HANDLE, the VkEvent in itseventmember must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXTin theexportObjectTypemember of a VkExportMetalObjectCreateInfoEXT structure in thepNextchain of the VkEventCreateInfo structure in the vkCreateEvent command
-
VUID-VkExportMetalObjectsInfoEXT-sType-sType
sTypemust beVK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT -
VUID-VkExportMetalObjectsInfoEXT-pNext-pNext
EachpNextmember of any structure (including this one) in thepNextchain must be eitherNULLor a pointer to a valid instance of VkExportMetalBufferInfoEXT, VkExportMetalCommandQueueInfoEXT, VkExportMetalDeviceInfoEXT, VkExportMetalIOSurfaceInfoEXT, VkExportMetalSharedEventInfoEXT, or VkExportMetalTextureInfoEXT -
VUID-VkExportMetalObjectsInfoEXT-sType-unique
ThesTypevalue of each struct in thepNextchain must be unique, with the exception of structures of type VkExportMetalBufferInfoEXT, VkExportMetalCommandQueueInfoEXT, VkExportMetalIOSurfaceInfoEXT, VkExportMetalSharedEventInfoEXT, or VkExportMetalTextureInfoEXT
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.