C Specification
The VkExportMetalObjectsInfoEXT
structure is defined as:
// Provided by VK_EXT_metal_objects
typedef struct VkExportMetalObjectsInfoEXT {
VkStructureType sType;
const void* pNext;
} VkExportMetalObjectsInfoEXT;
Members
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
or a pointer to a structure extending this structure.
Description
-
VUID-VkExportMetalObjectsInfoEXT-pNext-06791
If thepNext
chain includes a VkExportMetalDeviceInfoEXT structure, the VkInstance must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT
in theexportObjectType
member of a VkExportMetalObjectCreateInfoEXT structure in thepNext
chain of the VkInstanceCreateInfo structure in the vkCreateInstance command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06792
If thepNext
chain includes a VkExportMetalCommandQueueInfoEXT structure, the VkInstance must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT
in theexportObjectType
member of a VkExportMetalObjectCreateInfoEXT structure in thepNext
chain of the VkInstanceCreateInfo structure in the vkCreateInstance command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06793
If thepNext
chain includes a VkExportMetalBufferInfoEXT structure, the VkDeviceMemory in itsmemory
member must have been allocated withVK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT
in theexportObjectType
member of a VkExportMetalObjectCreateInfoEXT structure in thepNext
chain of the VkMemoryAllocateInfo structure in the vkAllocateMemory command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06794
If thepNext
chain includes a VkExportMetalTextureInfoEXT structure, exactly one of itsimage
,imageView
, orbufferView
members must not be VK_NULL_HANDLE -
VUID-VkExportMetalObjectsInfoEXT-pNext-06795
If thepNext
chain includes a VkExportMetalTextureInfoEXT structure, and itsimage
member is not VK_NULL_HANDLE, the VkImage in itsimage
member must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT
in theexportObjectType
member of a VkExportMetalObjectCreateInfoEXT structure in thepNext
chain of the VkImageCreateInfo structure in the vkCreateImage command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06796
If thepNext
chain includes a VkExportMetalTextureInfoEXT structure, and itsimageView
member is not VK_NULL_HANDLE, the VkImageView in itsimageView
member must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT
in theexportObjectType
member of a VkExportMetalObjectCreateInfoEXT structure in thepNext
chain of the VkImageViewCreateInfo structure in the vkCreateImageView command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06797
If thepNext
chain includes a VkExportMetalTextureInfoEXT structure, and itsbufferView
member is not VK_NULL_HANDLE, the VkBufferView in itsbufferView
member must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT
in theexportObjectType
member of a VkExportMetalObjectCreateInfoEXT structure in thepNext
chain of the VkBufferViewCreateInfo structure in the vkCreateBufferView command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06798
If thepNext
chain includes a VkExportMetalTextureInfoEXT structure, and if either itsimage
orimageView
member is not VK_NULL_HANDLE, thenplane
must beVK_IMAGE_ASPECT_PLANE_0_BIT
,VK_IMAGE_ASPECT_PLANE_1_BIT
, orVK_IMAGE_ASPECT_PLANE_2_BIT
-
VUID-VkExportMetalObjectsInfoEXT-pNext-06799
If thepNext
chain includes a VkExportMetalTextureInfoEXT structure, and if the VkImage in itsimage
member does not have a multi-planar format, then itsplane
member must beVK_IMAGE_ASPECT_PLANE_0_BIT
-
VUID-VkExportMetalObjectsInfoEXT-pNext-06800
If thepNext
chain includes a VkExportMetalTextureInfoEXT structure, and if the VkImage in itsimage
member has a multi-planar format with only two planes, then itsplane
member must not beVK_IMAGE_ASPECT_PLANE_2_BIT
-
VUID-VkExportMetalObjectsInfoEXT-pNext-06801
If thepNext
chain includes a VkExportMetalTextureInfoEXT structure, and if the VkImageView in itsimageView
member does not have a multi-planar format, then itsplane
member must beVK_IMAGE_ASPECT_PLANE_0_BIT
-
VUID-VkExportMetalObjectsInfoEXT-pNext-06802
If thepNext
chain includes a VkExportMetalTextureInfoEXT structure, and if the VkImageView in itsimageView
member has a multi-planar format with only two planes, then itsplane
member must not beVK_IMAGE_ASPECT_PLANE_2_BIT
-
VUID-VkExportMetalObjectsInfoEXT-pNext-06803
If thepNext
chain includes a VkExportMetalIOSurfaceInfoEXT structure, the VkImage in itsimage
member must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT
in theexportObjectType
member of a VkExportMetalObjectCreateInfoEXT structure in thepNext
chain of the VkImageCreateInfo structure in the vkCreateImage command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06804
If thepNext
chain includes a VkExportMetalSharedEventInfoEXT structure, exactly one of itssemaphore
orevent
members must not be VK_NULL_HANDLE -
VUID-VkExportMetalObjectsInfoEXT-pNext-06805
If thepNext
chain includes a VkExportMetalSharedEventInfoEXT structure, and itssemaphore
member is not VK_NULL_HANDLE, the VkSemaphore in itssemaphore
member must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT
in theexportObjectType
member of a VkExportMetalObjectCreateInfoEXT structure in thepNext
chain of the VkSemaphoreCreateInfo structure in the vkCreateSemaphore command -
VUID-VkExportMetalObjectsInfoEXT-pNext-06806
If thepNext
chain includes a VkExportMetalSharedEventInfoEXT structure, and itsevent
member is not VK_NULL_HANDLE, the VkEvent in itsevent
member must have been created withVK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT
in theexportObjectType
member of a VkExportMetalObjectCreateInfoEXT structure in thepNext
chain of the VkEventCreateInfo structure in the vkCreateEvent command
-
VUID-VkExportMetalObjectsInfoEXT-sType-sType
sType
must beVK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT
-
VUID-VkExportMetalObjectsInfoEXT-pNext-pNext
EachpNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance of VkExportMetalBufferInfoEXT, VkExportMetalCommandQueueInfoEXT, VkExportMetalDeviceInfoEXT, VkExportMetalIOSurfaceInfoEXT, VkExportMetalSharedEventInfoEXT, or VkExportMetalTextureInfoEXT -
VUID-VkExportMetalObjectsInfoEXT-sType-unique
ThesType
value of each struct in thepNext
chain 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.