rpcrt4: Write the function header into the procedure format string.
[wine.git] / dlls / winevulkan / vulkan_thunks.h
blob32d429033ea938e8fcf64a9f5c61beca53a87ee8
1 /* Automatically generated from Vulkan vk.xml; DO NOT EDIT!
3 * This file is generated from Vulkan vk.xml file covered
4 * by the following copyright and permission notice:
6 * Copyright (c) 2015-2018 The Khronos Group Inc.
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
20 * ---- Exceptions to the Apache 2.0 License: ----
22 * As an exception, if you use this Software to generate code and portions of
23 * this Software are embedded into the generated code as a result, you may
24 * redistribute such product without providing attribution as would otherwise
25 * be required by Sections 4(a), 4(b) and 4(d) of the License.
27 * In addition, if you combine or link code generated by this Software with
28 * software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1
29 * ("`Combined Software`") and if a court of competent jurisdiction determines
30 * that the patent provision (Section 3), the indemnity provision (Section 9)
31 * or other Section of the License conflicts with the conditions of the
32 * applicable GPL or LGPL license, you may retroactively and prospectively
33 * choose to deem waived or otherwise exclude such Section(s) of the License,
34 * but only in their entirety and only with respect to the Combined Software.
38 #ifndef __WINE_VULKAN_THUNKS_H
39 #define __WINE_VULKAN_THUNKS_H
41 #define WINE_VK_VERSION VK_API_VERSION_1_0
43 /* Functions for which we have custom implementations outside of the thunks. */
44 VkResult WINAPI wine_vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers);
45 void WINAPI wine_vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
46 VkResult WINAPI wine_vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkCommandPool *pCommandPool);
47 VkResult WINAPI wine_vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice);
48 void WINAPI wine_vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks *pAllocator);
49 void WINAPI wine_vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator);
50 void WINAPI wine_vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator);
51 VkResult WINAPI wine_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties);
52 VkResult WINAPI wine_vkEnumeratePhysicalDeviceGroups(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties);
53 VkResult WINAPI wine_vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance, uint32_t *pPhysicalDeviceGroupCount, VkPhysicalDeviceGroupProperties *pPhysicalDeviceGroupProperties) DECLSPEC_HIDDEN;
54 VkResult WINAPI wine_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices);
55 void WINAPI wine_vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
56 PFN_vkVoidFunction WINAPI wine_vkGetDeviceProcAddr(VkDevice device, const char *pName);
57 void WINAPI wine_vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue);
58 void WINAPI wine_vkGetDeviceQueue2(VkDevice device, const VkDeviceQueueInfo2 *pQueueInfo, VkQueue *pQueue);
59 VkResult WINAPI wine_vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits, VkFence fence);
61 typedef struct VkAcquireNextImageInfoKHR_host
63 VkStructureType sType;
64 const void *pNext;
65 VkSwapchainKHR swapchain;
66 uint64_t timeout;
67 VkSemaphore semaphore;
68 VkFence fence;
69 uint32_t deviceMask;
70 } VkAcquireNextImageInfoKHR_host;
72 typedef struct VkCommandBufferAllocateInfo_host
74 VkStructureType sType;
75 const void *pNext;
76 VkCommandPool commandPool;
77 VkCommandBufferLevel level;
78 uint32_t commandBufferCount;
79 } VkCommandBufferAllocateInfo_host;
81 typedef struct VkDescriptorSetAllocateInfo_host
83 VkStructureType sType;
84 const void *pNext;
85 VkDescriptorPool descriptorPool;
86 uint32_t descriptorSetCount;
87 const VkDescriptorSetLayout *pSetLayouts;
88 } VkDescriptorSetAllocateInfo_host;
90 typedef struct VkMemoryAllocateInfo_host
92 VkStructureType sType;
93 const void *pNext;
94 VkDeviceSize allocationSize;
95 uint32_t memoryTypeIndex;
96 } VkMemoryAllocateInfo_host;
98 typedef struct VkCommandBufferInheritanceInfo_host
100 VkStructureType sType;
101 const void *pNext;
102 VkRenderPass renderPass;
103 uint32_t subpass;
104 VkFramebuffer framebuffer;
105 VkBool32 occlusionQueryEnable;
106 VkQueryControlFlags queryFlags;
107 VkQueryPipelineStatisticFlags pipelineStatistics;
108 } VkCommandBufferInheritanceInfo_host;
110 typedef struct VkCommandBufferBeginInfo_host
112 VkStructureType sType;
113 const void *pNext;
114 VkCommandBufferUsageFlags flags;
115 const VkCommandBufferInheritanceInfo_host *pInheritanceInfo;
116 } VkCommandBufferBeginInfo_host;
118 typedef struct VkBindBufferMemoryInfo_host
120 VkStructureType sType;
121 const void *pNext;
122 VkBuffer buffer;
123 VkDeviceMemory memory;
124 VkDeviceSize memoryOffset;
125 } VkBindBufferMemoryInfo_host;
127 typedef struct VkBindImageMemoryInfo_host
129 VkStructureType sType;
130 const void *pNext;
131 VkImage image;
132 VkDeviceMemory memory;
133 VkDeviceSize memoryOffset;
134 } VkBindImageMemoryInfo_host;
136 typedef struct VkConditionalRenderingBeginInfoEXT_host
138 VkStructureType sType;
139 const void *pNext;
140 VkBuffer buffer;
141 VkDeviceSize offset;
142 VkConditionalRenderingFlagsEXT flags;
143 } VkConditionalRenderingBeginInfoEXT_host;
145 typedef struct VkRenderPassBeginInfo_host
147 VkStructureType sType;
148 const void *pNext;
149 VkRenderPass renderPass;
150 VkFramebuffer framebuffer;
151 VkRect2D renderArea;
152 uint32_t clearValueCount;
153 const VkClearValue *pClearValues;
154 } VkRenderPassBeginInfo_host;
156 typedef struct VkBufferCopy_host
158 VkDeviceSize srcOffset;
159 VkDeviceSize dstOffset;
160 VkDeviceSize size;
161 } VkBufferCopy_host;
163 typedef struct VkBufferImageCopy_host
165 VkDeviceSize bufferOffset;
166 uint32_t bufferRowLength;
167 uint32_t bufferImageHeight;
168 VkImageSubresourceLayers imageSubresource;
169 VkOffset3D imageOffset;
170 VkExtent3D imageExtent;
171 } VkBufferImageCopy_host;
173 typedef struct VkBufferMemoryBarrier_host
175 VkStructureType sType;
176 const void *pNext;
177 VkAccessFlags srcAccessMask;
178 VkAccessFlags dstAccessMask;
179 uint32_t srcQueueFamilyIndex;
180 uint32_t dstQueueFamilyIndex;
181 VkBuffer buffer;
182 VkDeviceSize offset;
183 VkDeviceSize size;
184 } VkBufferMemoryBarrier_host;
186 typedef struct VkImageMemoryBarrier_host
188 VkStructureType sType;
189 const void *pNext;
190 VkAccessFlags srcAccessMask;
191 VkAccessFlags dstAccessMask;
192 VkImageLayout oldLayout;
193 VkImageLayout newLayout;
194 uint32_t srcQueueFamilyIndex;
195 uint32_t dstQueueFamilyIndex;
196 VkImage image;
197 VkImageSubresourceRange subresourceRange;
198 } VkImageMemoryBarrier_host;
200 typedef struct VkDescriptorImageInfo_host
202 VkSampler sampler;
203 VkImageView imageView;
204 VkImageLayout imageLayout;
205 } VkDescriptorImageInfo_host;
207 typedef struct VkDescriptorBufferInfo_host
209 VkBuffer buffer;
210 VkDeviceSize offset;
211 VkDeviceSize range;
212 } VkDescriptorBufferInfo_host;
214 typedef struct VkWriteDescriptorSet_host
216 VkStructureType sType;
217 const void *pNext;
218 VkDescriptorSet dstSet;
219 uint32_t dstBinding;
220 uint32_t dstArrayElement;
221 uint32_t descriptorCount;
222 VkDescriptorType descriptorType;
223 const VkDescriptorImageInfo_host *pImageInfo;
224 const VkDescriptorBufferInfo_host *pBufferInfo;
225 const VkBufferView *pTexelBufferView;
226 } VkWriteDescriptorSet_host;
228 typedef struct VkBufferCreateInfo_host
230 VkStructureType sType;
231 const void *pNext;
232 VkBufferCreateFlags flags;
233 VkDeviceSize size;
234 VkBufferUsageFlags usage;
235 VkSharingMode sharingMode;
236 uint32_t queueFamilyIndexCount;
237 const uint32_t *pQueueFamilyIndices;
238 } VkBufferCreateInfo_host;
240 typedef struct VkBufferViewCreateInfo_host
242 VkStructureType sType;
243 const void *pNext;
244 VkBufferViewCreateFlags flags;
245 VkBuffer buffer;
246 VkFormat format;
247 VkDeviceSize offset;
248 VkDeviceSize range;
249 } VkBufferViewCreateInfo_host;
251 typedef struct VkPipelineShaderStageCreateInfo_host
253 VkStructureType sType;
254 const void *pNext;
255 VkPipelineShaderStageCreateFlags flags;
256 VkShaderStageFlagBits stage;
257 VkShaderModule module;
258 const char *pName;
259 const VkSpecializationInfo *pSpecializationInfo;
260 } VkPipelineShaderStageCreateInfo_host;
262 typedef struct VkComputePipelineCreateInfo_host
264 VkStructureType sType;
265 const void *pNext;
266 VkPipelineCreateFlags flags;
267 VkPipelineShaderStageCreateInfo_host stage;
268 VkPipelineLayout layout;
269 VkPipeline basePipelineHandle;
270 int32_t basePipelineIndex;
271 } VkComputePipelineCreateInfo_host;
273 typedef struct VkDescriptorUpdateTemplateCreateInfo_host
275 VkStructureType sType;
276 void *pNext;
277 VkDescriptorUpdateTemplateCreateFlags flags;
278 uint32_t descriptorUpdateEntryCount;
279 const VkDescriptorUpdateTemplateEntry *pDescriptorUpdateEntries;
280 VkDescriptorUpdateTemplateType templateType;
281 VkDescriptorSetLayout descriptorSetLayout;
282 VkPipelineBindPoint pipelineBindPoint;
283 VkPipelineLayout pipelineLayout;
284 uint32_t set;
285 } VkDescriptorUpdateTemplateCreateInfo_host;
287 typedef struct VkFramebufferCreateInfo_host
289 VkStructureType sType;
290 const void *pNext;
291 VkFramebufferCreateFlags flags;
292 VkRenderPass renderPass;
293 uint32_t attachmentCount;
294 const VkImageView *pAttachments;
295 uint32_t width;
296 uint32_t height;
297 uint32_t layers;
298 } VkFramebufferCreateInfo_host;
300 typedef struct VkGraphicsPipelineCreateInfo_host
302 VkStructureType sType;
303 const void *pNext;
304 VkPipelineCreateFlags flags;
305 uint32_t stageCount;
306 const VkPipelineShaderStageCreateInfo_host *pStages;
307 const VkPipelineVertexInputStateCreateInfo *pVertexInputState;
308 const VkPipelineInputAssemblyStateCreateInfo *pInputAssemblyState;
309 const VkPipelineTessellationStateCreateInfo *pTessellationState;
310 const VkPipelineViewportStateCreateInfo *pViewportState;
311 const VkPipelineRasterizationStateCreateInfo *pRasterizationState;
312 const VkPipelineMultisampleStateCreateInfo *pMultisampleState;
313 const VkPipelineDepthStencilStateCreateInfo *pDepthStencilState;
314 const VkPipelineColorBlendStateCreateInfo *pColorBlendState;
315 const VkPipelineDynamicStateCreateInfo *pDynamicState;
316 VkPipelineLayout layout;
317 VkRenderPass renderPass;
318 uint32_t subpass;
319 VkPipeline basePipelineHandle;
320 int32_t basePipelineIndex;
321 } VkGraphicsPipelineCreateInfo_host;
323 typedef struct VkImageViewCreateInfo_host
325 VkStructureType sType;
326 const void *pNext;
327 VkImageViewCreateFlags flags;
328 VkImage image;
329 VkImageViewType viewType;
330 VkFormat format;
331 VkComponentMapping components;
332 VkImageSubresourceRange subresourceRange;
333 } VkImageViewCreateInfo_host;
335 typedef struct VkSwapchainCreateInfoKHR_host
337 VkStructureType sType;
338 const void *pNext;
339 VkSwapchainCreateFlagsKHR flags;
340 VkSurfaceKHR surface;
341 uint32_t minImageCount;
342 VkFormat imageFormat;
343 VkColorSpaceKHR imageColorSpace;
344 VkExtent2D imageExtent;
345 uint32_t imageArrayLayers;
346 VkImageUsageFlags imageUsage;
347 VkSharingMode imageSharingMode;
348 uint32_t queueFamilyIndexCount;
349 const uint32_t *pQueueFamilyIndices;
350 VkSurfaceTransformFlagBitsKHR preTransform;
351 VkCompositeAlphaFlagBitsKHR compositeAlpha;
352 VkPresentModeKHR presentMode;
353 VkBool32 clipped;
354 VkSwapchainKHR oldSwapchain;
355 } VkSwapchainCreateInfoKHR_host;
357 typedef struct VkMappedMemoryRange_host
359 VkStructureType sType;
360 const void *pNext;
361 VkDeviceMemory memory;
362 VkDeviceSize offset;
363 VkDeviceSize size;
364 } VkMappedMemoryRange_host;
366 typedef struct VkMemoryRequirements_host
368 VkDeviceSize size;
369 VkDeviceSize alignment;
370 uint32_t memoryTypeBits;
371 } VkMemoryRequirements_host;
373 typedef struct VkBufferMemoryRequirementsInfo2_host
375 VkStructureType sType;
376 const void *pNext;
377 VkBuffer buffer;
378 } VkBufferMemoryRequirementsInfo2_host;
380 typedef struct VkMemoryRequirements2_host
382 VkStructureType sType;
383 void *pNext;
384 VkMemoryRequirements_host memoryRequirements;
385 } VkMemoryRequirements2_host;
387 typedef struct VkImageMemoryRequirementsInfo2_host
389 VkStructureType sType;
390 const void *pNext;
391 VkImage image;
392 } VkImageMemoryRequirementsInfo2_host;
394 typedef struct VkImageSparseMemoryRequirementsInfo2_host
396 VkStructureType sType;
397 const void *pNext;
398 VkImage image;
399 } VkImageSparseMemoryRequirementsInfo2_host;
401 typedef struct VkSubresourceLayout_host
403 VkDeviceSize offset;
404 VkDeviceSize size;
405 VkDeviceSize rowPitch;
406 VkDeviceSize arrayPitch;
407 VkDeviceSize depthPitch;
408 } VkSubresourceLayout_host;
410 typedef struct VkImageFormatProperties_host
412 VkExtent3D maxExtent;
413 uint32_t maxMipLevels;
414 uint32_t maxArrayLayers;
415 VkSampleCountFlags sampleCounts;
416 VkDeviceSize maxResourceSize;
417 } VkImageFormatProperties_host;
419 typedef struct VkImageFormatProperties2_host
421 VkStructureType sType;
422 void *pNext;
423 VkImageFormatProperties_host imageFormatProperties;
424 } VkImageFormatProperties2_host;
426 typedef struct VkMemoryHeap_host
428 VkDeviceSize size;
429 VkMemoryHeapFlags flags;
430 } VkMemoryHeap_host;
432 typedef struct VkPhysicalDeviceMemoryProperties_host
434 uint32_t memoryTypeCount;
435 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
436 uint32_t memoryHeapCount;
437 VkMemoryHeap_host memoryHeaps[VK_MAX_MEMORY_HEAPS];
438 } VkPhysicalDeviceMemoryProperties_host;
440 typedef struct VkPhysicalDeviceMemoryProperties2_host
442 VkStructureType sType;
443 void *pNext;
444 VkPhysicalDeviceMemoryProperties_host memoryProperties;
445 } VkPhysicalDeviceMemoryProperties2_host;
447 typedef struct VkPhysicalDeviceLimits_host
449 uint32_t maxImageDimension1D;
450 uint32_t maxImageDimension2D;
451 uint32_t maxImageDimension3D;
452 uint32_t maxImageDimensionCube;
453 uint32_t maxImageArrayLayers;
454 uint32_t maxTexelBufferElements;
455 uint32_t maxUniformBufferRange;
456 uint32_t maxStorageBufferRange;
457 uint32_t maxPushConstantsSize;
458 uint32_t maxMemoryAllocationCount;
459 uint32_t maxSamplerAllocationCount;
460 VkDeviceSize bufferImageGranularity;
461 VkDeviceSize sparseAddressSpaceSize;
462 uint32_t maxBoundDescriptorSets;
463 uint32_t maxPerStageDescriptorSamplers;
464 uint32_t maxPerStageDescriptorUniformBuffers;
465 uint32_t maxPerStageDescriptorStorageBuffers;
466 uint32_t maxPerStageDescriptorSampledImages;
467 uint32_t maxPerStageDescriptorStorageImages;
468 uint32_t maxPerStageDescriptorInputAttachments;
469 uint32_t maxPerStageResources;
470 uint32_t maxDescriptorSetSamplers;
471 uint32_t maxDescriptorSetUniformBuffers;
472 uint32_t maxDescriptorSetUniformBuffersDynamic;
473 uint32_t maxDescriptorSetStorageBuffers;
474 uint32_t maxDescriptorSetStorageBuffersDynamic;
475 uint32_t maxDescriptorSetSampledImages;
476 uint32_t maxDescriptorSetStorageImages;
477 uint32_t maxDescriptorSetInputAttachments;
478 uint32_t maxVertexInputAttributes;
479 uint32_t maxVertexInputBindings;
480 uint32_t maxVertexInputAttributeOffset;
481 uint32_t maxVertexInputBindingStride;
482 uint32_t maxVertexOutputComponents;
483 uint32_t maxTessellationGenerationLevel;
484 uint32_t maxTessellationPatchSize;
485 uint32_t maxTessellationControlPerVertexInputComponents;
486 uint32_t maxTessellationControlPerVertexOutputComponents;
487 uint32_t maxTessellationControlPerPatchOutputComponents;
488 uint32_t maxTessellationControlTotalOutputComponents;
489 uint32_t maxTessellationEvaluationInputComponents;
490 uint32_t maxTessellationEvaluationOutputComponents;
491 uint32_t maxGeometryShaderInvocations;
492 uint32_t maxGeometryInputComponents;
493 uint32_t maxGeometryOutputComponents;
494 uint32_t maxGeometryOutputVertices;
495 uint32_t maxGeometryTotalOutputComponents;
496 uint32_t maxFragmentInputComponents;
497 uint32_t maxFragmentOutputAttachments;
498 uint32_t maxFragmentDualSrcAttachments;
499 uint32_t maxFragmentCombinedOutputResources;
500 uint32_t maxComputeSharedMemorySize;
501 uint32_t maxComputeWorkGroupCount[3];
502 uint32_t maxComputeWorkGroupInvocations;
503 uint32_t maxComputeWorkGroupSize[3];
504 uint32_t subPixelPrecisionBits;
505 uint32_t subTexelPrecisionBits;
506 uint32_t mipmapPrecisionBits;
507 uint32_t maxDrawIndexedIndexValue;
508 uint32_t maxDrawIndirectCount;
509 float maxSamplerLodBias;
510 float maxSamplerAnisotropy;
511 uint32_t maxViewports;
512 uint32_t maxViewportDimensions[2];
513 float viewportBoundsRange[2];
514 uint32_t viewportSubPixelBits;
515 size_t minMemoryMapAlignment;
516 VkDeviceSize minTexelBufferOffsetAlignment;
517 VkDeviceSize minUniformBufferOffsetAlignment;
518 VkDeviceSize minStorageBufferOffsetAlignment;
519 int32_t minTexelOffset;
520 uint32_t maxTexelOffset;
521 int32_t minTexelGatherOffset;
522 uint32_t maxTexelGatherOffset;
523 float minInterpolationOffset;
524 float maxInterpolationOffset;
525 uint32_t subPixelInterpolationOffsetBits;
526 uint32_t maxFramebufferWidth;
527 uint32_t maxFramebufferHeight;
528 uint32_t maxFramebufferLayers;
529 VkSampleCountFlags framebufferColorSampleCounts;
530 VkSampleCountFlags framebufferDepthSampleCounts;
531 VkSampleCountFlags framebufferStencilSampleCounts;
532 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
533 uint32_t maxColorAttachments;
534 VkSampleCountFlags sampledImageColorSampleCounts;
535 VkSampleCountFlags sampledImageIntegerSampleCounts;
536 VkSampleCountFlags sampledImageDepthSampleCounts;
537 VkSampleCountFlags sampledImageStencilSampleCounts;
538 VkSampleCountFlags storageImageSampleCounts;
539 uint32_t maxSampleMaskWords;
540 VkBool32 timestampComputeAndGraphics;
541 float timestampPeriod;
542 uint32_t maxClipDistances;
543 uint32_t maxCullDistances;
544 uint32_t maxCombinedClipAndCullDistances;
545 uint32_t discreteQueuePriorities;
546 float pointSizeRange[2];
547 float lineWidthRange[2];
548 float pointSizeGranularity;
549 float lineWidthGranularity;
550 VkBool32 strictLines;
551 VkBool32 standardSampleLocations;
552 VkDeviceSize optimalBufferCopyOffsetAlignment;
553 VkDeviceSize optimalBufferCopyRowPitchAlignment;
554 VkDeviceSize nonCoherentAtomSize;
555 } VkPhysicalDeviceLimits_host;
557 typedef struct VkPhysicalDeviceProperties_host
559 uint32_t apiVersion;
560 uint32_t driverVersion;
561 uint32_t vendorID;
562 uint32_t deviceID;
563 VkPhysicalDeviceType deviceType;
564 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
565 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
566 VkPhysicalDeviceLimits_host limits;
567 VkPhysicalDeviceSparseProperties sparseProperties;
568 } VkPhysicalDeviceProperties_host;
570 typedef struct VkPhysicalDeviceProperties2_host
572 VkStructureType sType;
573 void *pNext;
574 VkPhysicalDeviceProperties_host properties;
575 } VkPhysicalDeviceProperties2_host;
577 typedef struct VkSparseMemoryBind_host
579 VkDeviceSize resourceOffset;
580 VkDeviceSize size;
581 VkDeviceMemory memory;
582 VkDeviceSize memoryOffset;
583 VkSparseMemoryBindFlags flags;
584 } VkSparseMemoryBind_host;
586 typedef struct VkSparseBufferMemoryBindInfo_host
588 VkBuffer buffer;
589 uint32_t bindCount;
590 const VkSparseMemoryBind_host *pBinds;
591 } VkSparseBufferMemoryBindInfo_host;
593 typedef struct VkSparseImageOpaqueMemoryBindInfo_host
595 VkImage image;
596 uint32_t bindCount;
597 const VkSparseMemoryBind_host *pBinds;
598 } VkSparseImageOpaqueMemoryBindInfo_host;
600 typedef struct VkSparseImageMemoryBind_host
602 VkImageSubresource subresource;
603 VkOffset3D offset;
604 VkExtent3D extent;
605 VkDeviceMemory memory;
606 VkDeviceSize memoryOffset;
607 VkSparseMemoryBindFlags flags;
608 } VkSparseImageMemoryBind_host;
610 typedef struct VkSparseImageMemoryBindInfo_host
612 VkImage image;
613 uint32_t bindCount;
614 const VkSparseImageMemoryBind_host *pBinds;
615 } VkSparseImageMemoryBindInfo_host;
617 typedef struct VkBindSparseInfo_host
619 VkStructureType sType;
620 const void *pNext;
621 uint32_t waitSemaphoreCount;
622 const VkSemaphore *pWaitSemaphores;
623 uint32_t bufferBindCount;
624 const VkSparseBufferMemoryBindInfo_host *pBufferBinds;
625 uint32_t imageOpaqueBindCount;
626 const VkSparseImageOpaqueMemoryBindInfo_host *pImageOpaqueBinds;
627 uint32_t imageBindCount;
628 const VkSparseImageMemoryBindInfo_host *pImageBinds;
629 uint32_t signalSemaphoreCount;
630 const VkSemaphore *pSignalSemaphores;
631 } VkBindSparseInfo_host;
633 typedef struct VkCopyDescriptorSet_host
635 VkStructureType sType;
636 const void *pNext;
637 VkDescriptorSet srcSet;
638 uint32_t srcBinding;
639 uint32_t srcArrayElement;
640 VkDescriptorSet dstSet;
641 uint32_t dstBinding;
642 uint32_t dstArrayElement;
643 uint32_t descriptorCount;
644 } VkCopyDescriptorSet_host;
647 /* For use by vkDevice and children */
648 struct vulkan_device_funcs
650 #if defined(USE_STRUCT_CONVERSION)
651 VkResult (*p_vkAcquireNextImage2KHR)(VkDevice, const VkAcquireNextImageInfoKHR_host *, uint32_t *);
652 #else
653 VkResult (*p_vkAcquireNextImage2KHR)(VkDevice, const VkAcquireNextImageInfoKHR *, uint32_t *);
654 #endif
655 VkResult (*p_vkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
656 #if defined(USE_STRUCT_CONVERSION)
657 VkResult (*p_vkAllocateCommandBuffers)(VkDevice, const VkCommandBufferAllocateInfo_host *, VkCommandBuffer *);
658 #else
659 VkResult (*p_vkAllocateCommandBuffers)(VkDevice, const VkCommandBufferAllocateInfo *, VkCommandBuffer *);
660 #endif
661 #if defined(USE_STRUCT_CONVERSION)
662 VkResult (*p_vkAllocateDescriptorSets)(VkDevice, const VkDescriptorSetAllocateInfo_host *, VkDescriptorSet *);
663 #else
664 VkResult (*p_vkAllocateDescriptorSets)(VkDevice, const VkDescriptorSetAllocateInfo *, VkDescriptorSet *);
665 #endif
666 #if defined(USE_STRUCT_CONVERSION)
667 VkResult (*p_vkAllocateMemory)(VkDevice, const VkMemoryAllocateInfo_host *, const VkAllocationCallbacks *, VkDeviceMemory *);
668 #else
669 VkResult (*p_vkAllocateMemory)(VkDevice, const VkMemoryAllocateInfo *, const VkAllocationCallbacks *, VkDeviceMemory *);
670 #endif
671 #if defined(USE_STRUCT_CONVERSION)
672 VkResult (*p_vkBeginCommandBuffer)(VkCommandBuffer, const VkCommandBufferBeginInfo_host *);
673 #else
674 VkResult (*p_vkBeginCommandBuffer)(VkCommandBuffer, const VkCommandBufferBeginInfo *);
675 #endif
676 VkResult (*p_vkBindBufferMemory)(VkDevice, VkBuffer, VkDeviceMemory, VkDeviceSize);
677 #if defined(USE_STRUCT_CONVERSION)
678 VkResult (*p_vkBindBufferMemory2)(VkDevice, uint32_t, const VkBindBufferMemoryInfo_host *);
679 #else
680 VkResult (*p_vkBindBufferMemory2)(VkDevice, uint32_t, const VkBindBufferMemoryInfo *);
681 #endif
682 #if defined(USE_STRUCT_CONVERSION)
683 VkResult (*p_vkBindBufferMemory2KHR)(VkDevice, uint32_t, const VkBindBufferMemoryInfo_host *);
684 #else
685 VkResult (*p_vkBindBufferMemory2KHR)(VkDevice, uint32_t, const VkBindBufferMemoryInfo *);
686 #endif
687 VkResult (*p_vkBindImageMemory)(VkDevice, VkImage, VkDeviceMemory, VkDeviceSize);
688 #if defined(USE_STRUCT_CONVERSION)
689 VkResult (*p_vkBindImageMemory2)(VkDevice, uint32_t, const VkBindImageMemoryInfo_host *);
690 #else
691 VkResult (*p_vkBindImageMemory2)(VkDevice, uint32_t, const VkBindImageMemoryInfo *);
692 #endif
693 #if defined(USE_STRUCT_CONVERSION)
694 VkResult (*p_vkBindImageMemory2KHR)(VkDevice, uint32_t, const VkBindImageMemoryInfo_host *);
695 #else
696 VkResult (*p_vkBindImageMemory2KHR)(VkDevice, uint32_t, const VkBindImageMemoryInfo *);
697 #endif
698 #if defined(USE_STRUCT_CONVERSION)
699 void (*p_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer, const VkConditionalRenderingBeginInfoEXT_host *);
700 #else
701 void (*p_vkCmdBeginConditionalRenderingEXT)(VkCommandBuffer, const VkConditionalRenderingBeginInfoEXT *);
702 #endif
703 void (*p_vkCmdBeginQuery)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags);
704 void (*p_vkCmdBeginQueryIndexedEXT)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags, uint32_t);
705 #if defined(USE_STRUCT_CONVERSION)
706 void (*p_vkCmdBeginRenderPass)(VkCommandBuffer, const VkRenderPassBeginInfo_host *, VkSubpassContents);
707 #else
708 void (*p_vkCmdBeginRenderPass)(VkCommandBuffer, const VkRenderPassBeginInfo *, VkSubpassContents);
709 #endif
710 #if defined(USE_STRUCT_CONVERSION)
711 void (*p_vkCmdBeginRenderPass2KHR)(VkCommandBuffer, const VkRenderPassBeginInfo_host *, const VkSubpassBeginInfoKHR *);
712 #else
713 void (*p_vkCmdBeginRenderPass2KHR)(VkCommandBuffer, const VkRenderPassBeginInfo *, const VkSubpassBeginInfoKHR *);
714 #endif
715 void (*p_vkCmdBeginTransformFeedbackEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
716 void (*p_vkCmdBindDescriptorSets)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkDescriptorSet *, uint32_t, const uint32_t *);
717 void (*p_vkCmdBindIndexBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkIndexType);
718 void (*p_vkCmdBindPipeline)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline);
719 void (*p_vkCmdBindShadingRateImageNV)(VkCommandBuffer, VkImageView, VkImageLayout);
720 void (*p_vkCmdBindTransformFeedbackBuffersEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *, const VkDeviceSize *);
721 void (*p_vkCmdBindVertexBuffers)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
722 void (*p_vkCmdBlitImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageBlit *, VkFilter);
723 void (*p_vkCmdClearAttachments)(VkCommandBuffer, uint32_t, const VkClearAttachment *, uint32_t, const VkClearRect *);
724 void (*p_vkCmdClearColorImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearColorValue *, uint32_t, const VkImageSubresourceRange *);
725 void (*p_vkCmdClearDepthStencilImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearDepthStencilValue *, uint32_t, const VkImageSubresourceRange *);
726 #if defined(USE_STRUCT_CONVERSION)
727 void (*p_vkCmdCopyBuffer)(VkCommandBuffer, VkBuffer, VkBuffer, uint32_t, const VkBufferCopy_host *);
728 #else
729 void (*p_vkCmdCopyBuffer)(VkCommandBuffer, VkBuffer, VkBuffer, uint32_t, const VkBufferCopy *);
730 #endif
731 #if defined(USE_STRUCT_CONVERSION)
732 void (*p_vkCmdCopyBufferToImage)(VkCommandBuffer, VkBuffer, VkImage, VkImageLayout, uint32_t, const VkBufferImageCopy_host *);
733 #else
734 void (*p_vkCmdCopyBufferToImage)(VkCommandBuffer, VkBuffer, VkImage, VkImageLayout, uint32_t, const VkBufferImageCopy *);
735 #endif
736 void (*p_vkCmdCopyImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageCopy *);
737 #if defined(USE_STRUCT_CONVERSION)
738 void (*p_vkCmdCopyImageToBuffer)(VkCommandBuffer, VkImage, VkImageLayout, VkBuffer, uint32_t, const VkBufferImageCopy_host *);
739 #else
740 void (*p_vkCmdCopyImageToBuffer)(VkCommandBuffer, VkImage, VkImageLayout, VkBuffer, uint32_t, const VkBufferImageCopy *);
741 #endif
742 void (*p_vkCmdCopyQueryPoolResults)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t, VkBuffer, VkDeviceSize, VkDeviceSize, VkQueryResultFlags);
743 void (*p_vkCmdDispatch)(VkCommandBuffer, uint32_t, uint32_t, uint32_t);
744 void (*p_vkCmdDispatchBase)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
745 void (*p_vkCmdDispatchBaseKHR)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t);
746 void (*p_vkCmdDispatchIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize);
747 void (*p_vkCmdDraw)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t);
748 void (*p_vkCmdDrawIndexed)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
749 void (*p_vkCmdDrawIndexedIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
750 void (*p_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
751 void (*p_vkCmdDrawIndexedIndirectCountKHR)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
752 void (*p_vkCmdDrawIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
753 void (*p_vkCmdDrawIndirectByteCountEXT)(VkCommandBuffer, uint32_t, uint32_t, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
754 void (*p_vkCmdDrawIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
755 void (*p_vkCmdDrawIndirectCountKHR)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
756 void (*p_vkCmdDrawMeshTasksIndirectCountNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
757 void (*p_vkCmdDrawMeshTasksIndirectNV)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
758 void (*p_vkCmdDrawMeshTasksNV)(VkCommandBuffer, uint32_t, uint32_t);
759 void (*p_vkCmdEndConditionalRenderingEXT)(VkCommandBuffer);
760 void (*p_vkCmdEndQuery)(VkCommandBuffer, VkQueryPool, uint32_t);
761 void (*p_vkCmdEndQueryIndexedEXT)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t);
762 void (*p_vkCmdEndRenderPass)(VkCommandBuffer);
763 void (*p_vkCmdEndRenderPass2KHR)(VkCommandBuffer, const VkSubpassEndInfoKHR *);
764 void (*p_vkCmdEndTransformFeedbackEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
765 void (*p_vkCmdExecuteCommands)(VkCommandBuffer, uint32_t, const VkCommandBuffer *);
766 void (*p_vkCmdFillBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t);
767 void (*p_vkCmdNextSubpass)(VkCommandBuffer, VkSubpassContents);
768 void (*p_vkCmdNextSubpass2KHR)(VkCommandBuffer, const VkSubpassBeginInfoKHR *, const VkSubpassEndInfoKHR *);
769 #if defined(USE_STRUCT_CONVERSION)
770 void (*p_vkCmdPipelineBarrier)(VkCommandBuffer, VkPipelineStageFlags, VkPipelineStageFlags, VkDependencyFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier_host *, uint32_t, const VkImageMemoryBarrier_host *);
771 #else
772 void (*p_vkCmdPipelineBarrier)(VkCommandBuffer, VkPipelineStageFlags, VkPipelineStageFlags, VkDependencyFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
773 #endif
774 void (*p_vkCmdPushConstants)(VkCommandBuffer, VkPipelineLayout, VkShaderStageFlags, uint32_t, uint32_t, const void *);
775 #if defined(USE_STRUCT_CONVERSION)
776 void (*p_vkCmdPushDescriptorSetKHR)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkWriteDescriptorSet_host *);
777 #else
778 void (*p_vkCmdPushDescriptorSetKHR)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkWriteDescriptorSet *);
779 #endif
780 void (*p_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer, VkDescriptorUpdateTemplate, VkPipelineLayout, uint32_t, const void *);
781 void (*p_vkCmdResetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
782 void (*p_vkCmdResetQueryPool)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t);
783 void (*p_vkCmdResolveImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageResolve *);
784 void (*p_vkCmdSetBlendConstants)(VkCommandBuffer, const float[4]);
785 void (*p_vkCmdSetCheckpointNV)(VkCommandBuffer, const void *);
786 void (*p_vkCmdSetCoarseSampleOrderNV)(VkCommandBuffer, VkCoarseSampleOrderTypeNV, uint32_t, const VkCoarseSampleOrderCustomNV *);
787 void (*p_vkCmdSetDepthBias)(VkCommandBuffer, float, float, float);
788 void (*p_vkCmdSetDepthBounds)(VkCommandBuffer, float, float);
789 void (*p_vkCmdSetDeviceMask)(VkCommandBuffer, uint32_t);
790 void (*p_vkCmdSetDeviceMaskKHR)(VkCommandBuffer, uint32_t);
791 void (*p_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
792 void (*p_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
793 void (*p_vkCmdSetExclusiveScissorNV)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
794 void (*p_vkCmdSetLineWidth)(VkCommandBuffer, float);
795 void (*p_vkCmdSetSampleLocationsEXT)(VkCommandBuffer, const VkSampleLocationsInfoEXT *);
796 void (*p_vkCmdSetScissor)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
797 void (*p_vkCmdSetStencilCompareMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
798 void (*p_vkCmdSetStencilReference)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
799 void (*p_vkCmdSetStencilWriteMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
800 void (*p_vkCmdSetViewport)(VkCommandBuffer, uint32_t, uint32_t, const VkViewport *);
801 void (*p_vkCmdSetViewportShadingRatePaletteNV)(VkCommandBuffer, uint32_t, uint32_t, const VkShadingRatePaletteNV *);
802 void (*p_vkCmdSetViewportWScalingNV)(VkCommandBuffer, uint32_t, uint32_t, const VkViewportWScalingNV *);
803 void (*p_vkCmdUpdateBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, const void *);
804 #if defined(USE_STRUCT_CONVERSION)
805 void (*p_vkCmdWaitEvents)(VkCommandBuffer, uint32_t, const VkEvent *, VkPipelineStageFlags, VkPipelineStageFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier_host *, uint32_t, const VkImageMemoryBarrier_host *);
806 #else
807 void (*p_vkCmdWaitEvents)(VkCommandBuffer, uint32_t, const VkEvent *, VkPipelineStageFlags, VkPipelineStageFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
808 #endif
809 void (*p_vkCmdWriteBufferMarkerAMD)(VkCommandBuffer, VkPipelineStageFlagBits, VkBuffer, VkDeviceSize, uint32_t);
810 void (*p_vkCmdWriteTimestamp)(VkCommandBuffer, VkPipelineStageFlagBits, VkQueryPool, uint32_t);
811 #if defined(USE_STRUCT_CONVERSION)
812 VkResult (*p_vkCreateBuffer)(VkDevice, const VkBufferCreateInfo_host *, const VkAllocationCallbacks *, VkBuffer *);
813 #else
814 VkResult (*p_vkCreateBuffer)(VkDevice, const VkBufferCreateInfo *, const VkAllocationCallbacks *, VkBuffer *);
815 #endif
816 #if defined(USE_STRUCT_CONVERSION)
817 VkResult (*p_vkCreateBufferView)(VkDevice, const VkBufferViewCreateInfo_host *, const VkAllocationCallbacks *, VkBufferView *);
818 #else
819 VkResult (*p_vkCreateBufferView)(VkDevice, const VkBufferViewCreateInfo *, const VkAllocationCallbacks *, VkBufferView *);
820 #endif
821 VkResult (*p_vkCreateCommandPool)(VkDevice, const VkCommandPoolCreateInfo *, const VkAllocationCallbacks *, VkCommandPool *);
822 #if defined(USE_STRUCT_CONVERSION)
823 VkResult (*p_vkCreateComputePipelines)(VkDevice, VkPipelineCache, uint32_t, const VkComputePipelineCreateInfo_host *, const VkAllocationCallbacks *, VkPipeline *);
824 #else
825 VkResult (*p_vkCreateComputePipelines)(VkDevice, VkPipelineCache, uint32_t, const VkComputePipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
826 #endif
827 VkResult (*p_vkCreateDescriptorPool)(VkDevice, const VkDescriptorPoolCreateInfo *, const VkAllocationCallbacks *, VkDescriptorPool *);
828 VkResult (*p_vkCreateDescriptorSetLayout)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, const VkAllocationCallbacks *, VkDescriptorSetLayout *);
829 #if defined(USE_STRUCT_CONVERSION)
830 VkResult (*p_vkCreateDescriptorUpdateTemplate)(VkDevice, const VkDescriptorUpdateTemplateCreateInfo_host *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplate *);
831 #else
832 VkResult (*p_vkCreateDescriptorUpdateTemplate)(VkDevice, const VkDescriptorUpdateTemplateCreateInfo *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplate *);
833 #endif
834 #if defined(USE_STRUCT_CONVERSION)
835 VkResult (*p_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfo_host *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplate *);
836 #else
837 VkResult (*p_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfo *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplate *);
838 #endif
839 VkResult (*p_vkCreateEvent)(VkDevice, const VkEventCreateInfo *, const VkAllocationCallbacks *, VkEvent *);
840 VkResult (*p_vkCreateFence)(VkDevice, const VkFenceCreateInfo *, const VkAllocationCallbacks *, VkFence *);
841 #if defined(USE_STRUCT_CONVERSION)
842 VkResult (*p_vkCreateFramebuffer)(VkDevice, const VkFramebufferCreateInfo_host *, const VkAllocationCallbacks *, VkFramebuffer *);
843 #else
844 VkResult (*p_vkCreateFramebuffer)(VkDevice, const VkFramebufferCreateInfo *, const VkAllocationCallbacks *, VkFramebuffer *);
845 #endif
846 #if defined(USE_STRUCT_CONVERSION)
847 VkResult (*p_vkCreateGraphicsPipelines)(VkDevice, VkPipelineCache, uint32_t, const VkGraphicsPipelineCreateInfo_host *, const VkAllocationCallbacks *, VkPipeline *);
848 #else
849 VkResult (*p_vkCreateGraphicsPipelines)(VkDevice, VkPipelineCache, uint32_t, const VkGraphicsPipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
850 #endif
851 VkResult (*p_vkCreateImage)(VkDevice, const VkImageCreateInfo *, const VkAllocationCallbacks *, VkImage *);
852 #if defined(USE_STRUCT_CONVERSION)
853 VkResult (*p_vkCreateImageView)(VkDevice, const VkImageViewCreateInfo_host *, const VkAllocationCallbacks *, VkImageView *);
854 #else
855 VkResult (*p_vkCreateImageView)(VkDevice, const VkImageViewCreateInfo *, const VkAllocationCallbacks *, VkImageView *);
856 #endif
857 VkResult (*p_vkCreatePipelineCache)(VkDevice, const VkPipelineCacheCreateInfo *, const VkAllocationCallbacks *, VkPipelineCache *);
858 VkResult (*p_vkCreatePipelineLayout)(VkDevice, const VkPipelineLayoutCreateInfo *, const VkAllocationCallbacks *, VkPipelineLayout *);
859 VkResult (*p_vkCreateQueryPool)(VkDevice, const VkQueryPoolCreateInfo *, const VkAllocationCallbacks *, VkQueryPool *);
860 VkResult (*p_vkCreateRenderPass)(VkDevice, const VkRenderPassCreateInfo *, const VkAllocationCallbacks *, VkRenderPass *);
861 VkResult (*p_vkCreateRenderPass2KHR)(VkDevice, const VkRenderPassCreateInfo2KHR *, const VkAllocationCallbacks *, VkRenderPass *);
862 VkResult (*p_vkCreateSampler)(VkDevice, const VkSamplerCreateInfo *, const VkAllocationCallbacks *, VkSampler *);
863 VkResult (*p_vkCreateSamplerYcbcrConversion)(VkDevice, const VkSamplerYcbcrConversionCreateInfo *, const VkAllocationCallbacks *, VkSamplerYcbcrConversion *);
864 VkResult (*p_vkCreateSamplerYcbcrConversionKHR)(VkDevice, const VkSamplerYcbcrConversionCreateInfo *, const VkAllocationCallbacks *, VkSamplerYcbcrConversion *);
865 VkResult (*p_vkCreateSemaphore)(VkDevice, const VkSemaphoreCreateInfo *, const VkAllocationCallbacks *, VkSemaphore *);
866 VkResult (*p_vkCreateShaderModule)(VkDevice, const VkShaderModuleCreateInfo *, const VkAllocationCallbacks *, VkShaderModule *);
867 #if defined(USE_STRUCT_CONVERSION)
868 VkResult (*p_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR_host *, const VkAllocationCallbacks *, VkSwapchainKHR *);
869 #else
870 VkResult (*p_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
871 #endif
872 VkResult (*p_vkCreateValidationCacheEXT)(VkDevice, const VkValidationCacheCreateInfoEXT *, const VkAllocationCallbacks *, VkValidationCacheEXT *);
873 void (*p_vkDestroyBuffer)(VkDevice, VkBuffer, const VkAllocationCallbacks *);
874 void (*p_vkDestroyBufferView)(VkDevice, VkBufferView, const VkAllocationCallbacks *);
875 void (*p_vkDestroyCommandPool)(VkDevice, VkCommandPool, const VkAllocationCallbacks *);
876 void (*p_vkDestroyDescriptorPool)(VkDevice, VkDescriptorPool, const VkAllocationCallbacks *);
877 void (*p_vkDestroyDescriptorSetLayout)(VkDevice, VkDescriptorSetLayout, const VkAllocationCallbacks *);
878 void (*p_vkDestroyDescriptorUpdateTemplate)(VkDevice, VkDescriptorUpdateTemplate, const VkAllocationCallbacks *);
879 void (*p_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice, VkDescriptorUpdateTemplate, const VkAllocationCallbacks *);
880 void (*p_vkDestroyDevice)(VkDevice, const VkAllocationCallbacks *);
881 void (*p_vkDestroyEvent)(VkDevice, VkEvent, const VkAllocationCallbacks *);
882 void (*p_vkDestroyFence)(VkDevice, VkFence, const VkAllocationCallbacks *);
883 void (*p_vkDestroyFramebuffer)(VkDevice, VkFramebuffer, const VkAllocationCallbacks *);
884 void (*p_vkDestroyImage)(VkDevice, VkImage, const VkAllocationCallbacks *);
885 void (*p_vkDestroyImageView)(VkDevice, VkImageView, const VkAllocationCallbacks *);
886 void (*p_vkDestroyPipeline)(VkDevice, VkPipeline, const VkAllocationCallbacks *);
887 void (*p_vkDestroyPipelineCache)(VkDevice, VkPipelineCache, const VkAllocationCallbacks *);
888 void (*p_vkDestroyPipelineLayout)(VkDevice, VkPipelineLayout, const VkAllocationCallbacks *);
889 void (*p_vkDestroyQueryPool)(VkDevice, VkQueryPool, const VkAllocationCallbacks *);
890 void (*p_vkDestroyRenderPass)(VkDevice, VkRenderPass, const VkAllocationCallbacks *);
891 void (*p_vkDestroySampler)(VkDevice, VkSampler, const VkAllocationCallbacks *);
892 void (*p_vkDestroySamplerYcbcrConversion)(VkDevice, VkSamplerYcbcrConversion, const VkAllocationCallbacks *);
893 void (*p_vkDestroySamplerYcbcrConversionKHR)(VkDevice, VkSamplerYcbcrConversion, const VkAllocationCallbacks *);
894 void (*p_vkDestroySemaphore)(VkDevice, VkSemaphore, const VkAllocationCallbacks *);
895 void (*p_vkDestroyShaderModule)(VkDevice, VkShaderModule, const VkAllocationCallbacks *);
896 void (*p_vkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
897 void (*p_vkDestroyValidationCacheEXT)(VkDevice, VkValidationCacheEXT, const VkAllocationCallbacks *);
898 VkResult (*p_vkDeviceWaitIdle)(VkDevice);
899 VkResult (*p_vkEndCommandBuffer)(VkCommandBuffer);
900 #if defined(USE_STRUCT_CONVERSION)
901 VkResult (*p_vkFlushMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange_host *);
902 #else
903 VkResult (*p_vkFlushMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange *);
904 #endif
905 void (*p_vkFreeCommandBuffers)(VkDevice, VkCommandPool, uint32_t, const VkCommandBuffer *);
906 VkResult (*p_vkFreeDescriptorSets)(VkDevice, VkDescriptorPool, uint32_t, const VkDescriptorSet *);
907 void (*p_vkFreeMemory)(VkDevice, VkDeviceMemory, const VkAllocationCallbacks *);
908 #if defined(USE_STRUCT_CONVERSION)
909 void (*p_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements_host *);
910 #else
911 void (*p_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements *);
912 #endif
913 #if defined(USE_STRUCT_CONVERSION)
914 void (*p_vkGetBufferMemoryRequirements2)(VkDevice, const VkBufferMemoryRequirementsInfo2_host *, VkMemoryRequirements2_host *);
915 #else
916 void (*p_vkGetBufferMemoryRequirements2)(VkDevice, const VkBufferMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
917 #endif
918 #if defined(USE_STRUCT_CONVERSION)
919 void (*p_vkGetBufferMemoryRequirements2KHR)(VkDevice, const VkBufferMemoryRequirementsInfo2_host *, VkMemoryRequirements2_host *);
920 #else
921 void (*p_vkGetBufferMemoryRequirements2KHR)(VkDevice, const VkBufferMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
922 #endif
923 void (*p_vkGetDescriptorSetLayoutSupport)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
924 void (*p_vkGetDescriptorSetLayoutSupportKHR)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, VkDescriptorSetLayoutSupport *);
925 void (*p_vkGetDeviceGroupPeerMemoryFeatures)(VkDevice, uint32_t, uint32_t, uint32_t, VkPeerMemoryFeatureFlags *);
926 void (*p_vkGetDeviceGroupPeerMemoryFeaturesKHR)(VkDevice, uint32_t, uint32_t, uint32_t, VkPeerMemoryFeatureFlags *);
927 VkResult (*p_vkGetDeviceGroupPresentCapabilitiesKHR)(VkDevice, VkDeviceGroupPresentCapabilitiesKHR *);
928 VkResult (*p_vkGetDeviceGroupSurfacePresentModesKHR)(VkDevice, VkSurfaceKHR, VkDeviceGroupPresentModeFlagsKHR *);
929 void (*p_vkGetDeviceMemoryCommitment)(VkDevice, VkDeviceMemory, VkDeviceSize *);
930 void (*p_vkGetDeviceQueue)(VkDevice, uint32_t, uint32_t, VkQueue *);
931 void (*p_vkGetDeviceQueue2)(VkDevice, const VkDeviceQueueInfo2 *, VkQueue *);
932 VkResult (*p_vkGetEventStatus)(VkDevice, VkEvent);
933 VkResult (*p_vkGetFenceStatus)(VkDevice, VkFence);
934 #if defined(USE_STRUCT_CONVERSION)
935 void (*p_vkGetImageMemoryRequirements)(VkDevice, VkImage, VkMemoryRequirements_host *);
936 #else
937 void (*p_vkGetImageMemoryRequirements)(VkDevice, VkImage, VkMemoryRequirements *);
938 #endif
939 #if defined(USE_STRUCT_CONVERSION)
940 void (*p_vkGetImageMemoryRequirements2)(VkDevice, const VkImageMemoryRequirementsInfo2_host *, VkMemoryRequirements2_host *);
941 #else
942 void (*p_vkGetImageMemoryRequirements2)(VkDevice, const VkImageMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
943 #endif
944 #if defined(USE_STRUCT_CONVERSION)
945 void (*p_vkGetImageMemoryRequirements2KHR)(VkDevice, const VkImageMemoryRequirementsInfo2_host *, VkMemoryRequirements2_host *);
946 #else
947 void (*p_vkGetImageMemoryRequirements2KHR)(VkDevice, const VkImageMemoryRequirementsInfo2 *, VkMemoryRequirements2 *);
948 #endif
949 void (*p_vkGetImageSparseMemoryRequirements)(VkDevice, VkImage, uint32_t *, VkSparseImageMemoryRequirements *);
950 #if defined(USE_STRUCT_CONVERSION)
951 void (*p_vkGetImageSparseMemoryRequirements2)(VkDevice, const VkImageSparseMemoryRequirementsInfo2_host *, uint32_t *, VkSparseImageMemoryRequirements2 *);
952 #else
953 void (*p_vkGetImageSparseMemoryRequirements2)(VkDevice, const VkImageSparseMemoryRequirementsInfo2 *, uint32_t *, VkSparseImageMemoryRequirements2 *);
954 #endif
955 #if defined(USE_STRUCT_CONVERSION)
956 void (*p_vkGetImageSparseMemoryRequirements2KHR)(VkDevice, const VkImageSparseMemoryRequirementsInfo2_host *, uint32_t *, VkSparseImageMemoryRequirements2 *);
957 #else
958 void (*p_vkGetImageSparseMemoryRequirements2KHR)(VkDevice, const VkImageSparseMemoryRequirementsInfo2 *, uint32_t *, VkSparseImageMemoryRequirements2 *);
959 #endif
960 #if defined(USE_STRUCT_CONVERSION)
961 void (*p_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout_host *);
962 #else
963 void (*p_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout *);
964 #endif
965 VkResult (*p_vkGetPipelineCacheData)(VkDevice, VkPipelineCache, size_t *, void *);
966 VkResult (*p_vkGetQueryPoolResults)(VkDevice, VkQueryPool, uint32_t, uint32_t, size_t, void *, VkDeviceSize, VkQueryResultFlags);
967 void (*p_vkGetQueueCheckpointDataNV)(VkQueue, uint32_t *, VkCheckpointDataNV *);
968 void (*p_vkGetRenderAreaGranularity)(VkDevice, VkRenderPass, VkExtent2D *);
969 VkResult (*p_vkGetShaderInfoAMD)(VkDevice, VkPipeline, VkShaderStageFlagBits, VkShaderInfoTypeAMD, size_t *, void *);
970 VkResult (*p_vkGetSwapchainImagesKHR)(VkDevice, VkSwapchainKHR, uint32_t *, VkImage *);
971 VkResult (*p_vkGetValidationCacheDataEXT)(VkDevice, VkValidationCacheEXT, size_t *, void *);
972 #if defined(USE_STRUCT_CONVERSION)
973 VkResult (*p_vkInvalidateMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange_host *);
974 #else
975 VkResult (*p_vkInvalidateMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange *);
976 #endif
977 VkResult (*p_vkMapMemory)(VkDevice, VkDeviceMemory, VkDeviceSize, VkDeviceSize, VkMemoryMapFlags, void **);
978 VkResult (*p_vkMergePipelineCaches)(VkDevice, VkPipelineCache, uint32_t, const VkPipelineCache *);
979 VkResult (*p_vkMergeValidationCachesEXT)(VkDevice, VkValidationCacheEXT, uint32_t, const VkValidationCacheEXT *);
980 #if defined(USE_STRUCT_CONVERSION)
981 VkResult (*p_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo_host *, VkFence);
982 #else
983 VkResult (*p_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo *, VkFence);
984 #endif
985 VkResult (*p_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
986 VkResult (*p_vkQueueSubmit)(VkQueue, uint32_t, const VkSubmitInfo *, VkFence);
987 VkResult (*p_vkQueueWaitIdle)(VkQueue);
988 VkResult (*p_vkResetCommandBuffer)(VkCommandBuffer, VkCommandBufferResetFlags);
989 VkResult (*p_vkResetCommandPool)(VkDevice, VkCommandPool, VkCommandPoolResetFlags);
990 VkResult (*p_vkResetDescriptorPool)(VkDevice, VkDescriptorPool, VkDescriptorPoolResetFlags);
991 VkResult (*p_vkResetEvent)(VkDevice, VkEvent);
992 VkResult (*p_vkResetFences)(VkDevice, uint32_t, const VkFence *);
993 VkResult (*p_vkSetEvent)(VkDevice, VkEvent);
994 void (*p_vkTrimCommandPool)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
995 void (*p_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlags);
996 void (*p_vkUnmapMemory)(VkDevice, VkDeviceMemory);
997 void (*p_vkUpdateDescriptorSetWithTemplate)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
998 void (*p_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplate, const void *);
999 #if defined(USE_STRUCT_CONVERSION)
1000 void (*p_vkUpdateDescriptorSets)(VkDevice, uint32_t, const VkWriteDescriptorSet_host *, uint32_t, const VkCopyDescriptorSet_host *);
1001 #else
1002 void (*p_vkUpdateDescriptorSets)(VkDevice, uint32_t, const VkWriteDescriptorSet *, uint32_t, const VkCopyDescriptorSet *);
1003 #endif
1004 VkResult (*p_vkWaitForFences)(VkDevice, uint32_t, const VkFence *, VkBool32, uint64_t);
1007 /* For use by vkInstance and children */
1008 struct vulkan_instance_funcs
1010 VkResult (*p_vkCreateDevice)(VkPhysicalDevice, const VkDeviceCreateInfo *, const VkAllocationCallbacks *, VkDevice *);
1011 VkResult (*p_vkCreateWin32SurfaceKHR)(VkInstance, const VkWin32SurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *);
1012 void (*p_vkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
1013 VkResult (*p_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice, const char *, uint32_t *, VkExtensionProperties *);
1014 VkResult (*p_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice, uint32_t *, VkLayerProperties *);
1015 VkResult (*p_vkEnumeratePhysicalDeviceGroups)(VkInstance, uint32_t *, VkPhysicalDeviceGroupProperties *);
1016 VkResult (*p_vkEnumeratePhysicalDeviceGroupsKHR)(VkInstance, uint32_t *, VkPhysicalDeviceGroupProperties *);
1017 VkResult (*p_vkEnumeratePhysicalDevices)(VkInstance, uint32_t *, VkPhysicalDevice *);
1018 void (*p_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice, VkPhysicalDeviceFeatures *);
1019 void (*p_vkGetPhysicalDeviceFeatures2)(VkPhysicalDevice, VkPhysicalDeviceFeatures2 *);
1020 void (*p_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice, VkPhysicalDeviceFeatures2 *);
1021 void (*p_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice, VkFormat, VkFormatProperties *);
1022 void (*p_vkGetPhysicalDeviceFormatProperties2)(VkPhysicalDevice, VkFormat, VkFormatProperties2 *);
1023 void (*p_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice, VkFormat, VkFormatProperties2 *);
1024 #if defined(USE_STRUCT_CONVERSION)
1025 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkImageTiling, VkImageUsageFlags, VkImageCreateFlags, VkImageFormatProperties_host *);
1026 #else
1027 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkImageTiling, VkImageUsageFlags, VkImageCreateFlags, VkImageFormatProperties *);
1028 #endif
1029 #if defined(USE_STRUCT_CONVERSION)
1030 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2 *, VkImageFormatProperties2_host *);
1031 #else
1032 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2 *, VkImageFormatProperties2 *);
1033 #endif
1034 #if defined(USE_STRUCT_CONVERSION)
1035 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2 *, VkImageFormatProperties2_host *);
1036 #else
1037 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2 *, VkImageFormatProperties2 *);
1038 #endif
1039 #if defined(USE_STRUCT_CONVERSION)
1040 void (*p_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties_host *);
1041 #else
1042 void (*p_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties *);
1043 #endif
1044 #if defined(USE_STRUCT_CONVERSION)
1045 void (*p_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2_host *);
1046 #else
1047 void (*p_vkGetPhysicalDeviceMemoryProperties2)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2 *);
1048 #endif
1049 #if defined(USE_STRUCT_CONVERSION)
1050 void (*p_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2_host *);
1051 #else
1052 void (*p_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2 *);
1053 #endif
1054 void (*p_vkGetPhysicalDeviceMultisamplePropertiesEXT)(VkPhysicalDevice, VkSampleCountFlagBits, VkMultisamplePropertiesEXT *);
1055 VkResult (*p_vkGetPhysicalDevicePresentRectanglesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkRect2D *);
1056 #if defined(USE_STRUCT_CONVERSION)
1057 void (*p_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties_host *);
1058 #else
1059 void (*p_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties *);
1060 #endif
1061 #if defined(USE_STRUCT_CONVERSION)
1062 void (*p_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice, VkPhysicalDeviceProperties2_host *);
1063 #else
1064 void (*p_vkGetPhysicalDeviceProperties2)(VkPhysicalDevice, VkPhysicalDeviceProperties2 *);
1065 #endif
1066 #if defined(USE_STRUCT_CONVERSION)
1067 void (*p_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2_host *);
1068 #else
1069 void (*p_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2 *);
1070 #endif
1071 void (*p_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties *);
1072 void (*p_vkGetPhysicalDeviceQueueFamilyProperties2)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties2 *);
1073 void (*p_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties2 *);
1074 void (*p_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkSampleCountFlagBits, VkImageUsageFlags, VkImageTiling, uint32_t *, VkSparseImageFormatProperties *);
1075 void (*p_vkGetPhysicalDeviceSparseImageFormatProperties2)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *, uint32_t *, VkSparseImageFormatProperties2 *);
1076 void (*p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2 *, uint32_t *, VkSparseImageFormatProperties2 *);
1077 VkResult (*p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
1078 VkResult (*p_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
1079 VkResult (*p_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
1080 VkResult (*p_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice, uint32_t, VkSurfaceKHR, VkBool32 *);
1081 VkBool32 (*p_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice, uint32_t);
1084 #define ALL_VK_DEVICE_FUNCS() \
1085 USE_VK_FUNC(vkAcquireNextImage2KHR) \
1086 USE_VK_FUNC(vkAcquireNextImageKHR) \
1087 USE_VK_FUNC(vkAllocateCommandBuffers) \
1088 USE_VK_FUNC(vkAllocateDescriptorSets) \
1089 USE_VK_FUNC(vkAllocateMemory) \
1090 USE_VK_FUNC(vkBeginCommandBuffer) \
1091 USE_VK_FUNC(vkBindBufferMemory) \
1092 USE_VK_FUNC(vkBindBufferMemory2) \
1093 USE_VK_FUNC(vkBindBufferMemory2KHR) \
1094 USE_VK_FUNC(vkBindImageMemory) \
1095 USE_VK_FUNC(vkBindImageMemory2) \
1096 USE_VK_FUNC(vkBindImageMemory2KHR) \
1097 USE_VK_FUNC(vkCmdBeginConditionalRenderingEXT) \
1098 USE_VK_FUNC(vkCmdBeginQuery) \
1099 USE_VK_FUNC(vkCmdBeginQueryIndexedEXT) \
1100 USE_VK_FUNC(vkCmdBeginRenderPass) \
1101 USE_VK_FUNC(vkCmdBeginRenderPass2KHR) \
1102 USE_VK_FUNC(vkCmdBeginTransformFeedbackEXT) \
1103 USE_VK_FUNC(vkCmdBindDescriptorSets) \
1104 USE_VK_FUNC(vkCmdBindIndexBuffer) \
1105 USE_VK_FUNC(vkCmdBindPipeline) \
1106 USE_VK_FUNC(vkCmdBindShadingRateImageNV) \
1107 USE_VK_FUNC(vkCmdBindTransformFeedbackBuffersEXT) \
1108 USE_VK_FUNC(vkCmdBindVertexBuffers) \
1109 USE_VK_FUNC(vkCmdBlitImage) \
1110 USE_VK_FUNC(vkCmdClearAttachments) \
1111 USE_VK_FUNC(vkCmdClearColorImage) \
1112 USE_VK_FUNC(vkCmdClearDepthStencilImage) \
1113 USE_VK_FUNC(vkCmdCopyBuffer) \
1114 USE_VK_FUNC(vkCmdCopyBufferToImage) \
1115 USE_VK_FUNC(vkCmdCopyImage) \
1116 USE_VK_FUNC(vkCmdCopyImageToBuffer) \
1117 USE_VK_FUNC(vkCmdCopyQueryPoolResults) \
1118 USE_VK_FUNC(vkCmdDispatch) \
1119 USE_VK_FUNC(vkCmdDispatchBase) \
1120 USE_VK_FUNC(vkCmdDispatchBaseKHR) \
1121 USE_VK_FUNC(vkCmdDispatchIndirect) \
1122 USE_VK_FUNC(vkCmdDraw) \
1123 USE_VK_FUNC(vkCmdDrawIndexed) \
1124 USE_VK_FUNC(vkCmdDrawIndexedIndirect) \
1125 USE_VK_FUNC(vkCmdDrawIndexedIndirectCountAMD) \
1126 USE_VK_FUNC(vkCmdDrawIndexedIndirectCountKHR) \
1127 USE_VK_FUNC(vkCmdDrawIndirect) \
1128 USE_VK_FUNC(vkCmdDrawIndirectByteCountEXT) \
1129 USE_VK_FUNC(vkCmdDrawIndirectCountAMD) \
1130 USE_VK_FUNC(vkCmdDrawIndirectCountKHR) \
1131 USE_VK_FUNC(vkCmdDrawMeshTasksIndirectCountNV) \
1132 USE_VK_FUNC(vkCmdDrawMeshTasksIndirectNV) \
1133 USE_VK_FUNC(vkCmdDrawMeshTasksNV) \
1134 USE_VK_FUNC(vkCmdEndConditionalRenderingEXT) \
1135 USE_VK_FUNC(vkCmdEndQuery) \
1136 USE_VK_FUNC(vkCmdEndQueryIndexedEXT) \
1137 USE_VK_FUNC(vkCmdEndRenderPass) \
1138 USE_VK_FUNC(vkCmdEndRenderPass2KHR) \
1139 USE_VK_FUNC(vkCmdEndTransformFeedbackEXT) \
1140 USE_VK_FUNC(vkCmdExecuteCommands) \
1141 USE_VK_FUNC(vkCmdFillBuffer) \
1142 USE_VK_FUNC(vkCmdNextSubpass) \
1143 USE_VK_FUNC(vkCmdNextSubpass2KHR) \
1144 USE_VK_FUNC(vkCmdPipelineBarrier) \
1145 USE_VK_FUNC(vkCmdPushConstants) \
1146 USE_VK_FUNC(vkCmdPushDescriptorSetKHR) \
1147 USE_VK_FUNC(vkCmdPushDescriptorSetWithTemplateKHR) \
1148 USE_VK_FUNC(vkCmdResetEvent) \
1149 USE_VK_FUNC(vkCmdResetQueryPool) \
1150 USE_VK_FUNC(vkCmdResolveImage) \
1151 USE_VK_FUNC(vkCmdSetBlendConstants) \
1152 USE_VK_FUNC(vkCmdSetCheckpointNV) \
1153 USE_VK_FUNC(vkCmdSetCoarseSampleOrderNV) \
1154 USE_VK_FUNC(vkCmdSetDepthBias) \
1155 USE_VK_FUNC(vkCmdSetDepthBounds) \
1156 USE_VK_FUNC(vkCmdSetDeviceMask) \
1157 USE_VK_FUNC(vkCmdSetDeviceMaskKHR) \
1158 USE_VK_FUNC(vkCmdSetDiscardRectangleEXT) \
1159 USE_VK_FUNC(vkCmdSetEvent) \
1160 USE_VK_FUNC(vkCmdSetExclusiveScissorNV) \
1161 USE_VK_FUNC(vkCmdSetLineWidth) \
1162 USE_VK_FUNC(vkCmdSetSampleLocationsEXT) \
1163 USE_VK_FUNC(vkCmdSetScissor) \
1164 USE_VK_FUNC(vkCmdSetStencilCompareMask) \
1165 USE_VK_FUNC(vkCmdSetStencilReference) \
1166 USE_VK_FUNC(vkCmdSetStencilWriteMask) \
1167 USE_VK_FUNC(vkCmdSetViewport) \
1168 USE_VK_FUNC(vkCmdSetViewportShadingRatePaletteNV) \
1169 USE_VK_FUNC(vkCmdSetViewportWScalingNV) \
1170 USE_VK_FUNC(vkCmdUpdateBuffer) \
1171 USE_VK_FUNC(vkCmdWaitEvents) \
1172 USE_VK_FUNC(vkCmdWriteBufferMarkerAMD) \
1173 USE_VK_FUNC(vkCmdWriteTimestamp) \
1174 USE_VK_FUNC(vkCreateBuffer) \
1175 USE_VK_FUNC(vkCreateBufferView) \
1176 USE_VK_FUNC(vkCreateCommandPool) \
1177 USE_VK_FUNC(vkCreateComputePipelines) \
1178 USE_VK_FUNC(vkCreateDescriptorPool) \
1179 USE_VK_FUNC(vkCreateDescriptorSetLayout) \
1180 USE_VK_FUNC(vkCreateDescriptorUpdateTemplate) \
1181 USE_VK_FUNC(vkCreateDescriptorUpdateTemplateKHR) \
1182 USE_VK_FUNC(vkCreateEvent) \
1183 USE_VK_FUNC(vkCreateFence) \
1184 USE_VK_FUNC(vkCreateFramebuffer) \
1185 USE_VK_FUNC(vkCreateGraphicsPipelines) \
1186 USE_VK_FUNC(vkCreateImage) \
1187 USE_VK_FUNC(vkCreateImageView) \
1188 USE_VK_FUNC(vkCreatePipelineCache) \
1189 USE_VK_FUNC(vkCreatePipelineLayout) \
1190 USE_VK_FUNC(vkCreateQueryPool) \
1191 USE_VK_FUNC(vkCreateRenderPass) \
1192 USE_VK_FUNC(vkCreateRenderPass2KHR) \
1193 USE_VK_FUNC(vkCreateSampler) \
1194 USE_VK_FUNC(vkCreateSamplerYcbcrConversion) \
1195 USE_VK_FUNC(vkCreateSamplerYcbcrConversionKHR) \
1196 USE_VK_FUNC(vkCreateSemaphore) \
1197 USE_VK_FUNC(vkCreateShaderModule) \
1198 USE_VK_FUNC(vkCreateSwapchainKHR) \
1199 USE_VK_FUNC(vkCreateValidationCacheEXT) \
1200 USE_VK_FUNC(vkDestroyBuffer) \
1201 USE_VK_FUNC(vkDestroyBufferView) \
1202 USE_VK_FUNC(vkDestroyCommandPool) \
1203 USE_VK_FUNC(vkDestroyDescriptorPool) \
1204 USE_VK_FUNC(vkDestroyDescriptorSetLayout) \
1205 USE_VK_FUNC(vkDestroyDescriptorUpdateTemplate) \
1206 USE_VK_FUNC(vkDestroyDescriptorUpdateTemplateKHR) \
1207 USE_VK_FUNC(vkDestroyDevice) \
1208 USE_VK_FUNC(vkDestroyEvent) \
1209 USE_VK_FUNC(vkDestroyFence) \
1210 USE_VK_FUNC(vkDestroyFramebuffer) \
1211 USE_VK_FUNC(vkDestroyImage) \
1212 USE_VK_FUNC(vkDestroyImageView) \
1213 USE_VK_FUNC(vkDestroyPipeline) \
1214 USE_VK_FUNC(vkDestroyPipelineCache) \
1215 USE_VK_FUNC(vkDestroyPipelineLayout) \
1216 USE_VK_FUNC(vkDestroyQueryPool) \
1217 USE_VK_FUNC(vkDestroyRenderPass) \
1218 USE_VK_FUNC(vkDestroySampler) \
1219 USE_VK_FUNC(vkDestroySamplerYcbcrConversion) \
1220 USE_VK_FUNC(vkDestroySamplerYcbcrConversionKHR) \
1221 USE_VK_FUNC(vkDestroySemaphore) \
1222 USE_VK_FUNC(vkDestroyShaderModule) \
1223 USE_VK_FUNC(vkDestroySwapchainKHR) \
1224 USE_VK_FUNC(vkDestroyValidationCacheEXT) \
1225 USE_VK_FUNC(vkDeviceWaitIdle) \
1226 USE_VK_FUNC(vkEndCommandBuffer) \
1227 USE_VK_FUNC(vkFlushMappedMemoryRanges) \
1228 USE_VK_FUNC(vkFreeCommandBuffers) \
1229 USE_VK_FUNC(vkFreeDescriptorSets) \
1230 USE_VK_FUNC(vkFreeMemory) \
1231 USE_VK_FUNC(vkGetBufferMemoryRequirements) \
1232 USE_VK_FUNC(vkGetBufferMemoryRequirements2) \
1233 USE_VK_FUNC(vkGetBufferMemoryRequirements2KHR) \
1234 USE_VK_FUNC(vkGetDescriptorSetLayoutSupport) \
1235 USE_VK_FUNC(vkGetDescriptorSetLayoutSupportKHR) \
1236 USE_VK_FUNC(vkGetDeviceGroupPeerMemoryFeatures) \
1237 USE_VK_FUNC(vkGetDeviceGroupPeerMemoryFeaturesKHR) \
1238 USE_VK_FUNC(vkGetDeviceGroupPresentCapabilitiesKHR) \
1239 USE_VK_FUNC(vkGetDeviceGroupSurfacePresentModesKHR) \
1240 USE_VK_FUNC(vkGetDeviceMemoryCommitment) \
1241 USE_VK_FUNC(vkGetDeviceQueue) \
1242 USE_VK_FUNC(vkGetDeviceQueue2) \
1243 USE_VK_FUNC(vkGetEventStatus) \
1244 USE_VK_FUNC(vkGetFenceStatus) \
1245 USE_VK_FUNC(vkGetImageMemoryRequirements) \
1246 USE_VK_FUNC(vkGetImageMemoryRequirements2) \
1247 USE_VK_FUNC(vkGetImageMemoryRequirements2KHR) \
1248 USE_VK_FUNC(vkGetImageSparseMemoryRequirements) \
1249 USE_VK_FUNC(vkGetImageSparseMemoryRequirements2) \
1250 USE_VK_FUNC(vkGetImageSparseMemoryRequirements2KHR) \
1251 USE_VK_FUNC(vkGetImageSubresourceLayout) \
1252 USE_VK_FUNC(vkGetPipelineCacheData) \
1253 USE_VK_FUNC(vkGetQueryPoolResults) \
1254 USE_VK_FUNC(vkGetQueueCheckpointDataNV) \
1255 USE_VK_FUNC(vkGetRenderAreaGranularity) \
1256 USE_VK_FUNC(vkGetShaderInfoAMD) \
1257 USE_VK_FUNC(vkGetSwapchainImagesKHR) \
1258 USE_VK_FUNC(vkGetValidationCacheDataEXT) \
1259 USE_VK_FUNC(vkInvalidateMappedMemoryRanges) \
1260 USE_VK_FUNC(vkMapMemory) \
1261 USE_VK_FUNC(vkMergePipelineCaches) \
1262 USE_VK_FUNC(vkMergeValidationCachesEXT) \
1263 USE_VK_FUNC(vkQueueBindSparse) \
1264 USE_VK_FUNC(vkQueuePresentKHR) \
1265 USE_VK_FUNC(vkQueueSubmit) \
1266 USE_VK_FUNC(vkQueueWaitIdle) \
1267 USE_VK_FUNC(vkResetCommandBuffer) \
1268 USE_VK_FUNC(vkResetCommandPool) \
1269 USE_VK_FUNC(vkResetDescriptorPool) \
1270 USE_VK_FUNC(vkResetEvent) \
1271 USE_VK_FUNC(vkResetFences) \
1272 USE_VK_FUNC(vkSetEvent) \
1273 USE_VK_FUNC(vkTrimCommandPool) \
1274 USE_VK_FUNC(vkTrimCommandPoolKHR) \
1275 USE_VK_FUNC(vkUnmapMemory) \
1276 USE_VK_FUNC(vkUpdateDescriptorSetWithTemplate) \
1277 USE_VK_FUNC(vkUpdateDescriptorSetWithTemplateKHR) \
1278 USE_VK_FUNC(vkUpdateDescriptorSets) \
1279 USE_VK_FUNC(vkWaitForFences)
1281 #define ALL_VK_INSTANCE_FUNCS() \
1282 USE_VK_FUNC(vkCreateDevice) \
1283 USE_VK_FUNC(vkCreateWin32SurfaceKHR) \
1284 USE_VK_FUNC(vkDestroySurfaceKHR) \
1285 USE_VK_FUNC(vkEnumerateDeviceExtensionProperties) \
1286 USE_VK_FUNC(vkEnumerateDeviceLayerProperties) \
1287 USE_VK_FUNC(vkEnumeratePhysicalDeviceGroups) \
1288 USE_VK_FUNC(vkEnumeratePhysicalDeviceGroupsKHR) \
1289 USE_VK_FUNC(vkEnumeratePhysicalDevices) \
1290 USE_VK_FUNC(vkGetPhysicalDeviceFeatures) \
1291 USE_VK_FUNC(vkGetPhysicalDeviceFeatures2) \
1292 USE_VK_FUNC(vkGetPhysicalDeviceFeatures2KHR) \
1293 USE_VK_FUNC(vkGetPhysicalDeviceFormatProperties) \
1294 USE_VK_FUNC(vkGetPhysicalDeviceFormatProperties2) \
1295 USE_VK_FUNC(vkGetPhysicalDeviceFormatProperties2KHR) \
1296 USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties) \
1297 USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties2) \
1298 USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties2KHR) \
1299 USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties) \
1300 USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties2) \
1301 USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR) \
1302 USE_VK_FUNC(vkGetPhysicalDeviceMultisamplePropertiesEXT) \
1303 USE_VK_FUNC(vkGetPhysicalDevicePresentRectanglesKHR) \
1304 USE_VK_FUNC(vkGetPhysicalDeviceProperties) \
1305 USE_VK_FUNC(vkGetPhysicalDeviceProperties2) \
1306 USE_VK_FUNC(vkGetPhysicalDeviceProperties2KHR) \
1307 USE_VK_FUNC(vkGetPhysicalDeviceQueueFamilyProperties) \
1308 USE_VK_FUNC(vkGetPhysicalDeviceQueueFamilyProperties2) \
1309 USE_VK_FUNC(vkGetPhysicalDeviceQueueFamilyProperties2KHR) \
1310 USE_VK_FUNC(vkGetPhysicalDeviceSparseImageFormatProperties) \
1311 USE_VK_FUNC(vkGetPhysicalDeviceSparseImageFormatProperties2) \
1312 USE_VK_FUNC(vkGetPhysicalDeviceSparseImageFormatProperties2KHR) \
1313 USE_VK_FUNC(vkGetPhysicalDeviceSurfaceCapabilitiesKHR) \
1314 USE_VK_FUNC(vkGetPhysicalDeviceSurfaceFormatsKHR) \
1315 USE_VK_FUNC(vkGetPhysicalDeviceSurfacePresentModesKHR) \
1316 USE_VK_FUNC(vkGetPhysicalDeviceSurfaceSupportKHR) \
1317 USE_VK_FUNC(vkGetPhysicalDeviceWin32PresentationSupportKHR)
1319 #endif /* __WINE_VULKAN_THUNKS_H */