1bf215546Sopenharmony_ci#ifndef VULKAN_WIN32_H_ 2bf215546Sopenharmony_ci#define VULKAN_WIN32_H_ 1 3bf215546Sopenharmony_ci 4bf215546Sopenharmony_ci/* 5bf215546Sopenharmony_ci** Copyright 2015-2022 The Khronos Group Inc. 6bf215546Sopenharmony_ci** 7bf215546Sopenharmony_ci** SPDX-License-Identifier: Apache-2.0 8bf215546Sopenharmony_ci*/ 9bf215546Sopenharmony_ci 10bf215546Sopenharmony_ci/* 11bf215546Sopenharmony_ci** This header is generated from the Khronos Vulkan XML API Registry. 12bf215546Sopenharmony_ci** 13bf215546Sopenharmony_ci*/ 14bf215546Sopenharmony_ci 15bf215546Sopenharmony_ci 16bf215546Sopenharmony_ci#ifdef __cplusplus 17bf215546Sopenharmony_ciextern "C" { 18bf215546Sopenharmony_ci#endif 19bf215546Sopenharmony_ci 20bf215546Sopenharmony_ci 21bf215546Sopenharmony_ci 22bf215546Sopenharmony_ci#define VK_KHR_win32_surface 1 23bf215546Sopenharmony_ci#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6 24bf215546Sopenharmony_ci#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface" 25bf215546Sopenharmony_citypedef VkFlags VkWin32SurfaceCreateFlagsKHR; 26bf215546Sopenharmony_citypedef struct VkWin32SurfaceCreateInfoKHR { 27bf215546Sopenharmony_ci VkStructureType sType; 28bf215546Sopenharmony_ci const void* pNext; 29bf215546Sopenharmony_ci VkWin32SurfaceCreateFlagsKHR flags; 30bf215546Sopenharmony_ci HINSTANCE hinstance; 31bf215546Sopenharmony_ci HWND hwnd; 32bf215546Sopenharmony_ci} VkWin32SurfaceCreateInfoKHR; 33bf215546Sopenharmony_ci 34bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); 35bf215546Sopenharmony_citypedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex); 36bf215546Sopenharmony_ci 37bf215546Sopenharmony_ci#ifndef VK_NO_PROTOTYPES 38bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR( 39bf215546Sopenharmony_ci VkInstance instance, 40bf215546Sopenharmony_ci const VkWin32SurfaceCreateInfoKHR* pCreateInfo, 41bf215546Sopenharmony_ci const VkAllocationCallbacks* pAllocator, 42bf215546Sopenharmony_ci VkSurfaceKHR* pSurface); 43bf215546Sopenharmony_ci 44bf215546Sopenharmony_ciVKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR( 45bf215546Sopenharmony_ci VkPhysicalDevice physicalDevice, 46bf215546Sopenharmony_ci uint32_t queueFamilyIndex); 47bf215546Sopenharmony_ci#endif 48bf215546Sopenharmony_ci 49bf215546Sopenharmony_ci 50bf215546Sopenharmony_ci#define VK_KHR_external_memory_win32 1 51bf215546Sopenharmony_ci#define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 52bf215546Sopenharmony_ci#define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32" 53bf215546Sopenharmony_citypedef struct VkImportMemoryWin32HandleInfoKHR { 54bf215546Sopenharmony_ci VkStructureType sType; 55bf215546Sopenharmony_ci const void* pNext; 56bf215546Sopenharmony_ci VkExternalMemoryHandleTypeFlagBits handleType; 57bf215546Sopenharmony_ci HANDLE handle; 58bf215546Sopenharmony_ci LPCWSTR name; 59bf215546Sopenharmony_ci} VkImportMemoryWin32HandleInfoKHR; 60bf215546Sopenharmony_ci 61bf215546Sopenharmony_citypedef struct VkExportMemoryWin32HandleInfoKHR { 62bf215546Sopenharmony_ci VkStructureType sType; 63bf215546Sopenharmony_ci const void* pNext; 64bf215546Sopenharmony_ci const SECURITY_ATTRIBUTES* pAttributes; 65bf215546Sopenharmony_ci DWORD dwAccess; 66bf215546Sopenharmony_ci LPCWSTR name; 67bf215546Sopenharmony_ci} VkExportMemoryWin32HandleInfoKHR; 68bf215546Sopenharmony_ci 69bf215546Sopenharmony_citypedef struct VkMemoryWin32HandlePropertiesKHR { 70bf215546Sopenharmony_ci VkStructureType sType; 71bf215546Sopenharmony_ci void* pNext; 72bf215546Sopenharmony_ci uint32_t memoryTypeBits; 73bf215546Sopenharmony_ci} VkMemoryWin32HandlePropertiesKHR; 74bf215546Sopenharmony_ci 75bf215546Sopenharmony_citypedef struct VkMemoryGetWin32HandleInfoKHR { 76bf215546Sopenharmony_ci VkStructureType sType; 77bf215546Sopenharmony_ci const void* pNext; 78bf215546Sopenharmony_ci VkDeviceMemory memory; 79bf215546Sopenharmony_ci VkExternalMemoryHandleTypeFlagBits handleType; 80bf215546Sopenharmony_ci} VkMemoryGetWin32HandleInfoKHR; 81bf215546Sopenharmony_ci 82bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle); 83bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); 84bf215546Sopenharmony_ci 85bf215546Sopenharmony_ci#ifndef VK_NO_PROTOTYPES 86bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR( 87bf215546Sopenharmony_ci VkDevice device, 88bf215546Sopenharmony_ci const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, 89bf215546Sopenharmony_ci HANDLE* pHandle); 90bf215546Sopenharmony_ci 91bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR( 92bf215546Sopenharmony_ci VkDevice device, 93bf215546Sopenharmony_ci VkExternalMemoryHandleTypeFlagBits handleType, 94bf215546Sopenharmony_ci HANDLE handle, 95bf215546Sopenharmony_ci VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); 96bf215546Sopenharmony_ci#endif 97bf215546Sopenharmony_ci 98bf215546Sopenharmony_ci 99bf215546Sopenharmony_ci#define VK_KHR_win32_keyed_mutex 1 100bf215546Sopenharmony_ci#define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1 101bf215546Sopenharmony_ci#define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex" 102bf215546Sopenharmony_citypedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR { 103bf215546Sopenharmony_ci VkStructureType sType; 104bf215546Sopenharmony_ci const void* pNext; 105bf215546Sopenharmony_ci uint32_t acquireCount; 106bf215546Sopenharmony_ci const VkDeviceMemory* pAcquireSyncs; 107bf215546Sopenharmony_ci const uint64_t* pAcquireKeys; 108bf215546Sopenharmony_ci const uint32_t* pAcquireTimeouts; 109bf215546Sopenharmony_ci uint32_t releaseCount; 110bf215546Sopenharmony_ci const VkDeviceMemory* pReleaseSyncs; 111bf215546Sopenharmony_ci const uint64_t* pReleaseKeys; 112bf215546Sopenharmony_ci} VkWin32KeyedMutexAcquireReleaseInfoKHR; 113bf215546Sopenharmony_ci 114bf215546Sopenharmony_ci 115bf215546Sopenharmony_ci 116bf215546Sopenharmony_ci#define VK_KHR_external_semaphore_win32 1 117bf215546Sopenharmony_ci#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1 118bf215546Sopenharmony_ci#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32" 119bf215546Sopenharmony_citypedef struct VkImportSemaphoreWin32HandleInfoKHR { 120bf215546Sopenharmony_ci VkStructureType sType; 121bf215546Sopenharmony_ci const void* pNext; 122bf215546Sopenharmony_ci VkSemaphore semaphore; 123bf215546Sopenharmony_ci VkSemaphoreImportFlags flags; 124bf215546Sopenharmony_ci VkExternalSemaphoreHandleTypeFlagBits handleType; 125bf215546Sopenharmony_ci HANDLE handle; 126bf215546Sopenharmony_ci LPCWSTR name; 127bf215546Sopenharmony_ci} VkImportSemaphoreWin32HandleInfoKHR; 128bf215546Sopenharmony_ci 129bf215546Sopenharmony_citypedef struct VkExportSemaphoreWin32HandleInfoKHR { 130bf215546Sopenharmony_ci VkStructureType sType; 131bf215546Sopenharmony_ci const void* pNext; 132bf215546Sopenharmony_ci const SECURITY_ATTRIBUTES* pAttributes; 133bf215546Sopenharmony_ci DWORD dwAccess; 134bf215546Sopenharmony_ci LPCWSTR name; 135bf215546Sopenharmony_ci} VkExportSemaphoreWin32HandleInfoKHR; 136bf215546Sopenharmony_ci 137bf215546Sopenharmony_citypedef struct VkD3D12FenceSubmitInfoKHR { 138bf215546Sopenharmony_ci VkStructureType sType; 139bf215546Sopenharmony_ci const void* pNext; 140bf215546Sopenharmony_ci uint32_t waitSemaphoreValuesCount; 141bf215546Sopenharmony_ci const uint64_t* pWaitSemaphoreValues; 142bf215546Sopenharmony_ci uint32_t signalSemaphoreValuesCount; 143bf215546Sopenharmony_ci const uint64_t* pSignalSemaphoreValues; 144bf215546Sopenharmony_ci} VkD3D12FenceSubmitInfoKHR; 145bf215546Sopenharmony_ci 146bf215546Sopenharmony_citypedef struct VkSemaphoreGetWin32HandleInfoKHR { 147bf215546Sopenharmony_ci VkStructureType sType; 148bf215546Sopenharmony_ci const void* pNext; 149bf215546Sopenharmony_ci VkSemaphore semaphore; 150bf215546Sopenharmony_ci VkExternalSemaphoreHandleTypeFlagBits handleType; 151bf215546Sopenharmony_ci} VkSemaphoreGetWin32HandleInfoKHR; 152bf215546Sopenharmony_ci 153bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); 154bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle); 155bf215546Sopenharmony_ci 156bf215546Sopenharmony_ci#ifndef VK_NO_PROTOTYPES 157bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR( 158bf215546Sopenharmony_ci VkDevice device, 159bf215546Sopenharmony_ci const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); 160bf215546Sopenharmony_ci 161bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR( 162bf215546Sopenharmony_ci VkDevice device, 163bf215546Sopenharmony_ci const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, 164bf215546Sopenharmony_ci HANDLE* pHandle); 165bf215546Sopenharmony_ci#endif 166bf215546Sopenharmony_ci 167bf215546Sopenharmony_ci 168bf215546Sopenharmony_ci#define VK_KHR_external_fence_win32 1 169bf215546Sopenharmony_ci#define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1 170bf215546Sopenharmony_ci#define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32" 171bf215546Sopenharmony_citypedef struct VkImportFenceWin32HandleInfoKHR { 172bf215546Sopenharmony_ci VkStructureType sType; 173bf215546Sopenharmony_ci const void* pNext; 174bf215546Sopenharmony_ci VkFence fence; 175bf215546Sopenharmony_ci VkFenceImportFlags flags; 176bf215546Sopenharmony_ci VkExternalFenceHandleTypeFlagBits handleType; 177bf215546Sopenharmony_ci HANDLE handle; 178bf215546Sopenharmony_ci LPCWSTR name; 179bf215546Sopenharmony_ci} VkImportFenceWin32HandleInfoKHR; 180bf215546Sopenharmony_ci 181bf215546Sopenharmony_citypedef struct VkExportFenceWin32HandleInfoKHR { 182bf215546Sopenharmony_ci VkStructureType sType; 183bf215546Sopenharmony_ci const void* pNext; 184bf215546Sopenharmony_ci const SECURITY_ATTRIBUTES* pAttributes; 185bf215546Sopenharmony_ci DWORD dwAccess; 186bf215546Sopenharmony_ci LPCWSTR name; 187bf215546Sopenharmony_ci} VkExportFenceWin32HandleInfoKHR; 188bf215546Sopenharmony_ci 189bf215546Sopenharmony_citypedef struct VkFenceGetWin32HandleInfoKHR { 190bf215546Sopenharmony_ci VkStructureType sType; 191bf215546Sopenharmony_ci const void* pNext; 192bf215546Sopenharmony_ci VkFence fence; 193bf215546Sopenharmony_ci VkExternalFenceHandleTypeFlagBits handleType; 194bf215546Sopenharmony_ci} VkFenceGetWin32HandleInfoKHR; 195bf215546Sopenharmony_ci 196bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); 197bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle); 198bf215546Sopenharmony_ci 199bf215546Sopenharmony_ci#ifndef VK_NO_PROTOTYPES 200bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR( 201bf215546Sopenharmony_ci VkDevice device, 202bf215546Sopenharmony_ci const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); 203bf215546Sopenharmony_ci 204bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR( 205bf215546Sopenharmony_ci VkDevice device, 206bf215546Sopenharmony_ci const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, 207bf215546Sopenharmony_ci HANDLE* pHandle); 208bf215546Sopenharmony_ci#endif 209bf215546Sopenharmony_ci 210bf215546Sopenharmony_ci 211bf215546Sopenharmony_ci#define VK_NV_external_memory_win32 1 212bf215546Sopenharmony_ci#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 213bf215546Sopenharmony_ci#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32" 214bf215546Sopenharmony_citypedef struct VkImportMemoryWin32HandleInfoNV { 215bf215546Sopenharmony_ci VkStructureType sType; 216bf215546Sopenharmony_ci const void* pNext; 217bf215546Sopenharmony_ci VkExternalMemoryHandleTypeFlagsNV handleType; 218bf215546Sopenharmony_ci HANDLE handle; 219bf215546Sopenharmony_ci} VkImportMemoryWin32HandleInfoNV; 220bf215546Sopenharmony_ci 221bf215546Sopenharmony_citypedef struct VkExportMemoryWin32HandleInfoNV { 222bf215546Sopenharmony_ci VkStructureType sType; 223bf215546Sopenharmony_ci const void* pNext; 224bf215546Sopenharmony_ci const SECURITY_ATTRIBUTES* pAttributes; 225bf215546Sopenharmony_ci DWORD dwAccess; 226bf215546Sopenharmony_ci} VkExportMemoryWin32HandleInfoNV; 227bf215546Sopenharmony_ci 228bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle); 229bf215546Sopenharmony_ci 230bf215546Sopenharmony_ci#ifndef VK_NO_PROTOTYPES 231bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV( 232bf215546Sopenharmony_ci VkDevice device, 233bf215546Sopenharmony_ci VkDeviceMemory memory, 234bf215546Sopenharmony_ci VkExternalMemoryHandleTypeFlagsNV handleType, 235bf215546Sopenharmony_ci HANDLE* pHandle); 236bf215546Sopenharmony_ci#endif 237bf215546Sopenharmony_ci 238bf215546Sopenharmony_ci 239bf215546Sopenharmony_ci#define VK_NV_win32_keyed_mutex 1 240bf215546Sopenharmony_ci#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 2 241bf215546Sopenharmony_ci#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex" 242bf215546Sopenharmony_citypedef struct VkWin32KeyedMutexAcquireReleaseInfoNV { 243bf215546Sopenharmony_ci VkStructureType sType; 244bf215546Sopenharmony_ci const void* pNext; 245bf215546Sopenharmony_ci uint32_t acquireCount; 246bf215546Sopenharmony_ci const VkDeviceMemory* pAcquireSyncs; 247bf215546Sopenharmony_ci const uint64_t* pAcquireKeys; 248bf215546Sopenharmony_ci const uint32_t* pAcquireTimeoutMilliseconds; 249bf215546Sopenharmony_ci uint32_t releaseCount; 250bf215546Sopenharmony_ci const VkDeviceMemory* pReleaseSyncs; 251bf215546Sopenharmony_ci const uint64_t* pReleaseKeys; 252bf215546Sopenharmony_ci} VkWin32KeyedMutexAcquireReleaseInfoNV; 253bf215546Sopenharmony_ci 254bf215546Sopenharmony_ci 255bf215546Sopenharmony_ci 256bf215546Sopenharmony_ci#define VK_EXT_full_screen_exclusive 1 257bf215546Sopenharmony_ci#define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4 258bf215546Sopenharmony_ci#define VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME "VK_EXT_full_screen_exclusive" 259bf215546Sopenharmony_ci 260bf215546Sopenharmony_citypedef enum VkFullScreenExclusiveEXT { 261bf215546Sopenharmony_ci VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0, 262bf215546Sopenharmony_ci VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1, 263bf215546Sopenharmony_ci VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2, 264bf215546Sopenharmony_ci VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3, 265bf215546Sopenharmony_ci VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF 266bf215546Sopenharmony_ci} VkFullScreenExclusiveEXT; 267bf215546Sopenharmony_citypedef struct VkSurfaceFullScreenExclusiveInfoEXT { 268bf215546Sopenharmony_ci VkStructureType sType; 269bf215546Sopenharmony_ci void* pNext; 270bf215546Sopenharmony_ci VkFullScreenExclusiveEXT fullScreenExclusive; 271bf215546Sopenharmony_ci} VkSurfaceFullScreenExclusiveInfoEXT; 272bf215546Sopenharmony_ci 273bf215546Sopenharmony_citypedef struct VkSurfaceCapabilitiesFullScreenExclusiveEXT { 274bf215546Sopenharmony_ci VkStructureType sType; 275bf215546Sopenharmony_ci void* pNext; 276bf215546Sopenharmony_ci VkBool32 fullScreenExclusiveSupported; 277bf215546Sopenharmony_ci} VkSurfaceCapabilitiesFullScreenExclusiveEXT; 278bf215546Sopenharmony_ci 279bf215546Sopenharmony_citypedef struct VkSurfaceFullScreenExclusiveWin32InfoEXT { 280bf215546Sopenharmony_ci VkStructureType sType; 281bf215546Sopenharmony_ci const void* pNext; 282bf215546Sopenharmony_ci HMONITOR hmonitor; 283bf215546Sopenharmony_ci} VkSurfaceFullScreenExclusiveWin32InfoEXT; 284bf215546Sopenharmony_ci 285bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes); 286bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkAcquireFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain); 287bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkReleaseFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain); 288bf215546Sopenharmony_citypedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModes2EXT)(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes); 289bf215546Sopenharmony_ci 290bf215546Sopenharmony_ci#ifndef VK_NO_PROTOTYPES 291bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModes2EXT( 292bf215546Sopenharmony_ci VkPhysicalDevice physicalDevice, 293bf215546Sopenharmony_ci const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 294bf215546Sopenharmony_ci uint32_t* pPresentModeCount, 295bf215546Sopenharmony_ci VkPresentModeKHR* pPresentModes); 296bf215546Sopenharmony_ci 297bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkAcquireFullScreenExclusiveModeEXT( 298bf215546Sopenharmony_ci VkDevice device, 299bf215546Sopenharmony_ci VkSwapchainKHR swapchain); 300bf215546Sopenharmony_ci 301bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkReleaseFullScreenExclusiveModeEXT( 302bf215546Sopenharmony_ci VkDevice device, 303bf215546Sopenharmony_ci VkSwapchainKHR swapchain); 304bf215546Sopenharmony_ci 305bf215546Sopenharmony_ciVKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT( 306bf215546Sopenharmony_ci VkDevice device, 307bf215546Sopenharmony_ci const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 308bf215546Sopenharmony_ci VkDeviceGroupPresentModeFlagsKHR* pModes); 309bf215546Sopenharmony_ci#endif 310bf215546Sopenharmony_ci 311bf215546Sopenharmony_ci#ifdef __cplusplus 312bf215546Sopenharmony_ci} 313bf215546Sopenharmony_ci#endif 314bf215546Sopenharmony_ci 315bf215546Sopenharmony_ci#endif 316