| // Copyright 2017-2021 The Khronos Group, Inc. |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| |
| include::{generated}/meta/{refprefix}VK_EXT_headless_surface.txt[] |
| |
| === 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 slink:VkSurfaceKHR 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. |
| |
| include::{generated}/interfaces/VK_EXT_headless_surface.txt[] |
| |
| === Version History |
| |
| * Revision 1, 2019-03-21 (Ray Smith) |
| - Initial draft |