mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
276 lines
11 KiB
276 lines
11 KiB
#ifndef VULKAN_WIN32_H_ |
|
#define VULKAN_WIN32_H_ 1 |
|
|
|
#ifdef __cplusplus |
|
extern "C" { |
|
#endif |
|
|
|
/* |
|
** Copyright (c) 2015-2018 The Khronos Group Inc. |
|
** |
|
** Licensed under the Apache License, Version 2.0 (the "License"); |
|
** you may not use this file except in compliance with the License. |
|
** You may obtain a copy of the License at |
|
** |
|
** http://www.apache.org/licenses/LICENSE-2.0 |
|
** |
|
** Unless required by applicable law or agreed to in writing, software |
|
** distributed under the License is distributed on an "AS IS" BASIS, |
|
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
** See the License for the specific language governing permissions and |
|
** limitations under the License. |
|
*/ |
|
|
|
/* |
|
** This header is generated from the Khronos Vulkan XML API Registry. |
|
** |
|
*/ |
|
|
|
|
|
#define VK_KHR_win32_surface 1 |
|
#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6 |
|
#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface" |
|
|
|
typedef VkFlags VkWin32SurfaceCreateFlagsKHR; |
|
|
|
typedef struct VkWin32SurfaceCreateInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
VkWin32SurfaceCreateFlagsKHR flags; |
|
HINSTANCE hinstance; |
|
HWND hwnd; |
|
} VkWin32SurfaceCreateInfoKHR; |
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); |
|
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex); |
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR( |
|
VkInstance instance, |
|
const VkWin32SurfaceCreateInfoKHR* pCreateInfo, |
|
const VkAllocationCallbacks* pAllocator, |
|
VkSurfaceKHR* pSurface); |
|
|
|
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR( |
|
VkPhysicalDevice physicalDevice, |
|
uint32_t queueFamilyIndex); |
|
#endif |
|
|
|
#define VK_KHR_external_memory_win32 1 |
|
#define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 |
|
#define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32" |
|
|
|
typedef struct VkImportMemoryWin32HandleInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
VkExternalMemoryHandleTypeFlagBits handleType; |
|
HANDLE handle; |
|
LPCWSTR name; |
|
} VkImportMemoryWin32HandleInfoKHR; |
|
|
|
typedef struct VkExportMemoryWin32HandleInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
const SECURITY_ATTRIBUTES* pAttributes; |
|
DWORD dwAccess; |
|
LPCWSTR name; |
|
} VkExportMemoryWin32HandleInfoKHR; |
|
|
|
typedef struct VkMemoryWin32HandlePropertiesKHR { |
|
VkStructureType sType; |
|
void* pNext; |
|
uint32_t memoryTypeBits; |
|
} VkMemoryWin32HandlePropertiesKHR; |
|
|
|
typedef struct VkMemoryGetWin32HandleInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
VkDeviceMemory memory; |
|
VkExternalMemoryHandleTypeFlagBits handleType; |
|
} VkMemoryGetWin32HandleInfoKHR; |
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle); |
|
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); |
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR( |
|
VkDevice device, |
|
const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, |
|
HANDLE* pHandle); |
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR( |
|
VkDevice device, |
|
VkExternalMemoryHandleTypeFlagBits handleType, |
|
HANDLE handle, |
|
VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties); |
|
#endif |
|
|
|
#define VK_KHR_win32_keyed_mutex 1 |
|
#define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1 |
|
#define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex" |
|
|
|
typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
uint32_t acquireCount; |
|
const VkDeviceMemory* pAcquireSyncs; |
|
const uint64_t* pAcquireKeys; |
|
const uint32_t* pAcquireTimeouts; |
|
uint32_t releaseCount; |
|
const VkDeviceMemory* pReleaseSyncs; |
|
const uint64_t* pReleaseKeys; |
|
} VkWin32KeyedMutexAcquireReleaseInfoKHR; |
|
|
|
|
|
|
|
#define VK_KHR_external_semaphore_win32 1 |
|
#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1 |
|
#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32" |
|
|
|
typedef struct VkImportSemaphoreWin32HandleInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
VkSemaphore semaphore; |
|
VkSemaphoreImportFlags flags; |
|
VkExternalSemaphoreHandleTypeFlagBits handleType; |
|
HANDLE handle; |
|
LPCWSTR name; |
|
} VkImportSemaphoreWin32HandleInfoKHR; |
|
|
|
typedef struct VkExportSemaphoreWin32HandleInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
const SECURITY_ATTRIBUTES* pAttributes; |
|
DWORD dwAccess; |
|
LPCWSTR name; |
|
} VkExportSemaphoreWin32HandleInfoKHR; |
|
|
|
typedef struct VkD3D12FenceSubmitInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
uint32_t waitSemaphoreValuesCount; |
|
const uint64_t* pWaitSemaphoreValues; |
|
uint32_t signalSemaphoreValuesCount; |
|
const uint64_t* pSignalSemaphoreValues; |
|
} VkD3D12FenceSubmitInfoKHR; |
|
|
|
typedef struct VkSemaphoreGetWin32HandleInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
VkSemaphore semaphore; |
|
VkExternalSemaphoreHandleTypeFlagBits handleType; |
|
} VkSemaphoreGetWin32HandleInfoKHR; |
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); |
|
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle); |
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR( |
|
VkDevice device, |
|
const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo); |
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR( |
|
VkDevice device, |
|
const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, |
|
HANDLE* pHandle); |
|
#endif |
|
|
|
#define VK_KHR_external_fence_win32 1 |
|
#define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1 |
|
#define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32" |
|
|
|
typedef struct VkImportFenceWin32HandleInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
VkFence fence; |
|
VkFenceImportFlags flags; |
|
VkExternalFenceHandleTypeFlagBits handleType; |
|
HANDLE handle; |
|
LPCWSTR name; |
|
} VkImportFenceWin32HandleInfoKHR; |
|
|
|
typedef struct VkExportFenceWin32HandleInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
const SECURITY_ATTRIBUTES* pAttributes; |
|
DWORD dwAccess; |
|
LPCWSTR name; |
|
} VkExportFenceWin32HandleInfoKHR; |
|
|
|
typedef struct VkFenceGetWin32HandleInfoKHR { |
|
VkStructureType sType; |
|
const void* pNext; |
|
VkFence fence; |
|
VkExternalFenceHandleTypeFlagBits handleType; |
|
} VkFenceGetWin32HandleInfoKHR; |
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); |
|
typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle); |
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR( |
|
VkDevice device, |
|
const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo); |
|
|
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR( |
|
VkDevice device, |
|
const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, |
|
HANDLE* pHandle); |
|
#endif |
|
|
|
#define VK_NV_external_memory_win32 1 |
|
#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 |
|
#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32" |
|
|
|
typedef struct VkImportMemoryWin32HandleInfoNV { |
|
VkStructureType sType; |
|
const void* pNext; |
|
VkExternalMemoryHandleTypeFlagsNV handleType; |
|
HANDLE handle; |
|
} VkImportMemoryWin32HandleInfoNV; |
|
|
|
typedef struct VkExportMemoryWin32HandleInfoNV { |
|
VkStructureType sType; |
|
const void* pNext; |
|
const SECURITY_ATTRIBUTES* pAttributes; |
|
DWORD dwAccess; |
|
} VkExportMemoryWin32HandleInfoNV; |
|
|
|
|
|
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle); |
|
|
|
#ifndef VK_NO_PROTOTYPES |
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV( |
|
VkDevice device, |
|
VkDeviceMemory memory, |
|
VkExternalMemoryHandleTypeFlagsNV handleType, |
|
HANDLE* pHandle); |
|
#endif |
|
|
|
#define VK_NV_win32_keyed_mutex 1 |
|
#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 1 |
|
#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex" |
|
|
|
typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV { |
|
VkStructureType sType; |
|
const void* pNext; |
|
uint32_t acquireCount; |
|
const VkDeviceMemory* pAcquireSyncs; |
|
const uint64_t* pAcquireKeys; |
|
const uint32_t* pAcquireTimeoutMilliseconds; |
|
uint32_t releaseCount; |
|
const VkDeviceMemory* pReleaseSyncs; |
|
const uint64_t* pReleaseKeys; |
|
} VkWin32KeyedMutexAcquireReleaseInfoNV; |
|
|
|
|
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif
|
|
|