Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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_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_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
NSView
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
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
instance
is the instance with which to associate the surface.
pCreateInfo
is a pointer to aMacOSSurfaceCreateInfoMVK
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 validMacOSSurfaceCreateInfoMVK
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_macos_surface,
AllocationCallbacks
,
Instance
, MacOSSurfaceCreateInfoMVK
,
SurfaceKHR
data MacOSSurfaceCreateInfoMVK Source #
VkMacOSSurfaceCreateInfoMVK - Structure specifying parameters of a newly created macOS surface object
Valid Usage
- If
pView
is aCAMetalLayer
object, it must be a validCAMetalLayer
- If
pView
is anNSView
object, it must be a validNSView
, must be backed by aCALayer
object of typeCAMetalLayer
, andcreateMacOSSurfaceMVK
must be called on the main thread
Valid Usage (Implicit)
-
sType
must beSTRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK
See Also
VK_MVK_macos_surface,
MacOSSurfaceCreateFlagsMVK
,
StructureType
,
createMacOSSurfaceMVK
MacOSSurfaceCreateInfoMVK | |
|
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
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