blob: d5587157380c6c59b903ca8f6368b6ddb308abdb [file] [log] [blame]
Caio Marcelo de Oliveira Filhoe3eb3272020-06-01 21:00:51 -07001#ifndef VULKAN_FUCHSIA_H_
2#define VULKAN_FUCHSIA_H_ 1
3
4/*
Nicolas Capensb461e202021-05-13 09:06:18 -04005** Copyright 2015-2021 The Khronos Group Inc.
Caio Marcelo de Oliveira Filhoe3eb3272020-06-01 21:00:51 -07006**
Nicolas Capens3b2cd312020-07-21 11:51:25 -04007** SPDX-License-Identifier: Apache-2.0
Caio Marcelo de Oliveira Filhoe3eb3272020-06-01 21:00:51 -07008*/
9
10/*
11** This header is generated from the Khronos Vulkan XML API Registry.
12**
13*/
14
15
16#ifdef __cplusplus
17extern "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"
25typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA;
26typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA {
27 VkStructureType sType;
28 const void* pNext;
29 VkImagePipeSurfaceCreateFlagsFUCHSIA flags;
30 zx_handle_t imagePipeHandle;
31} VkImagePipeSurfaceCreateInfoFUCHSIA;
32
33typedef VkResult (VKAPI_PTR *PFN_vkCreateImagePipeSurfaceFUCHSIA)(VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
34
35#ifndef VK_NO_PROTOTYPES
36VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA(
37 VkInstance instance,
38 const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
39 const VkAllocationCallbacks* pAllocator,
40 VkSurfaceKHR* pSurface);
41#endif
42
Nicolas Capensb461e202021-05-13 09:06:18 -040043
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"
47typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
48 VkStructureType sType;
49 const void* pNext;
50 VkExternalMemoryHandleTypeFlagBits handleType;
51 zx_handle_t handle;
52} VkImportMemoryZirconHandleInfoFUCHSIA;
53
54typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
55 VkStructureType sType;
56 void* pNext;
57 uint32_t memoryTypeBits;
58} VkMemoryZirconHandlePropertiesFUCHSIA;
59
60typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
61 VkStructureType sType;
62 const void* pNext;
63 VkDeviceMemory memory;
64 VkExternalMemoryHandleTypeFlagBits handleType;
65} VkMemoryGetZirconHandleInfoFUCHSIA;
66
67typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
68typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
69
70#ifndef VK_NO_PROTOTYPES
71VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
72 VkDevice device,
73 const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
74 zx_handle_t* pZirconHandle);
75
76VKAPI_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"
87typedef 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
96typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
97 VkStructureType sType;
98 const void* pNext;
99 VkSemaphore semaphore;
100 VkExternalSemaphoreHandleTypeFlagBits handleType;
101} VkSemaphoreGetZirconHandleInfoFUCHSIA;
102
103typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
104typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
105
106#ifndef VK_NO_PROTOTYPES
107VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
108 VkDevice device,
109 const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
110
111VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
112 VkDevice device,
113 const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
114 zx_handle_t* pZirconHandle);
115#endif
116
Caio Marcelo de Oliveira Filhoe3eb3272020-06-01 21:00:51 -0700117#ifdef __cplusplus
118}
119#endif
120
121#endif