| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_EXT_headless_surface
Description
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
- Extension and Version Dependencies
- Requires Vulkan 1.0
- Requires
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 #
Arguments
| :: forall io. MonadIO io | |
| => Instance |
|
| -> HeadlessSurfaceCreateInfoEXT |
|
| -> ("allocator" ::: Maybe AllocationCallbacks) |
|
| -> io SurfaceKHR |
vkCreateHeadlessSurfaceEXT - Create a headless
SurfaceKHR object
Valid Usage (Implicit)
-
instancemust be a validInstancehandle
-
pCreateInfomust be a valid pointer to a validHeadlessSurfaceCreateInfoEXTstructure - If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validAllocationCallbacksstructure -
pSurfacemust be a valid pointer to aSurfaceKHRhandle
Return Codes
See Also
AllocationCallbacks,
HeadlessSurfaceCreateInfoEXT, Instance,
SurfaceKHR
data HeadlessSurfaceCreateInfoEXT Source #
VkHeadlessSurfaceCreateInfoEXT - Structure specifying parameters of a newly created headless surface object
Valid Usage (Implicit)
See Also
HeadlessSurfaceCreateFlagsEXT,
StructureType,
createHeadlessSurfaceEXT
Constructors
| HeadlessSurfaceCreateInfoEXT | |
Fields | |
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
Constructors
| HeadlessSurfaceCreateFlagsEXT Flags |
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
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 |