Function Prototype

vkCreateMetalSurfaceEXT

Create a VkSurfaceKHR object for CAMetalLayer

To create a VkSurfaceKHR object for a CAMetalLayer, call:

VkResult vkCreateMetalSurfaceEXT(
    VkInstance instance,
    const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
    const VkAllocationCallbacks* pAllocator,
    VkSurfaceKHR* pSurface);
  • instance is the instance with which to associate the surface.
  • pCreateInfo is a pointer to a VkMetalSurfaceCreateInfoEXT structure specifying parameters affecting the creation of the surface object.
  • pAllocator is the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).
  • pSurface is a pointer to a VkSurfaceKHR handle in which the created surface object is returned.

Valid Usage (Implicit)

VUID-vkCreateMetalSurfaceEXT-pCreateInfo-parameter

pCreateInfo must be a valid pointer to a valid VkMetalSurfaceCreateInfoEXT structure

VUID-vkCreateMetalSurfaceEXT-pAllocator-parameter

If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure

VUID-vkCreateMetalSurfaceEXT-pSurface-parameter

pSurface must be a valid pointer to a VkSurfaceKHR handle