blob: 679278fcb73ec621151cc15168156c892b527b55 [file] [log] [blame]
Cody Northropb43afee2016-03-08 22:23:51 -07001/*
2 * Copyright 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16// This file is generated.
17#ifndef VULKAN_WRAPPER_H
18#define VULKAN_WRAPPER_H
19
Cody Northrop75af0e32016-04-26 19:17:21 -060020#ifdef __cplusplus
21extern "C" {
22#endif
23
Cody Northropb43afee2016-03-08 22:23:51 -070024#define VK_NO_PROTOTYPES 1
25#include <vulkan/vulkan.h>
26
27/* Initialize the Vulkan function pointer variables declared in this header.
28 * Returns 0 if vulkan is not available, non-zero if it is available.
29 */
30int InitVulkan(void);
31
32// VK_core
33extern PFN_vkCreateInstance vkCreateInstance;
34extern PFN_vkDestroyInstance vkDestroyInstance;
35extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
36extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
37extern PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
38extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
39extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
40extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
41extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
42extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
43extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
44extern PFN_vkCreateDevice vkCreateDevice;
45extern PFN_vkDestroyDevice vkDestroyDevice;
46extern PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
47extern PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
48extern PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
49extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
50extern PFN_vkGetDeviceQueue vkGetDeviceQueue;
51extern PFN_vkQueueSubmit vkQueueSubmit;
52extern PFN_vkQueueWaitIdle vkQueueWaitIdle;
53extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
54extern PFN_vkAllocateMemory vkAllocateMemory;
55extern PFN_vkFreeMemory vkFreeMemory;
56extern PFN_vkMapMemory vkMapMemory;
57extern PFN_vkUnmapMemory vkUnmapMemory;
58extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
59extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
60extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
61extern PFN_vkBindBufferMemory vkBindBufferMemory;
62extern PFN_vkBindImageMemory vkBindImageMemory;
63extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
64extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
65extern PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
66extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;
67extern PFN_vkQueueBindSparse vkQueueBindSparse;
68extern PFN_vkCreateFence vkCreateFence;
69extern PFN_vkDestroyFence vkDestroyFence;
70extern PFN_vkResetFences vkResetFences;
71extern PFN_vkGetFenceStatus vkGetFenceStatus;
72extern PFN_vkWaitForFences vkWaitForFences;
73extern PFN_vkCreateSemaphore vkCreateSemaphore;
74extern PFN_vkDestroySemaphore vkDestroySemaphore;
75extern PFN_vkCreateEvent vkCreateEvent;
76extern PFN_vkDestroyEvent vkDestroyEvent;
77extern PFN_vkGetEventStatus vkGetEventStatus;
78extern PFN_vkSetEvent vkSetEvent;
79extern PFN_vkResetEvent vkResetEvent;
80extern PFN_vkCreateQueryPool vkCreateQueryPool;
81extern PFN_vkDestroyQueryPool vkDestroyQueryPool;
82extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
83extern PFN_vkCreateBuffer vkCreateBuffer;
84extern PFN_vkDestroyBuffer vkDestroyBuffer;
85extern PFN_vkCreateBufferView vkCreateBufferView;
86extern PFN_vkDestroyBufferView vkDestroyBufferView;
87extern PFN_vkCreateImage vkCreateImage;
88extern PFN_vkDestroyImage vkDestroyImage;
89extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
90extern PFN_vkCreateImageView vkCreateImageView;
91extern PFN_vkDestroyImageView vkDestroyImageView;
92extern PFN_vkCreateShaderModule vkCreateShaderModule;
93extern PFN_vkDestroyShaderModule vkDestroyShaderModule;
94extern PFN_vkCreatePipelineCache vkCreatePipelineCache;
95extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
96extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
97extern PFN_vkMergePipelineCaches vkMergePipelineCaches;
98extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
99extern PFN_vkCreateComputePipelines vkCreateComputePipelines;
100extern PFN_vkDestroyPipeline vkDestroyPipeline;
101extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
102extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
103extern PFN_vkCreateSampler vkCreateSampler;
104extern PFN_vkDestroySampler vkDestroySampler;
105extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
106extern PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
107extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
108extern PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
109extern PFN_vkResetDescriptorPool vkResetDescriptorPool;
110extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
111extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
112extern PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
113extern PFN_vkCreateFramebuffer vkCreateFramebuffer;
114extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
115extern PFN_vkCreateRenderPass vkCreateRenderPass;
116extern PFN_vkDestroyRenderPass vkDestroyRenderPass;
117extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
118extern PFN_vkCreateCommandPool vkCreateCommandPool;
119extern PFN_vkDestroyCommandPool vkDestroyCommandPool;
120extern PFN_vkResetCommandPool vkResetCommandPool;
121extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
122extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
123extern PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
124extern PFN_vkEndCommandBuffer vkEndCommandBuffer;
125extern PFN_vkResetCommandBuffer vkResetCommandBuffer;
126extern PFN_vkCmdBindPipeline vkCmdBindPipeline;
127extern PFN_vkCmdSetViewport vkCmdSetViewport;
128extern PFN_vkCmdSetScissor vkCmdSetScissor;
129extern PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
130extern PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
131extern PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
132extern PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
133extern PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
134extern PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
135extern PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
136extern PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
137extern PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
138extern PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
139extern PFN_vkCmdDraw vkCmdDraw;
140extern PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
141extern PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
142extern PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
143extern PFN_vkCmdDispatch vkCmdDispatch;
144extern PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
145extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
146extern PFN_vkCmdCopyImage vkCmdCopyImage;
147extern PFN_vkCmdBlitImage vkCmdBlitImage;
148extern PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
149extern PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
150extern PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
151extern PFN_vkCmdFillBuffer vkCmdFillBuffer;
152extern PFN_vkCmdClearColorImage vkCmdClearColorImage;
153extern PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
154extern PFN_vkCmdClearAttachments vkCmdClearAttachments;
155extern PFN_vkCmdResolveImage vkCmdResolveImage;
156extern PFN_vkCmdSetEvent vkCmdSetEvent;
157extern PFN_vkCmdResetEvent vkCmdResetEvent;
158extern PFN_vkCmdWaitEvents vkCmdWaitEvents;
159extern PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
160extern PFN_vkCmdBeginQuery vkCmdBeginQuery;
161extern PFN_vkCmdEndQuery vkCmdEndQuery;
162extern PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
163extern PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
164extern PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
165extern PFN_vkCmdPushConstants vkCmdPushConstants;
166extern PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
167extern PFN_vkCmdNextSubpass vkCmdNextSubpass;
168extern PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
169extern PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
170
171// VK_KHR_surface
172extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
173extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
174extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
175extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
176extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
177
178// VK_KHR_swapchain
179extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
180extern PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
181extern PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
182extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
183extern PFN_vkQueuePresentKHR vkQueuePresentKHR;
184
185// VK_KHR_display
186extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR;
187extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
188extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR;
189extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
190extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
191extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
192extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
193
194// VK_KHR_display_swapchain
195extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
196
197#ifdef VK_USE_PLATFORM_XLIB_KHR
198// VK_KHR_xlib_surface
199extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
200extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;
201#endif
202
203#ifdef VK_USE_PLATFORM_XCB_KHR
204// VK_KHR_xcb_surface
205extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
206extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;
207#endif
208
209#ifdef VK_USE_PLATFORM_WAYLAND_KHR
210// VK_KHR_wayland_surface
211extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
212extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR;
213#endif
214
215#ifdef VK_USE_PLATFORM_MIR_KHR
216// VK_KHR_mir_surface
217extern PFN_vkCreateMirSurfaceKHR vkCreateMirSurfaceKHR;
218extern PFN_vkGetPhysicalDeviceMirPresentationSupportKHR vkGetPhysicalDeviceMirPresentationSupportKHR;
219#endif
220
221#ifdef VK_USE_PLATFORM_ANDROID_KHR
222// VK_KHR_android_surface
223extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
224#endif
225
226#ifdef VK_USE_PLATFORM_WIN32_KHR
227// VK_KHR_win32_surface
228extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
229extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR;
230#endif
231
232// VK_KHR_sampler_mirror_clamp_to_edge
233
Cody Northrop75af0e32016-04-26 19:17:21 -0600234#ifdef __cplusplus
235}
236#endif
Cody Northropb43afee2016-03-08 22:23:51 -0700237
Mark Lobodzinski64318ba2017-01-26 13:34:13 -0700238#endif // VULKAN_WRAPPER_H