Class KHRXcbSurface

java.lang.Object
org.lwjgl.vulkan.KHRXcbSurface

public class KHRXcbSurface extends Object
The VK_KHR_xcb_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 XCB client-side library, as well as a query to determine support for rendering via XCB.
Name String
VK_KHR_xcb_surface
Extension Type
Instance extension
Registered Extension Number
6
Revision
6
Extension and Version Dependencies
VK_KHR_surface
Contact
Other Extension Metadata
Last Modified Date
2015-11-28
IP Status
No known IP claims.
Contributors
  • Patrick Doane, Blizzard
  • Faith 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 Details

    • VK_KHR_XCB_SURFACE_SPEC_VERSION

      public static final int VK_KHR_XCB_SURFACE_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_KHR_XCB_SURFACE_EXTENSION_NAME

      public static final String VK_KHR_XCB_SURFACE_EXTENSION_NAME
      The extension name.
      See Also:
    • VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR

      public static final int VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR
      Extends VkStructureType.
      See Also:
  • Method Details

    • nvkCreateXcbSurfaceKHR

      public static int nvkCreateXcbSurfaceKHR(org.lwjgl.vulkan.VkInstance instance, long pCreateInfo, long pAllocator, long pSurface)
      Unsafe version of: CreateXcbSurfaceKHR
    • vkCreateXcbSurfaceKHR

      public static int vkCreateXcbSurfaceKHR(org.lwjgl.vulkan.VkInstance instance, VkXcbSurfaceCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, LongBuffer pSurface)
      Create a VkSurfaceKHR object for a X11 window, using the XCB client-side library.
      C Specification

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

      
       VkResult vkCreateXcbSurfaceKHR(
           VkInstance                                  instance,
           const VkXcbSurfaceCreateInfoKHR*            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 VkXcbSurfaceCreateInfoKHR 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, VkXcbSurfaceCreateInfoKHR

      Parameters:
      instance - the instance to associate the surface with.
      pCreateInfo - a pointer to a VkXcbSurfaceCreateInfoKHR 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 - a pointer to a VkSurfaceKHR handle in which the created surface object is returned.
    • vkGetPhysicalDeviceXcbPresentationSupportKHR

      public static boolean vkGetPhysicalDeviceXcbPresentationSupportKHR(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, int queueFamilyIndex, long connection, int visual_id)
      Query physical device for presentation to X11 server using XCB.
      C Specification

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

      
       VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR(
           VkPhysicalDevice                            physicalDevice,
           uint32_t                                    queueFamilyIndex,
           xcb_connection_t*                           connection,
           xcb_visualid_t                              visual_id);
      Description

      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
      • connection must be a valid pointer to an xcb_connection_t value
      Parameters:
      physicalDevice - the physical device.
      queueFamilyIndex - the queue family index.
      connection - a pointer to an xcb_connection_t to the X server.
      visual_id - an X11 visual (xcb_visualid_t).
    • vkCreateXcbSurfaceKHR

      public static int vkCreateXcbSurfaceKHR(org.lwjgl.vulkan.VkInstance instance, VkXcbSurfaceCreateInfoKHR pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pSurface)
      Array version of: CreateXcbSurfaceKHR