vulkan-3.8.1: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_MVK_ios_surface

Description

Name

VK_MVK_ios_surface - instance extension

VK_MVK_ios_surface

Name String
VK_MVK_ios_surface
Extension Type
Instance extension
Registered Extension Number
123
Revision
3
Extension and Version Dependencies
  • Requires Vulkan 1.0
  • Requires VK_KHR_surface
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_ios_surface extension is an instance extension. It provides a mechanism to create a SurfaceKHR object (defined by the VK_KHR_surface extension) based on a UIView, the native surface type of iOS, 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_ios_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 UIView to be backed by a CAMetalLayer.
  • Revision 3, 2020-07-31 (Bill Hollings)

    • Update documentation on requirements for UIView.
    • Mark as deprecated by VK_EXT_metal_surface.

See Also

IOSSurfaceCreateFlagsMVK, IOSSurfaceCreateInfoMVK, createIOSSurfaceMVK

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

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

vkCreateIOSSurfaceMVK - Create a VkSurfaceKHR object for an iOS UIView

Parameters

Note

The createIOSSurfaceMVK 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 IOSSurfaceCreateInfoMVK 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

AllocationCallbacks, IOSSurfaceCreateInfoMVK, Instance, SurfaceKHR

data IOSSurfaceCreateInfoMVK Source #

VkIOSSurfaceCreateInfoMVK - Structure specifying parameters of a newly created iOS surface object

Valid Usage

  • If pView is a UIView object, it must be a valid UIView, must be backed by a CALayer object of type CAMetalLayer, and createIOSSurfaceMVK must be called on the main thread.

Valid Usage (Implicit)

  • pNext must be NULL
  • flags must be 0

See Also

IOSSurfaceCreateFlagsMVK, StructureType, createIOSSurfaceMVK

Constructors

IOSSurfaceCreateInfoMVK 

Fields

Instances

Instances details
Show IOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

Storable IOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

FromCStruct IOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

ToCStruct IOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

Zero IOSSurfaceCreateInfoMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

newtype IOSSurfaceCreateFlagsMVK Source #

VkIOSSurfaceCreateFlagsMVK - Reserved for future use

Description

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

See Also

IOSSurfaceCreateInfoMVK

Instances

Instances details
Eq IOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

Ord IOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

Read IOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

Show IOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

Storable IOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

Bits IOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

FiniteBits IOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

Zero IOSSurfaceCreateFlagsMVK Source # 
Instance details

Defined in Vulkan.Extensions.VK_MVK_ios_surface

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

type MVK_IOS_SURFACE_EXTENSION_NAME = "VK_MVK_ios_surface" Source #

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

newtype SurfaceKHR Source #

Constructors

SurfaceKHR Word64 

Instances

Instances details
Eq SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero 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