| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
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
- Ratification Status
- Not ratified
- Extension and Version Dependencies
- 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_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
NSViewto be backed by aCAMetalLayer.
- Minor syntax fix to emphasize firm requirement for
Revision 3, 2020-07-31 (Bill Hollings)
- Update documentation on requirements for
NSView. - Mark as deprecated by
VK_EXT_metal_surface.
- Update documentation on requirements for
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
- createMacOSSurfaceMVK :: forall io. MonadIO io => Instance -> MacOSSurfaceCreateInfoMVK -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
- data MacOSSurfaceCreateInfoMVK = MacOSSurfaceCreateInfoMVK {
- flags :: MacOSSurfaceCreateFlagsMVK
- view :: Ptr ()
- newtype MacOSSurfaceCreateFlagsMVK = MacOSSurfaceCreateFlagsMVK Flags
- type MVK_MACOS_SURFACE_SPEC_VERSION = 3
- pattern MVK_MACOS_SURFACE_SPEC_VERSION :: forall a. Integral a => a
- type MVK_MACOS_SURFACE_EXTENSION_NAME = "VK_MVK_macos_surface"
- pattern MVK_MACOS_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype SurfaceKHR = SurfaceKHR Word64
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
instanceis the instance with which to associate the surface.
pCreateInfois a pointer to aMacOSSurfaceCreateInfoMVKstructure 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 validMacOSSurfaceCreateInfoMVKstructure - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure -
pSurfacemust be a valid pointer to aSurfaceKHRhandle
Return Codes
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
pViewis aCAMetalLayerobject, it must be a validCAMetalLayer
- If
pViewis anNSViewobject, it must be a validNSView, must be backed by aCALayerobject of typeCAMetalLayer, andcreateMacOSSurfaceMVKmust be called on the main thread
Valid Usage (Implicit)
-
sTypemust beSTRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK
See Also
VK_MVK_macos_surface,
MacOSSurfaceCreateFlagsMVK,
StructureType,
createMacOSSurfaceMVK
Constructors
| MacOSSurfaceCreateInfoMVK | |
Fields
| |
Instances
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
Constructors
| MacOSSurfaceCreateFlagsMVK Flags |
Instances
type MVK_MACOS_SURFACE_SPEC_VERSION = 3 Source #
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 #
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
Constructors
| SurfaceKHR Word64 |