HORIZON HASKELLDocslts/ghc-9.14.x45dd5372026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 9.14.1 · lts/ghc-9.14.x · 45dd537 · 2026-10-11

Modulevulkan-3.27GHC2021

Vulkan.Extensions.VK_MVK_macos_surface

Name

VK_MVK_macos_surface - instance extension

VK_MVK_macos_surface

Name String

VK_MVK_macos_surface

Extension Type

Instance extension

Registered Extension Number

124

Revision

3

Ratification Status

Not ratified

Extension and Version Dependencies

VK_KHR_surface

Deprecation State
Contact

Other Extension Metadata

Last Modified Date

2020-07-31

IP Status

No known IP claims.

Contributors
  • Bill Hollings, The Brenwill Workshop Ltd.

Description

The VK_MVK_macos_surface extension is an instance extension. It provides a mechanism to create a SurfaceKHR object (defined by the VK_KHR_surface extension) based on an NSView, the native surface type of macOS, which is underpinned by a CAMetalLayer, to support rendering to the surface using Apple’s Metal framework.

Deprecation by VK_EXT_metal_surface

The VK_MVK_macos_surface extension is considered deprecated and has been superseded by the VK_EXT_metal_surface extension.

New Commands

New Structures

New Bitmasks

New Enum Constants

Version History

  • Revision 1, 2017-02-15 (Bill Hollings)

    • Initial draft.

  • Revision 2, 2017-02-24 (Bill Hollings)

    • Minor syntax fix to emphasize firm requirement for NSView to be backed by a CAMetalLayer.

  • Revision 3, 2020-07-31 (Bill Hollings)

    • Update documentation on requirements for NSView.

    • Mark as deprecated by VK_EXT_metal_surface.

See Also

No cross-references are available

Document Notes

For more information, see the Vulkan Specification.

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

  • 5 types
  • 1 value
  • Packagevulkan-3.27
  • Exports8
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceVK_MVK_macos_surface.hs
valuecreateMacOSSurfaceMVK
  1. :: MonadIO io
  2. => Instance

    instance is the instance with which to associate the surface.

  3. -> MacOSSurfaceCreateInfoMVK

    pCreateInfo is a pointer to a MacOSSurfaceCreateInfoMVK structure containing parameters affecting the creation of the surface object.

  4. -> "allocator" ::: Maybe AllocationCallbacks

    pAllocator is the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).

  5. -> io SurfaceKHR
#

vkCreateMacOSSurfaceMVK - Create a VkSurfaceKHR object for a macOS NSView

Description

The createMacOSSurfaceMVK function is considered legacy and has been superseded by createMetalSurfaceEXT from the VK_EXT_metal_surface extension.

Valid Usage (Implicit)

  • instance must be a valid Instance handle

Return Codes

Success
Failure

See Also

VK_MVK_macos_surface, AllocationCallbacks, Instance, MacOSSurfaceCreateInfoMVK, SurfaceKHR

VkMacOSSurfaceCreateInfoMVK - Structure specifying parameters of a newly created macOS surface object

Valid Usage

  • If pView is an NSView object, it must be a valid NSView, must be backed by a CALayer object of type CAMetalLayer, and createMacOSSurfaceMVK must be called on the main thread

Valid Usage (Implicit)

  • pNext must be NULL

  • flags must be 0

See Also

VK_MVK_macos_surface, MacOSSurfaceCreateFlagsMVK, StructureType, createMacOSSurfaceMVK

Constructors

Instances5Show, Storable, FromCStruct, ToCStruct, Zero
newtypenewtype MacOSSurfaceCreateFlagsMVK
#

VkMacOSSurfaceCreateFlagsMVK - Reserved for future use

Description

MacOSSurfaceCreateFlagsMVK is a bitmask type for setting a mask, but is currently reserved for future use.

See Also

VK_MVK_macos_surface, Flags, MacOSSurfaceCreateInfoMVK

Instances8Eq, Ord, Read, Show, Bits, FiniteBits, …
newtypenewtype SurfaceKHR
#
Instances7Eq, Ord, Show, Storable, HasObjectType, IsHandle, …