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