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
;
17 /* Functions for which we have custom implementations outside of the thunks. */
18 VkResult WINAPI
wine_vkAcquireNextImageKHR(VkDevice device
, VkSwapchainKHR swapchain
, uint64_t timeout
, VkSemaphore semaphore
, VkFence fence
, uint32_t *pImageIndex
) DECLSPEC_HIDDEN
;
19 VkResult WINAPI
wine_vkAllocateCommandBuffers(VkDevice device
, const VkCommandBufferAllocateInfo
*pAllocateInfo
, VkCommandBuffer
*pCommandBuffers
) DECLSPEC_HIDDEN
;
20 void WINAPI
wine_vkCmdExecuteCommands(VkCommandBuffer commandBuffer
, uint32_t commandBufferCount
, const VkCommandBuffer
*pCommandBuffers
) DECLSPEC_HIDDEN
;
21 VkResult WINAPI
wine_vkCreateDevice(VkPhysicalDevice physicalDevice
, const VkDeviceCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDevice
*pDevice
) DECLSPEC_HIDDEN
;
22 VkResult WINAPI
wine_vkCreateSwapchainKHR(VkDevice device
, const VkSwapchainCreateInfoKHR
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSwapchainKHR
*pSwapchain
) DECLSPEC_HIDDEN
;
23 VkResult WINAPI
wine_vkCreateWin32SurfaceKHR(VkInstance instance
, const VkWin32SurfaceCreateInfoKHR
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSurfaceKHR
*pSurface
) DECLSPEC_HIDDEN
;
24 void WINAPI
wine_vkDestroyDevice(VkDevice device
, const VkAllocationCallbacks
*pAllocator
) DECLSPEC_HIDDEN
;
25 void WINAPI
wine_vkDestroyInstance(VkInstance instance
, const VkAllocationCallbacks
*pAllocator
) DECLSPEC_HIDDEN
;
26 void WINAPI
wine_vkDestroySurfaceKHR(VkInstance instance
, VkSurfaceKHR surface
, const VkAllocationCallbacks
*pAllocator
) DECLSPEC_HIDDEN
;
27 void WINAPI
wine_vkDestroySwapchainKHR(VkDevice device
, VkSwapchainKHR swapchain
, const VkAllocationCallbacks
*pAllocator
) DECLSPEC_HIDDEN
;
28 VkResult WINAPI
wine_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice
, const char *pLayerName
, uint32_t *pPropertyCount
, VkExtensionProperties
*pProperties
) DECLSPEC_HIDDEN
;
29 VkResult WINAPI
wine_vkEnumeratePhysicalDevices(VkInstance instance
, uint32_t *pPhysicalDeviceCount
, VkPhysicalDevice
*pPhysicalDevices
) DECLSPEC_HIDDEN
;
30 void WINAPI
wine_vkFreeCommandBuffers(VkDevice device
, VkCommandPool commandPool
, uint32_t commandBufferCount
, const VkCommandBuffer
*pCommandBuffers
) DECLSPEC_HIDDEN
;
31 PFN_vkVoidFunction WINAPI
wine_vkGetDeviceProcAddr(VkDevice device
, const char *pName
) DECLSPEC_HIDDEN
;
32 void WINAPI
wine_vkGetDeviceQueue(VkDevice device
, uint32_t queueFamilyIndex
, uint32_t queueIndex
, VkQueue
*pQueue
) DECLSPEC_HIDDEN
;
33 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, VkSurfaceCapabilitiesKHR
*pSurfaceCapabilities
) DECLSPEC_HIDDEN
;
34 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pSurfaceFormatCount
, VkSurfaceFormatKHR
*pSurfaceFormats
) DECLSPEC_HIDDEN
;
35 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pPresentModeCount
, VkPresentModeKHR
*pPresentModes
) DECLSPEC_HIDDEN
;
36 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
, VkSurfaceKHR surface
, VkBool32
*pSupported
) DECLSPEC_HIDDEN
;
37 VkBool32 WINAPI
wine_vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
) DECLSPEC_HIDDEN
;
38 VkResult WINAPI
wine_vkGetSwapchainImagesKHR(VkDevice device
, VkSwapchainKHR swapchain
, uint32_t *pSwapchainImageCount
, VkImage
*pSwapchainImages
) DECLSPEC_HIDDEN
;
39 VkResult WINAPI
wine_vkQueuePresentKHR(VkQueue queue
, const VkPresentInfoKHR
*pPresentInfo
) DECLSPEC_HIDDEN
;
40 VkResult WINAPI
wine_vkQueueSubmit(VkQueue queue
, uint32_t submitCount
, const VkSubmitInfo
*pSubmits
, VkFence fence
) DECLSPEC_HIDDEN
;
42 typedef struct VkCommandBufferAllocateInfo_host
44 VkStructureType sType
;
46 VkCommandPool commandPool
;
47 VkCommandBufferLevel level
;
48 uint32_t commandBufferCount
;
49 } VkCommandBufferAllocateInfo_host
;
51 typedef struct VkDescriptorSetAllocateInfo_host
53 VkStructureType sType
;
55 VkDescriptorPool descriptorPool
;
56 uint32_t descriptorSetCount
;
57 const VkDescriptorSetLayout
*pSetLayouts
;
58 } VkDescriptorSetAllocateInfo_host
;
60 typedef struct VkMemoryAllocateInfo_host
62 VkStructureType sType
;
64 VkDeviceSize allocationSize
;
65 uint32_t memoryTypeIndex
;
66 } VkMemoryAllocateInfo_host
;
68 typedef struct VkCommandBufferInheritanceInfo_host
70 VkStructureType sType
;
72 VkRenderPass renderPass
;
74 VkFramebuffer framebuffer
;
75 VkBool32 occlusionQueryEnable
;
76 VkQueryControlFlags queryFlags
;
77 VkQueryPipelineStatisticFlags pipelineStatistics
;
78 } VkCommandBufferInheritanceInfo_host
;
80 typedef struct VkCommandBufferBeginInfo_host
82 VkStructureType sType
;
84 VkCommandBufferUsageFlags flags
;
85 const VkCommandBufferInheritanceInfo_host
*pInheritanceInfo
;
86 } VkCommandBufferBeginInfo_host
;
88 typedef struct VkRenderPassBeginInfo_host
90 VkStructureType sType
;
92 VkRenderPass renderPass
;
93 VkFramebuffer framebuffer
;
95 uint32_t clearValueCount
;
96 const VkClearValue
*pClearValues
;
97 } VkRenderPassBeginInfo_host
;
99 typedef struct VkBufferCopy_host
101 VkDeviceSize srcOffset
;
102 VkDeviceSize dstOffset
;
106 typedef struct VkBufferImageCopy_host
108 VkDeviceSize bufferOffset
;
109 uint32_t bufferRowLength
;
110 uint32_t bufferImageHeight
;
111 VkImageSubresourceLayers imageSubresource
;
112 VkOffset3D imageOffset
;
113 VkExtent3D imageExtent
;
114 } VkBufferImageCopy_host
;
116 typedef struct VkBufferMemoryBarrier_host
118 VkStructureType sType
;
120 VkAccessFlags srcAccessMask
;
121 VkAccessFlags dstAccessMask
;
122 uint32_t srcQueueFamilyIndex
;
123 uint32_t dstQueueFamilyIndex
;
127 } VkBufferMemoryBarrier_host
;
129 typedef struct VkImageMemoryBarrier_host
131 VkStructureType sType
;
133 VkAccessFlags srcAccessMask
;
134 VkAccessFlags dstAccessMask
;
135 VkImageLayout oldLayout
;
136 VkImageLayout newLayout
;
137 uint32_t srcQueueFamilyIndex
;
138 uint32_t dstQueueFamilyIndex
;
140 VkImageSubresourceRange subresourceRange
;
141 } VkImageMemoryBarrier_host
;
143 typedef struct VkBufferCreateInfo_host
145 VkStructureType sType
;
147 VkBufferCreateFlags flags
;
149 VkBufferUsageFlags usage
;
150 VkSharingMode sharingMode
;
151 uint32_t queueFamilyIndexCount
;
152 const uint32_t *pQueueFamilyIndices
;
153 } VkBufferCreateInfo_host
;
155 typedef struct VkBufferViewCreateInfo_host
157 VkStructureType sType
;
159 VkBufferViewCreateFlags flags
;
164 } VkBufferViewCreateInfo_host
;
166 typedef struct VkPipelineShaderStageCreateInfo_host
168 VkStructureType sType
;
170 VkPipelineShaderStageCreateFlags flags
;
171 VkShaderStageFlagBits stage
;
172 VkShaderModule module
;
174 const VkSpecializationInfo
*pSpecializationInfo
;
175 } VkPipelineShaderStageCreateInfo_host
;
177 typedef struct VkComputePipelineCreateInfo_host
179 VkStructureType sType
;
181 VkPipelineCreateFlags flags
;
182 VkPipelineShaderStageCreateInfo_host stage
;
183 VkPipelineLayout layout
;
184 VkPipeline basePipelineHandle
;
185 int32_t basePipelineIndex
;
186 } VkComputePipelineCreateInfo_host
;
188 typedef struct VkFramebufferCreateInfo_host
190 VkStructureType sType
;
192 VkFramebufferCreateFlags flags
;
193 VkRenderPass renderPass
;
194 uint32_t attachmentCount
;
195 const VkImageView
*pAttachments
;
199 } VkFramebufferCreateInfo_host
;
201 typedef struct VkGraphicsPipelineCreateInfo_host
203 VkStructureType sType
;
205 VkPipelineCreateFlags flags
;
207 const VkPipelineShaderStageCreateInfo_host
*pStages
;
208 const VkPipelineVertexInputStateCreateInfo
*pVertexInputState
;
209 const VkPipelineInputAssemblyStateCreateInfo
*pInputAssemblyState
;
210 const VkPipelineTessellationStateCreateInfo
*pTessellationState
;
211 const VkPipelineViewportStateCreateInfo
*pViewportState
;
212 const VkPipelineRasterizationStateCreateInfo
*pRasterizationState
;
213 const VkPipelineMultisampleStateCreateInfo
*pMultisampleState
;
214 const VkPipelineDepthStencilStateCreateInfo
*pDepthStencilState
;
215 const VkPipelineColorBlendStateCreateInfo
*pColorBlendState
;
216 const VkPipelineDynamicStateCreateInfo
*pDynamicState
;
217 VkPipelineLayout layout
;
218 VkRenderPass renderPass
;
220 VkPipeline basePipelineHandle
;
221 int32_t basePipelineIndex
;
222 } VkGraphicsPipelineCreateInfo_host
;
224 typedef struct VkImageViewCreateInfo_host
226 VkStructureType sType
;
228 VkImageViewCreateFlags flags
;
230 VkImageViewType viewType
;
232 VkComponentMapping components
;
233 VkImageSubresourceRange subresourceRange
;
234 } VkImageViewCreateInfo_host
;
236 typedef struct VkSwapchainCreateInfoKHR_host
238 VkStructureType sType
;
240 VkSwapchainCreateFlagsKHR flags
;
241 VkSurfaceKHR surface
;
242 uint32_t minImageCount
;
243 VkFormat imageFormat
;
244 VkColorSpaceKHR imageColorSpace
;
245 VkExtent2D imageExtent
;
246 uint32_t imageArrayLayers
;
247 VkImageUsageFlags imageUsage
;
248 VkSharingMode imageSharingMode
;
249 uint32_t queueFamilyIndexCount
;
250 const uint32_t *pQueueFamilyIndices
;
251 VkSurfaceTransformFlagBitsKHR preTransform
;
252 VkCompositeAlphaFlagBitsKHR compositeAlpha
;
253 VkPresentModeKHR presentMode
;
255 VkSwapchainKHR oldSwapchain
;
256 } VkSwapchainCreateInfoKHR_host
;
258 typedef struct VkMappedMemoryRange_host
260 VkStructureType sType
;
262 VkDeviceMemory memory
;
265 } VkMappedMemoryRange_host
;
267 typedef struct VkMemoryRequirements_host
270 VkDeviceSize alignment
;
271 uint32_t memoryTypeBits
;
272 } VkMemoryRequirements_host
;
274 typedef struct VkSubresourceLayout_host
278 VkDeviceSize rowPitch
;
279 VkDeviceSize arrayPitch
;
280 VkDeviceSize depthPitch
;
281 } VkSubresourceLayout_host
;
283 typedef struct VkImageFormatProperties_host
285 VkExtent3D maxExtent
;
286 uint32_t maxMipLevels
;
287 uint32_t maxArrayLayers
;
288 VkSampleCountFlags sampleCounts
;
289 VkDeviceSize maxResourceSize
;
290 } VkImageFormatProperties_host
;
292 typedef struct VkMemoryHeap_host
295 VkMemoryHeapFlags flags
;
298 typedef struct VkPhysicalDeviceMemoryProperties_host
300 uint32_t memoryTypeCount
;
301 VkMemoryType memoryTypes
[VK_MAX_MEMORY_TYPES
];
302 uint32_t memoryHeapCount
;
303 VkMemoryHeap_host memoryHeaps
[VK_MAX_MEMORY_HEAPS
];
304 } VkPhysicalDeviceMemoryProperties_host
;
306 typedef struct VkPhysicalDeviceLimits_host
308 uint32_t maxImageDimension1D
;
309 uint32_t maxImageDimension2D
;
310 uint32_t maxImageDimension3D
;
311 uint32_t maxImageDimensionCube
;
312 uint32_t maxImageArrayLayers
;
313 uint32_t maxTexelBufferElements
;
314 uint32_t maxUniformBufferRange
;
315 uint32_t maxStorageBufferRange
;
316 uint32_t maxPushConstantsSize
;
317 uint32_t maxMemoryAllocationCount
;
318 uint32_t maxSamplerAllocationCount
;
319 VkDeviceSize bufferImageGranularity
;
320 VkDeviceSize sparseAddressSpaceSize
;
321 uint32_t maxBoundDescriptorSets
;
322 uint32_t maxPerStageDescriptorSamplers
;
323 uint32_t maxPerStageDescriptorUniformBuffers
;
324 uint32_t maxPerStageDescriptorStorageBuffers
;
325 uint32_t maxPerStageDescriptorSampledImages
;
326 uint32_t maxPerStageDescriptorStorageImages
;
327 uint32_t maxPerStageDescriptorInputAttachments
;
328 uint32_t maxPerStageResources
;
329 uint32_t maxDescriptorSetSamplers
;
330 uint32_t maxDescriptorSetUniformBuffers
;
331 uint32_t maxDescriptorSetUniformBuffersDynamic
;
332 uint32_t maxDescriptorSetStorageBuffers
;
333 uint32_t maxDescriptorSetStorageBuffersDynamic
;
334 uint32_t maxDescriptorSetSampledImages
;
335 uint32_t maxDescriptorSetStorageImages
;
336 uint32_t maxDescriptorSetInputAttachments
;
337 uint32_t maxVertexInputAttributes
;
338 uint32_t maxVertexInputBindings
;
339 uint32_t maxVertexInputAttributeOffset
;
340 uint32_t maxVertexInputBindingStride
;
341 uint32_t maxVertexOutputComponents
;
342 uint32_t maxTessellationGenerationLevel
;
343 uint32_t maxTessellationPatchSize
;
344 uint32_t maxTessellationControlPerVertexInputComponents
;
345 uint32_t maxTessellationControlPerVertexOutputComponents
;
346 uint32_t maxTessellationControlPerPatchOutputComponents
;
347 uint32_t maxTessellationControlTotalOutputComponents
;
348 uint32_t maxTessellationEvaluationInputComponents
;
349 uint32_t maxTessellationEvaluationOutputComponents
;
350 uint32_t maxGeometryShaderInvocations
;
351 uint32_t maxGeometryInputComponents
;
352 uint32_t maxGeometryOutputComponents
;
353 uint32_t maxGeometryOutputVertices
;
354 uint32_t maxGeometryTotalOutputComponents
;
355 uint32_t maxFragmentInputComponents
;
356 uint32_t maxFragmentOutputAttachments
;
357 uint32_t maxFragmentDualSrcAttachments
;
358 uint32_t maxFragmentCombinedOutputResources
;
359 uint32_t maxComputeSharedMemorySize
;
360 uint32_t maxComputeWorkGroupCount
[3];
361 uint32_t maxComputeWorkGroupInvocations
;
362 uint32_t maxComputeWorkGroupSize
[3];
363 uint32_t subPixelPrecisionBits
;
364 uint32_t subTexelPrecisionBits
;
365 uint32_t mipmapPrecisionBits
;
366 uint32_t maxDrawIndexedIndexValue
;
367 uint32_t maxDrawIndirectCount
;
368 float maxSamplerLodBias
;
369 float maxSamplerAnisotropy
;
370 uint32_t maxViewports
;
371 uint32_t maxViewportDimensions
[2];
372 float viewportBoundsRange
[2];
373 uint32_t viewportSubPixelBits
;
374 size_t minMemoryMapAlignment
;
375 VkDeviceSize minTexelBufferOffsetAlignment
;
376 VkDeviceSize minUniformBufferOffsetAlignment
;
377 VkDeviceSize minStorageBufferOffsetAlignment
;
378 int32_t minTexelOffset
;
379 uint32_t maxTexelOffset
;
380 int32_t minTexelGatherOffset
;
381 uint32_t maxTexelGatherOffset
;
382 float minInterpolationOffset
;
383 float maxInterpolationOffset
;
384 uint32_t subPixelInterpolationOffsetBits
;
385 uint32_t maxFramebufferWidth
;
386 uint32_t maxFramebufferHeight
;
387 uint32_t maxFramebufferLayers
;
388 VkSampleCountFlags framebufferColorSampleCounts
;
389 VkSampleCountFlags framebufferDepthSampleCounts
;
390 VkSampleCountFlags framebufferStencilSampleCounts
;
391 VkSampleCountFlags framebufferNoAttachmentsSampleCounts
;
392 uint32_t maxColorAttachments
;
393 VkSampleCountFlags sampledImageColorSampleCounts
;
394 VkSampleCountFlags sampledImageIntegerSampleCounts
;
395 VkSampleCountFlags sampledImageDepthSampleCounts
;
396 VkSampleCountFlags sampledImageStencilSampleCounts
;
397 VkSampleCountFlags storageImageSampleCounts
;
398 uint32_t maxSampleMaskWords
;
399 VkBool32 timestampComputeAndGraphics
;
400 float timestampPeriod
;
401 uint32_t maxClipDistances
;
402 uint32_t maxCullDistances
;
403 uint32_t maxCombinedClipAndCullDistances
;
404 uint32_t discreteQueuePriorities
;
405 float pointSizeRange
[2];
406 float lineWidthRange
[2];
407 float pointSizeGranularity
;
408 float lineWidthGranularity
;
409 VkBool32 strictLines
;
410 VkBool32 standardSampleLocations
;
411 VkDeviceSize optimalBufferCopyOffsetAlignment
;
412 VkDeviceSize optimalBufferCopyRowPitchAlignment
;
413 VkDeviceSize nonCoherentAtomSize
;
414 } VkPhysicalDeviceLimits_host
;
416 typedef struct VkPhysicalDeviceProperties_host
419 uint32_t driverVersion
;
422 VkPhysicalDeviceType deviceType
;
423 char deviceName
[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
];
424 uint8_t pipelineCacheUUID
[VK_UUID_SIZE
];
425 VkPhysicalDeviceLimits_host limits
;
426 VkPhysicalDeviceSparseProperties sparseProperties
;
427 } VkPhysicalDeviceProperties_host
;
429 typedef struct VkSparseMemoryBind_host
431 VkDeviceSize resourceOffset
;
433 VkDeviceMemory memory
;
434 VkDeviceSize memoryOffset
;
435 VkSparseMemoryBindFlags flags
;
436 } VkSparseMemoryBind_host
;
438 typedef struct VkSparseBufferMemoryBindInfo_host
442 const VkSparseMemoryBind_host
*pBinds
;
443 } VkSparseBufferMemoryBindInfo_host
;
445 typedef struct VkSparseImageOpaqueMemoryBindInfo_host
449 const VkSparseMemoryBind_host
*pBinds
;
450 } VkSparseImageOpaqueMemoryBindInfo_host
;
452 typedef struct VkSparseImageMemoryBind_host
454 VkImageSubresource subresource
;
457 VkDeviceMemory memory
;
458 VkDeviceSize memoryOffset
;
459 VkSparseMemoryBindFlags flags
;
460 } VkSparseImageMemoryBind_host
;
462 typedef struct VkSparseImageMemoryBindInfo_host
466 const VkSparseImageMemoryBind_host
*pBinds
;
467 } VkSparseImageMemoryBindInfo_host
;
469 typedef struct VkBindSparseInfo_host
471 VkStructureType sType
;
473 uint32_t waitSemaphoreCount
;
474 const VkSemaphore
*pWaitSemaphores
;
475 uint32_t bufferBindCount
;
476 const VkSparseBufferMemoryBindInfo_host
*pBufferBinds
;
477 uint32_t imageOpaqueBindCount
;
478 const VkSparseImageOpaqueMemoryBindInfo_host
*pImageOpaqueBinds
;
479 uint32_t imageBindCount
;
480 const VkSparseImageMemoryBindInfo_host
*pImageBinds
;
481 uint32_t signalSemaphoreCount
;
482 const VkSemaphore
*pSignalSemaphores
;
483 } VkBindSparseInfo_host
;
485 typedef struct VkDescriptorImageInfo_host
488 VkImageView imageView
;
489 VkImageLayout imageLayout
;
490 } VkDescriptorImageInfo_host
;
492 typedef struct VkDescriptorBufferInfo_host
497 } VkDescriptorBufferInfo_host
;
499 typedef struct VkWriteDescriptorSet_host
501 VkStructureType sType
;
503 VkDescriptorSet dstSet
;
505 uint32_t dstArrayElement
;
506 uint32_t descriptorCount
;
507 VkDescriptorType descriptorType
;
508 const VkDescriptorImageInfo_host
*pImageInfo
;
509 const VkDescriptorBufferInfo_host
*pBufferInfo
;
510 const VkBufferView
*pTexelBufferView
;
511 } VkWriteDescriptorSet_host
;
513 typedef struct VkCopyDescriptorSet_host
515 VkStructureType sType
;
517 VkDescriptorSet srcSet
;
519 uint32_t srcArrayElement
;
520 VkDescriptorSet dstSet
;
522 uint32_t dstArrayElement
;
523 uint32_t descriptorCount
;
524 } VkCopyDescriptorSet_host
;
527 /* For use by vkDevice and children */
528 struct vulkan_device_funcs
530 #if defined(USE_STRUCT_CONVERSION)
531 VkResult (*p_vkAllocateCommandBuffers
)(VkDevice
, const VkCommandBufferAllocateInfo_host
*, VkCommandBuffer
*);
533 VkResult (*p_vkAllocateCommandBuffers
)(VkDevice
, const VkCommandBufferAllocateInfo
*, VkCommandBuffer
*);
535 #if defined(USE_STRUCT_CONVERSION)
536 VkResult (*p_vkAllocateDescriptorSets
)(VkDevice
, const VkDescriptorSetAllocateInfo_host
*, VkDescriptorSet
*);
538 VkResult (*p_vkAllocateDescriptorSets
)(VkDevice
, const VkDescriptorSetAllocateInfo
*, VkDescriptorSet
*);
540 #if defined(USE_STRUCT_CONVERSION)
541 VkResult (*p_vkAllocateMemory
)(VkDevice
, const VkMemoryAllocateInfo_host
*, const VkAllocationCallbacks
*, VkDeviceMemory
*);
543 VkResult (*p_vkAllocateMemory
)(VkDevice
, const VkMemoryAllocateInfo
*, const VkAllocationCallbacks
*, VkDeviceMemory
*);
545 #if defined(USE_STRUCT_CONVERSION)
546 VkResult (*p_vkBeginCommandBuffer
)(VkCommandBuffer
, const VkCommandBufferBeginInfo_host
*);
548 VkResult (*p_vkBeginCommandBuffer
)(VkCommandBuffer
, const VkCommandBufferBeginInfo
*);
550 VkResult (*p_vkBindBufferMemory
)(VkDevice
, VkBuffer
, VkDeviceMemory
, VkDeviceSize
);
551 VkResult (*p_vkBindImageMemory
)(VkDevice
, VkImage
, VkDeviceMemory
, VkDeviceSize
);
552 void (*p_vkCmdBeginQuery
)(VkCommandBuffer
, VkQueryPool
, uint32_t, VkQueryControlFlags
);
553 #if defined(USE_STRUCT_CONVERSION)
554 void (*p_vkCmdBeginRenderPass
)(VkCommandBuffer
, const VkRenderPassBeginInfo_host
*, VkSubpassContents
);
556 void (*p_vkCmdBeginRenderPass
)(VkCommandBuffer
, const VkRenderPassBeginInfo
*, VkSubpassContents
);
558 void (*p_vkCmdBindDescriptorSets
)(VkCommandBuffer
, VkPipelineBindPoint
, VkPipelineLayout
, uint32_t, uint32_t, const VkDescriptorSet
*, uint32_t, const uint32_t *);
559 void (*p_vkCmdBindIndexBuffer
)(VkCommandBuffer
, VkBuffer
, VkDeviceSize
, VkIndexType
);
560 void (*p_vkCmdBindPipeline
)(VkCommandBuffer
, VkPipelineBindPoint
, VkPipeline
);
561 void (*p_vkCmdBindVertexBuffers
)(VkCommandBuffer
, uint32_t, uint32_t, const VkBuffer
*, const VkDeviceSize
*);
562 void (*p_vkCmdBlitImage
)(VkCommandBuffer
, VkImage
, VkImageLayout
, VkImage
, VkImageLayout
, uint32_t, const VkImageBlit
*, VkFilter
);
563 void (*p_vkCmdClearAttachments
)(VkCommandBuffer
, uint32_t, const VkClearAttachment
*, uint32_t, const VkClearRect
*);
564 void (*p_vkCmdClearColorImage
)(VkCommandBuffer
, VkImage
, VkImageLayout
, const VkClearColorValue
*, uint32_t, const VkImageSubresourceRange
*);
565 void (*p_vkCmdClearDepthStencilImage
)(VkCommandBuffer
, VkImage
, VkImageLayout
, const VkClearDepthStencilValue
*, uint32_t, const VkImageSubresourceRange
*);
566 #if defined(USE_STRUCT_CONVERSION)
567 void (*p_vkCmdCopyBuffer
)(VkCommandBuffer
, VkBuffer
, VkBuffer
, uint32_t, const VkBufferCopy_host
*);
569 void (*p_vkCmdCopyBuffer
)(VkCommandBuffer
, VkBuffer
, VkBuffer
, uint32_t, const VkBufferCopy
*);
571 #if defined(USE_STRUCT_CONVERSION)
572 void (*p_vkCmdCopyBufferToImage
)(VkCommandBuffer
, VkBuffer
, VkImage
, VkImageLayout
, uint32_t, const VkBufferImageCopy_host
*);
574 void (*p_vkCmdCopyBufferToImage
)(VkCommandBuffer
, VkBuffer
, VkImage
, VkImageLayout
, uint32_t, const VkBufferImageCopy
*);
576 void (*p_vkCmdCopyImage
)(VkCommandBuffer
, VkImage
, VkImageLayout
, VkImage
, VkImageLayout
, uint32_t, const VkImageCopy
*);
577 #if defined(USE_STRUCT_CONVERSION)
578 void (*p_vkCmdCopyImageToBuffer
)(VkCommandBuffer
, VkImage
, VkImageLayout
, VkBuffer
, uint32_t, const VkBufferImageCopy_host
*);
580 void (*p_vkCmdCopyImageToBuffer
)(VkCommandBuffer
, VkImage
, VkImageLayout
, VkBuffer
, uint32_t, const VkBufferImageCopy
*);
582 void (*p_vkCmdCopyQueryPoolResults
)(VkCommandBuffer
, VkQueryPool
, uint32_t, uint32_t, VkBuffer
, VkDeviceSize
, VkDeviceSize
, VkQueryResultFlags
);
583 void (*p_vkCmdDispatch
)(VkCommandBuffer
, uint32_t, uint32_t, uint32_t);
584 void (*p_vkCmdDispatchIndirect
)(VkCommandBuffer
, VkBuffer
, VkDeviceSize
);
585 void (*p_vkCmdDraw
)(VkCommandBuffer
, uint32_t, uint32_t, uint32_t, uint32_t);
586 void (*p_vkCmdDrawIndexed
)(VkCommandBuffer
, uint32_t, uint32_t, uint32_t, int32_t, uint32_t);
587 void (*p_vkCmdDrawIndexedIndirect
)(VkCommandBuffer
, VkBuffer
, VkDeviceSize
, uint32_t, uint32_t);
588 void (*p_vkCmdDrawIndirect
)(VkCommandBuffer
, VkBuffer
, VkDeviceSize
, uint32_t, uint32_t);
589 void (*p_vkCmdEndQuery
)(VkCommandBuffer
, VkQueryPool
, uint32_t);
590 void (*p_vkCmdEndRenderPass
)(VkCommandBuffer
);
591 void (*p_vkCmdExecuteCommands
)(VkCommandBuffer
, uint32_t, const VkCommandBuffer
*);
592 void (*p_vkCmdFillBuffer
)(VkCommandBuffer
, VkBuffer
, VkDeviceSize
, VkDeviceSize
, uint32_t);
593 void (*p_vkCmdNextSubpass
)(VkCommandBuffer
, VkSubpassContents
);
594 #if defined(USE_STRUCT_CONVERSION)
595 void (*p_vkCmdPipelineBarrier
)(VkCommandBuffer
, VkPipelineStageFlags
, VkPipelineStageFlags
, VkDependencyFlags
, uint32_t, const VkMemoryBarrier
*, uint32_t, const VkBufferMemoryBarrier_host
*, uint32_t, const VkImageMemoryBarrier_host
*);
597 void (*p_vkCmdPipelineBarrier
)(VkCommandBuffer
, VkPipelineStageFlags
, VkPipelineStageFlags
, VkDependencyFlags
, uint32_t, const VkMemoryBarrier
*, uint32_t, const VkBufferMemoryBarrier
*, uint32_t, const VkImageMemoryBarrier
*);
599 void (*p_vkCmdPushConstants
)(VkCommandBuffer
, VkPipelineLayout
, VkShaderStageFlags
, uint32_t, uint32_t, const void *);
600 void (*p_vkCmdResetEvent
)(VkCommandBuffer
, VkEvent
, VkPipelineStageFlags
);
601 void (*p_vkCmdResetQueryPool
)(VkCommandBuffer
, VkQueryPool
, uint32_t, uint32_t);
602 void (*p_vkCmdResolveImage
)(VkCommandBuffer
, VkImage
, VkImageLayout
, VkImage
, VkImageLayout
, uint32_t, const VkImageResolve
*);
603 void (*p_vkCmdSetBlendConstants
)(VkCommandBuffer
, const float[4]);
604 void (*p_vkCmdSetDepthBias
)(VkCommandBuffer
, float, float, float);
605 void (*p_vkCmdSetDepthBounds
)(VkCommandBuffer
, float, float);
606 void (*p_vkCmdSetEvent
)(VkCommandBuffer
, VkEvent
, VkPipelineStageFlags
);
607 void (*p_vkCmdSetLineWidth
)(VkCommandBuffer
, float);
608 void (*p_vkCmdSetScissor
)(VkCommandBuffer
, uint32_t, uint32_t, const VkRect2D
*);
609 void (*p_vkCmdSetStencilCompareMask
)(VkCommandBuffer
, VkStencilFaceFlags
, uint32_t);
610 void (*p_vkCmdSetStencilReference
)(VkCommandBuffer
, VkStencilFaceFlags
, uint32_t);
611 void (*p_vkCmdSetStencilWriteMask
)(VkCommandBuffer
, VkStencilFaceFlags
, uint32_t);
612 void (*p_vkCmdSetViewport
)(VkCommandBuffer
, uint32_t, uint32_t, const VkViewport
*);
613 void (*p_vkCmdUpdateBuffer
)(VkCommandBuffer
, VkBuffer
, VkDeviceSize
, VkDeviceSize
, const void *);
614 #if defined(USE_STRUCT_CONVERSION)
615 void (*p_vkCmdWaitEvents
)(VkCommandBuffer
, uint32_t, const VkEvent
*, VkPipelineStageFlags
, VkPipelineStageFlags
, uint32_t, const VkMemoryBarrier
*, uint32_t, const VkBufferMemoryBarrier_host
*, uint32_t, const VkImageMemoryBarrier_host
*);
617 void (*p_vkCmdWaitEvents
)(VkCommandBuffer
, uint32_t, const VkEvent
*, VkPipelineStageFlags
, VkPipelineStageFlags
, uint32_t, const VkMemoryBarrier
*, uint32_t, const VkBufferMemoryBarrier
*, uint32_t, const VkImageMemoryBarrier
*);
619 void (*p_vkCmdWriteTimestamp
)(VkCommandBuffer
, VkPipelineStageFlagBits
, VkQueryPool
, uint32_t);
620 #if defined(USE_STRUCT_CONVERSION)
621 VkResult (*p_vkCreateBuffer
)(VkDevice
, const VkBufferCreateInfo_host
*, const VkAllocationCallbacks
*, VkBuffer
*);
623 VkResult (*p_vkCreateBuffer
)(VkDevice
, const VkBufferCreateInfo
*, const VkAllocationCallbacks
*, VkBuffer
*);
625 #if defined(USE_STRUCT_CONVERSION)
626 VkResult (*p_vkCreateBufferView
)(VkDevice
, const VkBufferViewCreateInfo_host
*, const VkAllocationCallbacks
*, VkBufferView
*);
628 VkResult (*p_vkCreateBufferView
)(VkDevice
, const VkBufferViewCreateInfo
*, const VkAllocationCallbacks
*, VkBufferView
*);
630 VkResult (*p_vkCreateCommandPool
)(VkDevice
, const VkCommandPoolCreateInfo
*, const VkAllocationCallbacks
*, VkCommandPool
*);
631 #if defined(USE_STRUCT_CONVERSION)
632 VkResult (*p_vkCreateComputePipelines
)(VkDevice
, VkPipelineCache
, uint32_t, const VkComputePipelineCreateInfo_host
*, const VkAllocationCallbacks
*, VkPipeline
*);
634 VkResult (*p_vkCreateComputePipelines
)(VkDevice
, VkPipelineCache
, uint32_t, const VkComputePipelineCreateInfo
*, const VkAllocationCallbacks
*, VkPipeline
*);
636 VkResult (*p_vkCreateDescriptorPool
)(VkDevice
, const VkDescriptorPoolCreateInfo
*, const VkAllocationCallbacks
*, VkDescriptorPool
*);
637 VkResult (*p_vkCreateDescriptorSetLayout
)(VkDevice
, const VkDescriptorSetLayoutCreateInfo
*, const VkAllocationCallbacks
*, VkDescriptorSetLayout
*);
638 VkResult (*p_vkCreateEvent
)(VkDevice
, const VkEventCreateInfo
*, const VkAllocationCallbacks
*, VkEvent
*);
639 VkResult (*p_vkCreateFence
)(VkDevice
, const VkFenceCreateInfo
*, const VkAllocationCallbacks
*, VkFence
*);
640 #if defined(USE_STRUCT_CONVERSION)
641 VkResult (*p_vkCreateFramebuffer
)(VkDevice
, const VkFramebufferCreateInfo_host
*, const VkAllocationCallbacks
*, VkFramebuffer
*);
643 VkResult (*p_vkCreateFramebuffer
)(VkDevice
, const VkFramebufferCreateInfo
*, const VkAllocationCallbacks
*, VkFramebuffer
*);
645 #if defined(USE_STRUCT_CONVERSION)
646 VkResult (*p_vkCreateGraphicsPipelines
)(VkDevice
, VkPipelineCache
, uint32_t, const VkGraphicsPipelineCreateInfo_host
*, const VkAllocationCallbacks
*, VkPipeline
*);
648 VkResult (*p_vkCreateGraphicsPipelines
)(VkDevice
, VkPipelineCache
, uint32_t, const VkGraphicsPipelineCreateInfo
*, const VkAllocationCallbacks
*, VkPipeline
*);
650 VkResult (*p_vkCreateImage
)(VkDevice
, const VkImageCreateInfo
*, const VkAllocationCallbacks
*, VkImage
*);
651 #if defined(USE_STRUCT_CONVERSION)
652 VkResult (*p_vkCreateImageView
)(VkDevice
, const VkImageViewCreateInfo_host
*, const VkAllocationCallbacks
*, VkImageView
*);
654 VkResult (*p_vkCreateImageView
)(VkDevice
, const VkImageViewCreateInfo
*, const VkAllocationCallbacks
*, VkImageView
*);
656 VkResult (*p_vkCreatePipelineCache
)(VkDevice
, const VkPipelineCacheCreateInfo
*, const VkAllocationCallbacks
*, VkPipelineCache
*);
657 VkResult (*p_vkCreatePipelineLayout
)(VkDevice
, const VkPipelineLayoutCreateInfo
*, const VkAllocationCallbacks
*, VkPipelineLayout
*);
658 VkResult (*p_vkCreateQueryPool
)(VkDevice
, const VkQueryPoolCreateInfo
*, const VkAllocationCallbacks
*, VkQueryPool
*);
659 VkResult (*p_vkCreateRenderPass
)(VkDevice
, const VkRenderPassCreateInfo
*, const VkAllocationCallbacks
*, VkRenderPass
*);
660 VkResult (*p_vkCreateSampler
)(VkDevice
, const VkSamplerCreateInfo
*, const VkAllocationCallbacks
*, VkSampler
*);
661 VkResult (*p_vkCreateSemaphore
)(VkDevice
, const VkSemaphoreCreateInfo
*, const VkAllocationCallbacks
*, VkSemaphore
*);
662 VkResult (*p_vkCreateShaderModule
)(VkDevice
, const VkShaderModuleCreateInfo
*, const VkAllocationCallbacks
*, VkShaderModule
*);
663 void (*p_vkDestroyBuffer
)(VkDevice
, VkBuffer
, const VkAllocationCallbacks
*);
664 void (*p_vkDestroyBufferView
)(VkDevice
, VkBufferView
, const VkAllocationCallbacks
*);
665 void (*p_vkDestroyCommandPool
)(VkDevice
, VkCommandPool
, const VkAllocationCallbacks
*);
666 void (*p_vkDestroyDescriptorPool
)(VkDevice
, VkDescriptorPool
, const VkAllocationCallbacks
*);
667 void (*p_vkDestroyDescriptorSetLayout
)(VkDevice
, VkDescriptorSetLayout
, const VkAllocationCallbacks
*);
668 void (*p_vkDestroyDevice
)(VkDevice
, const VkAllocationCallbacks
*);
669 void (*p_vkDestroyEvent
)(VkDevice
, VkEvent
, const VkAllocationCallbacks
*);
670 void (*p_vkDestroyFence
)(VkDevice
, VkFence
, const VkAllocationCallbacks
*);
671 void (*p_vkDestroyFramebuffer
)(VkDevice
, VkFramebuffer
, const VkAllocationCallbacks
*);
672 void (*p_vkDestroyImage
)(VkDevice
, VkImage
, const VkAllocationCallbacks
*);
673 void (*p_vkDestroyImageView
)(VkDevice
, VkImageView
, const VkAllocationCallbacks
*);
674 void (*p_vkDestroyPipeline
)(VkDevice
, VkPipeline
, const VkAllocationCallbacks
*);
675 void (*p_vkDestroyPipelineCache
)(VkDevice
, VkPipelineCache
, const VkAllocationCallbacks
*);
676 void (*p_vkDestroyPipelineLayout
)(VkDevice
, VkPipelineLayout
, const VkAllocationCallbacks
*);
677 void (*p_vkDestroyQueryPool
)(VkDevice
, VkQueryPool
, const VkAllocationCallbacks
*);
678 void (*p_vkDestroyRenderPass
)(VkDevice
, VkRenderPass
, const VkAllocationCallbacks
*);
679 void (*p_vkDestroySampler
)(VkDevice
, VkSampler
, const VkAllocationCallbacks
*);
680 void (*p_vkDestroySemaphore
)(VkDevice
, VkSemaphore
, const VkAllocationCallbacks
*);
681 void (*p_vkDestroyShaderModule
)(VkDevice
, VkShaderModule
, const VkAllocationCallbacks
*);
682 VkResult (*p_vkDeviceWaitIdle
)(VkDevice
);
683 VkResult (*p_vkEndCommandBuffer
)(VkCommandBuffer
);
684 #if defined(USE_STRUCT_CONVERSION)
685 VkResult (*p_vkFlushMappedMemoryRanges
)(VkDevice
, uint32_t, const VkMappedMemoryRange_host
*);
687 VkResult (*p_vkFlushMappedMemoryRanges
)(VkDevice
, uint32_t, const VkMappedMemoryRange
*);
689 void (*p_vkFreeCommandBuffers
)(VkDevice
, VkCommandPool
, uint32_t, const VkCommandBuffer
*);
690 VkResult (*p_vkFreeDescriptorSets
)(VkDevice
, VkDescriptorPool
, uint32_t, const VkDescriptorSet
*);
691 void (*p_vkFreeMemory
)(VkDevice
, VkDeviceMemory
, const VkAllocationCallbacks
*);
692 #if defined(USE_STRUCT_CONVERSION)
693 void (*p_vkGetBufferMemoryRequirements
)(VkDevice
, VkBuffer
, VkMemoryRequirements_host
*);
695 void (*p_vkGetBufferMemoryRequirements
)(VkDevice
, VkBuffer
, VkMemoryRequirements
*);
697 void (*p_vkGetDeviceMemoryCommitment
)(VkDevice
, VkDeviceMemory
, VkDeviceSize
*);
698 void (*p_vkGetDeviceQueue
)(VkDevice
, uint32_t, uint32_t, VkQueue
*);
699 VkResult (*p_vkGetEventStatus
)(VkDevice
, VkEvent
);
700 VkResult (*p_vkGetFenceStatus
)(VkDevice
, VkFence
);
701 #if defined(USE_STRUCT_CONVERSION)
702 void (*p_vkGetImageMemoryRequirements
)(VkDevice
, VkImage
, VkMemoryRequirements_host
*);
704 void (*p_vkGetImageMemoryRequirements
)(VkDevice
, VkImage
, VkMemoryRequirements
*);
706 void (*p_vkGetImageSparseMemoryRequirements
)(VkDevice
, VkImage
, uint32_t *, VkSparseImageMemoryRequirements
*);
707 #if defined(USE_STRUCT_CONVERSION)
708 void (*p_vkGetImageSubresourceLayout
)(VkDevice
, VkImage
, const VkImageSubresource
*, VkSubresourceLayout_host
*);
710 void (*p_vkGetImageSubresourceLayout
)(VkDevice
, VkImage
, const VkImageSubresource
*, VkSubresourceLayout
*);
712 VkResult (*p_vkGetPipelineCacheData
)(VkDevice
, VkPipelineCache
, size_t *, void *);
713 VkResult (*p_vkGetQueryPoolResults
)(VkDevice
, VkQueryPool
, uint32_t, uint32_t, size_t, void *, VkDeviceSize
, VkQueryResultFlags
);
714 void (*p_vkGetRenderAreaGranularity
)(VkDevice
, VkRenderPass
, VkExtent2D
*);
715 #if defined(USE_STRUCT_CONVERSION)
716 VkResult (*p_vkInvalidateMappedMemoryRanges
)(VkDevice
, uint32_t, const VkMappedMemoryRange_host
*);
718 VkResult (*p_vkInvalidateMappedMemoryRanges
)(VkDevice
, uint32_t, const VkMappedMemoryRange
*);
720 VkResult (*p_vkMapMemory
)(VkDevice
, VkDeviceMemory
, VkDeviceSize
, VkDeviceSize
, VkMemoryMapFlags
, void **);
721 VkResult (*p_vkMergePipelineCaches
)(VkDevice
, VkPipelineCache
, uint32_t, const VkPipelineCache
*);
722 #if defined(USE_STRUCT_CONVERSION)
723 VkResult (*p_vkQueueBindSparse
)(VkQueue
, uint32_t, const VkBindSparseInfo_host
*, VkFence
);
725 VkResult (*p_vkQueueBindSparse
)(VkQueue
, uint32_t, const VkBindSparseInfo
*, VkFence
);
727 VkResult (*p_vkQueueSubmit
)(VkQueue
, uint32_t, const VkSubmitInfo
*, VkFence
);
728 VkResult (*p_vkQueueWaitIdle
)(VkQueue
);
729 VkResult (*p_vkResetCommandBuffer
)(VkCommandBuffer
, VkCommandBufferResetFlags
);
730 VkResult (*p_vkResetCommandPool
)(VkDevice
, VkCommandPool
, VkCommandPoolResetFlags
);
731 VkResult (*p_vkResetDescriptorPool
)(VkDevice
, VkDescriptorPool
, VkDescriptorPoolResetFlags
);
732 VkResult (*p_vkResetEvent
)(VkDevice
, VkEvent
);
733 VkResult (*p_vkResetFences
)(VkDevice
, uint32_t, const VkFence
*);
734 VkResult (*p_vkSetEvent
)(VkDevice
, VkEvent
);
735 void (*p_vkUnmapMemory
)(VkDevice
, VkDeviceMemory
);
736 #if defined(USE_STRUCT_CONVERSION)
737 void (*p_vkUpdateDescriptorSets
)(VkDevice
, uint32_t, const VkWriteDescriptorSet_host
*, uint32_t, const VkCopyDescriptorSet_host
*);
739 void (*p_vkUpdateDescriptorSets
)(VkDevice
, uint32_t, const VkWriteDescriptorSet
*, uint32_t, const VkCopyDescriptorSet
*);
741 VkResult (*p_vkWaitForFences
)(VkDevice
, uint32_t, const VkFence
*, VkBool32
, uint64_t);
744 /* For use by vkInstance and children */
745 struct vulkan_instance_funcs
747 VkResult (*p_vkCreateDevice
)(VkPhysicalDevice
, const VkDeviceCreateInfo
*, const VkAllocationCallbacks
*, VkDevice
*);
748 VkResult (*p_vkEnumerateDeviceExtensionProperties
)(VkPhysicalDevice
, const char *, uint32_t *, VkExtensionProperties
*);
749 VkResult (*p_vkEnumerateDeviceLayerProperties
)(VkPhysicalDevice
, uint32_t *, VkLayerProperties
*);
750 VkResult (*p_vkEnumeratePhysicalDevices
)(VkInstance
, uint32_t *, VkPhysicalDevice
*);
751 void (*p_vkGetPhysicalDeviceFeatures
)(VkPhysicalDevice
, VkPhysicalDeviceFeatures
*);
752 void (*p_vkGetPhysicalDeviceFormatProperties
)(VkPhysicalDevice
, VkFormat
, VkFormatProperties
*);
753 #if defined(USE_STRUCT_CONVERSION)
754 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties
)(VkPhysicalDevice
, VkFormat
, VkImageType
, VkImageTiling
, VkImageUsageFlags
, VkImageCreateFlags
, VkImageFormatProperties_host
*);
756 VkResult (*p_vkGetPhysicalDeviceImageFormatProperties
)(VkPhysicalDevice
, VkFormat
, VkImageType
, VkImageTiling
, VkImageUsageFlags
, VkImageCreateFlags
, VkImageFormatProperties
*);
758 #if defined(USE_STRUCT_CONVERSION)
759 void (*p_vkGetPhysicalDeviceMemoryProperties
)(VkPhysicalDevice
, VkPhysicalDeviceMemoryProperties_host
*);
761 void (*p_vkGetPhysicalDeviceMemoryProperties
)(VkPhysicalDevice
, VkPhysicalDeviceMemoryProperties
*);
763 #if defined(USE_STRUCT_CONVERSION)
764 void (*p_vkGetPhysicalDeviceProperties
)(VkPhysicalDevice
, VkPhysicalDeviceProperties_host
*);
766 void (*p_vkGetPhysicalDeviceProperties
)(VkPhysicalDevice
, VkPhysicalDeviceProperties
*);
768 void (*p_vkGetPhysicalDeviceQueueFamilyProperties
)(VkPhysicalDevice
, uint32_t *, VkQueueFamilyProperties
*);
769 void (*p_vkGetPhysicalDeviceSparseImageFormatProperties
)(VkPhysicalDevice
, VkFormat
, VkImageType
, VkSampleCountFlagBits
, VkImageUsageFlags
, VkImageTiling
, uint32_t *, VkSparseImageFormatProperties
*);
772 #define ALL_VK_DEVICE_FUNCS() \
773 USE_VK_FUNC(vkAllocateCommandBuffers) \
774 USE_VK_FUNC(vkAllocateDescriptorSets) \
775 USE_VK_FUNC(vkAllocateMemory) \
776 USE_VK_FUNC(vkBeginCommandBuffer) \
777 USE_VK_FUNC(vkBindBufferMemory) \
778 USE_VK_FUNC(vkBindImageMemory) \
779 USE_VK_FUNC(vkCmdBeginQuery) \
780 USE_VK_FUNC(vkCmdBeginRenderPass) \
781 USE_VK_FUNC(vkCmdBindDescriptorSets) \
782 USE_VK_FUNC(vkCmdBindIndexBuffer) \
783 USE_VK_FUNC(vkCmdBindPipeline) \
784 USE_VK_FUNC(vkCmdBindVertexBuffers) \
785 USE_VK_FUNC(vkCmdBlitImage) \
786 USE_VK_FUNC(vkCmdClearAttachments) \
787 USE_VK_FUNC(vkCmdClearColorImage) \
788 USE_VK_FUNC(vkCmdClearDepthStencilImage) \
789 USE_VK_FUNC(vkCmdCopyBuffer) \
790 USE_VK_FUNC(vkCmdCopyBufferToImage) \
791 USE_VK_FUNC(vkCmdCopyImage) \
792 USE_VK_FUNC(vkCmdCopyImageToBuffer) \
793 USE_VK_FUNC(vkCmdCopyQueryPoolResults) \
794 USE_VK_FUNC(vkCmdDispatch) \
795 USE_VK_FUNC(vkCmdDispatchIndirect) \
796 USE_VK_FUNC(vkCmdDraw) \
797 USE_VK_FUNC(vkCmdDrawIndexed) \
798 USE_VK_FUNC(vkCmdDrawIndexedIndirect) \
799 USE_VK_FUNC(vkCmdDrawIndirect) \
800 USE_VK_FUNC(vkCmdEndQuery) \
801 USE_VK_FUNC(vkCmdEndRenderPass) \
802 USE_VK_FUNC(vkCmdExecuteCommands) \
803 USE_VK_FUNC(vkCmdFillBuffer) \
804 USE_VK_FUNC(vkCmdNextSubpass) \
805 USE_VK_FUNC(vkCmdPipelineBarrier) \
806 USE_VK_FUNC(vkCmdPushConstants) \
807 USE_VK_FUNC(vkCmdResetEvent) \
808 USE_VK_FUNC(vkCmdResetQueryPool) \
809 USE_VK_FUNC(vkCmdResolveImage) \
810 USE_VK_FUNC(vkCmdSetBlendConstants) \
811 USE_VK_FUNC(vkCmdSetDepthBias) \
812 USE_VK_FUNC(vkCmdSetDepthBounds) \
813 USE_VK_FUNC(vkCmdSetEvent) \
814 USE_VK_FUNC(vkCmdSetLineWidth) \
815 USE_VK_FUNC(vkCmdSetScissor) \
816 USE_VK_FUNC(vkCmdSetStencilCompareMask) \
817 USE_VK_FUNC(vkCmdSetStencilReference) \
818 USE_VK_FUNC(vkCmdSetStencilWriteMask) \
819 USE_VK_FUNC(vkCmdSetViewport) \
820 USE_VK_FUNC(vkCmdUpdateBuffer) \
821 USE_VK_FUNC(vkCmdWaitEvents) \
822 USE_VK_FUNC(vkCmdWriteTimestamp) \
823 USE_VK_FUNC(vkCreateBuffer) \
824 USE_VK_FUNC(vkCreateBufferView) \
825 USE_VK_FUNC(vkCreateCommandPool) \
826 USE_VK_FUNC(vkCreateComputePipelines) \
827 USE_VK_FUNC(vkCreateDescriptorPool) \
828 USE_VK_FUNC(vkCreateDescriptorSetLayout) \
829 USE_VK_FUNC(vkCreateEvent) \
830 USE_VK_FUNC(vkCreateFence) \
831 USE_VK_FUNC(vkCreateFramebuffer) \
832 USE_VK_FUNC(vkCreateGraphicsPipelines) \
833 USE_VK_FUNC(vkCreateImage) \
834 USE_VK_FUNC(vkCreateImageView) \
835 USE_VK_FUNC(vkCreatePipelineCache) \
836 USE_VK_FUNC(vkCreatePipelineLayout) \
837 USE_VK_FUNC(vkCreateQueryPool) \
838 USE_VK_FUNC(vkCreateRenderPass) \
839 USE_VK_FUNC(vkCreateSampler) \
840 USE_VK_FUNC(vkCreateSemaphore) \
841 USE_VK_FUNC(vkCreateShaderModule) \
842 USE_VK_FUNC(vkDestroyBuffer) \
843 USE_VK_FUNC(vkDestroyBufferView) \
844 USE_VK_FUNC(vkDestroyCommandPool) \
845 USE_VK_FUNC(vkDestroyDescriptorPool) \
846 USE_VK_FUNC(vkDestroyDescriptorSetLayout) \
847 USE_VK_FUNC(vkDestroyDevice) \
848 USE_VK_FUNC(vkDestroyEvent) \
849 USE_VK_FUNC(vkDestroyFence) \
850 USE_VK_FUNC(vkDestroyFramebuffer) \
851 USE_VK_FUNC(vkDestroyImage) \
852 USE_VK_FUNC(vkDestroyImageView) \
853 USE_VK_FUNC(vkDestroyPipeline) \
854 USE_VK_FUNC(vkDestroyPipelineCache) \
855 USE_VK_FUNC(vkDestroyPipelineLayout) \
856 USE_VK_FUNC(vkDestroyQueryPool) \
857 USE_VK_FUNC(vkDestroyRenderPass) \
858 USE_VK_FUNC(vkDestroySampler) \
859 USE_VK_FUNC(vkDestroySemaphore) \
860 USE_VK_FUNC(vkDestroyShaderModule) \
861 USE_VK_FUNC(vkDeviceWaitIdle) \
862 USE_VK_FUNC(vkEndCommandBuffer) \
863 USE_VK_FUNC(vkFlushMappedMemoryRanges) \
864 USE_VK_FUNC(vkFreeCommandBuffers) \
865 USE_VK_FUNC(vkFreeDescriptorSets) \
866 USE_VK_FUNC(vkFreeMemory) \
867 USE_VK_FUNC(vkGetBufferMemoryRequirements) \
868 USE_VK_FUNC(vkGetDeviceMemoryCommitment) \
869 USE_VK_FUNC(vkGetDeviceQueue) \
870 USE_VK_FUNC(vkGetEventStatus) \
871 USE_VK_FUNC(vkGetFenceStatus) \
872 USE_VK_FUNC(vkGetImageMemoryRequirements) \
873 USE_VK_FUNC(vkGetImageSparseMemoryRequirements) \
874 USE_VK_FUNC(vkGetImageSubresourceLayout) \
875 USE_VK_FUNC(vkGetPipelineCacheData) \
876 USE_VK_FUNC(vkGetQueryPoolResults) \
877 USE_VK_FUNC(vkGetRenderAreaGranularity) \
878 USE_VK_FUNC(vkInvalidateMappedMemoryRanges) \
879 USE_VK_FUNC(vkMapMemory) \
880 USE_VK_FUNC(vkMergePipelineCaches) \
881 USE_VK_FUNC(vkQueueBindSparse) \
882 USE_VK_FUNC(vkQueueSubmit) \
883 USE_VK_FUNC(vkQueueWaitIdle) \
884 USE_VK_FUNC(vkResetCommandBuffer) \
885 USE_VK_FUNC(vkResetCommandPool) \
886 USE_VK_FUNC(vkResetDescriptorPool) \
887 USE_VK_FUNC(vkResetEvent) \
888 USE_VK_FUNC(vkResetFences) \
889 USE_VK_FUNC(vkSetEvent) \
890 USE_VK_FUNC(vkUnmapMemory) \
891 USE_VK_FUNC(vkUpdateDescriptorSets) \
892 USE_VK_FUNC(vkWaitForFences)
894 #define ALL_VK_INSTANCE_FUNCS() \
895 USE_VK_FUNC(vkCreateDevice)\
896 USE_VK_FUNC(vkEnumerateDeviceExtensionProperties)\
897 USE_VK_FUNC(vkEnumerateDeviceLayerProperties)\
898 USE_VK_FUNC(vkEnumeratePhysicalDevices)\
899 USE_VK_FUNC(vkGetPhysicalDeviceFeatures)\
900 USE_VK_FUNC(vkGetPhysicalDeviceFormatProperties)\
901 USE_VK_FUNC(vkGetPhysicalDeviceImageFormatProperties)\
902 USE_VK_FUNC(vkGetPhysicalDeviceMemoryProperties)\
903 USE_VK_FUNC(vkGetPhysicalDeviceProperties)\
904 USE_VK_FUNC(vkGetPhysicalDeviceQueueFamilyProperties)\
905 USE_VK_FUNC(vkGetPhysicalDeviceSparseImageFormatProperties)
907 #endif /* __WINE_VULKAN_THUNKS_H */