Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Name
VK_EXT_headless_surface - instance extension
VK_EXT_headless_surface
- Name String
VK_EXT_headless_surface
- Extension Type
- Instance extension
- Registered Extension Number
- 257
- Revision
- 1
- Ratification Status
- Not ratified
- Extension and Version Dependencies
- VK_KHR_surface
- Contact
Other Extension Metadata
- Last Modified Date
- 2019-03-21
- IP Status
- No known IP claims.
- Contributors
- Ray Smith, Arm
Description
The VK_EXT_headless_surface
extension is an instance extension. It
provides a mechanism to create SurfaceKHR
objects independently of any window system or display device. The
presentation operation for a swapchain created from a headless surface
is by default a no-op, resulting in no externally-visible result.
Because there is no real presentation target, future extensions can layer on top of the headless surface to introduce arbitrary or customisable sets of restrictions or features. These could include features like saving to a file or restrictions to emulate a particular presentation target.
This functionality is expected to be useful for application and driver development because it allows any platform to expose an arbitrary or customisable set of restrictions and features of a presentation engine. This makes it a useful portable test target for applications targeting a wide range of presentation engines where the actual target presentation engines might be scarce, unavailable or otherwise undesirable or inconvenient to use for general Vulkan application development.
New Commands
New Structures
New Bitmasks
New Enum Constants
Version History
Revision 1, 2019-03-21 (Ray Smith)
- Initial draft
See Also
HeadlessSurfaceCreateFlagsEXT
, HeadlessSurfaceCreateInfoEXT
,
createHeadlessSurfaceEXT
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
- createHeadlessSurfaceEXT :: forall io. MonadIO io => Instance -> HeadlessSurfaceCreateInfoEXT -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR
- data HeadlessSurfaceCreateInfoEXT = HeadlessSurfaceCreateInfoEXT {}
- newtype HeadlessSurfaceCreateFlagsEXT = HeadlessSurfaceCreateFlagsEXT Flags
- type EXT_HEADLESS_SURFACE_SPEC_VERSION = 1
- pattern EXT_HEADLESS_SURFACE_SPEC_VERSION :: forall a. Integral a => a
- type EXT_HEADLESS_SURFACE_EXTENSION_NAME = "VK_EXT_headless_surface"
- pattern EXT_HEADLESS_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype SurfaceKHR = SurfaceKHR Word64
Documentation
createHeadlessSurfaceEXT Source #
:: forall io. MonadIO io | |
=> Instance |
|
-> HeadlessSurfaceCreateInfoEXT |
|
-> ("allocator" ::: Maybe AllocationCallbacks) |
|
-> io SurfaceKHR |
vkCreateHeadlessSurfaceEXT - Create a headless
SurfaceKHR
object
Valid Usage (Implicit)
-
instance
must be a validInstance
handle
-
pCreateInfo
must be a valid pointer to a validHeadlessSurfaceCreateInfoEXT
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_EXT_headless_surface,
AllocationCallbacks
,
HeadlessSurfaceCreateInfoEXT
, Instance
,
SurfaceKHR
data HeadlessSurfaceCreateInfoEXT Source #
VkHeadlessSurfaceCreateInfoEXT - Structure specifying parameters of a newly created headless surface object
Valid Usage (Implicit)
See Also
VK_EXT_headless_surface,
HeadlessSurfaceCreateFlagsEXT
,
StructureType
,
createHeadlessSurfaceEXT
Instances
newtype HeadlessSurfaceCreateFlagsEXT Source #
VkHeadlessSurfaceCreateFlagsEXT - Reserved for future use
Description
HeadlessSurfaceCreateFlagsEXT
is a bitmask type for setting a mask,
but is currently reserved for future use.
See Also
Instances
type EXT_HEADLESS_SURFACE_SPEC_VERSION = 1 Source #
pattern EXT_HEADLESS_SURFACE_SPEC_VERSION :: forall a. Integral a => a Source #
type EXT_HEADLESS_SURFACE_EXTENSION_NAME = "VK_EXT_headless_surface" Source #
pattern EXT_HEADLESS_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