• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (C) 2018 The Android Open Source Project
2 // Copyright (C) 2018 Google Inc.
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 // Autogenerated module goldfish_vk_dispatch
17 //
18 // (header) generated by codegen/vulkan/scripts/genvk.py -registry codegen/vulkan/xml/vk.xml
19 // -registryGfxstream codegen/vulkan/xml/vk_gfxstream.xml cereal -o host/vulkan/cereal
20 //
21 // Please do not modify directly;
22 // re-run gfxstream-protocols/scripts/generate-vulkan-sources.sh,
23 // or directly from Python by defining:
24 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
25 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
26 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
27 //
28 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
29 // $CEREAL_OUTPUT_DIR
30 //
31 #pragma once
32 #include <vulkan/vulkan.h>
33 
34 #include "goldfish_vk_private_defs.h"
35 #include "vk_android_native_buffer.h"
36 #include "vulkan_gfxstream.h"
37 namespace gfxstream {
38 namespace vk {
39 
40 struct VulkanDispatch;
41 
42 }  // namespace vk
43 }  // namespace gfxstream
44 using DlOpenFunc = void*(void);
45 using DlSymFunc = void*(void*, const char*);
46 
47 namespace gfxstream {
48 namespace vk {
49 
50 void init_vulkan_dispatch_from_system_loader(DlOpenFunc dlOpenFunc, DlSymFunc dlSymFunc,
51                                              VulkanDispatch* dispatch_out);
52 
53 void init_vulkan_dispatch_from_instance(VulkanDispatch* vk, VkInstance instance,
54                                         VulkanDispatch* dispatch_out);
55 
56 void init_vulkan_dispatch_from_device(VulkanDispatch* vk, VkDevice device,
57                                       VulkanDispatch* dispatch_out);
58 
59 bool vulkan_dispatch_check_instance_VK_VERSION_1_0(const VulkanDispatch* vk);
60 
61 bool vulkan_dispatch_check_instance_VK_VERSION_1_1(const VulkanDispatch* vk);
62 
63 bool vulkan_dispatch_check_device_VK_VERSION_1_0(const VulkanDispatch* vk);
64 
65 bool vulkan_dispatch_check_device_VK_VERSION_1_1(const VulkanDispatch* vk);
66 
67 struct VulkanDispatch {
68 #ifdef VK_VERSION_1_0
69     PFN_vkCreateInstance vkCreateInstance;
70     PFN_vkDestroyInstance vkDestroyInstance;
71     PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
72     PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
73     PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
74     PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
75     PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
76     PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
77     PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
78     PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
79     PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
80     PFN_vkCreateDevice vkCreateDevice;
81     PFN_vkDestroyDevice vkDestroyDevice;
82     PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
83     PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
84     PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
85     PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
86     PFN_vkGetDeviceQueue vkGetDeviceQueue;
87     PFN_vkQueueSubmit vkQueueSubmit;
88     PFN_vkQueueWaitIdle vkQueueWaitIdle;
89     PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
90     PFN_vkAllocateMemory vkAllocateMemory;
91     PFN_vkFreeMemory vkFreeMemory;
92     PFN_vkMapMemory vkMapMemory;
93     PFN_vkUnmapMemory vkUnmapMemory;
94     PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
95     PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
96     PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
97     PFN_vkBindBufferMemory vkBindBufferMemory;
98     PFN_vkBindImageMemory vkBindImageMemory;
99     PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
100     PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
101     PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
102     PFN_vkGetPhysicalDeviceSparseImageFormatProperties
103         vkGetPhysicalDeviceSparseImageFormatProperties;
104     PFN_vkQueueBindSparse vkQueueBindSparse;
105     PFN_vkCreateFence vkCreateFence;
106     PFN_vkDestroyFence vkDestroyFence;
107     PFN_vkResetFences vkResetFences;
108     PFN_vkGetFenceStatus vkGetFenceStatus;
109     PFN_vkWaitForFences vkWaitForFences;
110     PFN_vkCreateSemaphore vkCreateSemaphore;
111     PFN_vkDestroySemaphore vkDestroySemaphore;
112     PFN_vkCreateEvent vkCreateEvent;
113     PFN_vkDestroyEvent vkDestroyEvent;
114     PFN_vkGetEventStatus vkGetEventStatus;
115     PFN_vkSetEvent vkSetEvent;
116     PFN_vkResetEvent vkResetEvent;
117     PFN_vkCreateQueryPool vkCreateQueryPool;
118     PFN_vkDestroyQueryPool vkDestroyQueryPool;
119     PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
120     PFN_vkCreateBuffer vkCreateBuffer;
121     PFN_vkDestroyBuffer vkDestroyBuffer;
122     PFN_vkCreateBufferView vkCreateBufferView;
123     PFN_vkDestroyBufferView vkDestroyBufferView;
124     PFN_vkCreateImage vkCreateImage;
125     PFN_vkDestroyImage vkDestroyImage;
126     PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
127     PFN_vkCreateImageView vkCreateImageView;
128     PFN_vkDestroyImageView vkDestroyImageView;
129     PFN_vkCreateShaderModule vkCreateShaderModule;
130     PFN_vkDestroyShaderModule vkDestroyShaderModule;
131     PFN_vkCreatePipelineCache vkCreatePipelineCache;
132     PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
133     PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
134     PFN_vkMergePipelineCaches vkMergePipelineCaches;
135     PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
136     PFN_vkCreateComputePipelines vkCreateComputePipelines;
137     PFN_vkDestroyPipeline vkDestroyPipeline;
138     PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
139     PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
140     PFN_vkCreateSampler vkCreateSampler;
141     PFN_vkDestroySampler vkDestroySampler;
142     PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
143     PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
144     PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
145     PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
146     PFN_vkResetDescriptorPool vkResetDescriptorPool;
147     PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
148     PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
149     PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
150     PFN_vkCreateFramebuffer vkCreateFramebuffer;
151     PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
152     PFN_vkCreateRenderPass vkCreateRenderPass;
153     PFN_vkDestroyRenderPass vkDestroyRenderPass;
154     PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
155     PFN_vkCreateCommandPool vkCreateCommandPool;
156     PFN_vkDestroyCommandPool vkDestroyCommandPool;
157     PFN_vkResetCommandPool vkResetCommandPool;
158     PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
159     PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
160     PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
161     PFN_vkEndCommandBuffer vkEndCommandBuffer;
162     PFN_vkResetCommandBuffer vkResetCommandBuffer;
163     PFN_vkCmdBindPipeline vkCmdBindPipeline;
164     PFN_vkCmdSetViewport vkCmdSetViewport;
165     PFN_vkCmdSetScissor vkCmdSetScissor;
166     PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
167     PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
168     PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
169     PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
170     PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
171     PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
172     PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
173     PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
174     PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
175     PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
176     PFN_vkCmdDraw vkCmdDraw;
177     PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
178     PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
179     PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
180     PFN_vkCmdDispatch vkCmdDispatch;
181     PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
182     PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
183     PFN_vkCmdCopyImage vkCmdCopyImage;
184     PFN_vkCmdBlitImage vkCmdBlitImage;
185     PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
186     PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
187     PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
188     PFN_vkCmdFillBuffer vkCmdFillBuffer;
189     PFN_vkCmdClearColorImage vkCmdClearColorImage;
190     PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
191     PFN_vkCmdClearAttachments vkCmdClearAttachments;
192     PFN_vkCmdResolveImage vkCmdResolveImage;
193     PFN_vkCmdSetEvent vkCmdSetEvent;
194     PFN_vkCmdResetEvent vkCmdResetEvent;
195     PFN_vkCmdWaitEvents vkCmdWaitEvents;
196     PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
197     PFN_vkCmdBeginQuery vkCmdBeginQuery;
198     PFN_vkCmdEndQuery vkCmdEndQuery;
199     PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
200     PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
201     PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
202     PFN_vkCmdPushConstants vkCmdPushConstants;
203     PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
204     PFN_vkCmdNextSubpass vkCmdNextSubpass;
205     PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
206     PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
207 #endif
208 #ifdef VK_VERSION_1_1
209     PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;
210     PFN_vkBindBufferMemory2 vkBindBufferMemory2;
211     PFN_vkBindImageMemory2 vkBindImageMemory2;
212     PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;
213     PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;
214     PFN_vkCmdDispatchBase vkCmdDispatchBase;
215     PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;
216     PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
217     PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
218     PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;
219     PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
220     PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
221     PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2;
222     PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2;
223     PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2;
224     PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2;
225     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2
226         vkGetPhysicalDeviceSparseImageFormatProperties2;
227     PFN_vkTrimCommandPool vkTrimCommandPool;
228     PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
229     PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
230     PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
231     PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;
232     PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
233     PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
234     PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties;
235     PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties;
236     PFN_vkGetPhysicalDeviceExternalSemaphoreProperties
237         vkGetPhysicalDeviceExternalSemaphoreProperties;
238     PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
239 #endif
240 #ifdef VK_VERSION_1_2
241     PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount;
242     PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount;
243     PFN_vkCreateRenderPass2 vkCreateRenderPass2;
244     PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2;
245     PFN_vkCmdNextSubpass2 vkCmdNextSubpass2;
246     PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2;
247     PFN_vkResetQueryPool vkResetQueryPool;
248     PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue;
249     PFN_vkWaitSemaphores vkWaitSemaphores;
250     PFN_vkSignalSemaphore vkSignalSemaphore;
251     PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress;
252     PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress;
253     PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress;
254 #endif
255 #ifdef VK_VERSION_1_3
256     PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties;
257     PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot;
258     PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot;
259     PFN_vkSetPrivateData vkSetPrivateData;
260     PFN_vkGetPrivateData vkGetPrivateData;
261     PFN_vkCmdSetEvent2 vkCmdSetEvent2;
262     PFN_vkCmdResetEvent2 vkCmdResetEvent2;
263     PFN_vkCmdWaitEvents2 vkCmdWaitEvents2;
264     PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2;
265     PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2;
266     PFN_vkQueueSubmit2 vkQueueSubmit2;
267     PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2;
268     PFN_vkCmdCopyImage2 vkCmdCopyImage2;
269     PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2;
270     PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2;
271     PFN_vkCmdBlitImage2 vkCmdBlitImage2;
272     PFN_vkCmdResolveImage2 vkCmdResolveImage2;
273     PFN_vkCmdBeginRendering vkCmdBeginRendering;
274     PFN_vkCmdEndRendering vkCmdEndRendering;
275     PFN_vkCmdSetCullMode vkCmdSetCullMode;
276     PFN_vkCmdSetFrontFace vkCmdSetFrontFace;
277     PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology;
278     PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount;
279     PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount;
280     PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2;
281     PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable;
282     PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable;
283     PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp;
284     PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable;
285     PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable;
286     PFN_vkCmdSetStencilOp vkCmdSetStencilOp;
287     PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable;
288     PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable;
289     PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable;
290     PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements;
291     PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements;
292     PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements;
293 #endif
294 #ifdef VK_KHR_surface
295     PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
296     PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
297     PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
298     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
299     PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
300 #endif
301 #ifdef VK_KHR_swapchain
302     PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
303     PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
304     PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
305     PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
306     PFN_vkQueuePresentKHR vkQueuePresentKHR;
307     PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
308     PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
309     PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR;
310     PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
311 #endif
312 #ifdef VK_KHR_display
313     PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR;
314     PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
315     PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR;
316     PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
317     PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
318     PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
319     PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
320 #endif
321 #ifdef VK_KHR_display_swapchain
322     PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
323 #endif
324 #ifdef VK_KHR_xlib_surface
325     PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
326     PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;
327 #endif
328 #ifdef VK_KHR_xcb_surface
329     PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
330     PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;
331 #endif
332 #ifdef VK_KHR_wayland_surface
333     PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
334     PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR
335         vkGetPhysicalDeviceWaylandPresentationSupportKHR;
336 #endif
337 #ifdef VK_KHR_android_surface
338     PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
339 #endif
340 #ifdef VK_KHR_win32_surface
341     PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
342     PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR
343         vkGetPhysicalDeviceWin32PresentationSupportKHR;
344 #endif
345 #ifdef VK_KHR_sampler_mirror_clamp_to_edge
346 #endif
347 #ifdef VK_KHR_video_queue
348     PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR;
349     PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR;
350     PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR;
351     PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR;
352     PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR;
353     PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR;
354     PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR;
355     PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR;
356     PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR;
357     PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR;
358     PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR;
359     PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR;
360 #endif
361 #ifdef VK_KHR_video_decode_queue
362     PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR;
363 #endif
364 #ifdef VK_KHR_video_decode_h264
365 #endif
366 #ifdef VK_KHR_dynamic_rendering
367     PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR;
368     PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR;
369 #endif
370 #ifdef VK_KHR_multiview
371 #endif
372 #ifdef VK_KHR_get_physical_device_properties2
373     PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
374     PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
375     PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR;
376     PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR;
377     PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR;
378     PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;
379     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
380         vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
381 #endif
382 #ifdef VK_KHR_device_group
383     PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;
384     PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
385     PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;
386 #endif
387 #ifdef VK_KHR_shader_draw_parameters
388 #endif
389 #ifdef VK_KHR_maintenance1
390     PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;
391 #endif
392 #ifdef VK_KHR_device_group_creation
393     PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR;
394 #endif
395 #ifdef VK_KHR_external_memory_capabilities
396     PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR
397         vkGetPhysicalDeviceExternalBufferPropertiesKHR;
398 #endif
399 #ifdef VK_KHR_external_memory
400 #endif
401 #ifdef VK_KHR_external_memory_win32
402     PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
403     PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;
404 #endif
405 #ifdef VK_KHR_external_memory_fd
406     PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
407     PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
408 #endif
409 #ifdef VK_KHR_win32_keyed_mutex
410 #endif
411 #ifdef VK_KHR_external_semaphore_capabilities
412     PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
413         vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
414 #endif
415 #ifdef VK_KHR_external_semaphore
416 #endif
417 #ifdef VK_KHR_external_semaphore_win32
418     PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;
419     PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;
420 #endif
421 #ifdef VK_KHR_external_semaphore_fd
422     PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
423     PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
424 #endif
425 #ifdef VK_KHR_push_descriptor
426     PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;
427     PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
428 #endif
429 #ifdef VK_KHR_shader_float16_int8
430 #endif
431 #ifdef VK_KHR_16bit_storage
432 #endif
433 #ifdef VK_KHR_incremental_present
434 #endif
435 #ifdef VK_KHR_descriptor_update_template
436     PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
437     PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
438     PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
439 #endif
440 #ifdef VK_KHR_imageless_framebuffer
441 #endif
442 #ifdef VK_KHR_create_renderpass2
443     PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
444     PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
445     PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;
446     PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
447 #endif
448 #ifdef VK_KHR_shared_presentable_image
449     PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
450 #endif
451 #ifdef VK_KHR_external_fence_capabilities
452     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR;
453 #endif
454 #ifdef VK_KHR_external_fence
455 #endif
456 #ifdef VK_KHR_external_fence_win32
457     PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
458     PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
459 #endif
460 #ifdef VK_KHR_external_fence_fd
461     PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
462     PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
463 #endif
464 #ifdef VK_KHR_performance_query
465     PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
466         vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
467     PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
468         vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
469     PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
470     PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
471 #endif
472 #ifdef VK_KHR_maintenance2
473 #endif
474 #ifdef VK_KHR_get_surface_capabilities2
475     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR;
476     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR;
477 #endif
478 #ifdef VK_KHR_variable_pointers
479 #endif
480 #ifdef VK_KHR_get_display_properties2
481     PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR;
482     PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
483     PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;
484     PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;
485 #endif
486 #ifdef VK_KHR_dedicated_allocation
487 #endif
488 #ifdef VK_KHR_storage_buffer_storage_class
489 #endif
490 #ifdef VK_KHR_relaxed_block_layout
491 #endif
492 #ifdef VK_KHR_get_memory_requirements2
493     PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
494     PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
495     PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;
496 #endif
497 #ifdef VK_KHR_image_format_list
498 #endif
499 #ifdef VK_KHR_sampler_ycbcr_conversion
500     PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
501     PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
502 #endif
503 #ifdef VK_KHR_bind_memory2
504     PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
505     PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
506 #endif
507 #ifdef VK_KHR_portability_subset
508 #endif
509 #ifdef VK_KHR_maintenance3
510     PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;
511 #endif
512 #ifdef VK_KHR_draw_indirect_count
513     PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;
514     PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;
515 #endif
516 #ifdef VK_KHR_shader_subgroup_extended_types
517 #endif
518 #ifdef VK_KHR_8bit_storage
519 #endif
520 #ifdef VK_KHR_shader_atomic_int64
521 #endif
522 #ifdef VK_KHR_shader_clock
523 #endif
524 #ifdef VK_KHR_video_decode_h265
525 #endif
526 #ifdef VK_KHR_global_priority
527 #endif
528 #ifdef VK_KHR_driver_properties
529 #endif
530 #ifdef VK_KHR_shader_float_controls
531 #endif
532 #ifdef VK_KHR_depth_stencil_resolve
533 #endif
534 #ifdef VK_KHR_swapchain_mutable_format
535 #endif
536 #ifdef VK_KHR_timeline_semaphore
537     PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
538     PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
539     PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;
540 #endif
541 #ifdef VK_KHR_vulkan_memory_model
542 #endif
543 #ifdef VK_KHR_shader_terminate_invocation
544 #endif
545 #ifdef VK_KHR_fragment_shading_rate
546     PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR;
547     PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR;
548 #endif
549 #ifdef VK_KHR_spirv_1_4
550 #endif
551 #ifdef VK_KHR_surface_protected_capabilities
552 #endif
553 #ifdef VK_KHR_separate_depth_stencil_layouts
554 #endif
555 #ifdef VK_KHR_present_wait
556     PFN_vkWaitForPresentKHR vkWaitForPresentKHR;
557 #endif
558 #ifdef VK_KHR_uniform_buffer_standard_layout
559 #endif
560 #ifdef VK_KHR_buffer_device_address
561     PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;
562     PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;
563     PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;
564 #endif
565 #ifdef VK_KHR_deferred_host_operations
566     PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR;
567     PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR;
568     PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR;
569     PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR;
570     PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR;
571 #endif
572 #ifdef VK_KHR_pipeline_executable_properties
573     PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;
574     PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;
575     PFN_vkGetPipelineExecutableInternalRepresentationsKHR
576         vkGetPipelineExecutableInternalRepresentationsKHR;
577 #endif
578 #ifdef VK_KHR_map_memory2
579     PFN_vkMapMemory2KHR vkMapMemory2KHR;
580     PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR;
581 #endif
582 #ifdef VK_KHR_shader_integer_dot_product
583 #endif
584 #ifdef VK_KHR_pipeline_library
585 #endif
586 #ifdef VK_KHR_shader_non_semantic_info
587 #endif
588 #ifdef VK_KHR_present_id
589 #endif
590 #ifdef VK_KHR_video_encode_queue
591     PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR;
592 #endif
593 #ifdef VK_KHR_synchronization2
594     PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR;
595     PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR;
596     PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR;
597     PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR;
598     PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR;
599     PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR;
600     PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD;
601     PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV;
602 #endif
603 #ifdef VK_KHR_fragment_shader_barycentric
604 #endif
605 #ifdef VK_KHR_shader_subgroup_uniform_control_flow
606 #endif
607 #ifdef VK_KHR_zero_initialize_workgroup_memory
608 #endif
609 #ifdef VK_KHR_workgroup_memory_explicit_layout
610 #endif
611 #ifdef VK_KHR_copy_commands2
612     PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR;
613     PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR;
614     PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR;
615     PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR;
616     PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR;
617     PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR;
618 #endif
619 #ifdef VK_KHR_format_feature_flags2
620 #endif
621 #ifdef VK_KHR_ray_tracing_maintenance1
622     PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR;
623 #endif
624 #ifdef VK_KHR_portability_enumeration
625 #endif
626 #ifdef VK_KHR_maintenance4
627     PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR;
628     PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR;
629     PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR;
630 #endif
631 #ifdef VK_KHR_ray_tracing_position_fetch
632 #endif
633 #ifdef VK_ANDROID_native_buffer
634     PFN_vkGetSwapchainGrallocUsageANDROID vkGetSwapchainGrallocUsageANDROID;
635     PFN_vkAcquireImageANDROID vkAcquireImageANDROID;
636     PFN_vkQueueSignalReleaseImageANDROID vkQueueSignalReleaseImageANDROID;
637     PFN_vkGetSwapchainGrallocUsage2ANDROID vkGetSwapchainGrallocUsage2ANDROID;
638 #endif
639 #ifdef VK_EXT_debug_report
640     PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
641     PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
642     PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
643 #endif
644 #ifdef VK_NV_glsl_shader
645 #endif
646 #ifdef VK_EXT_depth_range_unrestricted
647 #endif
648 #ifdef VK_IMG_filter_cubic
649 #endif
650 #ifdef VK_AMD_rasterization_order
651 #endif
652 #ifdef VK_AMD_shader_trinary_minmax
653 #endif
654 #ifdef VK_AMD_shader_explicit_vertex_parameter
655 #endif
656 #ifdef VK_EXT_debug_marker
657     PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
658     PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
659     PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;
660     PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;
661     PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;
662 #endif
663 #ifdef VK_AMD_gcn_shader
664 #endif
665 #ifdef VK_NV_dedicated_allocation
666 #endif
667 #ifdef VK_EXT_transform_feedback
668     PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
669     PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
670     PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
671     PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
672     PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
673     PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
674 #endif
675 #ifdef VK_NVX_binary_import
676     PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX;
677     PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX;
678     PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX;
679     PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX;
680     PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX;
681 #endif
682 #ifdef VK_NVX_image_view_handle
683     PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;
684     PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX;
685 #endif
686 #ifdef VK_AMD_draw_indirect_count
687     PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;
688     PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;
689 #endif
690 #ifdef VK_AMD_negative_viewport_height
691 #endif
692 #ifdef VK_AMD_gpu_shader_half_float
693 #endif
694 #ifdef VK_AMD_shader_ballot
695 #endif
696 #ifdef VK_EXT_video_encode_h264
697 #endif
698 #ifdef VK_EXT_video_encode_h265
699 #endif
700 #ifdef VK_AMD_texture_gather_bias_lod
701 #endif
702 #ifdef VK_AMD_shader_info
703     PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;
704 #endif
705 #ifdef VK_AMD_shader_image_load_store_lod
706 #endif
707 #ifdef VK_GGP_stream_descriptor_surface
708     PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;
709 #endif
710 #ifdef VK_NV_corner_sampled_image
711 #endif
712 #ifdef VK_IMG_format_pvrtc
713 #endif
714 #ifdef VK_NV_external_memory_capabilities
715     PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV
716         vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
717 #endif
718 #ifdef VK_NV_external_memory
719 #endif
720 #ifdef VK_NV_external_memory_win32
721     PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;
722 #endif
723 #ifdef VK_NV_win32_keyed_mutex
724 #endif
725 #ifdef VK_EXT_validation_flags
726 #endif
727 #ifdef VK_NN_vi_surface
728     PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;
729 #endif
730 #ifdef VK_EXT_shader_subgroup_ballot
731 #endif
732 #ifdef VK_EXT_shader_subgroup_vote
733 #endif
734 #ifdef VK_EXT_texture_compression_astc_hdr
735 #endif
736 #ifdef VK_EXT_astc_decode_mode
737 #endif
738 #ifdef VK_EXT_pipeline_robustness
739 #endif
740 #ifdef VK_EXT_conditional_rendering
741     PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;
742     PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;
743 #endif
744 #ifdef VK_NV_clip_space_w_scaling
745     PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
746 #endif
747 #ifdef VK_EXT_direct_mode_display
748     PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;
749 #endif
750 #ifdef VK_EXT_acquire_xlib_display
751     PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;
752     PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;
753 #endif
754 #ifdef VK_EXT_display_surface_counter
755     PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT;
756 #endif
757 #ifdef VK_EXT_display_control
758     PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;
759     PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
760     PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
761     PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;
762 #endif
763 #ifdef VK_GOOGLE_display_timing
764     PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
765     PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
766 #endif
767 #ifdef VK_NV_sample_mask_override_coverage
768 #endif
769 #ifdef VK_NV_geometry_shader_passthrough
770 #endif
771 #ifdef VK_NV_viewport_array2
772 #endif
773 #ifdef VK_NVX_multiview_per_view_attributes
774 #endif
775 #ifdef VK_NV_viewport_swizzle
776 #endif
777 #ifdef VK_EXT_discard_rectangles
778     PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
779     PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT;
780     PFN_vkCmdSetDiscardRectangleModeEXT vkCmdSetDiscardRectangleModeEXT;
781 #endif
782 #ifdef VK_EXT_conservative_rasterization
783 #endif
784 #ifdef VK_EXT_depth_clip_enable
785 #endif
786 #ifdef VK_EXT_swapchain_colorspace
787 #endif
788 #ifdef VK_EXT_hdr_metadata
789     PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
790 #endif
791 #ifdef VK_MVK_ios_surface
792     PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;
793 #endif
794 #ifdef VK_MVK_macos_surface
795     PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
796 #endif
797 #ifdef VK_EXT_external_memory_dma_buf
798 #endif
799 #ifdef VK_EXT_queue_family_foreign
800 #endif
801 #ifdef VK_EXT_debug_utils
802     PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
803     PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
804     PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;
805     PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;
806     PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;
807     PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
808     PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
809     PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
810     PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
811     PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
812     PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;
813 #endif
814 #ifdef VK_ANDROID_external_memory_android_hardware_buffer
815     PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
816     PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
817 #endif
818 #ifdef VK_EXT_sampler_filter_minmax
819 #endif
820 #ifdef VK_AMD_gpu_shader_int16
821 #endif
822 #ifdef VK_AMD_mixed_attachment_samples
823 #endif
824 #ifdef VK_AMD_shader_fragment_mask
825 #endif
826 #ifdef VK_EXT_inline_uniform_block
827 #endif
828 #ifdef VK_EXT_shader_stencil_export
829 #endif
830 #ifdef VK_EXT_sample_locations
831     PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
832     PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT;
833 #endif
834 #ifdef VK_EXT_blend_operation_advanced
835 #endif
836 #ifdef VK_NV_fragment_coverage_to_color
837 #endif
838 #ifdef VK_NV_framebuffer_mixed_samples
839 #endif
840 #ifdef VK_NV_fill_rectangle
841 #endif
842 #ifdef VK_NV_shader_sm_builtins
843 #endif
844 #ifdef VK_EXT_post_depth_coverage
845 #endif
846 #ifdef VK_EXT_image_drm_format_modifier
847     PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;
848 #endif
849 #ifdef VK_EXT_validation_cache
850     PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;
851     PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;
852     PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;
853     PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;
854 #endif
855 #ifdef VK_EXT_descriptor_indexing
856 #endif
857 #ifdef VK_EXT_shader_viewport_index_layer
858 #endif
859 #ifdef VK_NV_shading_rate_image
860     PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;
861     PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
862     PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
863 #endif
864 #ifdef VK_NV_ray_tracing
865     PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;
866     PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;
867     PFN_vkGetAccelerationStructureMemoryRequirementsNV
868         vkGetAccelerationStructureMemoryRequirementsNV;
869     PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;
870     PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;
871     PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;
872     PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;
873     PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;
874     PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR;
875     PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;
876     PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;
877     PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;
878     PFN_vkCompileDeferredNV vkCompileDeferredNV;
879 #endif
880 #ifdef VK_NV_representative_fragment_test
881 #endif
882 #ifdef VK_EXT_filter_cubic
883 #endif
884 #ifdef VK_QCOM_render_pass_shader_resolve
885 #endif
886 #ifdef VK_EXT_global_priority
887 #endif
888 #ifdef VK_EXT_external_memory_host
889     PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
890 #endif
891 #ifdef VK_AMD_buffer_marker
892     PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;
893 #endif
894 #ifdef VK_AMD_pipeline_compiler_control
895 #endif
896 #ifdef VK_EXT_calibrated_timestamps
897     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
898         vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
899     PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
900 #endif
901 #ifdef VK_AMD_shader_core_properties
902 #endif
903 #ifdef VK_AMD_memory_overallocation_behavior
904 #endif
905 #ifdef VK_EXT_vertex_attribute_divisor
906 #endif
907 #ifdef VK_GGP_frame_token
908 #endif
909 #ifdef VK_EXT_pipeline_creation_feedback
910 #endif
911 #ifdef VK_NV_shader_subgroup_partitioned
912 #endif
913 #ifdef VK_NV_compute_shader_derivatives
914 #endif
915 #ifdef VK_NV_mesh_shader
916     PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
917     PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
918     PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
919 #endif
920 #ifdef VK_NV_fragment_shader_barycentric
921 #endif
922 #ifdef VK_NV_shader_image_footprint
923 #endif
924 #ifdef VK_NV_scissor_exclusive
925     PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV;
926     PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;
927 #endif
928 #ifdef VK_NV_device_diagnostic_checkpoints
929     PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;
930     PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;
931 #endif
932 #ifdef VK_INTEL_shader_integer_functions2
933 #endif
934 #ifdef VK_INTEL_performance_query
935     PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;
936     PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;
937     PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;
938     PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;
939     PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;
940     PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;
941     PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;
942     PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;
943     PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;
944 #endif
945 #ifdef VK_EXT_pci_bus_info
946 #endif
947 #ifdef VK_AMD_display_native_hdr
948     PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;
949 #endif
950 #ifdef VK_FUCHSIA_imagepipe_surface
951     PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
952 #endif
953 #ifdef VK_EXT_metal_surface
954     PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;
955 #endif
956 #ifdef VK_EXT_fragment_density_map
957 #endif
958 #ifdef VK_EXT_scalar_block_layout
959 #endif
960 #ifdef VK_GOOGLE_hlsl_functionality1
961 #endif
962 #ifdef VK_GOOGLE_decorate_string
963 #endif
964 #ifdef VK_EXT_subgroup_size_control
965 #endif
966 #ifdef VK_AMD_shader_core_properties2
967 #endif
968 #ifdef VK_AMD_device_coherent_memory
969 #endif
970 #ifdef VK_EXT_shader_image_atomic_int64
971 #endif
972 #ifdef VK_EXT_memory_budget
973 #endif
974 #ifdef VK_EXT_memory_priority
975 #endif
976 #ifdef VK_NV_dedicated_allocation_image_aliasing
977 #endif
978 #ifdef VK_EXT_buffer_device_address
979     PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;
980 #endif
981 #ifdef VK_EXT_tooling_info
982     PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT;
983 #endif
984 #ifdef VK_EXT_separate_stencil_usage
985 #endif
986 #ifdef VK_EXT_validation_features
987 #endif
988 #ifdef VK_NV_cooperative_matrix
989     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
990         vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;
991 #endif
992 #ifdef VK_NV_coverage_reduction_mode
993     PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
994         vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
995 #endif
996 #ifdef VK_EXT_fragment_shader_interlock
997 #endif
998 #ifdef VK_EXT_ycbcr_image_arrays
999 #endif
1000 #ifdef VK_EXT_provoking_vertex
1001 #endif
1002 #ifdef VK_EXT_full_screen_exclusive
1003     PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT;
1004     PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;
1005     PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;
1006     PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
1007 #endif
1008 #ifdef VK_EXT_headless_surface
1009     PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;
1010 #endif
1011 #ifdef VK_EXT_line_rasterization
1012     PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;
1013 #endif
1014 #ifdef VK_EXT_shader_atomic_float
1015 #endif
1016 #ifdef VK_EXT_host_query_reset
1017     PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
1018 #endif
1019 #ifdef VK_EXT_index_type_uint8
1020 #endif
1021 #ifdef VK_EXT_extended_dynamic_state
1022     PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT;
1023     PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT;
1024     PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT;
1025     PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT;
1026     PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT;
1027     PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT;
1028     PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT;
1029     PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT;
1030     PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT;
1031     PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT;
1032     PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT;
1033     PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT;
1034 #endif
1035 #ifdef VK_EXT_shader_atomic_float2
1036 #endif
1037 #ifdef VK_EXT_surface_maintenance1
1038 #endif
1039 #ifdef VK_EXT_swapchain_maintenance1
1040     PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT;
1041 #endif
1042 #ifdef VK_EXT_shader_demote_to_helper_invocation
1043 #endif
1044 #ifdef VK_NV_device_generated_commands
1045     PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV;
1046     PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV;
1047     PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV;
1048     PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV;
1049     PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV;
1050     PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV;
1051 #endif
1052 #ifdef VK_NV_inherited_viewport_scissor
1053 #endif
1054 #ifdef VK_EXT_texel_buffer_alignment
1055 #endif
1056 #ifdef VK_QCOM_render_pass_transform
1057 #endif
1058 #ifdef VK_EXT_device_memory_report
1059 #endif
1060 #ifdef VK_EXT_acquire_drm_display
1061     PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT;
1062     PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT;
1063 #endif
1064 #ifdef VK_EXT_robustness2
1065 #endif
1066 #ifdef VK_EXT_custom_border_color
1067 #endif
1068 #ifdef VK_GOOGLE_user_type
1069 #endif
1070 #ifdef VK_NV_present_barrier
1071 #endif
1072 #ifdef VK_EXT_private_data
1073     PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT;
1074     PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT;
1075     PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT;
1076     PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT;
1077 #endif
1078 #ifdef VK_EXT_pipeline_creation_cache_control
1079 #endif
1080 #ifdef VK_NV_device_diagnostics_config
1081 #endif
1082 #ifdef VK_QCOM_render_pass_store_ops
1083 #endif
1084 #ifdef VK_NV_low_latency
1085 #endif
1086 #ifdef VK_EXT_metal_objects
1087     PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT;
1088 #endif
1089 #ifdef VK_EXT_descriptor_buffer
1090     PFN_vkGetDescriptorSetLayoutSizeEXT vkGetDescriptorSetLayoutSizeEXT;
1091     PFN_vkGetDescriptorSetLayoutBindingOffsetEXT vkGetDescriptorSetLayoutBindingOffsetEXT;
1092     PFN_vkGetDescriptorEXT vkGetDescriptorEXT;
1093     PFN_vkCmdBindDescriptorBuffersEXT vkCmdBindDescriptorBuffersEXT;
1094     PFN_vkCmdSetDescriptorBufferOffsetsEXT vkCmdSetDescriptorBufferOffsetsEXT;
1095     PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT vkCmdBindDescriptorBufferEmbeddedSamplersEXT;
1096     PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT vkGetBufferOpaqueCaptureDescriptorDataEXT;
1097     PFN_vkGetImageOpaqueCaptureDescriptorDataEXT vkGetImageOpaqueCaptureDescriptorDataEXT;
1098     PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT vkGetImageViewOpaqueCaptureDescriptorDataEXT;
1099     PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT vkGetSamplerOpaqueCaptureDescriptorDataEXT;
1100     PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT
1101         vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT;
1102 #endif
1103 #ifdef VK_EXT_graphics_pipeline_library
1104 #endif
1105 #ifdef VK_AMD_shader_early_and_late_fragment_tests
1106 #endif
1107 #ifdef VK_NV_fragment_shading_rate_enums
1108     PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV;
1109 #endif
1110 #ifdef VK_NV_ray_tracing_motion_blur
1111 #endif
1112 #ifdef VK_EXT_ycbcr_2plane_444_formats
1113 #endif
1114 #ifdef VK_EXT_fragment_density_map2
1115 #endif
1116 #ifdef VK_QCOM_rotated_copy_commands
1117 #endif
1118 #ifdef VK_EXT_image_robustness
1119 #endif
1120 #ifdef VK_EXT_image_compression_control
1121     PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT;
1122 #endif
1123 #ifdef VK_EXT_attachment_feedback_loop_layout
1124 #endif
1125 #ifdef VK_EXT_4444_formats
1126 #endif
1127 #ifdef VK_EXT_device_fault
1128     PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT;
1129 #endif
1130 #ifdef VK_ARM_rasterization_order_attachment_access
1131 #endif
1132 #ifdef VK_EXT_rgba10x6_formats
1133 #endif
1134 #ifdef VK_NV_acquire_winrt_display
1135     PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV;
1136     PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV;
1137 #endif
1138 #ifdef VK_EXT_directfb_surface
1139     PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT;
1140     PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT
1141         vkGetPhysicalDeviceDirectFBPresentationSupportEXT;
1142 #endif
1143 #ifdef VK_VALVE_mutable_descriptor_type
1144 #endif
1145 #ifdef VK_EXT_vertex_input_dynamic_state
1146     PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT;
1147 #endif
1148 #ifdef VK_EXT_physical_device_drm
1149 #endif
1150 #ifdef VK_EXT_device_address_binding_report
1151 #endif
1152 #ifdef VK_EXT_depth_clip_control
1153 #endif
1154 #ifdef VK_EXT_primitive_topology_list_restart
1155 #endif
1156 #ifdef VK_FUCHSIA_external_memory
1157     PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA;
1158     PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA;
1159 #endif
1160 #ifdef VK_FUCHSIA_external_semaphore
1161     PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA;
1162     PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA;
1163 #endif
1164 #ifdef VK_FUCHSIA_buffer_collection
1165     PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA;
1166     PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA;
1167     PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA;
1168     PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA;
1169     PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA;
1170 #endif
1171 #ifdef VK_HUAWEI_subpass_shading
1172     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
1173         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
1174     PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI;
1175 #endif
1176 #ifdef VK_HUAWEI_invocation_mask
1177     PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI;
1178 #endif
1179 #ifdef VK_NV_external_memory_rdma
1180     PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV;
1181 #endif
1182 #ifdef VK_EXT_pipeline_properties
1183     PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT;
1184 #endif
1185 #ifdef VK_EXT_multisampled_render_to_single_sampled
1186 #endif
1187 #ifdef VK_EXT_extended_dynamic_state2
1188     PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT;
1189     PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT;
1190     PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT;
1191     PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT;
1192     PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT;
1193 #endif
1194 #ifdef VK_QNX_screen_surface
1195     PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX;
1196     PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX
1197         vkGetPhysicalDeviceScreenPresentationSupportQNX;
1198 #endif
1199 #ifdef VK_EXT_color_write_enable
1200     PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT;
1201 #endif
1202 #ifdef VK_EXT_primitives_generated_query
1203 #endif
1204 #ifdef VK_GOOGLE_gfxstream
1205     PFN_vkMapMemoryIntoAddressSpaceGOOGLE vkMapMemoryIntoAddressSpaceGOOGLE;
1206     PFN_vkUpdateDescriptorSetWithTemplateSizedGOOGLE vkUpdateDescriptorSetWithTemplateSizedGOOGLE;
1207     PFN_vkBeginCommandBufferAsyncGOOGLE vkBeginCommandBufferAsyncGOOGLE;
1208     PFN_vkEndCommandBufferAsyncGOOGLE vkEndCommandBufferAsyncGOOGLE;
1209     PFN_vkResetCommandBufferAsyncGOOGLE vkResetCommandBufferAsyncGOOGLE;
1210     PFN_vkCommandBufferHostSyncGOOGLE vkCommandBufferHostSyncGOOGLE;
1211     PFN_vkCreateImageWithRequirementsGOOGLE vkCreateImageWithRequirementsGOOGLE;
1212     PFN_vkCreateBufferWithRequirementsGOOGLE vkCreateBufferWithRequirementsGOOGLE;
1213     PFN_vkGetMemoryHostAddressInfoGOOGLE vkGetMemoryHostAddressInfoGOOGLE;
1214     PFN_vkFreeMemorySyncGOOGLE vkFreeMemorySyncGOOGLE;
1215     PFN_vkQueueHostSyncGOOGLE vkQueueHostSyncGOOGLE;
1216     PFN_vkQueueSubmitAsyncGOOGLE vkQueueSubmitAsyncGOOGLE;
1217     PFN_vkQueueWaitIdleAsyncGOOGLE vkQueueWaitIdleAsyncGOOGLE;
1218     PFN_vkQueueBindSparseAsyncGOOGLE vkQueueBindSparseAsyncGOOGLE;
1219     PFN_vkGetLinearImageLayoutGOOGLE vkGetLinearImageLayoutGOOGLE;
1220     PFN_vkGetLinearImageLayout2GOOGLE vkGetLinearImageLayout2GOOGLE;
1221     PFN_vkQueueFlushCommandsGOOGLE vkQueueFlushCommandsGOOGLE;
1222     PFN_vkQueueCommitDescriptorSetUpdatesGOOGLE vkQueueCommitDescriptorSetUpdatesGOOGLE;
1223     PFN_vkCollectDescriptorPoolIdsGOOGLE vkCollectDescriptorPoolIdsGOOGLE;
1224     PFN_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE vkQueueSignalReleaseImageANDROIDAsyncGOOGLE;
1225     PFN_vkQueueFlushCommandsFromAuxMemoryGOOGLE vkQueueFlushCommandsFromAuxMemoryGOOGLE;
1226     PFN_vkGetBlobGOOGLE vkGetBlobGOOGLE;
1227     PFN_vkUpdateDescriptorSetWithTemplateSized2GOOGLE vkUpdateDescriptorSetWithTemplateSized2GOOGLE;
1228 #endif
1229 #ifdef VK_EXT_global_priority_query
1230 #endif
1231 #ifdef VK_EXT_image_view_min_lod
1232 #endif
1233 #ifdef VK_EXT_multi_draw
1234     PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT;
1235     PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT;
1236 #endif
1237 #ifdef VK_EXT_image_2d_view_of_3d
1238 #endif
1239 #ifdef VK_EXT_shader_tile_image
1240 #endif
1241 #ifdef VK_EXT_opacity_micromap
1242     PFN_vkCreateMicromapEXT vkCreateMicromapEXT;
1243     PFN_vkDestroyMicromapEXT vkDestroyMicromapEXT;
1244     PFN_vkCmdBuildMicromapsEXT vkCmdBuildMicromapsEXT;
1245     PFN_vkBuildMicromapsEXT vkBuildMicromapsEXT;
1246     PFN_vkCopyMicromapEXT vkCopyMicromapEXT;
1247     PFN_vkCopyMicromapToMemoryEXT vkCopyMicromapToMemoryEXT;
1248     PFN_vkCopyMemoryToMicromapEXT vkCopyMemoryToMicromapEXT;
1249     PFN_vkWriteMicromapsPropertiesEXT vkWriteMicromapsPropertiesEXT;
1250     PFN_vkCmdCopyMicromapEXT vkCmdCopyMicromapEXT;
1251     PFN_vkCmdCopyMicromapToMemoryEXT vkCmdCopyMicromapToMemoryEXT;
1252     PFN_vkCmdCopyMemoryToMicromapEXT vkCmdCopyMemoryToMicromapEXT;
1253     PFN_vkCmdWriteMicromapsPropertiesEXT vkCmdWriteMicromapsPropertiesEXT;
1254     PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT;
1255     PFN_vkGetMicromapBuildSizesEXT vkGetMicromapBuildSizesEXT;
1256 #endif
1257 #ifdef VK_NV_displacement_micromap
1258 #endif
1259 #ifdef VK_EXT_load_store_op_none
1260 #endif
1261 #ifdef VK_HUAWEI_cluster_culling_shader
1262     PFN_vkCmdDrawClusterHUAWEI vkCmdDrawClusterHUAWEI;
1263     PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI;
1264 #endif
1265 #ifdef VK_EXT_border_color_swizzle
1266 #endif
1267 #ifdef VK_EXT_pageable_device_local_memory
1268     PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT;
1269 #endif
1270 #ifdef VK_ARM_shader_core_properties
1271 #endif
1272 #ifdef VK_EXT_image_sliced_view_of_3d
1273 #endif
1274 #ifdef VK_VALVE_descriptor_set_host_mapping
1275     PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE;
1276     PFN_vkGetDescriptorSetHostMappingVALVE vkGetDescriptorSetHostMappingVALVE;
1277 #endif
1278 #ifdef VK_EXT_depth_clamp_zero_one
1279 #endif
1280 #ifdef VK_EXT_non_seamless_cube_map
1281 #endif
1282 #ifdef VK_QCOM_fragment_density_map_offset
1283 #endif
1284 #ifdef VK_NV_copy_memory_indirect
1285     PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV;
1286     PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV;
1287 #endif
1288 #ifdef VK_NV_memory_decompression
1289     PFN_vkCmdDecompressMemoryNV vkCmdDecompressMemoryNV;
1290     PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV;
1291 #endif
1292 #ifdef VK_NV_linear_color_attachment
1293 #endif
1294 #ifdef VK_GOOGLE_surfaceless_query
1295 #endif
1296 #ifdef VK_EXT_image_compression_control_swapchain
1297 #endif
1298 #ifdef VK_QCOM_image_processing
1299 #endif
1300 #ifdef VK_EXT_extended_dynamic_state3
1301     PFN_vkCmdSetTessellationDomainOriginEXT vkCmdSetTessellationDomainOriginEXT;
1302     PFN_vkCmdSetDepthClampEnableEXT vkCmdSetDepthClampEnableEXT;
1303     PFN_vkCmdSetPolygonModeEXT vkCmdSetPolygonModeEXT;
1304     PFN_vkCmdSetRasterizationSamplesEXT vkCmdSetRasterizationSamplesEXT;
1305     PFN_vkCmdSetSampleMaskEXT vkCmdSetSampleMaskEXT;
1306     PFN_vkCmdSetAlphaToCoverageEnableEXT vkCmdSetAlphaToCoverageEnableEXT;
1307     PFN_vkCmdSetAlphaToOneEnableEXT vkCmdSetAlphaToOneEnableEXT;
1308     PFN_vkCmdSetLogicOpEnableEXT vkCmdSetLogicOpEnableEXT;
1309     PFN_vkCmdSetColorBlendEnableEXT vkCmdSetColorBlendEnableEXT;
1310     PFN_vkCmdSetColorBlendEquationEXT vkCmdSetColorBlendEquationEXT;
1311     PFN_vkCmdSetColorWriteMaskEXT vkCmdSetColorWriteMaskEXT;
1312     PFN_vkCmdSetRasterizationStreamEXT vkCmdSetRasterizationStreamEXT;
1313     PFN_vkCmdSetConservativeRasterizationModeEXT vkCmdSetConservativeRasterizationModeEXT;
1314     PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT;
1315     PFN_vkCmdSetDepthClipEnableEXT vkCmdSetDepthClipEnableEXT;
1316     PFN_vkCmdSetSampleLocationsEnableEXT vkCmdSetSampleLocationsEnableEXT;
1317     PFN_vkCmdSetColorBlendAdvancedEXT vkCmdSetColorBlendAdvancedEXT;
1318     PFN_vkCmdSetProvokingVertexModeEXT vkCmdSetProvokingVertexModeEXT;
1319     PFN_vkCmdSetLineRasterizationModeEXT vkCmdSetLineRasterizationModeEXT;
1320     PFN_vkCmdSetLineStippleEnableEXT vkCmdSetLineStippleEnableEXT;
1321     PFN_vkCmdSetDepthClipNegativeOneToOneEXT vkCmdSetDepthClipNegativeOneToOneEXT;
1322     PFN_vkCmdSetViewportWScalingEnableNV vkCmdSetViewportWScalingEnableNV;
1323     PFN_vkCmdSetViewportSwizzleNV vkCmdSetViewportSwizzleNV;
1324     PFN_vkCmdSetCoverageToColorEnableNV vkCmdSetCoverageToColorEnableNV;
1325     PFN_vkCmdSetCoverageToColorLocationNV vkCmdSetCoverageToColorLocationNV;
1326     PFN_vkCmdSetCoverageModulationModeNV vkCmdSetCoverageModulationModeNV;
1327     PFN_vkCmdSetCoverageModulationTableEnableNV vkCmdSetCoverageModulationTableEnableNV;
1328     PFN_vkCmdSetCoverageModulationTableNV vkCmdSetCoverageModulationTableNV;
1329     PFN_vkCmdSetShadingRateImageEnableNV vkCmdSetShadingRateImageEnableNV;
1330     PFN_vkCmdSetRepresentativeFragmentTestEnableNV vkCmdSetRepresentativeFragmentTestEnableNV;
1331     PFN_vkCmdSetCoverageReductionModeNV vkCmdSetCoverageReductionModeNV;
1332 #endif
1333 #ifdef VK_EXT_subpass_merge_feedback
1334 #endif
1335 #ifdef VK_LUNARG_direct_driver_loading
1336 #endif
1337 #ifdef VK_EXT_shader_module_identifier
1338     PFN_vkGetShaderModuleIdentifierEXT vkGetShaderModuleIdentifierEXT;
1339     PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT;
1340 #endif
1341 #ifdef VK_EXT_rasterization_order_attachment_access
1342 #endif
1343 #ifdef VK_NV_optical_flow
1344     PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV;
1345     PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV;
1346     PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV;
1347     PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV;
1348     PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV;
1349 #endif
1350 #ifdef VK_EXT_legacy_dithering
1351 #endif
1352 #ifdef VK_EXT_pipeline_protected_access
1353 #endif
1354 #ifdef VK_EXT_shader_object
1355     PFN_vkCreateShadersEXT vkCreateShadersEXT;
1356     PFN_vkDestroyShaderEXT vkDestroyShaderEXT;
1357     PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT;
1358     PFN_vkCmdBindShadersEXT vkCmdBindShadersEXT;
1359 #endif
1360 #ifdef VK_QCOM_tile_properties
1361     PFN_vkGetFramebufferTilePropertiesQCOM vkGetFramebufferTilePropertiesQCOM;
1362     PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM;
1363 #endif
1364 #ifdef VK_SEC_amigo_profiling
1365 #endif
1366 #ifdef VK_QCOM_multiview_per_view_viewports
1367 #endif
1368 #ifdef VK_NV_ray_tracing_invocation_reorder
1369 #endif
1370 #ifdef VK_EXT_mutable_descriptor_type
1371 #endif
1372 #ifdef VK_ARM_shader_core_builtins
1373 #endif
1374 #ifdef VK_EXT_pipeline_library_group_handles
1375 #endif
1376 #ifdef VK_QCOM_multiview_per_view_render_areas
1377 #endif
1378 #ifdef VK_EXT_attachment_feedback_loop_dynamic_state
1379     PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT;
1380 #endif
1381 #ifdef VK_KHR_acceleration_structure
1382     PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR;
1383     PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR;
1384     PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR;
1385     PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR;
1386     PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR;
1387     PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR;
1388     PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR;
1389     PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR;
1390     PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR;
1391     PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR;
1392     PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR;
1393     PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR;
1394     PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR;
1395     PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR;
1396     PFN_vkGetDeviceAccelerationStructureCompatibilityKHR
1397         vkGetDeviceAccelerationStructureCompatibilityKHR;
1398     PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR;
1399 #endif
1400 #ifdef VK_KHR_ray_tracing_pipeline
1401     PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR;
1402     PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR;
1403     PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR
1404         vkGetRayTracingCaptureReplayShaderGroupHandlesKHR;
1405     PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR;
1406     PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR;
1407     PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR;
1408 #endif
1409 #ifdef VK_KHR_ray_query
1410 #endif
1411 #ifdef VK_EXT_mesh_shader
1412     PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT;
1413     PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT;
1414     PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT;
1415 #endif
1416 };
1417 
1418 }  // namespace vk
1419 }  // namespace gfxstream
1420