extension_manual.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /*
  2. * Copyright (c) 2015-2017 The Khronos Group Inc.
  3. * Copyright (c) 2015-2017 Valve Corporation
  4. * Copyright (c) 2015-2017 LunarG, Inc.
  5. *
  6. * Licensed under the Apache License, Version 2.0 (the "License");
  7. * you may not use this file except in compliance with the License.
  8. * You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. *
  18. * Author: Mark Young <[email protected]>
  19. */
  20. #pragma once
  21. // ---- Manually added trampoline/terminator functions
  22. // These functions, for whatever reason, require more complex changes than
  23. // can easily be automatically generated.
  24. VKAPI_ATTR VkResult VKAPI_CALL
  25. GetPhysicalDeviceExternalImageFormatPropertiesNV(
  26. VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
  27. VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
  28. VkExternalMemoryHandleTypeFlagsNV externalHandleType,
  29. VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties);
  30. VKAPI_ATTR VkResult VKAPI_CALL
  31. terminator_GetPhysicalDeviceExternalImageFormatPropertiesNV(
  32. VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
  33. VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
  34. VkExternalMemoryHandleTypeFlagsNV externalHandleType,
  35. VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties);
  36. VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
  37. VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
  38. VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice,
  39. VkSurfaceKHR surface,
  40. VkSurfaceCapabilities2EXT* pSurfaceCapabilities);
  41. VKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
  42. VKAPI_ATTR VkResult VKAPI_CALL terminator_ReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
  43. #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
  44. VKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display);
  45. VKAPI_ATTR VkResult VKAPI_CALL terminator_AcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy,
  46. VkDisplayKHR display);
  47. VKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput,
  48. VkDisplayKHR* pDisplay);
  49. VKAPI_ATTR VkResult VKAPI_CALL terminator_GetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput,
  50. VkDisplayKHR* pDisplay);
  51. #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
  52. #ifdef VK_USE_PLATFORM_WIN32_KHR
  53. VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModes2EXT(
  54. VkPhysicalDevice physicalDevice,
  55. const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
  56. uint32_t* pPresentModeCount,
  57. VkPresentModeKHR* pPresentModes);
  58. VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfacePresentModes2EXT(
  59. VkPhysicalDevice physicalDevice,
  60. const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
  61. uint32_t* pPresentModeCount,
  62. VkPresentModeKHR* pPresentModes);
  63. #endif // VK_USE_PLATFORM_WIN32_KHR
  64. VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModes2EXT(
  65. VkDevice device,
  66. const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
  67. VkDeviceGroupPresentModeFlagsKHR* pModes);
  68. VKAPI_ATTR VkResult VKAPI_CALL terminator_GetDeviceGroupSurfacePresentModes2EXT(
  69. VkDevice device,
  70. const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
  71. VkDeviceGroupPresentModeFlagsKHR* pModes);
  72. // ---- VK_EXT_tooling_info extension trampoline/terminators
  73. VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(
  74. VkPhysicalDevice physicalDevice,
  75. uint32_t* pToolCount,
  76. VkPhysicalDeviceToolPropertiesEXT* pToolProperties);
  77. VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceToolPropertiesEXT(
  78. VkPhysicalDevice physicalDevice,
  79. uint32_t* pToolCount,
  80. VkPhysicalDeviceToolPropertiesEXT* pToolProperties);