blob: 17dc62fa6b121eba88f665f2e5a6fbaba0c5eef9 [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>
Yiwei Zhang6d78a572019-04-10 15:35:38 -070023
Chris Forbese2d3ee12017-03-16 16:10:15 +130024#include <bitset>
Yiwei Zhang6d78a572019-04-10 15:35:38 -070025
Chia-I Wu8925efd2016-04-13 15:13:21 +080026#include "driver_gen.h"
Chia-I Wu0c203242016-03-15 13:44:51 +080027
Tom Murphyea321842024-06-14 18:26:58 +000028/*
29 * This file is autogenerated by api_generator.py. Do not edit directly.
30 */
Chia-I Wu0c203242016-03-15 13:44:51 +080031namespace vulkan {
32namespace api {
33
34struct InstanceDispatchTable {
35 // clang-format off
36 PFN_vkDestroyInstance DestroyInstance;
37 PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
38 PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
39 PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
40 PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
41 PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
42 PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
43 PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
44 PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties;
45 PFN_vkCreateDevice CreateDevice;
Chia-I Wu0c203242016-03-15 13:44:51 +080046 PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
47 PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
Adithya Srinivasan8dce9d72019-07-11 14:26:04 -070048 PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
49 PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
50 PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
51 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
52 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
53 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
Daniel Kochf25f5bb2017-10-05 00:26:58 -040054 PFN_vkGetPhysicalDeviceFeatures2 GetPhysicalDeviceFeatures2;
55 PFN_vkGetPhysicalDeviceProperties2 GetPhysicalDeviceProperties2;
56 PFN_vkGetPhysicalDeviceFormatProperties2 GetPhysicalDeviceFormatProperties2;
57 PFN_vkGetPhysicalDeviceImageFormatProperties2 GetPhysicalDeviceImageFormatProperties2;
58 PFN_vkGetPhysicalDeviceQueueFamilyProperties2 GetPhysicalDeviceQueueFamilyProperties2;
59 PFN_vkGetPhysicalDeviceMemoryProperties2 GetPhysicalDeviceMemoryProperties2;
60 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 GetPhysicalDeviceSparseImageFormatProperties2;
61 PFN_vkGetPhysicalDeviceExternalBufferProperties GetPhysicalDeviceExternalBufferProperties;
Daniel Kochf25f5bb2017-10-05 00:26:58 -040062 PFN_vkGetPhysicalDeviceExternalSemaphoreProperties GetPhysicalDeviceExternalSemaphoreProperties;
Adithya Srinivasan8dce9d72019-07-11 14:26:04 -070063 PFN_vkGetPhysicalDeviceExternalFenceProperties GetPhysicalDeviceExternalFenceProperties;
64 PFN_vkEnumeratePhysicalDeviceGroups EnumeratePhysicalDeviceGroups;
Daniel Kochf25f5bb2017-10-05 00:26:58 -040065 PFN_vkGetPhysicalDevicePresentRectanglesKHR GetPhysicalDevicePresentRectanglesKHR;
Trevor David Blackb700ae82021-09-27 04:50:04 +000066 PFN_vkGetPhysicalDeviceToolProperties GetPhysicalDeviceToolProperties;
Chia-I Wu0c203242016-03-15 13:44:51 +080067 // clang-format on
68};
69
70struct DeviceDispatchTable {
71 // clang-format off
72 PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
73 PFN_vkDestroyDevice DestroyDevice;
74 PFN_vkGetDeviceQueue GetDeviceQueue;
75 PFN_vkQueueSubmit QueueSubmit;
76 PFN_vkQueueWaitIdle QueueWaitIdle;
77 PFN_vkDeviceWaitIdle DeviceWaitIdle;
78 PFN_vkAllocateMemory AllocateMemory;
79 PFN_vkFreeMemory FreeMemory;
80 PFN_vkMapMemory MapMemory;
81 PFN_vkUnmapMemory UnmapMemory;
82 PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges;
83 PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges;
84 PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment;
85 PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements;
86 PFN_vkBindBufferMemory BindBufferMemory;
87 PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements;
88 PFN_vkBindImageMemory BindImageMemory;
89 PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements;
90 PFN_vkQueueBindSparse QueueBindSparse;
91 PFN_vkCreateFence CreateFence;
92 PFN_vkDestroyFence DestroyFence;
93 PFN_vkResetFences ResetFences;
94 PFN_vkGetFenceStatus GetFenceStatus;
95 PFN_vkWaitForFences WaitForFences;
96 PFN_vkCreateSemaphore CreateSemaphore;
97 PFN_vkDestroySemaphore DestroySemaphore;
98 PFN_vkCreateEvent CreateEvent;
99 PFN_vkDestroyEvent DestroyEvent;
100 PFN_vkGetEventStatus GetEventStatus;
101 PFN_vkSetEvent SetEvent;
102 PFN_vkResetEvent ResetEvent;
103 PFN_vkCreateQueryPool CreateQueryPool;
104 PFN_vkDestroyQueryPool DestroyQueryPool;
105 PFN_vkGetQueryPoolResults GetQueryPoolResults;
Yiwei Zhang6be097b2020-10-19 20:22:05 -0700106 PFN_vkResetQueryPool ResetQueryPool;
Chia-I Wu0c203242016-03-15 13:44:51 +0800107 PFN_vkCreateBuffer CreateBuffer;
108 PFN_vkDestroyBuffer DestroyBuffer;
109 PFN_vkCreateBufferView CreateBufferView;
110 PFN_vkDestroyBufferView DestroyBufferView;
111 PFN_vkCreateImage CreateImage;
112 PFN_vkDestroyImage DestroyImage;
113 PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout;
114 PFN_vkCreateImageView CreateImageView;
115 PFN_vkDestroyImageView DestroyImageView;
116 PFN_vkCreateShaderModule CreateShaderModule;
117 PFN_vkDestroyShaderModule DestroyShaderModule;
118 PFN_vkCreatePipelineCache CreatePipelineCache;
119 PFN_vkDestroyPipelineCache DestroyPipelineCache;
120 PFN_vkGetPipelineCacheData GetPipelineCacheData;
121 PFN_vkMergePipelineCaches MergePipelineCaches;
122 PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines;
123 PFN_vkCreateComputePipelines CreateComputePipelines;
124 PFN_vkDestroyPipeline DestroyPipeline;
125 PFN_vkCreatePipelineLayout CreatePipelineLayout;
126 PFN_vkDestroyPipelineLayout DestroyPipelineLayout;
127 PFN_vkCreateSampler CreateSampler;
128 PFN_vkDestroySampler DestroySampler;
129 PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
130 PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout;
131 PFN_vkCreateDescriptorPool CreateDescriptorPool;
132 PFN_vkDestroyDescriptorPool DestroyDescriptorPool;
133 PFN_vkResetDescriptorPool ResetDescriptorPool;
134 PFN_vkAllocateDescriptorSets AllocateDescriptorSets;
135 PFN_vkFreeDescriptorSets FreeDescriptorSets;
136 PFN_vkUpdateDescriptorSets UpdateDescriptorSets;
137 PFN_vkCreateFramebuffer CreateFramebuffer;
138 PFN_vkDestroyFramebuffer DestroyFramebuffer;
139 PFN_vkCreateRenderPass CreateRenderPass;
140 PFN_vkDestroyRenderPass DestroyRenderPass;
141 PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity;
Chris Forbesa5296cd2024-10-01 09:59:47 +1300142 PFN_vkGetRenderingAreaGranularity GetRenderingAreaGranularity;
Chia-I Wu0c203242016-03-15 13:44:51 +0800143 PFN_vkCreateCommandPool CreateCommandPool;
144 PFN_vkDestroyCommandPool DestroyCommandPool;
145 PFN_vkResetCommandPool ResetCommandPool;
146 PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
147 PFN_vkFreeCommandBuffers FreeCommandBuffers;
148 PFN_vkBeginCommandBuffer BeginCommandBuffer;
149 PFN_vkEndCommandBuffer EndCommandBuffer;
150 PFN_vkResetCommandBuffer ResetCommandBuffer;
151 PFN_vkCmdBindPipeline CmdBindPipeline;
152 PFN_vkCmdSetViewport CmdSetViewport;
153 PFN_vkCmdSetScissor CmdSetScissor;
154 PFN_vkCmdSetLineWidth CmdSetLineWidth;
155 PFN_vkCmdSetDepthBias CmdSetDepthBias;
156 PFN_vkCmdSetBlendConstants CmdSetBlendConstants;
157 PFN_vkCmdSetDepthBounds CmdSetDepthBounds;
158 PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask;
159 PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask;
160 PFN_vkCmdSetStencilReference CmdSetStencilReference;
161 PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets;
162 PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer;
163 PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers;
164 PFN_vkCmdDraw CmdDraw;
165 PFN_vkCmdDrawIndexed CmdDrawIndexed;
166 PFN_vkCmdDrawIndirect CmdDrawIndirect;
167 PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect;
168 PFN_vkCmdDispatch CmdDispatch;
169 PFN_vkCmdDispatchIndirect CmdDispatchIndirect;
170 PFN_vkCmdCopyBuffer CmdCopyBuffer;
171 PFN_vkCmdCopyImage CmdCopyImage;
172 PFN_vkCmdBlitImage CmdBlitImage;
173 PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
174 PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
175 PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
176 PFN_vkCmdFillBuffer CmdFillBuffer;
177 PFN_vkCmdClearColorImage CmdClearColorImage;
178 PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage;
179 PFN_vkCmdClearAttachments CmdClearAttachments;
180 PFN_vkCmdResolveImage CmdResolveImage;
181 PFN_vkCmdSetEvent CmdSetEvent;
182 PFN_vkCmdResetEvent CmdResetEvent;
183 PFN_vkCmdWaitEvents CmdWaitEvents;
184 PFN_vkCmdPipelineBarrier CmdPipelineBarrier;
185 PFN_vkCmdBeginQuery CmdBeginQuery;
186 PFN_vkCmdEndQuery CmdEndQuery;
187 PFN_vkCmdResetQueryPool CmdResetQueryPool;
188 PFN_vkCmdWriteTimestamp CmdWriteTimestamp;
189 PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults;
190 PFN_vkCmdPushConstants CmdPushConstants;
191 PFN_vkCmdBeginRenderPass CmdBeginRenderPass;
192 PFN_vkCmdNextSubpass CmdNextSubpass;
193 PFN_vkCmdEndRenderPass CmdEndRenderPass;
194 PFN_vkCmdExecuteCommands CmdExecuteCommands;
195 PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
196 PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
197 PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
198 PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
199 PFN_vkQueuePresentKHR QueuePresentKHR;
Chris Forbesa5296cd2024-10-01 09:59:47 +1300200 PFN_vkCmdPushDescriptorSet CmdPushDescriptorSet;
Adithya Srinivasan8dce9d72019-07-11 14:26:04 -0700201 PFN_vkTrimCommandPool TrimCommandPool;
202 PFN_vkGetDeviceGroupPeerMemoryFeatures GetDeviceGroupPeerMemoryFeatures;
203 PFN_vkBindBufferMemory2 BindBufferMemory2;
204 PFN_vkBindImageMemory2 BindImageMemory2;
205 PFN_vkCmdSetDeviceMask CmdSetDeviceMask;
Daniel Kochf25f5bb2017-10-05 00:26:58 -0400206 PFN_vkGetDeviceGroupPresentCapabilitiesKHR GetDeviceGroupPresentCapabilitiesKHR;
207 PFN_vkGetDeviceGroupSurfacePresentModesKHR GetDeviceGroupSurfacePresentModesKHR;
208 PFN_vkAcquireNextImage2KHR AcquireNextImage2KHR;
Adithya Srinivasan8dce9d72019-07-11 14:26:04 -0700209 PFN_vkCmdDispatchBase CmdDispatchBase;
210 PFN_vkCreateDescriptorUpdateTemplate CreateDescriptorUpdateTemplate;
211 PFN_vkDestroyDescriptorUpdateTemplate DestroyDescriptorUpdateTemplate;
212 PFN_vkUpdateDescriptorSetWithTemplate UpdateDescriptorSetWithTemplate;
Chris Forbesa5296cd2024-10-01 09:59:47 +1300213 PFN_vkCmdPushDescriptorSetWithTemplate CmdPushDescriptorSetWithTemplate;
Adithya Srinivasan8dce9d72019-07-11 14:26:04 -0700214 PFN_vkGetBufferMemoryRequirements2 GetBufferMemoryRequirements2;
215 PFN_vkGetImageMemoryRequirements2 GetImageMemoryRequirements2;
216 PFN_vkGetImageSparseMemoryRequirements2 GetImageSparseMemoryRequirements2;
Trevor David Blackb700ae82021-09-27 04:50:04 +0000217 PFN_vkGetDeviceBufferMemoryRequirements GetDeviceBufferMemoryRequirements;
218 PFN_vkGetDeviceImageMemoryRequirements GetDeviceImageMemoryRequirements;
219 PFN_vkGetDeviceImageSparseMemoryRequirements GetDeviceImageSparseMemoryRequirements;
Adithya Srinivasan8dce9d72019-07-11 14:26:04 -0700220 PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion;
221 PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion;
222 PFN_vkGetDeviceQueue2 GetDeviceQueue2;
223 PFN_vkGetDescriptorSetLayoutSupport GetDescriptorSetLayoutSupport;
Yiwei Zhang6be097b2020-10-19 20:22:05 -0700224 PFN_vkCreateRenderPass2 CreateRenderPass2;
225 PFN_vkCmdBeginRenderPass2 CmdBeginRenderPass2;
226 PFN_vkCmdNextSubpass2 CmdNextSubpass2;
227 PFN_vkCmdEndRenderPass2 CmdEndRenderPass2;
228 PFN_vkGetSemaphoreCounterValue GetSemaphoreCounterValue;
229 PFN_vkWaitSemaphores WaitSemaphores;
230 PFN_vkSignalSemaphore SignalSemaphore;
Jesse Halla8d367a2018-01-18 15:40:46 -0800231 PFN_vkGetAndroidHardwareBufferPropertiesANDROID GetAndroidHardwareBufferPropertiesANDROID;
232 PFN_vkGetMemoryAndroidHardwareBufferANDROID GetMemoryAndroidHardwareBufferANDROID;
Yiwei Zhang6be097b2020-10-19 20:22:05 -0700233 PFN_vkCmdDrawIndirectCount CmdDrawIndirectCount;
234 PFN_vkCmdDrawIndexedIndirectCount CmdDrawIndexedIndirectCount;
235 PFN_vkGetBufferOpaqueCaptureAddress GetBufferOpaqueCaptureAddress;
236 PFN_vkGetBufferDeviceAddress GetBufferDeviceAddress;
237 PFN_vkGetDeviceMemoryOpaqueCaptureAddress GetDeviceMemoryOpaqueCaptureAddress;
Chris Forbesa5296cd2024-10-01 09:59:47 +1300238 PFN_vkCmdSetLineStipple CmdSetLineStipple;
Trevor David Blackb700ae82021-09-27 04:50:04 +0000239 PFN_vkCmdSetCullMode CmdSetCullMode;
240 PFN_vkCmdSetFrontFace CmdSetFrontFace;
241 PFN_vkCmdSetPrimitiveTopology CmdSetPrimitiveTopology;
242 PFN_vkCmdSetViewportWithCount CmdSetViewportWithCount;
243 PFN_vkCmdSetScissorWithCount CmdSetScissorWithCount;
Chris Forbesa5296cd2024-10-01 09:59:47 +1300244 PFN_vkCmdBindIndexBuffer2 CmdBindIndexBuffer2;
Trevor David Blackb700ae82021-09-27 04:50:04 +0000245 PFN_vkCmdBindVertexBuffers2 CmdBindVertexBuffers2;
246 PFN_vkCmdSetDepthTestEnable CmdSetDepthTestEnable;
247 PFN_vkCmdSetDepthWriteEnable CmdSetDepthWriteEnable;
248 PFN_vkCmdSetDepthCompareOp CmdSetDepthCompareOp;
249 PFN_vkCmdSetDepthBoundsTestEnable CmdSetDepthBoundsTestEnable;
250 PFN_vkCmdSetStencilTestEnable CmdSetStencilTestEnable;
251 PFN_vkCmdSetStencilOp CmdSetStencilOp;
252 PFN_vkCmdSetRasterizerDiscardEnable CmdSetRasterizerDiscardEnable;
253 PFN_vkCmdSetDepthBiasEnable CmdSetDepthBiasEnable;
254 PFN_vkCmdSetPrimitiveRestartEnable CmdSetPrimitiveRestartEnable;
255 PFN_vkCreatePrivateDataSlot CreatePrivateDataSlot;
256 PFN_vkDestroyPrivateDataSlot DestroyPrivateDataSlot;
257 PFN_vkSetPrivateData SetPrivateData;
258 PFN_vkGetPrivateData GetPrivateData;
259 PFN_vkCmdCopyBuffer2 CmdCopyBuffer2;
260 PFN_vkCmdCopyImage2 CmdCopyImage2;
261 PFN_vkCmdBlitImage2 CmdBlitImage2;
262 PFN_vkCmdCopyBufferToImage2 CmdCopyBufferToImage2;
263 PFN_vkCmdCopyImageToBuffer2 CmdCopyImageToBuffer2;
264 PFN_vkCmdResolveImage2 CmdResolveImage2;
265 PFN_vkCmdSetEvent2 CmdSetEvent2;
266 PFN_vkCmdResetEvent2 CmdResetEvent2;
267 PFN_vkCmdWaitEvents2 CmdWaitEvents2;
268 PFN_vkCmdPipelineBarrier2 CmdPipelineBarrier2;
269 PFN_vkQueueSubmit2 QueueSubmit2;
270 PFN_vkCmdWriteTimestamp2 CmdWriteTimestamp2;
Chris Forbesa5296cd2024-10-01 09:59:47 +1300271 PFN_vkCopyMemoryToImage CopyMemoryToImage;
272 PFN_vkCopyImageToMemory CopyImageToMemory;
273 PFN_vkCopyImageToImage CopyImageToImage;
274 PFN_vkTransitionImageLayout TransitionImageLayout;
Trevor David Blackb700ae82021-09-27 04:50:04 +0000275 PFN_vkCmdBeginRendering CmdBeginRendering;
276 PFN_vkCmdEndRendering CmdEndRendering;
Chris Forbesa5296cd2024-10-01 09:59:47 +1300277 PFN_vkGetImageSubresourceLayout2 GetImageSubresourceLayout2;
278 PFN_vkGetDeviceImageSubresourceLayout GetDeviceImageSubresourceLayout;
279 PFN_vkMapMemory2 MapMemory2;
280 PFN_vkUnmapMemory2 UnmapMemory2;
281 PFN_vkCmdBindDescriptorSets2 CmdBindDescriptorSets2;
282 PFN_vkCmdPushConstants2 CmdPushConstants2;
283 PFN_vkCmdPushDescriptorSet2 CmdPushDescriptorSet2;
284 PFN_vkCmdPushDescriptorSetWithTemplate2 CmdPushDescriptorSetWithTemplate2;
285 PFN_vkCmdSetRenderingAttachmentLocations CmdSetRenderingAttachmentLocations;
286 PFN_vkCmdSetRenderingInputAttachmentIndices CmdSetRenderingInputAttachmentIndices;
Chia-I Wu0c203242016-03-15 13:44:51 +0800287 // clang-format on
288};
289
Chia-I Wu8925efd2016-04-13 15:13:21 +0800290bool InitDispatchTable(
291 VkInstance instance,
292 PFN_vkGetInstanceProcAddr get_proc,
293 const std::bitset<driver::ProcHook::EXTENSION_COUNT>& extensions);
294bool InitDispatchTable(
295 VkDevice dev,
296 PFN_vkGetDeviceProcAddr get_proc,
297 const std::bitset<driver::ProcHook::EXTENSION_COUNT>& extensions);
Chia-I Wu0c203242016-03-15 13:44:51 +0800298
299} // namespace api
300} // namespace vulkan
301
302#endif // LIBVULKAN_API_GEN_H