1#ifndef VULKAN_XLIB_H_ 2#define VULKAN_XLIB_H_ 1 3 4/* 5** Copyright 2015-2024 The Khronos Group Inc. 6** 7** SPDX-License-Identifier: Apache-2.0 8*/ 9 10/* 11** This header is generated from the Khronos Vulkan XML API Registry. 12** 13*/ 14 15 16#ifdef __cplusplus 17extern "C" { 18#endif 19 20 21 22// VK_KHR_xlib_surface is a preprocessor guard. Do not pass it to API calls. 23#define VK_KHR_xlib_surface 1 24#define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6 25#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface" 26typedef VkFlags VkXlibSurfaceCreateFlagsKHR; 27typedef struct VkXlibSurfaceCreateInfoKHR { 28 VkStructureType sType; 29 const void* pNext; 30 VkXlibSurfaceCreateFlagsKHR flags; 31 Display* dpy; 32 Window window; 33} VkXlibSurfaceCreateInfoKHR; 34 35typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 36typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID); 37 38#ifndef VK_NO_PROTOTYPES 39VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR( 40 VkInstance instance, 41 const VkXlibSurfaceCreateInfoKHR* pCreateInfo, 42 const VkAllocationCallbacks* pAllocator, 43 VkSurfaceKHR* pSurface); 44 45VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR( 46 VkPhysicalDevice physicalDevice, 47 uint32_t queueFamilyIndex, 48 Display* dpy, 49 VisualID visualID); 50#endif 51 52#ifdef __cplusplus 53} 54#endif 55 56#endif 57