Class EXTHeadlessSurface

  • public class EXTHeadlessSurface
    extends java.lang.Object
    The VK_EXT_headless_surface extension is an instance extension. It provides a mechanism to create 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.

    Name String
    Extension Type
    Instance extension
    Registered Extension Number
    Extension and Version Dependencies
    Last Modified Date
    IP Status
    No known IP claims.
    • Ray Smith, Arm
    • Field Detail


        public static final int VK_EXT_HEADLESS_SURFACE_SPEC_VERSION
        The extension specification version.
        See Also:
        Constant Field Values

        public static final java.lang.String VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME
        The extension name.
        See Also:
        Constant Field Values

        Extends VkStructureType.
        See Also:
        Constant Field Values
    • Method Detail

      • nvkCreateHeadlessSurfaceEXT

        public static int nvkCreateHeadlessSurfaceEXT​(VkInstance instance,
                                                      long pCreateInfo,
                                                      long pAllocator,
                                                      long pSurface)
        Unsafe version of: CreateHeadlessSurfaceEXT
      • vkCreateHeadlessSurfaceEXT

        public static int vkCreateHeadlessSurfaceEXT​(VkInstance instance,
                                                     VkHeadlessSurfaceCreateInfoEXT pCreateInfo,
                                                     VkAllocationCallbacks pAllocator,
                                                     java.nio.LongBuffer pSurface)
        Create a headless VkSurfaceKHR object.
        C Specification

        To create a headless VkSurfaceKHR object, call:

         VkResult vkCreateHeadlessSurfaceEXT(
             VkInstance                                  instance,
             const VkHeadlessSurfaceCreateInfoEXT*       pCreateInfo,
             const VkAllocationCallbacks*                pAllocator,
             VkSurfaceKHR*                               pSurface);
        Valid Usage (Implicit)
        • instance must be a valid VkInstance handle
        • pCreateInfo must be a valid pointer to a valid VkHeadlessSurfaceCreateInfoEXT structure
        • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
        • pSurface must be a valid pointer to a VkSurfaceKHR handle
        Return Codes
        On success, this command returns
        On failure, this command returns
        See Also

        VkAllocationCallbacks, VkHeadlessSurfaceCreateInfoEXT

        instance - the instance to associate the surface with.
        pCreateInfo - a pointer to an instance of the VkHeadlessSurfaceCreateInfoEXT structure containing parameters affecting the creation of the surface object.
        pAllocator - the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).
        pSurface - points to a VkSurfaceKHR handle in which the created surface object is returned.