vulkan_xlib.h 1.9 KB

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