| 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
- Ratification Status
- Not ratified
- Extension and Version Dependencies
- 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
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.
- Update documentation on requirements for
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.
Synopsis
- createIOSSurfaceMVK :: 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 :: Integral a => a
- type MVK_IOS_SURFACE_EXTENSION_NAME = "VK_MVK_ios_surface"
- pattern MVK_IOS_SURFACE_EXTENSION_NAME :: (Eq a, IsString a) => a
- newtype SurfaceKHR = SurfaceKHR Word64
Documentation
Arguments
| :: MonadIO io | |
| => Instance |
|
| -> IOSSurfaceCreateInfoMVK |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io SurfaceKHR |
vkCreateIOSSurfaceMVK - Create a VkSurfaceKHR object for an iOS UIView
Description
The createIOSSurfaceMVK function is considered legacy and has been
superseded by
createMetalSurfaceEXT from the
VK_EXT_metal_surface extension.
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
VK_MVK_ios_surface,
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
VK_MVK_ios_surface,
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 :: Integral a => a Source #
type MVK_IOS_SURFACE_EXTENSION_NAME = "VK_MVK_ios_surface" Source #
pattern MVK_IOS_SURFACE_EXTENSION_NAME :: (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
VK_DEFINE_NON_DISPATCHABLE_HANDLE,
VK_KHR_surface,
PhysicalDeviceSurfaceInfo2KHR,
SwapchainCreateInfoKHR,
createAndroidSurfaceKHR,
createDirectFBSurfaceEXT,
createDisplayPlaneSurfaceKHR,
createHeadlessSurfaceEXT,
createIOSSurfaceMVK,
createImagePipeSurfaceFUCHSIA,
createMacOSSurfaceMVK,
createMetalSurfaceEXT,
createScreenSurfaceQNX,
createStreamDescriptorSurfaceGGP,
vkCreateSurfaceOHOS,
vkCreateUbmSurfaceSEC,
createViSurfaceNN,
createWaylandSurfaceKHR,
createWin32SurfaceKHR,
createXcbSurfaceKHR,
createXlibSurfaceKHR,
destroySurfaceKHR,
getDeviceGroupSurfacePresentModesKHR,
getPhysicalDevicePresentRectanglesKHR,
getPhysicalDeviceSurfaceCapabilities2EXT,
getPhysicalDeviceSurfaceCapabilitiesKHR,
getPhysicalDeviceSurfaceFormatsKHR,
getPhysicalDeviceSurfacePresentModesKHR,
getPhysicalDeviceSurfaceSupportKHR
Constructors
| SurfaceKHR Word64 |