vulkan-3.24.4: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_MVK_macos_surface

Description

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
Extension and Version Dependencies
  • Requires support for Vulkan 1.0
  • Requires VK_KHR_surface to be enabled
Deprecation state
  • Deprecated by VK_EXT_metal_surface extension
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

MacOSSurfaceCreateFlagsMVK, MacOSSurfaceCreateInfoMVK, createMacOSSurfaceMVK

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.

Synopsis

Documentation

createMacOSSurfaceMVK :: forall io. MonadIO io => Instance -> MacOSSurfaceCreateInfoMVK -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR Source #

vkCreateMacOSSurfaceMVK - Create a VkSurfaceKHR object for a macOS NSView

Parameters

Note

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

Description

  • instance is the instance with which to associate the surface.
  • pCreateInfo is a pointer to a MacOSSurfaceCreateInfoMVK 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 SurfaceKHR handle in which the created surface object is returned.

Valid Usage (Implicit)

  • instance must be a valid Instance handle

Return Codes

Success
Failure

See Also

VK_MVK_macos_surface, AllocationCallbacks, Instance, MacOSSurfaceCreateInfoMVK, SurfaceKHR

data MacOSSurfaceCreateInfoMVK Source #

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

MacOSSurfaceCreateInfoMVK 

Fields

Instances

Instances details
Storable MacOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

Show MacOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

FromCStruct MacOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

ToCStruct MacOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

Zero MacOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

newtype MacOSSurfaceCreateFlagsMVK Source #

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, MacOSSurfaceCreateInfoMVK

Instances

Instances details
Storable MacOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

Bits MacOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

Methods

(.&.) :: MacOSSurfaceCreateFlagsMVK -> MacOSSurfaceCreateFlagsMVK -> MacOSSurfaceCreateFlagsMVK #

(.|.) :: MacOSSurfaceCreateFlagsMVK -> MacOSSurfaceCreateFlagsMVK -> MacOSSurfaceCreateFlagsMVK #

xor :: MacOSSurfaceCreateFlagsMVK -> MacOSSurfaceCreateFlagsMVK -> MacOSSurfaceCreateFlagsMVK #

complement :: MacOSSurfaceCreateFlagsMVK -> MacOSSurfaceCreateFlagsMVK #

shift :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

rotate :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

zeroBits :: MacOSSurfaceCreateFlagsMVK #

bit :: Int -> MacOSSurfaceCreateFlagsMVK #

setBit :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

clearBit :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

complementBit :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

testBit :: MacOSSurfaceCreateFlagsMVK -> Int -> Bool #

bitSizeMaybe :: MacOSSurfaceCreateFlagsMVK -> Maybe Int #

bitSize :: MacOSSurfaceCreateFlagsMVK -> Int #

isSigned :: MacOSSurfaceCreateFlagsMVK -> Bool #

shiftL :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

unsafeShiftL :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

shiftR :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

unsafeShiftR :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

rotateL :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

rotateR :: MacOSSurfaceCreateFlagsMVK -> Int -> MacOSSurfaceCreateFlagsMVK #

popCount :: MacOSSurfaceCreateFlagsMVK -> Int #

FiniteBits MacOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

Read MacOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

Show MacOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

Eq MacOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

Ord MacOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

Zero MacOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_macos_surface

pattern MVK_MACOS_SURFACE_SPEC_VERSION :: forall a. Integral a => a Source #

type MVK_MACOS_SURFACE_EXTENSION_NAME = "VK_MVK_macos_surface" Source #

pattern MVK_MACOS_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #

newtype SurfaceKHR Source #

Constructors

SurfaceKHR Word64 

Instances

Instances details
Storable SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Eq SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles