vulkan_metal.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef VULKAN_METAL_H_
  2. #define VULKAN_METAL_H_ 1
  3. /*
  4. ** Copyright 2015-2021 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. #define VK_EXT_metal_surface 1
  16. #ifdef __OBJC__
  17. @class CAMetalLayer;
  18. #else
  19. typedef void CAMetalLayer;
  20. #endif
  21. #define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
  22. #define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
  23. typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
  24. typedef struct VkMetalSurfaceCreateInfoEXT {
  25. VkStructureType sType;
  26. const void* pNext;
  27. VkMetalSurfaceCreateFlagsEXT flags;
  28. const CAMetalLayer* pLayer;
  29. } VkMetalSurfaceCreateInfoEXT;
  30. typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
  31. #ifndef VK_NO_PROTOTYPES
  32. VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
  33. VkInstance instance,
  34. const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
  35. const VkAllocationCallbacks* pAllocator,
  36. VkSurfaceKHR* pSurface);
  37. #endif
  38. #ifdef __cplusplus
  39. }
  40. #endif
  41. #endif