Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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
- 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
UIView
to 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
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
instance
is the instance with which to associate the surface.
pCreateInfo
is a pointer to aIOSSurfaceCreateInfoMVK
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 aSurfaceKHR
handle in which the created surface object is returned.
Valid Usage (Implicit)
-
instance
must be a validInstance
handle
-
pCreateInfo
must be a valid pointer to a validIOSSurfaceCreateInfoMVK
structure - If
pAllocator
is notNULL
,pAllocator
must be a valid pointer to a validAllocationCallbacks
structure -
pSurface
must be a valid pointer to aSurfaceKHR
handle
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
pView
is aCAMetalLayer
object, it must be a validCAMetalLayer
- If
pView
is aUIView
object, it must be a validUIView
, must be backed by aCALayer
object of typeCAMetalLayer
, andcreateIOSSurfaceMVK
must be called on the main thread
Valid Usage (Implicit)
-
sType
must beSTRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK
See Also
VK_MVK_ios_surface,
IOSSurfaceCreateFlagsMVK
,
StructureType
, createIOSSurfaceMVK
IOSSurfaceCreateInfoMVK | |
|
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
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
VK_KHR_surface,
PhysicalDeviceSurfaceInfo2KHR
,
SwapchainCreateInfoKHR
,
createAndroidSurfaceKHR
,
createDirectFBSurfaceEXT
,
createDisplayPlaneSurfaceKHR
,
createHeadlessSurfaceEXT
,
createIOSSurfaceMVK
,
createImagePipeSurfaceFUCHSIA
,
createMacOSSurfaceMVK
,
createMetalSurfaceEXT
,
createScreenSurfaceQNX
,
createStreamDescriptorSurfaceGGP
,
createViSurfaceNN
,
createWaylandSurfaceKHR
,
createWin32SurfaceKHR
,
createXcbSurfaceKHR
,
createXlibSurfaceKHR
,
destroySurfaceKHR
,
getDeviceGroupSurfacePresentModesKHR
,
getPhysicalDevicePresentRectanglesKHR
,
getPhysicalDeviceSurfaceCapabilities2EXT
,
getPhysicalDeviceSurfaceCapabilitiesKHR
,
getPhysicalDeviceSurfaceFormatsKHR
,
getPhysicalDeviceSurfacePresentModesKHR
,
getPhysicalDeviceSurfaceSupportKHR