• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef VULKAN_FUCHSIA_H_
2 #define VULKAN_FUCHSIA_H_ 1
3 
4 /*
5 ** Copyright 2015-2021 The Khronos Group Inc.
6 **
7 ** SPDX-License-Identifier: Apache-2.0
8 */
9 
10 /*
11 ** This header is generated from the Khronos Vulkan XML API Registry.
12 **
13 */
14 
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 
21 
22 #define VK_FUCHSIA_imagepipe_surface 1
23 #define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
24 #define VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME "VK_FUCHSIA_imagepipe_surface"
25 typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA;
26 typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA {
27     VkStructureType                         sType;
28     const void*                             pNext;
29     VkImagePipeSurfaceCreateFlagsFUCHSIA    flags;
30     zx_handle_t                             imagePipeHandle;
31 } VkImagePipeSurfaceCreateInfoFUCHSIA;
32 
33 typedef VkResult (VKAPI_PTR *PFN_vkCreateImagePipeSurfaceFUCHSIA)(VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
34 
35 #ifndef VK_NO_PROTOTYPES
36 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA(
37     VkInstance                                  instance,
38     const VkImagePipeSurfaceCreateInfoFUCHSIA*  pCreateInfo,
39     const VkAllocationCallbacks*                pAllocator,
40     VkSurfaceKHR*                               pSurface);
41 #endif
42 
43 
44 #define VK_FUCHSIA_external_memory 1
45 #define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1
46 #define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory"
47 typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
48     VkStructureType                       sType;
49     const void*                           pNext;
50     VkExternalMemoryHandleTypeFlagBits    handleType;
51     zx_handle_t                           handle;
52 } VkImportMemoryZirconHandleInfoFUCHSIA;
53 
54 typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
55     VkStructureType    sType;
56     void*              pNext;
57     uint32_t           memoryTypeBits;
58 } VkMemoryZirconHandlePropertiesFUCHSIA;
59 
60 typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
61     VkStructureType                       sType;
62     const void*                           pNext;
63     VkDeviceMemory                        memory;
64     VkExternalMemoryHandleTypeFlagBits    handleType;
65 } VkMemoryGetZirconHandleInfoFUCHSIA;
66 
67 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
68 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
69 
70 #ifndef VK_NO_PROTOTYPES
71 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
72     VkDevice                                    device,
73     const VkMemoryGetZirconHandleInfoFUCHSIA*   pGetZirconHandleInfo,
74     zx_handle_t*                                pZirconHandle);
75 
76 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
77     VkDevice                                    device,
78     VkExternalMemoryHandleTypeFlagBits          handleType,
79     zx_handle_t                                 zirconHandle,
80     VkMemoryZirconHandlePropertiesFUCHSIA*      pMemoryZirconHandleProperties);
81 #endif
82 
83 
84 #define VK_FUCHSIA_external_semaphore 1
85 #define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
86 #define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore"
87 typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
88     VkStructureType                          sType;
89     const void*                              pNext;
90     VkSemaphore                              semaphore;
91     VkSemaphoreImportFlags                   flags;
92     VkExternalSemaphoreHandleTypeFlagBits    handleType;
93     zx_handle_t                              zirconHandle;
94 } VkImportSemaphoreZirconHandleInfoFUCHSIA;
95 
96 typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
97     VkStructureType                          sType;
98     const void*                              pNext;
99     VkSemaphore                              semaphore;
100     VkExternalSemaphoreHandleTypeFlagBits    handleType;
101 } VkSemaphoreGetZirconHandleInfoFUCHSIA;
102 
103 typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
104 typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
105 
106 #ifndef VK_NO_PROTOTYPES
107 VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
108     VkDevice                                    device,
109     const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
110 
111 VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
112     VkDevice                                    device,
113     const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
114     zx_handle_t*                                pZirconHandle);
115 #endif
116 
117 #ifdef __cplusplus
118 }
119 #endif
120 
121 #endif
122