Function Prototype

vkCreateMacOSSurfaceMVK

Create a VkSurfaceKHR object for a macOS NSView

To create a VkSurfaceKHR object for a macOS NSView or CAMetalLayer, call:

VkResult vkCreateMacOSSurfaceMVK(
    VkInstance instance,
    const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
    const VkAllocationCallbacks* pAllocator,
    VkSurfaceKHR* pSurface);
  • instance is the instance with which to associate the surface.
  • pCreateInfo is a pointer to a VkMacOSSurfaceCreateInfoMVK structure containing 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.

The vkCreateMacOSSurfaceMVK function is considered deprecated and has been superseded by vkCreateMetalSurfaceEXT from the VK_EXT_metal_surface extension.

Valid Usage (Implicit)

VUID-vkCreateMacOSSurfaceMVK-pCreateInfo-parameter

pCreateInfo must be a valid pointer to a valid VkMacOSSurfaceCreateInfoMVK structure

VUID-vkCreateMacOSSurfaceMVK-pAllocator-parameter

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

VUID-vkCreateMacOSSurfaceMVK-pSurface-parameter

pSurface must be a valid pointer to a VkSurfaceKHR handle