po: Update Lithuanian translation.
[wine.git] / dlls / winevulkan / vulkan_thunks.h
blob67df71d3080ad79186222268f84e8bd5832e2c58
1 /* Automatically generated from Vulkan vk.xml; DO NOT EDIT! */
3 #ifndef __WINE_VULKAN_THUNKS_H
4 #define __WINE_VULKAN_THUNKS_H
6 /* Functions for which we have custom implementations outside of the thunks. */
7 VkResult WINAPI wine_vkAllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo *pAllocateInfo, VkCommandBuffer *pCommandBuffers);
8 void WINAPI wine_vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
9 VkResult WINAPI wine_vkCreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo, const VkAllocationCallbacks *pAllocator, VkDevice *pDevice);
10 void WINAPI wine_vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator);
11 void WINAPI wine_vkDestroyInstance(VkInstance instance, const VkAllocationCallbacks *pAllocator);
12 VkResult WINAPI wine_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties);
13 VkResult WINAPI wine_vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount, VkPhysicalDevice *pPhysicalDevices);
14 void WINAPI wine_vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer *pCommandBuffers);
15 PFN_vkVoidFunction WINAPI wine_vkGetDeviceProcAddr(VkDevice device, const char *pName);
16 void WINAPI wine_vkGetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue *pQueue);
17 VkResult WINAPI wine_vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits, VkFence fence);
19 typedef struct VkCommandBufferAllocateInfo_host
21 VkStructureType sType;
22 const void *pNext;
23 VkCommandPool commandPool;
24 VkCommandBufferLevel level;
25 uint32_t commandBufferCount;
26 } VkCommandBufferAllocateInfo_host;
28 typedef struct VkDescriptorSetAllocateInfo_host
30 VkStructureType sType;
31 const void *pNext;
32 VkDescriptorPool descriptorPool;
33 uint32_t descriptorSetCount;
34 const VkDescriptorSetLayout *pSetLayouts;
35 } VkDescriptorSetAllocateInfo_host;
37 typedef struct VkMemoryAllocateInfo_host
39 VkStructureType sType;
40 const void *pNext;
41 VkDeviceSize allocationSize;
42 uint32_t memoryTypeIndex;
43 } VkMemoryAllocateInfo_host;
45 typedef struct VkCommandBufferInheritanceInfo_host
47 VkStructureType sType;
48 const void *pNext;
49 VkRenderPass renderPass;
50 uint32_t subpass;
51 VkFramebuffer framebuffer;
52 VkBool32 occlusionQueryEnable;
53 VkQueryControlFlags queryFlags;
54 VkQueryPipelineStatisticFlags pipelineStatistics;
55 } VkCommandBufferInheritanceInfo_host;
57 typedef struct VkCommandBufferBeginInfo_host
59 VkStructureType sType;
60 const void *pNext;
61 VkCommandBufferUsageFlags flags;
62 const VkCommandBufferInheritanceInfo_host *pInheritanceInfo;
63 } VkCommandBufferBeginInfo_host;
65 typedef struct VkRenderPassBeginInfo_host
67 VkStructureType sType;
68 const void *pNext;
69 VkRenderPass renderPass;
70 VkFramebuffer framebuffer;
71 VkRect2D renderArea;
72 uint32_t clearValueCount;
73 const VkClearValue *pClearValues;
74 } VkRenderPassBeginInfo_host;
76 typedef struct VkBufferCopy_host
78 VkDeviceSize srcOffset;
79 VkDeviceSize dstOffset;
80 VkDeviceSize size;
81 } VkBufferCopy_host;
83 typedef struct VkBufferImageCopy_host
85 VkDeviceSize bufferOffset;
86 uint32_t bufferRowLength;
87 uint32_t bufferImageHeight;
88 VkImageSubresourceLayers imageSubresource;
89 VkOffset3D imageOffset;
90 VkExtent3D imageExtent;
91 } VkBufferImageCopy_host;
93 typedef struct VkBufferMemoryBarrier_host
95 VkStructureType sType;
96 const void *pNext;
97 VkAccessFlags srcAccessMask;
98 VkAccessFlags dstAccessMask;
99 uint32_t srcQueueFamilyIndex;
100 uint32_t dstQueueFamilyIndex;
101 VkBuffer buffer;
102 VkDeviceSize offset;
103 VkDeviceSize size;
104 } VkBufferMemoryBarrier_host;
106 typedef struct VkImageMemoryBarrier_host
108 VkStructureType sType;
109 const void *pNext;
110 VkAccessFlags srcAccessMask;
111 VkAccessFlags dstAccessMask;
112 VkImageLayout oldLayout;
113 VkImageLayout newLayout;
114 uint32_t srcQueueFamilyIndex;
115 uint32_t dstQueueFamilyIndex;
116 VkImage image;
117 VkImageSubresourceRange subresourceRange;
118 } VkImageMemoryBarrier_host;
120 typedef struct VkDescriptorImageInfo_host
122 VkSampler sampler;
123 VkImageView imageView;
124 VkImageLayout imageLayout;
125 } VkDescriptorImageInfo_host;
127 typedef struct VkDescriptorBufferInfo_host
129 VkBuffer buffer;
130 VkDeviceSize offset;
131 VkDeviceSize range;
132 } VkDescriptorBufferInfo_host;
134 typedef struct VkWriteDescriptorSet_host
136 VkStructureType sType;
137 const void *pNext;
138 VkDescriptorSet dstSet;
139 uint32_t dstBinding;
140 uint32_t dstArrayElement;
141 uint32_t descriptorCount;
142 VkDescriptorType descriptorType;
143 const VkDescriptorImageInfo_host *pImageInfo;
144 const VkDescriptorBufferInfo_host *pBufferInfo;
145 const VkBufferView *pTexelBufferView;
146 } VkWriteDescriptorSet_host;
148 typedef struct VkBufferCreateInfo_host
150 VkStructureType sType;
151 const void *pNext;
152 VkBufferCreateFlags flags;
153 VkDeviceSize size;
154 VkBufferUsageFlags usage;
155 VkSharingMode sharingMode;
156 uint32_t queueFamilyIndexCount;
157 const uint32_t *pQueueFamilyIndices;
158 } VkBufferCreateInfo_host;
160 typedef struct VkBufferViewCreateInfo_host
162 VkStructureType sType;
163 const void *pNext;
164 VkBufferViewCreateFlags flags;
165 VkBuffer buffer;
166 VkFormat format;
167 VkDeviceSize offset;
168 VkDeviceSize range;
169 } VkBufferViewCreateInfo_host;
171 typedef struct VkPipelineShaderStageCreateInfo_host
173 VkStructureType sType;
174 const void *pNext;
175 VkPipelineShaderStageCreateFlags flags;
176 VkShaderStageFlagBits stage;
177 VkShaderModule module;
178 const char *pName;
179 const VkSpecializationInfo *pSpecializationInfo;
180 } VkPipelineShaderStageCreateInfo_host;
182 typedef struct VkComputePipelineCreateInfo_host
184 VkStructureType sType;
185 const void *pNext;
186 VkPipelineCreateFlags flags;
187 VkPipelineShaderStageCreateInfo_host stage;
188 VkPipelineLayout layout;
189 VkPipeline basePipelineHandle;
190 int32_t basePipelineIndex;
191 } VkComputePipelineCreateInfo_host;
193 typedef struct VkDescriptorUpdateTemplateCreateInfoKHR_host
195 VkStructureType sType;
196 void *pNext;
197 VkDescriptorUpdateTemplateCreateFlagsKHR flags;
198 uint32_t descriptorUpdateEntryCount;
199 const VkDescriptorUpdateTemplateEntryKHR *pDescriptorUpdateEntries;
200 VkDescriptorUpdateTemplateTypeKHR templateType;
201 VkDescriptorSetLayout descriptorSetLayout;
202 VkPipelineBindPoint pipelineBindPoint;
203 VkPipelineLayout pipelineLayout;
204 uint32_t set;
205 } VkDescriptorUpdateTemplateCreateInfoKHR_host;
207 typedef struct VkFramebufferCreateInfo_host
209 VkStructureType sType;
210 const void *pNext;
211 VkFramebufferCreateFlags flags;
212 VkRenderPass renderPass;
213 uint32_t attachmentCount;
214 const VkImageView *pAttachments;
215 uint32_t width;
216 uint32_t height;
217 uint32_t layers;
218 } VkFramebufferCreateInfo_host;
220 typedef struct VkGraphicsPipelineCreateInfo_host
222 VkStructureType sType;
223 const void *pNext;
224 VkPipelineCreateFlags flags;
225 uint32_t stageCount;
226 const VkPipelineShaderStageCreateInfo_host *pStages;
227 const VkPipelineVertexInputStateCreateInfo *pVertexInputState;
228 const VkPipelineInputAssemblyStateCreateInfo *pInputAssemblyState;
229 const VkPipelineTessellationStateCreateInfo *pTessellationState;
230 const VkPipelineViewportStateCreateInfo *pViewportState;
231 const VkPipelineRasterizationStateCreateInfo *pRasterizationState;
232 const VkPipelineMultisampleStateCreateInfo *pMultisampleState;
233 const VkPipelineDepthStencilStateCreateInfo *pDepthStencilState;
234 const VkPipelineColorBlendStateCreateInfo *pColorBlendState;
235 const VkPipelineDynamicStateCreateInfo *pDynamicState;
236 VkPipelineLayout layout;
237 VkRenderPass renderPass;
238 uint32_t subpass;
239 VkPipeline basePipelineHandle;
240 int32_t basePipelineIndex;
241 } VkGraphicsPipelineCreateInfo_host;
243 typedef struct VkImageViewCreateInfo_host
245 VkStructureType sType;
246 const void *pNext;
247 VkImageViewCreateFlags flags;
248 VkImage image;
249 VkImageViewType viewType;
250 VkFormat format;
251 VkComponentMapping components;
252 VkImageSubresourceRange subresourceRange;
253 } VkImageViewCreateInfo_host;
255 typedef struct VkSwapchainCreateInfoKHR_host
257 VkStructureType sType;
258 const void *pNext;
259 VkSwapchainCreateFlagsKHR flags;
260 VkSurfaceKHR surface;
261 uint32_t minImageCount;
262 VkFormat imageFormat;
263 VkColorSpaceKHR imageColorSpace;
264 VkExtent2D imageExtent;
265 uint32_t imageArrayLayers;
266 VkImageUsageFlags imageUsage;
267 VkSharingMode imageSharingMode;
268 uint32_t queueFamilyIndexCount;
269 const uint32_t *pQueueFamilyIndices;
270 VkSurfaceTransformFlagBitsKHR preTransform;
271 VkCompositeAlphaFlagBitsKHR compositeAlpha;
272 VkPresentModeKHR presentMode;
273 VkBool32 clipped;
274 VkSwapchainKHR oldSwapchain;
275 } VkSwapchainCreateInfoKHR_host;
277 typedef struct VkMappedMemoryRange_host
279 VkStructureType sType;
280 const void *pNext;
281 VkDeviceMemory memory;
282 VkDeviceSize offset;
283 VkDeviceSize size;
284 } VkMappedMemoryRange_host;
286 typedef struct VkMemoryRequirements_host
288 VkDeviceSize size;
289 VkDeviceSize alignment;
290 uint32_t memoryTypeBits;
291 } VkMemoryRequirements_host;
293 typedef struct VkSubresourceLayout_host
295 VkDeviceSize offset;
296 VkDeviceSize size;
297 VkDeviceSize rowPitch;
298 VkDeviceSize arrayPitch;
299 VkDeviceSize depthPitch;
300 } VkSubresourceLayout_host;
302 typedef struct VkImageFormatProperties_host
304 VkExtent3D maxExtent;
305 uint32_t maxMipLevels;
306 uint32_t maxArrayLayers;
307 VkSampleCountFlags sampleCounts;
308 VkDeviceSize maxResourceSize;
309 } VkImageFormatProperties_host;
311 typedef struct VkImageFormatProperties2KHR_host
313 VkStructureType sType;
314 void *pNext;
315 VkImageFormatProperties_host imageFormatProperties;
316 } VkImageFormatProperties2KHR_host;
318 typedef struct VkMemoryHeap_host
320 VkDeviceSize size;
321 VkMemoryHeapFlags flags;
322 } VkMemoryHeap_host;
324 typedef struct VkPhysicalDeviceMemoryProperties_host
326 uint32_t memoryTypeCount;
327 VkMemoryType memoryTypes[VK_MAX_MEMORY_TYPES];
328 uint32_t memoryHeapCount;
329 VkMemoryHeap_host memoryHeaps[VK_MAX_MEMORY_HEAPS];
330 } VkPhysicalDeviceMemoryProperties_host;
332 typedef struct VkPhysicalDeviceMemoryProperties2KHR_host
334 VkStructureType sType;
335 void *pNext;
336 VkPhysicalDeviceMemoryProperties_host memoryProperties;
337 } VkPhysicalDeviceMemoryProperties2KHR_host;
339 typedef struct VkPhysicalDeviceLimits_host
341 uint32_t maxImageDimension1D;
342 uint32_t maxImageDimension2D;
343 uint32_t maxImageDimension3D;
344 uint32_t maxImageDimensionCube;
345 uint32_t maxImageArrayLayers;
346 uint32_t maxTexelBufferElements;
347 uint32_t maxUniformBufferRange;
348 uint32_t maxStorageBufferRange;
349 uint32_t maxPushConstantsSize;
350 uint32_t maxMemoryAllocationCount;
351 uint32_t maxSamplerAllocationCount;
352 VkDeviceSize bufferImageGranularity;
353 VkDeviceSize sparseAddressSpaceSize;
354 uint32_t maxBoundDescriptorSets;
355 uint32_t maxPerStageDescriptorSamplers;
356 uint32_t maxPerStageDescriptorUniformBuffers;
357 uint32_t maxPerStageDescriptorStorageBuffers;
358 uint32_t maxPerStageDescriptorSampledImages;
359 uint32_t maxPerStageDescriptorStorageImages;
360 uint32_t maxPerStageDescriptorInputAttachments;
361 uint32_t maxPerStageResources;
362 uint32_t maxDescriptorSetSamplers;
363 uint32_t maxDescriptorSetUniformBuffers;
364 uint32_t maxDescriptorSetUniformBuffersDynamic;
365 uint32_t maxDescriptorSetStorageBuffers;
366 uint32_t maxDescriptorSetStorageBuffersDynamic;
367 uint32_t maxDescriptorSetSampledImages;
368 uint32_t maxDescriptorSetStorageImages;
369 uint32_t maxDescriptorSetInputAttachments;
370 uint32_t maxVertexInputAttributes;
371 uint32_t maxVertexInputBindings;
372 uint32_t maxVertexInputAttributeOffset;
373 uint32_t maxVertexInputBindingStride;
374 uint32_t maxVertexOutputComponents;
375 uint32_t maxTessellationGenerationLevel;
376 uint32_t maxTessellationPatchSize;
377 uint32_t maxTessellationControlPerVertexInputComponents;
378 uint32_t maxTessellationControlPerVertexOutputComponents;
379 uint32_t maxTessellationControlPerPatchOutputComponents;
380 uint32_t maxTessellationControlTotalOutputComponents;
381 uint32_t maxTessellationEvaluationInputComponents;
382 uint32_t maxTessellationEvaluationOutputComponents;
383 uint32_t maxGeometryShaderInvocations;
384 uint32_t maxGeometryInputComponents;
385 uint32_t maxGeometryOutputComponents;
386 uint32_t maxGeometryOutputVertices;
387 uint32_t maxGeometryTotalOutputComponents;
388 uint32_t maxFragmentInputComponents;
389 uint32_t maxFragmentOutputAttachments;
390 uint32_t maxFragmentDualSrcAttachments;
391 uint32_t maxFragmentCombinedOutputResources;
392 uint32_t maxComputeSharedMemorySize;
393 uint32_t maxComputeWorkGroupCount[3];
394 uint32_t maxComputeWorkGroupInvocations;
395 uint32_t maxComputeWorkGroupSize[3];
396 uint32_t subPixelPrecisionBits;
397 uint32_t subTexelPrecisionBits;
398 uint32_t mipmapPrecisionBits;
399 uint32_t maxDrawIndexedIndexValue;
400 uint32_t maxDrawIndirectCount;
401 float maxSamplerLodBias;
402 float maxSamplerAnisotropy;
403 uint32_t maxViewports;
404 uint32_t maxViewportDimensions[2];
405 float viewportBoundsRange[2];
406 uint32_t viewportSubPixelBits;
407 size_t minMemoryMapAlignment;
408 VkDeviceSize minTexelBufferOffsetAlignment;
409 VkDeviceSize minUniformBufferOffsetAlignment;
410 VkDeviceSize minStorageBufferOffsetAlignment;
411 int32_t minTexelOffset;
412 uint32_t maxTexelOffset;
413 int32_t minTexelGatherOffset;
414 uint32_t maxTexelGatherOffset;
415 float minInterpolationOffset;
416 float maxInterpolationOffset;
417 uint32_t subPixelInterpolationOffsetBits;
418 uint32_t maxFramebufferWidth;
419 uint32_t maxFramebufferHeight;
420 uint32_t maxFramebufferLayers;
421 VkSampleCountFlags framebufferColorSampleCounts;
422 VkSampleCountFlags framebufferDepthSampleCounts;
423 VkSampleCountFlags framebufferStencilSampleCounts;
424 VkSampleCountFlags framebufferNoAttachmentsSampleCounts;
425 uint32_t maxColorAttachments;
426 VkSampleCountFlags sampledImageColorSampleCounts;
427 VkSampleCountFlags sampledImageIntegerSampleCounts;
428 VkSampleCountFlags sampledImageDepthSampleCounts;
429 VkSampleCountFlags sampledImageStencilSampleCounts;
430 VkSampleCountFlags storageImageSampleCounts;
431 uint32_t maxSampleMaskWords;
432 VkBool32 timestampComputeAndGraphics;
433 float timestampPeriod;
434 uint32_t maxClipDistances;
435 uint32_t maxCullDistances;
436 uint32_t maxCombinedClipAndCullDistances;
437 uint32_t discreteQueuePriorities;
438 float pointSizeRange[2];
439 float lineWidthRange[2];
440 float pointSizeGranularity;
441 float lineWidthGranularity;
442 VkBool32 strictLines;
443 VkBool32 standardSampleLocations;
444 VkDeviceSize optimalBufferCopyOffsetAlignment;
445 VkDeviceSize optimalBufferCopyRowPitchAlignment;
446 VkDeviceSize nonCoherentAtomSize;
447 } VkPhysicalDeviceLimits_host;
449 typedef struct VkPhysicalDeviceProperties_host
451 uint32_t apiVersion;
452 uint32_t driverVersion;
453 uint32_t vendorID;
454 uint32_t deviceID;
455 VkPhysicalDeviceType deviceType;
456 char deviceName[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE];
457 uint8_t pipelineCacheUUID[VK_UUID_SIZE];
458 VkPhysicalDeviceLimits_host limits;
459 VkPhysicalDeviceSparseProperties sparseProperties;
460 } VkPhysicalDeviceProperties_host;
462 typedef struct VkPhysicalDeviceProperties2KHR_host
464 VkStructureType sType;
465 void *pNext;
466 VkPhysicalDeviceProperties_host properties;
467 } VkPhysicalDeviceProperties2KHR_host;
469 typedef struct VkSparseMemoryBind_host
471 VkDeviceSize resourceOffset;
472 VkDeviceSize size;
473 VkDeviceMemory memory;
474 VkDeviceSize memoryOffset;
475 VkSparseMemoryBindFlags flags;
476 } VkSparseMemoryBind_host;
478 typedef struct VkSparseBufferMemoryBindInfo_host
480 VkBuffer buffer;
481 uint32_t bindCount;
482 const VkSparseMemoryBind_host *pBinds;
483 } VkSparseBufferMemoryBindInfo_host;
485 typedef struct VkSparseImageOpaqueMemoryBindInfo_host
487 VkImage image;
488 uint32_t bindCount;
489 const VkSparseMemoryBind_host *pBinds;
490 } VkSparseImageOpaqueMemoryBindInfo_host;
492 typedef struct VkSparseImageMemoryBind_host
494 VkImageSubresource subresource;
495 VkOffset3D offset;
496 VkExtent3D extent;
497 VkDeviceMemory memory;
498 VkDeviceSize memoryOffset;
499 VkSparseMemoryBindFlags flags;
500 } VkSparseImageMemoryBind_host;
502 typedef struct VkSparseImageMemoryBindInfo_host
504 VkImage image;
505 uint32_t bindCount;
506 const VkSparseImageMemoryBind_host *pBinds;
507 } VkSparseImageMemoryBindInfo_host;
509 typedef struct VkBindSparseInfo_host
511 VkStructureType sType;
512 const void *pNext;
513 uint32_t waitSemaphoreCount;
514 const VkSemaphore *pWaitSemaphores;
515 uint32_t bufferBindCount;
516 const VkSparseBufferMemoryBindInfo_host *pBufferBinds;
517 uint32_t imageOpaqueBindCount;
518 const VkSparseImageOpaqueMemoryBindInfo_host *pImageOpaqueBinds;
519 uint32_t imageBindCount;
520 const VkSparseImageMemoryBindInfo_host *pImageBinds;
521 uint32_t signalSemaphoreCount;
522 const VkSemaphore *pSignalSemaphores;
523 } VkBindSparseInfo_host;
525 typedef struct VkCopyDescriptorSet_host
527 VkStructureType sType;
528 const void *pNext;
529 VkDescriptorSet srcSet;
530 uint32_t srcBinding;
531 uint32_t srcArrayElement;
532 VkDescriptorSet dstSet;
533 uint32_t dstBinding;
534 uint32_t dstArrayElement;
535 uint32_t descriptorCount;
536 } VkCopyDescriptorSet_host;
539 /* For use by vkDevice and children */
540 struct vulkan_device_funcs
542 VkResult (*p_vkAcquireNextImageKHR)(VkDevice, VkSwapchainKHR, uint64_t, VkSemaphore, VkFence, uint32_t *);
543 #if defined(USE_STRUCT_CONVERSION)
544 VkResult (*p_vkAllocateCommandBuffers)(VkDevice, const VkCommandBufferAllocateInfo_host *, VkCommandBuffer *);
545 #else
546 VkResult (*p_vkAllocateCommandBuffers)(VkDevice, const VkCommandBufferAllocateInfo *, VkCommandBuffer *);
547 #endif
548 #if defined(USE_STRUCT_CONVERSION)
549 VkResult (*p_vkAllocateDescriptorSets)(VkDevice, const VkDescriptorSetAllocateInfo_host *, VkDescriptorSet *);
550 #else
551 VkResult (*p_vkAllocateDescriptorSets)(VkDevice, const VkDescriptorSetAllocateInfo *, VkDescriptorSet *);
552 #endif
553 #if defined(USE_STRUCT_CONVERSION)
554 VkResult (*p_vkAllocateMemory)(VkDevice, const VkMemoryAllocateInfo_host *, const VkAllocationCallbacks *, VkDeviceMemory *);
555 #else
556 VkResult (*p_vkAllocateMemory)(VkDevice, const VkMemoryAllocateInfo *, const VkAllocationCallbacks *, VkDeviceMemory *);
557 #endif
558 #if defined(USE_STRUCT_CONVERSION)
559 VkResult (*p_vkBeginCommandBuffer)(VkCommandBuffer, const VkCommandBufferBeginInfo_host *);
560 #else
561 VkResult (*p_vkBeginCommandBuffer)(VkCommandBuffer, const VkCommandBufferBeginInfo *);
562 #endif
563 VkResult (*p_vkBindBufferMemory)(VkDevice, VkBuffer, VkDeviceMemory, VkDeviceSize);
564 VkResult (*p_vkBindImageMemory)(VkDevice, VkImage, VkDeviceMemory, VkDeviceSize);
565 void (*p_vkCmdBeginQuery)(VkCommandBuffer, VkQueryPool, uint32_t, VkQueryControlFlags);
566 #if defined(USE_STRUCT_CONVERSION)
567 void (*p_vkCmdBeginRenderPass)(VkCommandBuffer, const VkRenderPassBeginInfo_host *, VkSubpassContents);
568 #else
569 void (*p_vkCmdBeginRenderPass)(VkCommandBuffer, const VkRenderPassBeginInfo *, VkSubpassContents);
570 #endif
571 void (*p_vkCmdBindDescriptorSets)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkDescriptorSet *, uint32_t, const uint32_t *);
572 void (*p_vkCmdBindIndexBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkIndexType);
573 void (*p_vkCmdBindPipeline)(VkCommandBuffer, VkPipelineBindPoint, VkPipeline);
574 void (*p_vkCmdBindVertexBuffers)(VkCommandBuffer, uint32_t, uint32_t, const VkBuffer *, const VkDeviceSize *);
575 void (*p_vkCmdBlitImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageBlit *, VkFilter);
576 void (*p_vkCmdClearAttachments)(VkCommandBuffer, uint32_t, const VkClearAttachment *, uint32_t, const VkClearRect *);
577 void (*p_vkCmdClearColorImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearColorValue *, uint32_t, const VkImageSubresourceRange *);
578 void (*p_vkCmdClearDepthStencilImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearDepthStencilValue *, uint32_t, const VkImageSubresourceRange *);
579 #if defined(USE_STRUCT_CONVERSION)
580 void (*p_vkCmdCopyBuffer)(VkCommandBuffer, VkBuffer, VkBuffer, uint32_t, const VkBufferCopy_host *);
581 #else
582 void (*p_vkCmdCopyBuffer)(VkCommandBuffer, VkBuffer, VkBuffer, uint32_t, const VkBufferCopy *);
583 #endif
584 #if defined(USE_STRUCT_CONVERSION)
585 void (*p_vkCmdCopyBufferToImage)(VkCommandBuffer, VkBuffer, VkImage, VkImageLayout, uint32_t, const VkBufferImageCopy_host *);
586 #else
587 void (*p_vkCmdCopyBufferToImage)(VkCommandBuffer, VkBuffer, VkImage, VkImageLayout, uint32_t, const VkBufferImageCopy *);
588 #endif
589 void (*p_vkCmdCopyImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageCopy *);
590 #if defined(USE_STRUCT_CONVERSION)
591 void (*p_vkCmdCopyImageToBuffer)(VkCommandBuffer, VkImage, VkImageLayout, VkBuffer, uint32_t, const VkBufferImageCopy_host *);
592 #else
593 void (*p_vkCmdCopyImageToBuffer)(VkCommandBuffer, VkImage, VkImageLayout, VkBuffer, uint32_t, const VkBufferImageCopy *);
594 #endif
595 void (*p_vkCmdCopyQueryPoolResults)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t, VkBuffer, VkDeviceSize, VkDeviceSize, VkQueryResultFlags);
596 void (*p_vkCmdDispatch)(VkCommandBuffer, uint32_t, uint32_t, uint32_t);
597 void (*p_vkCmdDispatchIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize);
598 void (*p_vkCmdDraw)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, uint32_t);
599 void (*p_vkCmdDrawIndexed)(VkCommandBuffer, uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
600 void (*p_vkCmdDrawIndexedIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
601 void (*p_vkCmdDrawIndexedIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
602 void (*p_vkCmdDrawIndirect)(VkCommandBuffer, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
603 void (*p_vkCmdDrawIndirectCountAMD)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkBuffer, VkDeviceSize, uint32_t, uint32_t);
604 void (*p_vkCmdEndQuery)(VkCommandBuffer, VkQueryPool, uint32_t);
605 void (*p_vkCmdEndRenderPass)(VkCommandBuffer);
606 void (*p_vkCmdExecuteCommands)(VkCommandBuffer, uint32_t, const VkCommandBuffer *);
607 void (*p_vkCmdFillBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, uint32_t);
608 void (*p_vkCmdNextSubpass)(VkCommandBuffer, VkSubpassContents);
609 #if defined(USE_STRUCT_CONVERSION)
610 void (*p_vkCmdPipelineBarrier)(VkCommandBuffer, VkPipelineStageFlags, VkPipelineStageFlags, VkDependencyFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier_host *, uint32_t, const VkImageMemoryBarrier_host *);
611 #else
612 void (*p_vkCmdPipelineBarrier)(VkCommandBuffer, VkPipelineStageFlags, VkPipelineStageFlags, VkDependencyFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
613 #endif
614 void (*p_vkCmdPushConstants)(VkCommandBuffer, VkPipelineLayout, VkShaderStageFlags, uint32_t, uint32_t, const void *);
615 #if defined(USE_STRUCT_CONVERSION)
616 void (*p_vkCmdPushDescriptorSetKHR)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkWriteDescriptorSet_host *);
617 #else
618 void (*p_vkCmdPushDescriptorSetKHR)(VkCommandBuffer, VkPipelineBindPoint, VkPipelineLayout, uint32_t, uint32_t, const VkWriteDescriptorSet *);
619 #endif
620 void (*p_vkCmdPushDescriptorSetWithTemplateKHR)(VkCommandBuffer, VkDescriptorUpdateTemplateKHR, VkPipelineLayout, uint32_t, const void *);
621 void (*p_vkCmdResetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
622 void (*p_vkCmdResetQueryPool)(VkCommandBuffer, VkQueryPool, uint32_t, uint32_t);
623 void (*p_vkCmdResolveImage)(VkCommandBuffer, VkImage, VkImageLayout, VkImage, VkImageLayout, uint32_t, const VkImageResolve *);
624 void (*p_vkCmdSetBlendConstants)(VkCommandBuffer, const float[4]);
625 void (*p_vkCmdSetDepthBias)(VkCommandBuffer, float, float, float);
626 void (*p_vkCmdSetDepthBounds)(VkCommandBuffer, float, float);
627 void (*p_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
628 void (*p_vkCmdSetEvent)(VkCommandBuffer, VkEvent, VkPipelineStageFlags);
629 void (*p_vkCmdSetLineWidth)(VkCommandBuffer, float);
630 void (*p_vkCmdSetScissor)(VkCommandBuffer, uint32_t, uint32_t, const VkRect2D *);
631 void (*p_vkCmdSetStencilCompareMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
632 void (*p_vkCmdSetStencilReference)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
633 void (*p_vkCmdSetStencilWriteMask)(VkCommandBuffer, VkStencilFaceFlags, uint32_t);
634 void (*p_vkCmdSetViewport)(VkCommandBuffer, uint32_t, uint32_t, const VkViewport *);
635 void (*p_vkCmdSetViewportWScalingNV)(VkCommandBuffer, uint32_t, uint32_t, const VkViewportWScalingNV *);
636 void (*p_vkCmdUpdateBuffer)(VkCommandBuffer, VkBuffer, VkDeviceSize, VkDeviceSize, const void *);
637 #if defined(USE_STRUCT_CONVERSION)
638 void (*p_vkCmdWaitEvents)(VkCommandBuffer, uint32_t, const VkEvent *, VkPipelineStageFlags, VkPipelineStageFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier_host *, uint32_t, const VkImageMemoryBarrier_host *);
639 #else
640 void (*p_vkCmdWaitEvents)(VkCommandBuffer, uint32_t, const VkEvent *, VkPipelineStageFlags, VkPipelineStageFlags, uint32_t, const VkMemoryBarrier *, uint32_t, const VkBufferMemoryBarrier *, uint32_t, const VkImageMemoryBarrier *);
641 #endif
642 void (*p_vkCmdWriteTimestamp)(VkCommandBuffer, VkPipelineStageFlagBits, VkQueryPool, uint32_t);
643 #if defined(USE_STRUCT_CONVERSION)
644 VkResult (*p_vkCreateBuffer)(VkDevice, const VkBufferCreateInfo_host *, const VkAllocationCallbacks *, VkBuffer *);
645 #else
646 VkResult (*p_vkCreateBuffer)(VkDevice, const VkBufferCreateInfo *, const VkAllocationCallbacks *, VkBuffer *);
647 #endif
648 #if defined(USE_STRUCT_CONVERSION)
649 VkResult (*p_vkCreateBufferView)(VkDevice, const VkBufferViewCreateInfo_host *, const VkAllocationCallbacks *, VkBufferView *);
650 #else
651 VkResult (*p_vkCreateBufferView)(VkDevice, const VkBufferViewCreateInfo *, const VkAllocationCallbacks *, VkBufferView *);
652 #endif
653 VkResult (*p_vkCreateCommandPool)(VkDevice, const VkCommandPoolCreateInfo *, const VkAllocationCallbacks *, VkCommandPool *);
654 #if defined(USE_STRUCT_CONVERSION)
655 VkResult (*p_vkCreateComputePipelines)(VkDevice, VkPipelineCache, uint32_t, const VkComputePipelineCreateInfo_host *, const VkAllocationCallbacks *, VkPipeline *);
656 #else
657 VkResult (*p_vkCreateComputePipelines)(VkDevice, VkPipelineCache, uint32_t, const VkComputePipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
658 #endif
659 VkResult (*p_vkCreateDescriptorPool)(VkDevice, const VkDescriptorPoolCreateInfo *, const VkAllocationCallbacks *, VkDescriptorPool *);
660 VkResult (*p_vkCreateDescriptorSetLayout)(VkDevice, const VkDescriptorSetLayoutCreateInfo *, const VkAllocationCallbacks *, VkDescriptorSetLayout *);
661 #if defined(USE_STRUCT_CONVERSION)
662 VkResult (*p_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfoKHR_host *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplateKHR *);
663 #else
664 VkResult (*p_vkCreateDescriptorUpdateTemplateKHR)(VkDevice, const VkDescriptorUpdateTemplateCreateInfoKHR *, const VkAllocationCallbacks *, VkDescriptorUpdateTemplateKHR *);
665 #endif
666 VkResult (*p_vkCreateEvent)(VkDevice, const VkEventCreateInfo *, const VkAllocationCallbacks *, VkEvent *);
667 VkResult (*p_vkCreateFence)(VkDevice, const VkFenceCreateInfo *, const VkAllocationCallbacks *, VkFence *);
668 #if defined(USE_STRUCT_CONVERSION)
669 VkResult (*p_vkCreateFramebuffer)(VkDevice, const VkFramebufferCreateInfo_host *, const VkAllocationCallbacks *, VkFramebuffer *);
670 #else
671 VkResult (*p_vkCreateFramebuffer)(VkDevice, const VkFramebufferCreateInfo *, const VkAllocationCallbacks *, VkFramebuffer *);
672 #endif
673 #if defined(USE_STRUCT_CONVERSION)
674 VkResult (*p_vkCreateGraphicsPipelines)(VkDevice, VkPipelineCache, uint32_t, const VkGraphicsPipelineCreateInfo_host *, const VkAllocationCallbacks *, VkPipeline *);
675 #else
676 VkResult (*p_vkCreateGraphicsPipelines)(VkDevice, VkPipelineCache, uint32_t, const VkGraphicsPipelineCreateInfo *, const VkAllocationCallbacks *, VkPipeline *);
677 #endif
678 VkResult (*p_vkCreateImage)(VkDevice, const VkImageCreateInfo *, const VkAllocationCallbacks *, VkImage *);
679 #if defined(USE_STRUCT_CONVERSION)
680 VkResult (*p_vkCreateImageView)(VkDevice, const VkImageViewCreateInfo_host *, const VkAllocationCallbacks *, VkImageView *);
681 #else
682 VkResult (*p_vkCreateImageView)(VkDevice, const VkImageViewCreateInfo *, const VkAllocationCallbacks *, VkImageView *);
683 #endif
684 VkResult (*p_vkCreatePipelineCache)(VkDevice, const VkPipelineCacheCreateInfo *, const VkAllocationCallbacks *, VkPipelineCache *);
685 VkResult (*p_vkCreatePipelineLayout)(VkDevice, const VkPipelineLayoutCreateInfo *, const VkAllocationCallbacks *, VkPipelineLayout *);
686 VkResult (*p_vkCreateQueryPool)(VkDevice, const VkQueryPoolCreateInfo *, const VkAllocationCallbacks *, VkQueryPool *);
687 VkResult (*p_vkCreateRenderPass)(VkDevice, const VkRenderPassCreateInfo *, const VkAllocationCallbacks *, VkRenderPass *);
688 VkResult (*p_vkCreateSampler)(VkDevice, const VkSamplerCreateInfo *, const VkAllocationCallbacks *, VkSampler *);
689 VkResult (*p_vkCreateSemaphore)(VkDevice, const VkSemaphoreCreateInfo *, const VkAllocationCallbacks *, VkSemaphore *);
690 VkResult (*p_vkCreateShaderModule)(VkDevice, const VkShaderModuleCreateInfo *, const VkAllocationCallbacks *, VkShaderModule *);
691 #if defined(USE_STRUCT_CONVERSION)
692 VkResult (*p_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR_host *, const VkAllocationCallbacks *, VkSwapchainKHR *);
693 #else
694 VkResult (*p_vkCreateSwapchainKHR)(VkDevice, const VkSwapchainCreateInfoKHR *, const VkAllocationCallbacks *, VkSwapchainKHR *);
695 #endif
696 void (*p_vkDestroyBuffer)(VkDevice, VkBuffer, const VkAllocationCallbacks *);
697 void (*p_vkDestroyBufferView)(VkDevice, VkBufferView, const VkAllocationCallbacks *);
698 void (*p_vkDestroyCommandPool)(VkDevice, VkCommandPool, const VkAllocationCallbacks *);
699 void (*p_vkDestroyDescriptorPool)(VkDevice, VkDescriptorPool, const VkAllocationCallbacks *);
700 void (*p_vkDestroyDescriptorSetLayout)(VkDevice, VkDescriptorSetLayout, const VkAllocationCallbacks *);
701 void (*p_vkDestroyDescriptorUpdateTemplateKHR)(VkDevice, VkDescriptorUpdateTemplateKHR, const VkAllocationCallbacks *);
702 void (*p_vkDestroyDevice)(VkDevice, const VkAllocationCallbacks *);
703 void (*p_vkDestroyEvent)(VkDevice, VkEvent, const VkAllocationCallbacks *);
704 void (*p_vkDestroyFence)(VkDevice, VkFence, const VkAllocationCallbacks *);
705 void (*p_vkDestroyFramebuffer)(VkDevice, VkFramebuffer, const VkAllocationCallbacks *);
706 void (*p_vkDestroyImage)(VkDevice, VkImage, const VkAllocationCallbacks *);
707 void (*p_vkDestroyImageView)(VkDevice, VkImageView, const VkAllocationCallbacks *);
708 void (*p_vkDestroyPipeline)(VkDevice, VkPipeline, const VkAllocationCallbacks *);
709 void (*p_vkDestroyPipelineCache)(VkDevice, VkPipelineCache, const VkAllocationCallbacks *);
710 void (*p_vkDestroyPipelineLayout)(VkDevice, VkPipelineLayout, const VkAllocationCallbacks *);
711 void (*p_vkDestroyQueryPool)(VkDevice, VkQueryPool, const VkAllocationCallbacks *);
712 void (*p_vkDestroyRenderPass)(VkDevice, VkRenderPass, const VkAllocationCallbacks *);
713 void (*p_vkDestroySampler)(VkDevice, VkSampler, const VkAllocationCallbacks *);
714 void (*p_vkDestroySemaphore)(VkDevice, VkSemaphore, const VkAllocationCallbacks *);
715 void (*p_vkDestroyShaderModule)(VkDevice, VkShaderModule, const VkAllocationCallbacks *);
716 void (*p_vkDestroySwapchainKHR)(VkDevice, VkSwapchainKHR, const VkAllocationCallbacks *);
717 VkResult (*p_vkDeviceWaitIdle)(VkDevice);
718 VkResult (*p_vkEndCommandBuffer)(VkCommandBuffer);
719 #if defined(USE_STRUCT_CONVERSION)
720 VkResult (*p_vkFlushMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange_host *);
721 #else
722 VkResult (*p_vkFlushMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange *);
723 #endif
724 void (*p_vkFreeCommandBuffers)(VkDevice, VkCommandPool, uint32_t, const VkCommandBuffer *);
725 VkResult (*p_vkFreeDescriptorSets)(VkDevice, VkDescriptorPool, uint32_t, const VkDescriptorSet *);
726 void (*p_vkFreeMemory)(VkDevice, VkDeviceMemory, const VkAllocationCallbacks *);
727 #if defined(USE_STRUCT_CONVERSION)
728 void (*p_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements_host *);
729 #else
730 void (*p_vkGetBufferMemoryRequirements)(VkDevice, VkBuffer, VkMemoryRequirements *);
731 #endif
732 void (*p_vkGetDeviceMemoryCommitment)(VkDevice, VkDeviceMemory, VkDeviceSize *);
733 void (*p_vkGetDeviceQueue)(VkDevice, uint32_t, uint32_t, VkQueue *);
734 VkResult (*p_vkGetEventStatus)(VkDevice, VkEvent);
735 VkResult (*p_vkGetFenceStatus)(VkDevice, VkFence);
736 #if defined(USE_STRUCT_CONVERSION)
737 void (*p_vkGetImageMemoryRequirements)(VkDevice, VkImage, VkMemoryRequirements_host *);
738 #else
739 void (*p_vkGetImageMemoryRequirements)(VkDevice, VkImage, VkMemoryRequirements *);
740 #endif
741 void (*p_vkGetImageSparseMemoryRequirements)(VkDevice, VkImage, uint32_t *, VkSparseImageMemoryRequirements *);
742 #if defined(USE_STRUCT_CONVERSION)
743 void (*p_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout_host *);
744 #else
745 void (*p_vkGetImageSubresourceLayout)(VkDevice, VkImage, const VkImageSubresource *, VkSubresourceLayout *);
746 #endif
747 VkResult (*p_vkGetPipelineCacheData)(VkDevice, VkPipelineCache, size_t *, void *);
748 VkResult (*p_vkGetQueryPoolResults)(VkDevice, VkQueryPool, uint32_t, uint32_t, size_t, void *, VkDeviceSize, VkQueryResultFlags);
749 void (*p_vkGetRenderAreaGranularity)(VkDevice, VkRenderPass, VkExtent2D *);
750 VkResult (*p_vkGetSwapchainImagesKHR)(VkDevice, VkSwapchainKHR, uint32_t *, VkImage *);
751 #if defined(USE_STRUCT_CONVERSION)
752 VkResult (*p_vkInvalidateMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange_host *);
753 #else
754 VkResult (*p_vkInvalidateMappedMemoryRanges)(VkDevice, uint32_t, const VkMappedMemoryRange *);
755 #endif
756 VkResult (*p_vkMapMemory)(VkDevice, VkDeviceMemory, VkDeviceSize, VkDeviceSize, VkMemoryMapFlags, void **);
757 VkResult (*p_vkMergePipelineCaches)(VkDevice, VkPipelineCache, uint32_t, const VkPipelineCache *);
758 #if defined(USE_STRUCT_CONVERSION)
759 VkResult (*p_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo_host *, VkFence);
760 #else
761 VkResult (*p_vkQueueBindSparse)(VkQueue, uint32_t, const VkBindSparseInfo *, VkFence);
762 #endif
763 VkResult (*p_vkQueuePresentKHR)(VkQueue, const VkPresentInfoKHR *);
764 VkResult (*p_vkQueueSubmit)(VkQueue, uint32_t, const VkSubmitInfo *, VkFence);
765 VkResult (*p_vkQueueWaitIdle)(VkQueue);
766 VkResult (*p_vkResetCommandBuffer)(VkCommandBuffer, VkCommandBufferResetFlags);
767 VkResult (*p_vkResetCommandPool)(VkDevice, VkCommandPool, VkCommandPoolResetFlags);
768 VkResult (*p_vkResetDescriptorPool)(VkDevice, VkDescriptorPool, VkDescriptorPoolResetFlags);
769 VkResult (*p_vkResetEvent)(VkDevice, VkEvent);
770 VkResult (*p_vkResetFences)(VkDevice, uint32_t, const VkFence *);
771 VkResult (*p_vkSetEvent)(VkDevice, VkEvent);
772 void (*p_vkTrimCommandPoolKHR)(VkDevice, VkCommandPool, VkCommandPoolTrimFlagsKHR);
773 void (*p_vkUnmapMemory)(VkDevice, VkDeviceMemory);
774 void (*p_vkUpdateDescriptorSetWithTemplateKHR)(VkDevice, VkDescriptorSet, VkDescriptorUpdateTemplateKHR, const void *);
775 #if defined(USE_STRUCT_CONVERSION)
776 void (*p_vkUpdateDescriptorSets)(VkDevice, uint32_t, const VkWriteDescriptorSet_host *, uint32_t, const VkCopyDescriptorSet_host *);
777 #else
778 void (*p_vkUpdateDescriptorSets)(VkDevice, uint32_t, const VkWriteDescriptorSet *, uint32_t, const VkCopyDescriptorSet *);
779 #endif
780 VkResult (*p_vkWaitForFences)(VkDevice, uint32_t, const VkFence *, VkBool32, uint64_t);
783 /* For use by vkInstance and children */
784 struct vulkan_instance_funcs
786 VkResult (*p_vkCreateDevice)(VkPhysicalDevice, const VkDeviceCreateInfo *, const VkAllocationCallbacks *, VkDevice *);
787 VkResult (*p_vkCreateWin32SurfaceKHR)(VkInstance, const VkWin32SurfaceCreateInfoKHR *, const VkAllocationCallbacks *, VkSurfaceKHR *);
788 void (*p_vkDestroySurfaceKHR)(VkInstance, VkSurfaceKHR, const VkAllocationCallbacks *);
789 VkResult (*p_vkEnumerateDeviceExtensionProperties)(VkPhysicalDevice, const char *, uint32_t *, VkExtensionProperties *);
790 VkResult (*p_vkEnumerateDeviceLayerProperties)(VkPhysicalDevice, uint32_t *, VkLayerProperties *);
791 VkResult (*p_vkEnumeratePhysicalDevices)(VkInstance, uint32_t *, VkPhysicalDevice *);
792 void (*p_vkGetPhysicalDeviceFeatures)(VkPhysicalDevice, VkPhysicalDeviceFeatures *);
793 void (*p_vkGetPhysicalDeviceFeatures2KHR)(VkPhysicalDevice, VkPhysicalDeviceFeatures2KHR *);
794 void (*p_vkGetPhysicalDeviceFormatProperties)(VkPhysicalDevice, VkFormat, VkFormatProperties *);
795 void (*p_vkGetPhysicalDeviceFormatProperties2KHR)(VkPhysicalDevice, VkFormat, VkFormatProperties2KHR *);
796 #if defined(USE_STRUCT_CONVERSION)
797 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkImageTiling, VkImageUsageFlags, VkImageCreateFlags, VkImageFormatProperties_host *);
798 #else
799 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkImageTiling, VkImageUsageFlags, VkImageCreateFlags, VkImageFormatProperties *);
800 #endif
801 #if defined(USE_STRUCT_CONVERSION)
802 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR *, VkImageFormatProperties2KHR_host *);
803 #else
804 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceImageFormatInfo2KHR *, VkImageFormatProperties2KHR *);
805 #endif
806 #if defined(USE_STRUCT_CONVERSION)
807 void (*p_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties_host *);
808 #else
809 void (*p_vkGetPhysicalDeviceMemoryProperties)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties *);
810 #endif
811 #if defined(USE_STRUCT_CONVERSION)
812 void (*p_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2KHR_host *);
813 #else
814 void (*p_vkGetPhysicalDeviceMemoryProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceMemoryProperties2KHR *);
815 #endif
816 #if defined(USE_STRUCT_CONVERSION)
817 void (*p_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties_host *);
818 #else
819 void (*p_vkGetPhysicalDeviceProperties)(VkPhysicalDevice, VkPhysicalDeviceProperties *);
820 #endif
821 #if defined(USE_STRUCT_CONVERSION)
822 void (*p_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2KHR_host *);
823 #else
824 void (*p_vkGetPhysicalDeviceProperties2KHR)(VkPhysicalDevice, VkPhysicalDeviceProperties2KHR *);
825 #endif
826 void (*p_vkGetPhysicalDeviceQueueFamilyProperties)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties *);
827 void (*p_vkGetPhysicalDeviceQueueFamilyProperties2KHR)(VkPhysicalDevice, uint32_t *, VkQueueFamilyProperties2KHR *);
828 void (*p_vkGetPhysicalDeviceSparseImageFormatProperties)(VkPhysicalDevice, VkFormat, VkImageType, VkSampleCountFlagBits, VkImageUsageFlags, VkImageTiling, uint32_t *, VkSparseImageFormatProperties *);
829 void (*p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)(VkPhysicalDevice, const VkPhysicalDeviceSparseImageFormatInfo2KHR *, uint32_t *, VkSparseImageFormatProperties2KHR *);
830 VkResult (*p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)(VkPhysicalDevice, VkSurfaceKHR, VkSurfaceCapabilitiesKHR *);
831 VkResult (*p_vkGetPhysicalDeviceSurfaceFormatsKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkSurfaceFormatKHR *);
832 VkResult (*p_vkGetPhysicalDeviceSurfacePresentModesKHR)(VkPhysicalDevice, VkSurfaceKHR, uint32_t *, VkPresentModeKHR *);
833 VkResult (*p_vkGetPhysicalDeviceSurfaceSupportKHR)(VkPhysicalDevice, uint32_t, VkSurfaceKHR, VkBool32 *);
834 VkBool32 (*p_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice, uint32_t);
837 #define ALL_VK_DEVICE_FUNCS() \
838 USE_VK_FUNC(vkAcquireNextImageKHR) \
839 USE_VK_FUNC(vkAllocateCommandBuffers) \
840 USE_VK_FUNC(vkAllocateDescriptorSets) \
841 USE_VK_FUNC(vkAllocateMemory) \
842 USE_VK_FUNC(vkBeginCommandBuffer) \
843 USE_VK_FUNC(vkBindBufferMemory) \
844 USE_VK_FUNC(vkBindImageMemory) \
845 USE_VK_FUNC(vkCmdBeginQuery) \
846 USE_VK_FUNC(vkCmdBeginRenderPass) \
847 USE_VK_FUNC(vkCmdBindDescriptorSets) \
848 USE_VK_FUNC(vkCmdBindIndexBuffer) \
849 USE_VK_FUNC(vkCmdBindPipeline) \
850 USE_VK_FUNC(vkCmdBindVertexBuffers) \
851 USE_VK_FUNC(vkCmdBlitImage) \
852 USE_VK_FUNC(vkCmdClearAttachments) \
853 USE_VK_FUNC(vkCmdClearColorImage) \
854 USE_VK_FUNC(vkCmdClearDepthStencilImage) \
855 USE_VK_FUNC(vkCmdCopyBuffer) \
856 USE_VK_FUNC(vkCmdCopyBufferToImage) \
857 USE_VK_FUNC(vkCmdCopyImage) \
858 USE_VK_FUNC(vkCmdCopyImageToBuffer) \
859 USE_VK_FUNC(vkCmdCopyQueryPoolResults) \
860 USE_VK_FUNC(vkCmdDispatch) \
861 USE_VK_FUNC(vkCmdDispatchIndirect) \
862 USE_VK_FUNC(vkCmdDraw) \
863 USE_VK_FUNC(vkCmdDrawIndexed) \
864 USE_VK_FUNC(vkCmdDrawIndexedIndirect) \
865 USE_VK_FUNC(vkCmdDrawIndexedIndirectCountAMD) \
866 USE_VK_FUNC(vkCmdDrawIndirect) \
867 USE_VK_FUNC(vkCmdDrawIndirectCountAMD) \
868 USE_VK_FUNC(vkCmdEndQuery) \
869 USE_VK_FUNC(vkCmdEndRenderPass) \
870 USE_VK_FUNC(vkCmdExecuteCommands) \
871 USE_VK_FUNC(vkCmdFillBuffer) \
872 USE_VK_FUNC(vkCmdNextSubpass) \
873 USE_VK_FUNC(vkCmdPipelineBarrier) \
874 USE_VK_FUNC(vkCmdPushConstants) \
875 USE_VK_FUNC(vkCmdPushDescriptorSetKHR) \
876 USE_VK_FUNC(vkCmdPushDescriptorSetWithTemplateKHR) \
877 USE_VK_FUNC(vkCmdResetEvent) \
878 USE_VK_FUNC(vkCmdResetQueryPool) \
879 USE_VK_FUNC(vkCmdResolveImage) \
880 USE_VK_FUNC(vkCmdSetBlendConstants) \
881 USE_VK_FUNC(vkCmdSetDepthBias) \
882 USE_VK_FUNC(vkCmdSetDepthBounds) \
883 USE_VK_FUNC(vkCmdSetDiscardRectangleEXT) \
884 USE_VK_FUNC(vkCmdSetEvent) \
885 USE_VK_FUNC(vkCmdSetLineWidth) \
886 USE_VK_FUNC(vkCmdSetScissor) \
887 USE_VK_FUNC(vkCmdSetStencilCompareMask) \
888 USE_VK_FUNC(vkCmdSetStencilReference) \
889 USE_VK_FUNC(vkCmdSetStencilWriteMask) \
890 USE_VK_FUNC(vkCmdSetViewport) \
891 USE_VK_FUNC(vkCmdSetViewportWScalingNV) \
892 USE_VK_FUNC(vkCmdUpdateBuffer) \
893 USE_VK_FUNC(vkCmdWaitEvents) \
894 USE_VK_FUNC(vkCmdWriteTimestamp) \
895 USE_VK_FUNC(vkCreateBuffer) \
896 USE_VK_FUNC(vkCreateBufferView) \
897 USE_VK_FUNC(vkCreateCommandPool) \
898 USE_VK_FUNC(vkCreateComputePipelines) \
899 USE_VK_FUNC(vkCreateDescriptorPool) \
900 USE_VK_FUNC(vkCreateDescriptorSetLayout) \
901 USE_VK_FUNC(vkCreateDescriptorUpdateTemplateKHR) \
902 USE_VK_FUNC(vkCreateEvent) \
903 USE_VK_FUNC(vkCreateFence) \
904 USE_VK_FUNC(vkCreateFramebuffer) \
905 USE_VK_FUNC(vkCreateGraphicsPipelines) \
906 USE_VK_FUNC(vkCreateImage) \
907 USE_VK_FUNC(vkCreateImageView) \
908 USE_VK_FUNC(vkCreatePipelineCache) \
909 USE_VK_FUNC(vkCreatePipelineLayout) \
910 USE_VK_FUNC(vkCreateQueryPool) \
911 USE_VK_FUNC(vkCreateRenderPass) \
912 USE_VK_FUNC(vkCreateSampler) \
913 USE_VK_FUNC(vkCreateSemaphore) \
914 USE_VK_FUNC(vkCreateShaderModule) \
915 USE_VK_FUNC(vkCreateSwapchainKHR) \
916 USE_VK_FUNC(vkDestroyBuffer) \
917 USE_VK_FUNC(vkDestroyBufferView) \
918 USE_VK_FUNC(vkDestroyCommandPool) \
919 USE_VK_FUNC(vkDestroyDescriptorPool) \
920 USE_VK_FUNC(vkDestroyDescriptorSetLayout) \
921 USE_VK_FUNC(vkDestroyDescriptorUpdateTemplateKHR) \
922 USE_VK_FUNC(vkDestroyDevice) \
923 USE_VK_FUNC(vkDestroyEvent) \
924 USE_VK_FUNC(vkDestroyFence) \
925 USE_VK_FUNC(vkDestroyFramebuffer) \
926 USE_VK_FUNC(vkDestroyImage) \
927 USE_VK_FUNC(vkDestroyImageView) \
928 USE_VK_FUNC(vkDestroyPipeline) \
929 USE_VK_FUNC(vkDestroyPipelineCache) \
930 USE_VK_FUNC(vkDestroyPipelineLayout) \
931 USE_VK_FUNC(vkDestroyQueryPool) \
932 USE_VK_FUNC(vkDestroyRenderPass) \
933 USE_VK_FUNC(vkDestroySampler) \
934 USE_VK_FUNC(vkDestroySemaphore) \
935 USE_VK_FUNC(vkDestroyShaderModule) \
936 USE_VK_FUNC(vkDestroySwapchainKHR) \
937 USE_VK_FUNC(vkDeviceWaitIdle) \
938 USE_VK_FUNC(vkEndCommandBuffer) \
939 USE_VK_FUNC(vkFlushMappedMemoryRanges) \
940 USE_VK_FUNC(vkFreeCommandBuffers) \
941 USE_VK_FUNC(vkFreeDescriptorSets) \
942 USE_VK_FUNC(vkFreeMemory) \
943 USE_VK_FUNC(vkGetBufferMemoryRequirements) \
944 USE_VK_FUNC(vkGetDeviceMemoryCommitment) \
945 USE_VK_FUNC(vkGetDeviceQueue) \
946 USE_VK_FUNC(vkGetEventStatus) \
947 USE_VK_FUNC(vkGetFenceStatus) \
948 USE_VK_FUNC(vkGetImageMemoryRequirements) \
949 USE_VK_FUNC(vkGetImageSparseMemoryRequirements) \
950 USE_VK_FUNC(vkGetImageSubresourceLayout) \
951 USE_VK_FUNC(vkGetPipelineCacheData) \
952 USE_VK_FUNC(vkGetQueryPoolResults) \
953 USE_VK_FUNC(vkGetRenderAreaGranularity) \
954 USE_VK_FUNC(vkGetSwapchainImagesKHR) \
955 USE_VK_FUNC(vkInvalidateMappedMemoryRanges) \
956 USE_VK_FUNC(vkMapMemory) \
957 USE_VK_FUNC(vkMergePipelineCaches) \
958 USE_VK_FUNC(vkQueueBindSparse) \
959 USE_VK_FUNC(vkQueuePresentKHR) \
960 USE_VK_FUNC(vkQueueSubmit) \
961 USE_VK_FUNC(vkQueueWaitIdle) \
962 USE_VK_FUNC(vkResetCommandBuffer) \
963 USE_VK_FUNC(vkResetCommandPool) \
964 USE_VK_FUNC(vkResetDescriptorPool) \
965 USE_VK_FUNC(vkResetEvent) \
966 USE_VK_FUNC(vkResetFences) \
967 USE_VK_FUNC(vkSetEvent) \
968 USE_VK_FUNC(vkTrimCommandPoolKHR) \
969 USE_VK_FUNC(vkUnmapMemory) \
970 USE_VK_FUNC(vkUpdateDescriptorSetWithTemplateKHR) \
971 USE_VK_FUNC(vkUpdateDescriptorSets) \
972 USE_VK_FUNC(vkWaitForFences)
974 #define ALL_VK_INSTANCE_FUNCS() \
975 USE_VK_FUNC(vkCreateDevice) \
976 USE_VK_FUNC(vkCreateWin32SurfaceKHR) \
977 USE_VK_FUNC(vkDestroySurfaceKHR) \
978 USE_VK_FUNC(vkEnumerateDeviceExtensionProperties) \
979 USE_VK_FUNC(vkEnumerateDeviceLayerProperties) \
980 USE_VK_FUNC(vkEnumeratePhysicalDevices) \
981 USE_VK_FUNC(vkGetPhysicalDeviceFeatures) \
982 USE_VK_FUNC(vkGetPhysicalDeviceFeatures2KHR) \
983 USE_VK_FUNC(vkGetPhysicalDeviceFormatProperties) \
984 USE_VK_FUNC(vkGetPhysicalDeviceFormatProperties2KHR) \
985 USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties) \
986 USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties2KHR) \
987 USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties) \
988 USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties2KHR) \
989 USE_VK_FUNC(vkGetPhysicalDeviceProperties) \
990 USE_VK_FUNC(vkGetPhysicalDeviceProperties2KHR) \
991 USE_VK_FUNC(vkGetPhysicalDeviceQueueFamilyProperties) \
992 USE_VK_FUNC(vkGetPhysicalDeviceQueueFamilyProperties2KHR) \
993 USE_VK_FUNC(vkGetPhysicalDeviceSparseImageFormatProperties) \
994 USE_VK_FUNC(vkGetPhysicalDeviceSparseImageFormatProperties2KHR) \
995 USE_VK_FUNC(vkGetPhysicalDeviceSurfaceCapabilitiesKHR) \
996 USE_VK_FUNC(vkGetPhysicalDeviceSurfaceFormatsKHR) \
997 USE_VK_FUNC(vkGetPhysicalDeviceSurfacePresentModesKHR) \
998 USE_VK_FUNC(vkGetPhysicalDeviceSurfaceSupportKHR) \
999 USE_VK_FUNC(vkGetPhysicalDeviceWin32PresentationSupportKHR)
1001 #endif /* __WINE_VULKAN_THUNKS_H */