| Safe Haskell | None |
|---|---|
| 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_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_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
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
- createMacOSSurfaceMVK :: 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 :: Integral a => a
- type MVK_MACOS_SURFACE_EXTENSION_NAME = "VK_MVK_macos_surface"
- pattern MVK_MACOS_SURFACE_EXTENSION_NAME :: (Eq a, IsString a) => a
- newtype SurfaceKHR = SurfaceKHR Word64
Documentation
createMacOSSurfaceMVK Source #
Arguments
| :: MonadIO io | |
| => Instance |
|
| -> MacOSSurfaceCreateInfoMVK |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io SurfaceKHR |
vkCreateMacOSSurfaceMVK - Create a VkSurfaceKHR object for a macOS NSView
Description
The createMacOSSurfaceMVK 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 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 :: Integral a => a Source #
type MVK_MACOS_SURFACE_EXTENSION_NAME = "VK_MVK_macos_surface" Source #
pattern MVK_MACOS_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 |