Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class KHRXlibSurface

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.system.*, org.lwjgl.system.linux.*

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.
VK_KHR_xlib_surface
Name String
VK_KHR_xlib_surface
Extension Type
Instance extension
Registered Extension Number
5
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 Summary

Modifier and TypeField and Description
public static final String
public static final int
VK_KHR_XLIB_SURFACE_SPEC_VERSION

The extension specification version.

public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static int
nvkCreateXlibSurfaceKHR(VkInstance instance, long pCreateInfo, long pAllocator, long pSurface)

Unsafe version of: CreateXlibSurfaceKHR

public static int
vkCreateXlibSurfaceKHR(VkInstance
the instance to associate the surface with.
instance
,
VkXlibSurfaceCreateInfoKHR
a pointer to a VkXlibSurfaceCreateInfoKHR structure containing the parameters affecting the creation of the surface object.
pCreateInfo
,
VkAllocationCallbacks
the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).
pAllocator
,
LongBuffer
a pointer to a VkSurfaceKHR handle in which the created surface object is returned.
pSurface
)

Create a VkSurfaceKHR object for an X11 window, using the Xlib client-side library.

public static int
vkCreateXlibSurfaceKHR(VkInstance instance, VkXlibSurfaceCreateInfoKHR pCreateInfo, VkAllocationCallbacks pAllocator, long[] pSurface)

Array version of: CreateXlibSurfaceKHR

public static boolean
vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice
the physical device.
physicalDevice
,
int
the queue family index.
queueFamilyIndex
,
long
a pointer to an Xlib Display connection to the server.
dpy
,
long visualID)

Query physical device for presentation to X11 server using Xlib.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

VK_KHR_XLIB_SURFACE_EXTENSION_NAMEback to summary
public static final String VK_KHR_XLIB_SURFACE_EXTENSION_NAME

The extension name.

VK_KHR_XLIB_SURFACE_SPEC_VERSIONback to summary
public static final int VK_KHR_XLIB_SURFACE_SPEC_VERSION

The extension specification version.

VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHRback to summary
public static final int VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR

Extends VkStructureType.

Constructor Detail

KHRXlibSurfaceback to summary
protected KHRXlibSurface()

Method Detail

nvkCreateXlibSurfaceKHRback to summary
public static int nvkCreateXlibSurfaceKHR(VkInstance instance, long pCreateInfo, long pAllocator, long pSurface)

Unsafe version of: CreateXlibSurfaceKHR

vkCreateXlibSurfaceKHRback to summary
public static int vkCreateXlibSurfaceKHR(VkInstance instance, VkXlibSurfaceCreateInfoKHR pCreateInfo, VkAllocationCallbacks pAllocator, 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

Parameters
instance:VkInstance

the instance to associate the surface with.

pCreateInfo:VkXlibSurfaceCreateInfoKHR

a pointer to a VkXlibSurfaceCreateInfoKHR structure containing the parameters affecting the creation of the surface object.

pAllocator:VkAllocationCallbacks

the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).

pSurface:LongBuffer

a pointer to a VkSurfaceKHR handle in which the created surface object is returned.

Annotations
@NativeType:VkResult
vkCreateXlibSurfaceKHRback to summary
public static int vkCreateXlibSurfaceKHR(VkInstance instance, VkXlibSurfaceCreateInfoKHR pCreateInfo, VkAllocationCallbacks pAllocator, long[] pSurface)

Array version of: CreateXlibSurfaceKHR

Annotations
@NativeType:VkResult
vkGetPhysicalDeviceXlibPresentationSupportKHRback to summary
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);
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
  • dpy must be a valid pointer to a Display value
Parameters
physicalDevice:VkPhysicalDevice

the physical device.

queueFamilyIndex:int

the queue family index.

dpy:long

a pointer to an Xlib Display connection to the server.

Annotations
@NativeType:VkBool32