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