Class KHRXlibSurface

  • public class KHRXlibSurface
    extends java.lang.Object
    The VK_KHR_xlib_surface extension is an instance extension. It provides a mechanism to create a VkSurfaceKHR object (defined by the VK_KHR_surface extension) that refers to an X11 Window, using the Xlib client-side library, as well as a query to determine support for rendering via Xlib.
    Name String
    Extension Type
    Instance extension
    Registered Extension Number
    Extension and Version Dependencies
    Last Modified Date
    IP Status
    No known IP claims.
    • Patrick Doane, Blizzard
    • Jason Ekstrand, Intel
    • Ian Elliott, LunarG
    • Courtney Goeltzenleuchter, LunarG
    • Jesse Hall, Google
    • James Jones, NVIDIA
    • Antoine Labour, Google
    • Jon Leech, Khronos
    • David Mao, AMD
    • Norbert Nopper, Freescale
    • Alon Or-bach, Samsung
    • Daniel Rakos, AMD
    • Graham Sellers, AMD
    • Ray Smith, ARM
    • Jeff Vigil, Qualcomm
    • Chia-I Wu, LunarG
    • Field Detail


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

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

        public static final int VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR
        Extends VkStructureType.
        See Also:
        Constant Field Values
    • Method Detail

      • nvkCreateXlibSurfaceKHR

        public static int nvkCreateXlibSurfaceKHR​(VkInstance instance,
                                                  long pCreateInfo,
                                                  long pAllocator,
                                                  long pSurface)
        Unsafe version of: CreateXlibSurfaceKHR
      • vkCreateXlibSurfaceKHR

        public static int vkCreateXlibSurfaceKHR​(VkInstance instance,
                                                 VkXlibSurfaceCreateInfoKHR pCreateInfo,
                                                 VkAllocationCallbacks pAllocator,
                                                 java.nio.LongBuffer pSurface)
        Create a VkSurfaceKHR object for an X11 window, using the Xlib client-side library.
        C Specification

        To create a VkSurfaceKHR object for an X11 window, using the Xlib client-side library, call:

         VkResult vkCreateXlibSurfaceKHR(
             VkInstance                                  instance,
             const VkXlibSurfaceCreateInfoKHR*           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 VkXlibSurfaceCreateInfoKHR 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, VkXlibSurfaceCreateInfoKHR

        instance - the instance to associate the surface with.
        pCreateInfo - a pointer to an instance of the VkXlibSurfaceCreateInfoKHR structure containing the 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.
      • vkGetPhysicalDeviceXlibPresentationSupportKHR

        public static boolean vkGetPhysicalDeviceXlibPresentationSupportKHR​(VkPhysicalDevice physicalDevice,
                                                                            int queueFamilyIndex,
                                                                            long dpy,
                                                                            long visualID)
        Query physical device for presentation to X11 server using Xlib.
        C Specification

        To determine whether a queue family of a physical device supports presentation to an X11 server, using the Xlib client-side library, call:

         VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR(
             VkPhysicalDevice                            physicalDevice,
             uint32_t                                    queueFamilyIndex,
             Display*                                    dpy,
             VisualID                                    visualID);

        This platform-specific function can be called prior to creating a surface.

        Valid Usage
        • queueFamilyIndex must be less than pQueueFamilyPropertyCount returned by vkGetPhysicalDeviceQueueFamilyProperties for the given physicalDevice
        Valid Usage (Implicit)
        • physicalDevice must be a valid VkPhysicalDevice handle
        • dpy must be a valid pointer to a Display value
        physicalDevice - the physical device.
        queueFamilyIndex - the queue family index.
        dpy - a pointer to an Xlib Display connection to the server.