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 <marky@lunarg.com> 19 */ 20 21 #pragma once 22 23 // ---- Manually added trampoline/terminator functions 24 25 // These functions, for whatever reason, require more complex changes than 26 // can easily be automatically generated. 27 28 VKAPI_ATTR VkResult VKAPI_CALL 29 GetPhysicalDeviceExternalImageFormatPropertiesNV( 30 VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, 31 VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, 32 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 33 VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties); 34 35 VKAPI_ATTR VkResult VKAPI_CALL 36 terminator_GetPhysicalDeviceExternalImageFormatPropertiesNV( 37 VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, 38 VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, 39 VkExternalMemoryHandleTypeFlagsNV externalHandleType, 40 VkExternalImageFormatPropertiesNV *pExternalImageFormatProperties); 41 42 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, 43 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 44 45 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice, 46 VkSurfaceKHR surface, 47 VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 48 49 VKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 50 51 VKAPI_ATTR VkResult VKAPI_CALL terminator_ReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 52 53 #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT 54 VKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display); 55 56 VKAPI_ATTR VkResult VKAPI_CALL terminator_AcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, 57 VkDisplayKHR display); 58 59 VKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, 60 VkDisplayKHR* pDisplay); 61 62 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, 63 VkDisplayKHR* pDisplay); 64 #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT 65 66 #ifdef VK_USE_PLATFORM_WIN32_KHR 67 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModes2EXT( 68 VkPhysicalDevice physicalDevice, 69 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 70 uint32_t* pPresentModeCount, 71 VkPresentModeKHR* pPresentModes); 72 73 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfacePresentModes2EXT( 74 VkPhysicalDevice physicalDevice, 75 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 76 uint32_t* pPresentModeCount, 77 VkPresentModeKHR* pPresentModes); 78 #endif // VK_USE_PLATFORM_WIN32_KHR 79 80 VKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModes2EXT( 81 VkDevice device, 82 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 83 VkDeviceGroupPresentModeFlagsKHR* pModes); 84 85 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetDeviceGroupSurfacePresentModes2EXT( 86 VkDevice device, 87 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 88 VkDeviceGroupPresentModeFlagsKHR* pModes); 89 90 // ---- VK_EXT_tooling_info extension trampoline/terminators 91 92 VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT( 93 VkPhysicalDevice physicalDevice, 94 uint32_t* pToolCount, 95 VkPhysicalDeviceToolPropertiesEXT* pToolProperties); 96 97 VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceToolPropertiesEXT( 98 VkPhysicalDevice physicalDevice, 99 uint32_t* pToolCount, 100 VkPhysicalDeviceToolPropertiesEXT* pToolProperties); 101