| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
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_surfaceextension
- Deprecated by
- 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
UIViewto be backed by aCAMetalLayer.
- Minor syntax fix to emphasize firm requirement for
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
- createIOSSurfaceMVK :: forall io. MonadIO io => Instance -> IOSSurfaceCreateInfoMVK -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
- data IOSSurfaceCreateInfoMVK = IOSSurfaceCreateInfoMVK {
- flags :: IOSSurfaceCreateFlagsMVK
- view :: Ptr ()
- newtype IOSSurfaceCreateFlagsMVK = IOSSurfaceCreateFlagsMVK Flags
- type MVK_IOS_SURFACE_SPEC_VERSION = 3
- pattern MVK_IOS_SURFACE_SPEC_VERSION :: forall a. Integral a => a
- type MVK_IOS_SURFACE_EXTENSION_NAME = "VK_MVK_ios_surface"
- pattern MVK_IOS_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype SurfaceKHR = SurfaceKHR Word64
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
instanceis the instance with which to associate the surface.
pCreateInfois a pointer to aIOSSurfaceCreateInfoMVKstructure containing parameters affecting the creation of the surface object.pAllocatoris the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).pSurfaceis a pointer to aSurfaceKHRhandle in which the created surface object is returned.
Valid Usage (Implicit)
-
instancemust be a validInstancehandle
-
pCreateInfomust be a valid pointer to a validIOSSurfaceCreateInfoMVKstructure - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure -
pSurfacemust be a valid pointer to aSurfaceKHRhandle
Return Codes
See Also
AllocationCallbacks,
IOSSurfaceCreateInfoMVK, Instance,
SurfaceKHR
data IOSSurfaceCreateInfoMVK Source #
VkIOSSurfaceCreateInfoMVK - Structure specifying parameters of a newly created iOS surface object
Valid Usage
- If
pViewis aCAMetalLayerobject, it must be a validCAMetalLayer.
- If
pViewis aUIViewobject, it must be a validUIView, must be backed by aCALayerobject of typeCAMetalLayer, andcreateIOSSurfaceMVKmust be called on the main thread.
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK
See Also
IOSSurfaceCreateFlagsMVK,
StructureType, createIOSSurfaceMVK
Constructors
| IOSSurfaceCreateInfoMVK | |
Fields
| |
Instances
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
Constructors
| IOSSurfaceCreateFlagsMVK Flags |
Instances
type MVK_IOS_SURFACE_SPEC_VERSION = 3 Source #
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 #
VkSurfaceKHR - Opaque handle to a surface object
Description
The VK_KHR_surface extension declares the SurfaceKHR object, and
provides a function for destroying SurfaceKHR objects. Separate
platform-specific extensions each provide a function for creating a
SurfaceKHR object for the respective platform. From the application’s
perspective this is an opaque handle, just like the handles of other
Vulkan objects.
See Also
PhysicalDeviceSurfaceInfo2KHR,
SwapchainCreateInfoKHR,
createAndroidSurfaceKHR,
createDirectFBSurfaceEXT,
createDisplayPlaneSurfaceKHR,
createHeadlessSurfaceEXT,
createIOSSurfaceMVK,
createImagePipeSurfaceFUCHSIA,
createMacOSSurfaceMVK,
createMetalSurfaceEXT,
createStreamDescriptorSurfaceGGP,
createViSurfaceNN,
createWaylandSurfaceKHR,
createWin32SurfaceKHR,
createXcbSurfaceKHR,
createXlibSurfaceKHR,
destroySurfaceKHR,
getDeviceGroupSurfacePresentModesKHR,
getPhysicalDevicePresentRectanglesKHR,
getPhysicalDeviceSurfaceCapabilities2EXT,
getPhysicalDeviceSurfaceCapabilitiesKHR,
getPhysicalDeviceSurfaceFormatsKHR,
getPhysicalDeviceSurfacePresentModesKHR,
getPhysicalDeviceSurfaceSupportKHR
Constructors
| SurfaceKHR Word64 |