15db71995Sopenharmony_ci/* 25db71995Sopenharmony_ci * Copyright (c) 2015-2021 The Khronos Group Inc. 35db71995Sopenharmony_ci * Copyright (c) 2015-2021 Valve Corporation 45db71995Sopenharmony_ci * Copyright (c) 2015-2021 LunarG, Inc. 55db71995Sopenharmony_ci * 65db71995Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 75db71995Sopenharmony_ci * you may not use this file except in compliance with the License. 85db71995Sopenharmony_ci * You may obtain a copy of the License at 95db71995Sopenharmony_ci * 105db71995Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 115db71995Sopenharmony_ci * 125db71995Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 135db71995Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 145db71995Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 155db71995Sopenharmony_ci * See the License for the specific language governing permissions and 165db71995Sopenharmony_ci * limitations under the License. 175db71995Sopenharmony_ci * 185db71995Sopenharmony_ci * Author: Mark Young <marky@lunarg.com> 195db71995Sopenharmony_ci * Author: Charles Giessen <charles@lunarg.com> 205db71995Sopenharmony_ci */ 215db71995Sopenharmony_ci 225db71995Sopenharmony_ci#pragma once 235db71995Sopenharmony_ci 245db71995Sopenharmony_ci#include <vulkan/vulkan.h> 255db71995Sopenharmony_ci 265db71995Sopenharmony_ci// ---- Manually added trampoline/terminator functions 275db71995Sopenharmony_ci 285db71995Sopenharmony_ci// These functions, for whatever reason, require more complex changes than 295db71995Sopenharmony_ci// can easily be automatically generated. 305db71995Sopenharmony_ci 315db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceExternalImageFormatPropertiesNV( 325db71995Sopenharmony_ci VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, 335db71995Sopenharmony_ci VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, 345db71995Sopenharmony_ci VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 355db71995Sopenharmony_ci 365db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceExternalImageFormatPropertiesNV( 375db71995Sopenharmony_ci VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, 385db71995Sopenharmony_ci VkImageCreateFlags flags, VkExternalMemoryHandleTypeFlagsNV externalHandleType, 395db71995Sopenharmony_ci VkExternalImageFormatPropertiesNV* pExternalImageFormatProperties); 405db71995Sopenharmony_ci 415db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice, VkSurfaceKHR surface, 425db71995Sopenharmony_ci VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 435db71995Sopenharmony_ci 445db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice, 455db71995Sopenharmony_ci VkSurfaceKHR surface, 465db71995Sopenharmony_ci VkSurfaceCapabilities2EXT* pSurfaceCapabilities); 475db71995Sopenharmony_ci 485db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL ReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 495db71995Sopenharmony_ci 505db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL terminator_ReleaseDisplayEXT(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 515db71995Sopenharmony_ci 525db71995Sopenharmony_ci#if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT) 535db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL AcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display); 545db71995Sopenharmony_ci 555db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL terminator_AcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, 565db71995Sopenharmony_ci VkDisplayKHR display); 575db71995Sopenharmony_ci 585db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL GetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, 595db71995Sopenharmony_ci VkDisplayKHR* pDisplay); 605db71995Sopenharmony_ci 615db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL terminator_GetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, 625db71995Sopenharmony_ci VkDisplayKHR* pDisplay); 635db71995Sopenharmony_ci#endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT 645db71995Sopenharmony_ci 655db71995Sopenharmony_ci#if defined(VK_USE_PLATFORM_WIN32_KHR) 665db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice, 675db71995Sopenharmony_ci const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 685db71995Sopenharmony_ci uint32_t* pPresentModeCount, 695db71995Sopenharmony_ci VkPresentModeKHR* pPresentModes); 705db71995Sopenharmony_ci 715db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceSurfacePresentModes2EXT( 725db71995Sopenharmony_ci VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, 735db71995Sopenharmony_ci VkPresentModeKHR* pPresentModes); 745db71995Sopenharmony_ci#endif // VK_USE_PLATFORM_WIN32_KHR 755db71995Sopenharmony_ci 765db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL GetDeviceGroupSurfacePresentModes2EXT(VkDevice device, 775db71995Sopenharmony_ci const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 785db71995Sopenharmony_ci VkDeviceGroupPresentModeFlagsKHR* pModes); 795db71995Sopenharmony_ci 805db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL terminator_GetDeviceGroupSurfacePresentModes2EXT(VkDevice device, 815db71995Sopenharmony_ci const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 825db71995Sopenharmony_ci VkDeviceGroupPresentModeFlagsKHR* pModes); 835db71995Sopenharmony_ci 845db71995Sopenharmony_ci// ---- VK_EXT_tooling_info extension trampoline/terminators 855db71995Sopenharmony_ci 865db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, 875db71995Sopenharmony_ci VkPhysicalDeviceToolPropertiesEXT* pToolProperties); 885db71995Sopenharmony_ci 895db71995Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice, uint32_t* pToolCount, 905db71995Sopenharmony_ci VkPhysicalDeviceToolPropertiesEXT* pToolProperties); 91