1 #ifndef VULKAN_WIN32_H_
2 #define VULKAN_WIN32_H_ 1
22 #define VK_KHR_win32_surface 1
23 #define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6
24 #define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
29 VkWin32SurfaceCreateFlagsKHR
flags;
37 #ifndef VK_NO_PROTOTYPES
42 VkSurfaceKHR* pSurface);
45 VkPhysicalDevice physicalDevice,
46 uint32_t queueFamilyIndex);
50 #define VK_KHR_external_memory_win32 1
51 #define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
52 #define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32"
85 #ifndef VK_NO_PROTOTYPES
99 #define VK_KHR_win32_keyed_mutex 1
100 #define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1
101 #define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex"
116 #define VK_KHR_external_semaphore_win32 1
117 #define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1
118 #define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32"
156 #ifndef VK_NO_PROTOTYPES
168 #define VK_KHR_external_fence_win32 1
169 #define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1
170 #define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32"
199 #ifndef VK_NO_PROTOTYPES
211 #define VK_NV_external_memory_win32 1
212 #define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
213 #define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32"
230 #ifndef VK_NO_PROTOTYPES
233 VkDeviceMemory memory,
239 #define VK_NV_win32_keyed_mutex 1
240 #define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 2
241 #define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex"
256 #define VK_EXT_full_screen_exclusive 1
257 #define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4
258 #define VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME "VK_EXT_full_screen_exclusive"
290 #ifndef VK_NO_PROTOTYPES
292 VkPhysicalDevice physicalDevice,
294 uint32_t* pPresentModeCount,
299 VkSwapchainKHR swapchain);
303 VkSwapchainKHR swapchain);
312 #define VK_NV_acquire_winrt_display 1
313 #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
314 #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
318 #ifndef VK_NO_PROTOTYPES
320 VkPhysicalDevice physicalDevice,
321 VkDisplayKHR display);
324 VkPhysicalDevice physicalDevice,
325 uint32_t deviceRelativeId,
326 VkDisplayKHR* pDisplay);
GLsizei GLenum GLsizei GLsizei GLuint memory
const uint64_t * pWaitSemaphoreValues
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE *pHandle)
VkSemaphoreImportFlags flags
VkResult(VKAPI_PTR * PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
VkResult(VKAPI_PTR * PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
VkResult(VKAPI_PTR * PFN_vkReleaseFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain)
VkResult(VKAPI_PTR * PFN_vkGetDeviceGroupSurfacePresentModes2EXT)(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR *pModes)
struct VkSurfaceFullScreenExclusiveInfoEXT VkSurfaceFullScreenExclusiveInfoEXT
VkExternalSemaphoreHandleTypeFlagBits handleType
struct VkWin32SurfaceCreateInfoKHR VkWin32SurfaceCreateInfoKHR
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE *pHandle)
const uint64_t * pAcquireKeys
struct VkExportMemoryWin32HandleInfoNV VkExportMemoryWin32HandleInfoNV
const uint64_t * pAcquireKeys
const VkDeviceMemory * pReleaseSyncs
GLuint64 GLenum handleType
struct VkWin32KeyedMutexAcquireReleaseInfoNV VkWin32KeyedMutexAcquireReleaseInfoNV
const VkDeviceMemory * pAcquireSyncs
const SECURITY_ATTRIBUTES * pAttributes
VkExternalMemoryHandleTypeFlagBits handleType
uint32_t signalSemaphoreValuesCount
const uint32_t * pAcquireTimeouts
VkExternalFenceHandleTypeFlagBits handleType
struct VkImportSemaphoreWin32HandleInfoKHR VkImportSemaphoreWin32HandleInfoKHR
VkFlags VkExternalMemoryHandleTypeFlagsNV
struct VkSurfaceFullScreenExclusiveWin32InfoEXT VkSurfaceFullScreenExclusiveWin32InfoEXT
const uint64_t * pReleaseKeys
VkExternalSemaphoreHandleTypeFlagBits
VkExternalMemoryHandleTypeFlagBits
VKAPI_ATTR VkResult VKAPI_CALL vkReleaseFullScreenExclusiveModeEXT(VkDevice device, VkSwapchainKHR swapchain)
VkResult(VKAPI_PTR * PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display)
VkExternalMemoryHandleTypeFlagBits handleType
const SECURITY_ATTRIBUTES * pAttributes
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR(VkDevice device, const VkImportFenceWin32HandleInfoKHR *pImportFenceWin32HandleInfo)
const SECURITY_ATTRIBUTES * pAttributes
struct VkExportMemoryWin32HandleInfoKHR VkExportMemoryWin32HandleInfoKHR
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
struct VkImportFenceWin32HandleInfoKHR VkImportFenceWin32HandleInfoKHR
struct VkSurfaceCapabilitiesFullScreenExclusiveEXT VkSurfaceCapabilitiesFullScreenExclusiveEXT
VkResult(VKAPI_PTR * PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR *pMemoryWin32HandleProperties)
struct VkExportSemaphoreWin32HandleInfoKHR VkExportSemaphoreWin32HandleInfoKHR
const uint32_t * pAcquireTimeoutMilliseconds
struct VkImportMemoryWin32HandleInfoNV VkImportMemoryWin32HandleInfoNV
VkExternalMemoryHandleTypeFlagsNV handleType
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR *pImportSemaphoreWin32HandleInfo)
VkFlags VkFenceImportFlags
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR *pModes)
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes)
VkExternalFenceHandleTypeFlagBits handleType
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR(VkDevice device, const VkFenceGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
VkResult(VKAPI_PTR * PFN_vkAcquireFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain)
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireFullScreenExclusiveModeEXT(VkDevice device, VkSwapchainKHR swapchain)
VkResult(VKAPI_PTR * PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR *pImportFenceWin32HandleInfo)
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
struct VkImportMemoryWin32HandleInfoKHR VkImportMemoryWin32HandleInfoKHR
VkFullScreenExclusiveEXT fullScreenExclusive
struct VkWin32KeyedMutexAcquireReleaseInfoKHR VkWin32KeyedMutexAcquireReleaseInfoKHR
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex)
VkFlags VkDeviceGroupPresentModeFlagsKHR
VkFlags VkSemaphoreImportFlags
struct VkSemaphoreGetWin32HandleInfoKHR VkSemaphoreGetWin32HandleInfoKHR
const uint64_t * pReleaseKeys
struct VkExportFenceWin32HandleInfoKHR VkExportFenceWin32HandleInfoKHR
VkResult(VKAPI_PTR * PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR *pSurfaceInfo, uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes)
const VkDeviceMemory * pAcquireSyncs
struct VkFenceGetWin32HandleInfoKHR VkFenceGetWin32HandleInfoKHR
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR *pMemoryWin32HandleProperties)
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice, VkDisplayKHR display)
VkWin32SurfaceCreateFlagsKHR flags
struct VkMemoryGetWin32HandleInfoKHR VkMemoryGetWin32HandleInfoKHR
const VkDeviceMemory * pReleaseSyncs
const uint64_t * pSignalSemaphoreValues
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
VkExternalFenceHandleTypeFlagBits
const SECURITY_ATTRIBUTES * pAttributes
struct VkMemoryWin32HandlePropertiesKHR VkMemoryWin32HandlePropertiesKHR
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle)
uint32_t waitSemaphoreValuesCount
VkBool32 fullScreenExclusiveSupported
struct VkD3D12FenceSubmitInfoKHR VkD3D12FenceSubmitInfoKHR
VkResult(VKAPI_PTR * PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR *pDisplay)
VkResult(VKAPI_PTR * PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR *pImportSemaphoreWin32HandleInfo)
VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR *pDisplay)
VkResult(VKAPI_PTR * PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkSurfaceKHR *pSurface)
VkExternalSemaphoreHandleTypeFlagBits handleType
VkBool32(VKAPI_PTR * PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex)
VkFlags VkWin32SurfaceCreateFlagsKHR