xref: /aosp_15_r20/frameworks/native/vulkan/libvulkan/api_gen.h (revision 38e8c45f13ce32b0dcecb25141ffecaf386fa17f)
1 /*
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 
24 #include <bitset>
25 
26 #include "driver_gen.h"
27 
28 /*
29  * This file is autogenerated by api_generator.py. Do not edit directly.
30  */
31 namespace vulkan {
32 namespace api {
33 
34 struct 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;
46     PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
47     PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
48     PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
49     PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
50     PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
51     PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
52     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
53     PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
54     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;
62     PFN_vkGetPhysicalDeviceExternalSemaphoreProperties GetPhysicalDeviceExternalSemaphoreProperties;
63     PFN_vkGetPhysicalDeviceExternalFenceProperties GetPhysicalDeviceExternalFenceProperties;
64     PFN_vkEnumeratePhysicalDeviceGroups EnumeratePhysicalDeviceGroups;
65     PFN_vkGetPhysicalDevicePresentRectanglesKHR GetPhysicalDevicePresentRectanglesKHR;
66     PFN_vkGetPhysicalDeviceToolProperties GetPhysicalDeviceToolProperties;
67     // clang-format on
68 };
69 
70 struct 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;
106     PFN_vkResetQueryPool ResetQueryPool;
107     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;
142     PFN_vkGetRenderingAreaGranularity GetRenderingAreaGranularity;
143     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;
200     PFN_vkCmdPushDescriptorSet CmdPushDescriptorSet;
201     PFN_vkTrimCommandPool TrimCommandPool;
202     PFN_vkGetDeviceGroupPeerMemoryFeatures GetDeviceGroupPeerMemoryFeatures;
203     PFN_vkBindBufferMemory2 BindBufferMemory2;
204     PFN_vkBindImageMemory2 BindImageMemory2;
205     PFN_vkCmdSetDeviceMask CmdSetDeviceMask;
206     PFN_vkGetDeviceGroupPresentCapabilitiesKHR GetDeviceGroupPresentCapabilitiesKHR;
207     PFN_vkGetDeviceGroupSurfacePresentModesKHR GetDeviceGroupSurfacePresentModesKHR;
208     PFN_vkAcquireNextImage2KHR AcquireNextImage2KHR;
209     PFN_vkCmdDispatchBase CmdDispatchBase;
210     PFN_vkCreateDescriptorUpdateTemplate CreateDescriptorUpdateTemplate;
211     PFN_vkDestroyDescriptorUpdateTemplate DestroyDescriptorUpdateTemplate;
212     PFN_vkUpdateDescriptorSetWithTemplate UpdateDescriptorSetWithTemplate;
213     PFN_vkCmdPushDescriptorSetWithTemplate CmdPushDescriptorSetWithTemplate;
214     PFN_vkGetBufferMemoryRequirements2 GetBufferMemoryRequirements2;
215     PFN_vkGetImageMemoryRequirements2 GetImageMemoryRequirements2;
216     PFN_vkGetImageSparseMemoryRequirements2 GetImageSparseMemoryRequirements2;
217     PFN_vkGetDeviceBufferMemoryRequirements GetDeviceBufferMemoryRequirements;
218     PFN_vkGetDeviceImageMemoryRequirements GetDeviceImageMemoryRequirements;
219     PFN_vkGetDeviceImageSparseMemoryRequirements GetDeviceImageSparseMemoryRequirements;
220     PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion;
221     PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion;
222     PFN_vkGetDeviceQueue2 GetDeviceQueue2;
223     PFN_vkGetDescriptorSetLayoutSupport GetDescriptorSetLayoutSupport;
224     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;
231     PFN_vkGetAndroidHardwareBufferPropertiesANDROID GetAndroidHardwareBufferPropertiesANDROID;
232     PFN_vkGetMemoryAndroidHardwareBufferANDROID GetMemoryAndroidHardwareBufferANDROID;
233     PFN_vkCmdDrawIndirectCount CmdDrawIndirectCount;
234     PFN_vkCmdDrawIndexedIndirectCount CmdDrawIndexedIndirectCount;
235     PFN_vkGetBufferOpaqueCaptureAddress GetBufferOpaqueCaptureAddress;
236     PFN_vkGetBufferDeviceAddress GetBufferDeviceAddress;
237     PFN_vkGetDeviceMemoryOpaqueCaptureAddress GetDeviceMemoryOpaqueCaptureAddress;
238     PFN_vkCmdSetLineStipple CmdSetLineStipple;
239     PFN_vkCmdSetCullMode CmdSetCullMode;
240     PFN_vkCmdSetFrontFace CmdSetFrontFace;
241     PFN_vkCmdSetPrimitiveTopology CmdSetPrimitiveTopology;
242     PFN_vkCmdSetViewportWithCount CmdSetViewportWithCount;
243     PFN_vkCmdSetScissorWithCount CmdSetScissorWithCount;
244     PFN_vkCmdBindIndexBuffer2 CmdBindIndexBuffer2;
245     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;
271     PFN_vkCopyMemoryToImage CopyMemoryToImage;
272     PFN_vkCopyImageToMemory CopyImageToMemory;
273     PFN_vkCopyImageToImage CopyImageToImage;
274     PFN_vkTransitionImageLayout TransitionImageLayout;
275     PFN_vkCmdBeginRendering CmdBeginRendering;
276     PFN_vkCmdEndRendering CmdEndRendering;
277     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;
287     // clang-format on
288 };
289 
290 bool InitDispatchTable(
291     VkInstance instance,
292     PFN_vkGetInstanceProcAddr get_proc,
293     const std::bitset<driver::ProcHook::EXTENSION_COUNT>& extensions);
294 bool InitDispatchTable(
295     VkDevice dev,
296     PFN_vkGetDeviceProcAddr get_proc,
297     const std::bitset<driver::ProcHook::EXTENSION_COUNT>& extensions);
298 
299 }  // namespace api
300 }  // namespace vulkan
301 
302 #endif  // LIBVULKAN_API_GEN_H
303