blob: 54be83bba1ec5a68523bd53eda55ffb4321c2763 [file] [log] [blame]
Chia-I Wu0c203242016-03-15 13:44:51 +08001/*
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
17// WARNING: This file is generated. See ../README.md for instructions.
18
19#ifndef LIBVULKAN_API_GEN_H
20#define LIBVULKAN_API_GEN_H
21
22#include <vulkan/vulkan.h>
23
24namespace vulkan {
25namespace api {
26
27struct InstanceDispatchTable {
28 // clang-format off
29 PFN_vkDestroyInstance DestroyInstance;
30 PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
31 PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
32 PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
33 PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
34 PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
35 PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
36 PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
37 PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties;
38 PFN_vkCreateDevice CreateDevice;
39 PFN_vkEnumerateDeviceLayerProperties EnumerateDeviceLayerProperties;
40 PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
41 PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
42 PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
43 PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
44 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
45 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
46 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
47 PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
48 // clang-format on
49};
50
51struct DeviceDispatchTable {
52 // clang-format off
53 PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
54 PFN_vkDestroyDevice DestroyDevice;
55 PFN_vkGetDeviceQueue GetDeviceQueue;
56 PFN_vkQueueSubmit QueueSubmit;
57 PFN_vkQueueWaitIdle QueueWaitIdle;
58 PFN_vkDeviceWaitIdle DeviceWaitIdle;
59 PFN_vkAllocateMemory AllocateMemory;
60 PFN_vkFreeMemory FreeMemory;
61 PFN_vkMapMemory MapMemory;
62 PFN_vkUnmapMemory UnmapMemory;
63 PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges;
64 PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges;
65 PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment;
66 PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements;
67 PFN_vkBindBufferMemory BindBufferMemory;
68 PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements;
69 PFN_vkBindImageMemory BindImageMemory;
70 PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements;
71 PFN_vkQueueBindSparse QueueBindSparse;
72 PFN_vkCreateFence CreateFence;
73 PFN_vkDestroyFence DestroyFence;
74 PFN_vkResetFences ResetFences;
75 PFN_vkGetFenceStatus GetFenceStatus;
76 PFN_vkWaitForFences WaitForFences;
77 PFN_vkCreateSemaphore CreateSemaphore;
78 PFN_vkDestroySemaphore DestroySemaphore;
79 PFN_vkCreateEvent CreateEvent;
80 PFN_vkDestroyEvent DestroyEvent;
81 PFN_vkGetEventStatus GetEventStatus;
82 PFN_vkSetEvent SetEvent;
83 PFN_vkResetEvent ResetEvent;
84 PFN_vkCreateQueryPool CreateQueryPool;
85 PFN_vkDestroyQueryPool DestroyQueryPool;
86 PFN_vkGetQueryPoolResults GetQueryPoolResults;
87 PFN_vkCreateBuffer CreateBuffer;
88 PFN_vkDestroyBuffer DestroyBuffer;
89 PFN_vkCreateBufferView CreateBufferView;
90 PFN_vkDestroyBufferView DestroyBufferView;
91 PFN_vkCreateImage CreateImage;
92 PFN_vkDestroyImage DestroyImage;
93 PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout;
94 PFN_vkCreateImageView CreateImageView;
95 PFN_vkDestroyImageView DestroyImageView;
96 PFN_vkCreateShaderModule CreateShaderModule;
97 PFN_vkDestroyShaderModule DestroyShaderModule;
98 PFN_vkCreatePipelineCache CreatePipelineCache;
99 PFN_vkDestroyPipelineCache DestroyPipelineCache;
100 PFN_vkGetPipelineCacheData GetPipelineCacheData;
101 PFN_vkMergePipelineCaches MergePipelineCaches;
102 PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines;
103 PFN_vkCreateComputePipelines CreateComputePipelines;
104 PFN_vkDestroyPipeline DestroyPipeline;
105 PFN_vkCreatePipelineLayout CreatePipelineLayout;
106 PFN_vkDestroyPipelineLayout DestroyPipelineLayout;
107 PFN_vkCreateSampler CreateSampler;
108 PFN_vkDestroySampler DestroySampler;
109 PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
110 PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout;
111 PFN_vkCreateDescriptorPool CreateDescriptorPool;
112 PFN_vkDestroyDescriptorPool DestroyDescriptorPool;
113 PFN_vkResetDescriptorPool ResetDescriptorPool;
114 PFN_vkAllocateDescriptorSets AllocateDescriptorSets;
115 PFN_vkFreeDescriptorSets FreeDescriptorSets;
116 PFN_vkUpdateDescriptorSets UpdateDescriptorSets;
117 PFN_vkCreateFramebuffer CreateFramebuffer;
118 PFN_vkDestroyFramebuffer DestroyFramebuffer;
119 PFN_vkCreateRenderPass CreateRenderPass;
120 PFN_vkDestroyRenderPass DestroyRenderPass;
121 PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity;
122 PFN_vkCreateCommandPool CreateCommandPool;
123 PFN_vkDestroyCommandPool DestroyCommandPool;
124 PFN_vkResetCommandPool ResetCommandPool;
125 PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
126 PFN_vkFreeCommandBuffers FreeCommandBuffers;
127 PFN_vkBeginCommandBuffer BeginCommandBuffer;
128 PFN_vkEndCommandBuffer EndCommandBuffer;
129 PFN_vkResetCommandBuffer ResetCommandBuffer;
130 PFN_vkCmdBindPipeline CmdBindPipeline;
131 PFN_vkCmdSetViewport CmdSetViewport;
132 PFN_vkCmdSetScissor CmdSetScissor;
133 PFN_vkCmdSetLineWidth CmdSetLineWidth;
134 PFN_vkCmdSetDepthBias CmdSetDepthBias;
135 PFN_vkCmdSetBlendConstants CmdSetBlendConstants;
136 PFN_vkCmdSetDepthBounds CmdSetDepthBounds;
137 PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask;
138 PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask;
139 PFN_vkCmdSetStencilReference CmdSetStencilReference;
140 PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets;
141 PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer;
142 PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers;
143 PFN_vkCmdDraw CmdDraw;
144 PFN_vkCmdDrawIndexed CmdDrawIndexed;
145 PFN_vkCmdDrawIndirect CmdDrawIndirect;
146 PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect;
147 PFN_vkCmdDispatch CmdDispatch;
148 PFN_vkCmdDispatchIndirect CmdDispatchIndirect;
149 PFN_vkCmdCopyBuffer CmdCopyBuffer;
150 PFN_vkCmdCopyImage CmdCopyImage;
151 PFN_vkCmdBlitImage CmdBlitImage;
152 PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
153 PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
154 PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
155 PFN_vkCmdFillBuffer CmdFillBuffer;
156 PFN_vkCmdClearColorImage CmdClearColorImage;
157 PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage;
158 PFN_vkCmdClearAttachments CmdClearAttachments;
159 PFN_vkCmdResolveImage CmdResolveImage;
160 PFN_vkCmdSetEvent CmdSetEvent;
161 PFN_vkCmdResetEvent CmdResetEvent;
162 PFN_vkCmdWaitEvents CmdWaitEvents;
163 PFN_vkCmdPipelineBarrier CmdPipelineBarrier;
164 PFN_vkCmdBeginQuery CmdBeginQuery;
165 PFN_vkCmdEndQuery CmdEndQuery;
166 PFN_vkCmdResetQueryPool CmdResetQueryPool;
167 PFN_vkCmdWriteTimestamp CmdWriteTimestamp;
168 PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults;
169 PFN_vkCmdPushConstants CmdPushConstants;
170 PFN_vkCmdBeginRenderPass CmdBeginRenderPass;
171 PFN_vkCmdNextSubpass CmdNextSubpass;
172 PFN_vkCmdEndRenderPass CmdEndRenderPass;
173 PFN_vkCmdExecuteCommands CmdExecuteCommands;
174 PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
175 PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
176 PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
177 PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
178 PFN_vkQueuePresentKHR QueuePresentKHR;
179 // clang-format on
180};
181
182bool InitDispatchTable(VkInstance instance, PFN_vkGetInstanceProcAddr get_proc);
183bool InitDispatchTable(VkDevice dev, PFN_vkGetDeviceProcAddr get_proc);
184
185} // namespace api
186} // namespace vulkan
187
188#endif // LIBVULKAN_API_GEN_H