1 /* Automatically generated from Vulkan vk.xml; DO NOT EDIT!
3 * This file is generated from Vulkan vk.xml file covered
4 * by the following copyright and permission notice:
6 * Copyright (c) 2015-2020 The Khronos Group Inc.
8 * SPDX-License-Identifier: Apache-2.0 OR MIT
13 #include "wine/port.h"
15 #include "vulkan_private.h"
17 WINE_DEFAULT_DEBUG_CHANNEL(vulkan
);
19 #if defined(USE_STRUCT_CONVERSION)
20 static inline void convert_VkAcquireNextImageInfoKHR_win_to_host(const VkAcquireNextImageInfoKHR
*in
, VkAcquireNextImageInfoKHR_host
*out
)
24 out
->sType
= in
->sType
;
25 out
->pNext
= in
->pNext
;
26 out
->swapchain
= in
->swapchain
;
27 out
->timeout
= in
->timeout
;
28 out
->semaphore
= in
->semaphore
;
29 out
->fence
= in
->fence
;
30 out
->deviceMask
= in
->deviceMask
;
33 static inline void convert_VkAcquireProfilingLockInfoKHR_win_to_host(const VkAcquireProfilingLockInfoKHR
*in
, VkAcquireProfilingLockInfoKHR_host
*out
)
37 out
->sType
= in
->sType
;
38 out
->pNext
= in
->pNext
;
39 out
->flags
= in
->flags
;
40 out
->timeout
= in
->timeout
;
43 static inline void convert_VkDescriptorSetAllocateInfo_win_to_host(const VkDescriptorSetAllocateInfo
*in
, VkDescriptorSetAllocateInfo_host
*out
)
47 out
->sType
= in
->sType
;
48 out
->pNext
= in
->pNext
;
49 out
->descriptorPool
= in
->descriptorPool
;
50 out
->descriptorSetCount
= in
->descriptorSetCount
;
51 out
->pSetLayouts
= in
->pSetLayouts
;
54 static inline void convert_VkMemoryAllocateInfo_win_to_host(const VkMemoryAllocateInfo
*in
, VkMemoryAllocateInfo_host
*out
)
58 out
->sType
= in
->sType
;
59 out
->pNext
= in
->pNext
;
60 out
->allocationSize
= in
->allocationSize
;
61 out
->memoryTypeIndex
= in
->memoryTypeIndex
;
64 static inline VkCommandBufferInheritanceInfo_host
*convert_VkCommandBufferInheritanceInfo_array_win_to_host(const VkCommandBufferInheritanceInfo
*in
, uint32_t count
)
66 VkCommandBufferInheritanceInfo_host
*out
;
71 out
= heap_alloc(count
* sizeof(*out
));
72 for (i
= 0; i
< count
; i
++)
74 out
[i
].sType
= in
[i
].sType
;
75 out
[i
].pNext
= in
[i
].pNext
;
76 out
[i
].renderPass
= in
[i
].renderPass
;
77 out
[i
].subpass
= in
[i
].subpass
;
78 out
[i
].framebuffer
= in
[i
].framebuffer
;
79 out
[i
].occlusionQueryEnable
= in
[i
].occlusionQueryEnable
;
80 out
[i
].queryFlags
= in
[i
].queryFlags
;
81 out
[i
].pipelineStatistics
= in
[i
].pipelineStatistics
;
87 static inline void free_VkCommandBufferInheritanceInfo_array(VkCommandBufferInheritanceInfo_host
*in
, uint32_t count
)
94 static inline void convert_VkCommandBufferBeginInfo_win_to_host(const VkCommandBufferBeginInfo
*in
, VkCommandBufferBeginInfo_host
*out
)
98 out
->sType
= in
->sType
;
99 out
->pNext
= in
->pNext
;
100 out
->flags
= in
->flags
;
101 out
->pInheritanceInfo
= convert_VkCommandBufferInheritanceInfo_array_win_to_host(in
->pInheritanceInfo
, 1);
104 static inline void free_VkCommandBufferBeginInfo(VkCommandBufferBeginInfo_host
*in
)
106 free_VkCommandBufferInheritanceInfo_array((VkCommandBufferInheritanceInfo_host
*)in
->pInheritanceInfo
, 1);
109 static inline VkBindAccelerationStructureMemoryInfoKHR_host
*convert_VkBindAccelerationStructureMemoryInfoKHR_array_win_to_host(const VkBindAccelerationStructureMemoryInfoKHR
*in
, uint32_t count
)
111 VkBindAccelerationStructureMemoryInfoKHR_host
*out
;
114 if (!in
) return NULL
;
116 out
= heap_alloc(count
* sizeof(*out
));
117 for (i
= 0; i
< count
; i
++)
119 out
[i
].sType
= in
[i
].sType
;
120 out
[i
].pNext
= in
[i
].pNext
;
121 out
[i
].accelerationStructure
= in
[i
].accelerationStructure
;
122 out
[i
].memory
= in
[i
].memory
;
123 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
124 out
[i
].deviceIndexCount
= in
[i
].deviceIndexCount
;
125 out
[i
].pDeviceIndices
= in
[i
].pDeviceIndices
;
131 static inline void free_VkBindAccelerationStructureMemoryInfoKHR_array(VkBindAccelerationStructureMemoryInfoKHR_host
*in
, uint32_t count
)
138 static inline VkBindBufferMemoryInfo_host
*convert_VkBindBufferMemoryInfo_array_win_to_host(const VkBindBufferMemoryInfo
*in
, uint32_t count
)
140 VkBindBufferMemoryInfo_host
*out
;
143 if (!in
) return NULL
;
145 out
= heap_alloc(count
* sizeof(*out
));
146 for (i
= 0; i
< count
; i
++)
148 out
[i
].sType
= in
[i
].sType
;
149 out
[i
].pNext
= in
[i
].pNext
;
150 out
[i
].buffer
= in
[i
].buffer
;
151 out
[i
].memory
= in
[i
].memory
;
152 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
158 static inline void free_VkBindBufferMemoryInfo_array(VkBindBufferMemoryInfo_host
*in
, uint32_t count
)
165 static inline VkBindImageMemoryInfo_host
*convert_VkBindImageMemoryInfo_array_win_to_host(const VkBindImageMemoryInfo
*in
, uint32_t count
)
167 VkBindImageMemoryInfo_host
*out
;
170 if (!in
) return NULL
;
172 out
= heap_alloc(count
* sizeof(*out
));
173 for (i
= 0; i
< count
; i
++)
175 out
[i
].sType
= in
[i
].sType
;
176 out
[i
].pNext
= in
[i
].pNext
;
177 out
[i
].image
= in
[i
].image
;
178 out
[i
].memory
= in
[i
].memory
;
179 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
185 static inline void free_VkBindImageMemoryInfo_array(VkBindImageMemoryInfo_host
*in
, uint32_t count
)
192 static inline void convert_VkConditionalRenderingBeginInfoEXT_win_to_host(const VkConditionalRenderingBeginInfoEXT
*in
, VkConditionalRenderingBeginInfoEXT_host
*out
)
196 out
->sType
= in
->sType
;
197 out
->pNext
= in
->pNext
;
198 out
->buffer
= in
->buffer
;
199 out
->offset
= in
->offset
;
200 out
->flags
= in
->flags
;
203 static inline void convert_VkRenderPassBeginInfo_win_to_host(const VkRenderPassBeginInfo
*in
, VkRenderPassBeginInfo_host
*out
)
207 out
->sType
= in
->sType
;
208 out
->pNext
= in
->pNext
;
209 out
->renderPass
= in
->renderPass
;
210 out
->framebuffer
= in
->framebuffer
;
211 out
->renderArea
= in
->renderArea
;
212 out
->clearValueCount
= in
->clearValueCount
;
213 out
->pClearValues
= in
->pClearValues
;
216 static inline void convert_VkBlitImageInfo2KHR_win_to_host(const VkBlitImageInfo2KHR
*in
, VkBlitImageInfo2KHR_host
*out
)
220 out
->sType
= in
->sType
;
221 out
->pNext
= in
->pNext
;
222 out
->srcImage
= in
->srcImage
;
223 out
->srcImageLayout
= in
->srcImageLayout
;
224 out
->dstImage
= in
->dstImage
;
225 out
->dstImageLayout
= in
->dstImageLayout
;
226 out
->regionCount
= in
->regionCount
;
227 out
->pRegions
= in
->pRegions
;
228 out
->filter
= in
->filter
;
231 static inline void convert_VkGeometryTrianglesNV_win_to_host(const VkGeometryTrianglesNV
*in
, VkGeometryTrianglesNV_host
*out
)
235 out
->sType
= in
->sType
;
236 out
->pNext
= in
->pNext
;
237 out
->vertexData
= in
->vertexData
;
238 out
->vertexOffset
= in
->vertexOffset
;
239 out
->vertexCount
= in
->vertexCount
;
240 out
->vertexStride
= in
->vertexStride
;
241 out
->vertexFormat
= in
->vertexFormat
;
242 out
->indexData
= in
->indexData
;
243 out
->indexOffset
= in
->indexOffset
;
244 out
->indexCount
= in
->indexCount
;
245 out
->indexType
= in
->indexType
;
246 out
->transformData
= in
->transformData
;
247 out
->transformOffset
= in
->transformOffset
;
250 static inline void convert_VkGeometryAABBNV_win_to_host(const VkGeometryAABBNV
*in
, VkGeometryAABBNV_host
*out
)
254 out
->sType
= in
->sType
;
255 out
->pNext
= in
->pNext
;
256 out
->aabbData
= in
->aabbData
;
257 out
->numAABBs
= in
->numAABBs
;
258 out
->stride
= in
->stride
;
259 out
->offset
= in
->offset
;
262 static inline void convert_VkGeometryDataNV_win_to_host(const VkGeometryDataNV
*in
, VkGeometryDataNV_host
*out
)
266 convert_VkGeometryTrianglesNV_win_to_host(&in
->triangles
, &out
->triangles
);
267 convert_VkGeometryAABBNV_win_to_host(&in
->aabbs
, &out
->aabbs
);
270 static inline VkGeometryNV_host
*convert_VkGeometryNV_array_win_to_host(const VkGeometryNV
*in
, uint32_t count
)
272 VkGeometryNV_host
*out
;
275 if (!in
) return NULL
;
277 out
= heap_alloc(count
* sizeof(*out
));
278 for (i
= 0; i
< count
; i
++)
280 out
[i
].sType
= in
[i
].sType
;
281 out
[i
].pNext
= in
[i
].pNext
;
282 out
[i
].geometryType
= in
[i
].geometryType
;
283 convert_VkGeometryDataNV_win_to_host(&in
[i
].geometry
, &out
[i
].geometry
);
284 out
[i
].flags
= in
[i
].flags
;
290 static inline void free_VkGeometryNV_array(VkGeometryNV_host
*in
, uint32_t count
)
297 static inline void convert_VkAccelerationStructureInfoNV_win_to_host(const VkAccelerationStructureInfoNV
*in
, VkAccelerationStructureInfoNV_host
*out
)
301 out
->sType
= in
->sType
;
302 out
->pNext
= in
->pNext
;
303 out
->type
= in
->type
;
304 out
->flags
= in
->flags
;
305 out
->instanceCount
= in
->instanceCount
;
306 out
->geometryCount
= in
->geometryCount
;
307 out
->pGeometries
= convert_VkGeometryNV_array_win_to_host(in
->pGeometries
, in
->geometryCount
);
310 static inline void free_VkAccelerationStructureInfoNV(VkAccelerationStructureInfoNV_host
*in
)
312 free_VkGeometryNV_array((VkGeometryNV_host
*)in
->pGeometries
, in
->geometryCount
);
315 static inline VkBufferCopy_host
*convert_VkBufferCopy_array_win_to_host(const VkBufferCopy
*in
, uint32_t count
)
317 VkBufferCopy_host
*out
;
320 if (!in
) return NULL
;
322 out
= heap_alloc(count
* sizeof(*out
));
323 for (i
= 0; i
< count
; i
++)
325 out
[i
].srcOffset
= in
[i
].srcOffset
;
326 out
[i
].dstOffset
= in
[i
].dstOffset
;
327 out
[i
].size
= in
[i
].size
;
333 static inline void free_VkBufferCopy_array(VkBufferCopy_host
*in
, uint32_t count
)
340 static inline VkBufferCopy2KHR_host
*convert_VkBufferCopy2KHR_array_win_to_host(const VkBufferCopy2KHR
*in
, uint32_t count
)
342 VkBufferCopy2KHR_host
*out
;
345 if (!in
) return NULL
;
347 out
= heap_alloc(count
* sizeof(*out
));
348 for (i
= 0; i
< count
; i
++)
350 out
[i
].sType
= in
[i
].sType
;
351 out
[i
].pNext
= in
[i
].pNext
;
352 out
[i
].srcOffset
= in
[i
].srcOffset
;
353 out
[i
].dstOffset
= in
[i
].dstOffset
;
354 out
[i
].size
= in
[i
].size
;
360 static inline void free_VkBufferCopy2KHR_array(VkBufferCopy2KHR_host
*in
, uint32_t count
)
367 static inline void convert_VkCopyBufferInfo2KHR_win_to_host(const VkCopyBufferInfo2KHR
*in
, VkCopyBufferInfo2KHR_host
*out
)
371 out
->sType
= in
->sType
;
372 out
->pNext
= in
->pNext
;
373 out
->srcBuffer
= in
->srcBuffer
;
374 out
->dstBuffer
= in
->dstBuffer
;
375 out
->regionCount
= in
->regionCount
;
376 out
->pRegions
= convert_VkBufferCopy2KHR_array_win_to_host(in
->pRegions
, in
->regionCount
);
379 static inline void free_VkCopyBufferInfo2KHR(VkCopyBufferInfo2KHR_host
*in
)
381 free_VkBufferCopy2KHR_array((VkBufferCopy2KHR_host
*)in
->pRegions
, in
->regionCount
);
384 static inline VkBufferImageCopy_host
*convert_VkBufferImageCopy_array_win_to_host(const VkBufferImageCopy
*in
, uint32_t count
)
386 VkBufferImageCopy_host
*out
;
389 if (!in
) return NULL
;
391 out
= heap_alloc(count
* sizeof(*out
));
392 for (i
= 0; i
< count
; i
++)
394 out
[i
].bufferOffset
= in
[i
].bufferOffset
;
395 out
[i
].bufferRowLength
= in
[i
].bufferRowLength
;
396 out
[i
].bufferImageHeight
= in
[i
].bufferImageHeight
;
397 out
[i
].imageSubresource
= in
[i
].imageSubresource
;
398 out
[i
].imageOffset
= in
[i
].imageOffset
;
399 out
[i
].imageExtent
= in
[i
].imageExtent
;
405 static inline void free_VkBufferImageCopy_array(VkBufferImageCopy_host
*in
, uint32_t count
)
412 static inline VkBufferImageCopy2KHR_host
*convert_VkBufferImageCopy2KHR_array_win_to_host(const VkBufferImageCopy2KHR
*in
, uint32_t count
)
414 VkBufferImageCopy2KHR_host
*out
;
417 if (!in
) return NULL
;
419 out
= heap_alloc(count
* sizeof(*out
));
420 for (i
= 0; i
< count
; i
++)
422 out
[i
].sType
= in
[i
].sType
;
423 out
[i
].pNext
= in
[i
].pNext
;
424 out
[i
].bufferOffset
= in
[i
].bufferOffset
;
425 out
[i
].bufferRowLength
= in
[i
].bufferRowLength
;
426 out
[i
].bufferImageHeight
= in
[i
].bufferImageHeight
;
427 out
[i
].imageSubresource
= in
[i
].imageSubresource
;
428 out
[i
].imageOffset
= in
[i
].imageOffset
;
429 out
[i
].imageExtent
= in
[i
].imageExtent
;
435 static inline void free_VkBufferImageCopy2KHR_array(VkBufferImageCopy2KHR_host
*in
, uint32_t count
)
442 static inline void convert_VkCopyBufferToImageInfo2KHR_win_to_host(const VkCopyBufferToImageInfo2KHR
*in
, VkCopyBufferToImageInfo2KHR_host
*out
)
446 out
->sType
= in
->sType
;
447 out
->pNext
= in
->pNext
;
448 out
->srcBuffer
= in
->srcBuffer
;
449 out
->dstImage
= in
->dstImage
;
450 out
->dstImageLayout
= in
->dstImageLayout
;
451 out
->regionCount
= in
->regionCount
;
452 out
->pRegions
= convert_VkBufferImageCopy2KHR_array_win_to_host(in
->pRegions
, in
->regionCount
);
455 static inline void free_VkCopyBufferToImageInfo2KHR(VkCopyBufferToImageInfo2KHR_host
*in
)
457 free_VkBufferImageCopy2KHR_array((VkBufferImageCopy2KHR_host
*)in
->pRegions
, in
->regionCount
);
460 static inline void convert_VkCopyImageInfo2KHR_win_to_host(const VkCopyImageInfo2KHR
*in
, VkCopyImageInfo2KHR_host
*out
)
464 out
->sType
= in
->sType
;
465 out
->pNext
= in
->pNext
;
466 out
->srcImage
= in
->srcImage
;
467 out
->srcImageLayout
= in
->srcImageLayout
;
468 out
->dstImage
= in
->dstImage
;
469 out
->dstImageLayout
= in
->dstImageLayout
;
470 out
->regionCount
= in
->regionCount
;
471 out
->pRegions
= in
->pRegions
;
474 static inline void convert_VkCopyImageToBufferInfo2KHR_win_to_host(const VkCopyImageToBufferInfo2KHR
*in
, VkCopyImageToBufferInfo2KHR_host
*out
)
478 out
->sType
= in
->sType
;
479 out
->pNext
= in
->pNext
;
480 out
->srcImage
= in
->srcImage
;
481 out
->srcImageLayout
= in
->srcImageLayout
;
482 out
->dstBuffer
= in
->dstBuffer
;
483 out
->regionCount
= in
->regionCount
;
484 out
->pRegions
= convert_VkBufferImageCopy2KHR_array_win_to_host(in
->pRegions
, in
->regionCount
);
487 static inline void free_VkCopyImageToBufferInfo2KHR(VkCopyImageToBufferInfo2KHR_host
*in
)
489 free_VkBufferImageCopy2KHR_array((VkBufferImageCopy2KHR_host
*)in
->pRegions
, in
->regionCount
);
492 static inline VkIndirectCommandsStreamNV_host
*convert_VkIndirectCommandsStreamNV_array_win_to_host(const VkIndirectCommandsStreamNV
*in
, uint32_t count
)
494 VkIndirectCommandsStreamNV_host
*out
;
497 if (!in
) return NULL
;
499 out
= heap_alloc(count
* sizeof(*out
));
500 for (i
= 0; i
< count
; i
++)
502 out
[i
].buffer
= in
[i
].buffer
;
503 out
[i
].offset
= in
[i
].offset
;
509 static inline void free_VkIndirectCommandsStreamNV_array(VkIndirectCommandsStreamNV_host
*in
, uint32_t count
)
516 static inline void convert_VkGeneratedCommandsInfoNV_win_to_host(const VkGeneratedCommandsInfoNV
*in
, VkGeneratedCommandsInfoNV_host
*out
)
520 out
->sType
= in
->sType
;
521 out
->pNext
= in
->pNext
;
522 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
523 out
->pipeline
= in
->pipeline
;
524 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
525 out
->streamCount
= in
->streamCount
;
526 out
->pStreams
= convert_VkIndirectCommandsStreamNV_array_win_to_host(in
->pStreams
, in
->streamCount
);
527 out
->sequencesCount
= in
->sequencesCount
;
528 out
->preprocessBuffer
= in
->preprocessBuffer
;
529 out
->preprocessOffset
= in
->preprocessOffset
;
530 out
->preprocessSize
= in
->preprocessSize
;
531 out
->sequencesCountBuffer
= in
->sequencesCountBuffer
;
532 out
->sequencesCountOffset
= in
->sequencesCountOffset
;
533 out
->sequencesIndexBuffer
= in
->sequencesIndexBuffer
;
534 out
->sequencesIndexOffset
= in
->sequencesIndexOffset
;
537 static inline void free_VkGeneratedCommandsInfoNV(VkGeneratedCommandsInfoNV_host
*in
)
539 free_VkIndirectCommandsStreamNV_array((VkIndirectCommandsStreamNV_host
*)in
->pStreams
, in
->streamCount
);
542 static inline VkBufferMemoryBarrier_host
*convert_VkBufferMemoryBarrier_array_win_to_host(const VkBufferMemoryBarrier
*in
, uint32_t count
)
544 VkBufferMemoryBarrier_host
*out
;
547 if (!in
) return NULL
;
549 out
= heap_alloc(count
* sizeof(*out
));
550 for (i
= 0; i
< count
; i
++)
552 out
[i
].sType
= in
[i
].sType
;
553 out
[i
].pNext
= in
[i
].pNext
;
554 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
555 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
556 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
557 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
558 out
[i
].buffer
= in
[i
].buffer
;
559 out
[i
].offset
= in
[i
].offset
;
560 out
[i
].size
= in
[i
].size
;
566 static inline void free_VkBufferMemoryBarrier_array(VkBufferMemoryBarrier_host
*in
, uint32_t count
)
573 static inline VkImageMemoryBarrier_host
*convert_VkImageMemoryBarrier_array_win_to_host(const VkImageMemoryBarrier
*in
, uint32_t count
)
575 VkImageMemoryBarrier_host
*out
;
578 if (!in
) return NULL
;
580 out
= heap_alloc(count
* sizeof(*out
));
581 for (i
= 0; i
< count
; i
++)
583 out
[i
].sType
= in
[i
].sType
;
584 out
[i
].pNext
= in
[i
].pNext
;
585 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
586 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
587 out
[i
].oldLayout
= in
[i
].oldLayout
;
588 out
[i
].newLayout
= in
[i
].newLayout
;
589 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
590 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
591 out
[i
].image
= in
[i
].image
;
592 out
[i
].subresourceRange
= in
[i
].subresourceRange
;
598 static inline void free_VkImageMemoryBarrier_array(VkImageMemoryBarrier_host
*in
, uint32_t count
)
605 static inline VkDescriptorImageInfo_host
*convert_VkDescriptorImageInfo_array_win_to_host(const VkDescriptorImageInfo
*in
, uint32_t count
)
607 VkDescriptorImageInfo_host
*out
;
610 if (!in
) return NULL
;
612 out
= heap_alloc(count
* sizeof(*out
));
613 for (i
= 0; i
< count
; i
++)
615 out
[i
].sampler
= in
[i
].sampler
;
616 out
[i
].imageView
= in
[i
].imageView
;
617 out
[i
].imageLayout
= in
[i
].imageLayout
;
623 static inline void free_VkDescriptorImageInfo_array(VkDescriptorImageInfo_host
*in
, uint32_t count
)
630 static inline VkDescriptorBufferInfo_host
*convert_VkDescriptorBufferInfo_array_win_to_host(const VkDescriptorBufferInfo
*in
, uint32_t count
)
632 VkDescriptorBufferInfo_host
*out
;
635 if (!in
) return NULL
;
637 out
= heap_alloc(count
* sizeof(*out
));
638 for (i
= 0; i
< count
; i
++)
640 out
[i
].buffer
= in
[i
].buffer
;
641 out
[i
].offset
= in
[i
].offset
;
642 out
[i
].range
= in
[i
].range
;
648 static inline void free_VkDescriptorBufferInfo_array(VkDescriptorBufferInfo_host
*in
, uint32_t count
)
655 static inline VkWriteDescriptorSet_host
*convert_VkWriteDescriptorSet_array_win_to_host(const VkWriteDescriptorSet
*in
, uint32_t count
)
657 VkWriteDescriptorSet_host
*out
;
660 if (!in
) return NULL
;
662 out
= heap_alloc(count
* sizeof(*out
));
663 for (i
= 0; i
< count
; i
++)
665 out
[i
].sType
= in
[i
].sType
;
666 out
[i
].pNext
= in
[i
].pNext
;
667 out
[i
].dstSet
= in
[i
].dstSet
;
668 out
[i
].dstBinding
= in
[i
].dstBinding
;
669 out
[i
].dstArrayElement
= in
[i
].dstArrayElement
;
670 out
[i
].descriptorCount
= in
[i
].descriptorCount
;
671 out
[i
].descriptorType
= in
[i
].descriptorType
;
672 out
[i
].pImageInfo
= convert_VkDescriptorImageInfo_array_win_to_host(in
[i
].pImageInfo
, in
[i
].descriptorCount
);
673 out
[i
].pBufferInfo
= convert_VkDescriptorBufferInfo_array_win_to_host(in
[i
].pBufferInfo
, in
[i
].descriptorCount
);
674 out
[i
].pTexelBufferView
= in
[i
].pTexelBufferView
;
680 static inline void free_VkWriteDescriptorSet_array(VkWriteDescriptorSet_host
*in
, uint32_t count
)
686 for (i
= 0; i
< count
; i
++)
688 free_VkDescriptorImageInfo_array((VkDescriptorImageInfo_host
*)in
[i
].pImageInfo
, in
[i
].descriptorCount
);
689 free_VkDescriptorBufferInfo_array((VkDescriptorBufferInfo_host
*)in
[i
].pBufferInfo
, in
[i
].descriptorCount
);
694 static inline void convert_VkResolveImageInfo2KHR_win_to_host(const VkResolveImageInfo2KHR
*in
, VkResolveImageInfo2KHR_host
*out
)
698 out
->sType
= in
->sType
;
699 out
->pNext
= in
->pNext
;
700 out
->srcImage
= in
->srcImage
;
701 out
->srcImageLayout
= in
->srcImageLayout
;
702 out
->dstImage
= in
->dstImage
;
703 out
->dstImageLayout
= in
->dstImageLayout
;
704 out
->regionCount
= in
->regionCount
;
705 out
->pRegions
= in
->pRegions
;
708 static inline void convert_VkPerformanceMarkerInfoINTEL_win_to_host(const VkPerformanceMarkerInfoINTEL
*in
, VkPerformanceMarkerInfoINTEL_host
*out
)
712 out
->sType
= in
->sType
;
713 out
->pNext
= in
->pNext
;
714 out
->marker
= in
->marker
;
717 static inline void convert_VkPerformanceOverrideInfoINTEL_win_to_host(const VkPerformanceOverrideInfoINTEL
*in
, VkPerformanceOverrideInfoINTEL_host
*out
)
721 out
->sType
= in
->sType
;
722 out
->pNext
= in
->pNext
;
723 out
->type
= in
->type
;
724 out
->enable
= in
->enable
;
725 out
->parameter
= in
->parameter
;
728 static inline void convert_VkAccelerationStructureCreateInfoNV_win_to_host(const VkAccelerationStructureCreateInfoNV
*in
, VkAccelerationStructureCreateInfoNV_host
*out
)
732 out
->sType
= in
->sType
;
733 out
->pNext
= in
->pNext
;
734 out
->compactedSize
= in
->compactedSize
;
735 convert_VkAccelerationStructureInfoNV_win_to_host(&in
->info
, &out
->info
);
738 static inline void convert_VkBufferCreateInfo_win_to_host(const VkBufferCreateInfo
*in
, VkBufferCreateInfo_host
*out
)
742 out
->sType
= in
->sType
;
743 out
->pNext
= in
->pNext
;
744 out
->flags
= in
->flags
;
745 out
->size
= in
->size
;
746 out
->usage
= in
->usage
;
747 out
->sharingMode
= in
->sharingMode
;
748 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
749 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
752 static inline void convert_VkBufferViewCreateInfo_win_to_host(const VkBufferViewCreateInfo
*in
, VkBufferViewCreateInfo_host
*out
)
756 out
->sType
= in
->sType
;
757 out
->pNext
= in
->pNext
;
758 out
->flags
= in
->flags
;
759 out
->buffer
= in
->buffer
;
760 out
->format
= in
->format
;
761 out
->offset
= in
->offset
;
762 out
->range
= in
->range
;
765 static inline void convert_VkPipelineShaderStageCreateInfo_win_to_host(const VkPipelineShaderStageCreateInfo
*in
, VkPipelineShaderStageCreateInfo_host
*out
)
769 out
->sType
= in
->sType
;
770 out
->pNext
= in
->pNext
;
771 out
->flags
= in
->flags
;
772 out
->stage
= in
->stage
;
773 out
->module
= in
->module
;
774 out
->pName
= in
->pName
;
775 out
->pSpecializationInfo
= in
->pSpecializationInfo
;
778 static inline VkComputePipelineCreateInfo_host
*convert_VkComputePipelineCreateInfo_array_win_to_host(const VkComputePipelineCreateInfo
*in
, uint32_t count
)
780 VkComputePipelineCreateInfo_host
*out
;
783 if (!in
) return NULL
;
785 out
= heap_alloc(count
* sizeof(*out
));
786 for (i
= 0; i
< count
; i
++)
788 out
[i
].sType
= in
[i
].sType
;
789 out
[i
].pNext
= in
[i
].pNext
;
790 out
[i
].flags
= in
[i
].flags
;
791 convert_VkPipelineShaderStageCreateInfo_win_to_host(&in
[i
].stage
, &out
[i
].stage
);
792 out
[i
].layout
= in
[i
].layout
;
793 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
794 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
800 static inline void free_VkComputePipelineCreateInfo_array(VkComputePipelineCreateInfo_host
*in
, uint32_t count
)
807 static inline void convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(const VkDescriptorUpdateTemplateCreateInfo
*in
, VkDescriptorUpdateTemplateCreateInfo_host
*out
)
811 out
->sType
= in
->sType
;
812 out
->pNext
= in
->pNext
;
813 out
->flags
= in
->flags
;
814 out
->descriptorUpdateEntryCount
= in
->descriptorUpdateEntryCount
;
815 out
->pDescriptorUpdateEntries
= in
->pDescriptorUpdateEntries
;
816 out
->templateType
= in
->templateType
;
817 out
->descriptorSetLayout
= in
->descriptorSetLayout
;
818 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
819 out
->pipelineLayout
= in
->pipelineLayout
;
823 static inline void convert_VkFramebufferCreateInfo_win_to_host(const VkFramebufferCreateInfo
*in
, VkFramebufferCreateInfo_host
*out
)
827 out
->sType
= in
->sType
;
828 out
->pNext
= in
->pNext
;
829 out
->flags
= in
->flags
;
830 out
->renderPass
= in
->renderPass
;
831 out
->attachmentCount
= in
->attachmentCount
;
832 out
->pAttachments
= in
->pAttachments
;
833 out
->width
= in
->width
;
834 out
->height
= in
->height
;
835 out
->layers
= in
->layers
;
838 static inline VkPipelineShaderStageCreateInfo_host
*convert_VkPipelineShaderStageCreateInfo_array_win_to_host(const VkPipelineShaderStageCreateInfo
*in
, uint32_t count
)
840 VkPipelineShaderStageCreateInfo_host
*out
;
843 if (!in
) return NULL
;
845 out
= heap_alloc(count
* sizeof(*out
));
846 for (i
= 0; i
< count
; i
++)
848 out
[i
].sType
= in
[i
].sType
;
849 out
[i
].pNext
= in
[i
].pNext
;
850 out
[i
].flags
= in
[i
].flags
;
851 out
[i
].stage
= in
[i
].stage
;
852 out
[i
].module
= in
[i
].module
;
853 out
[i
].pName
= in
[i
].pName
;
854 out
[i
].pSpecializationInfo
= in
[i
].pSpecializationInfo
;
860 static inline void free_VkPipelineShaderStageCreateInfo_array(VkPipelineShaderStageCreateInfo_host
*in
, uint32_t count
)
867 static inline VkGraphicsPipelineCreateInfo_host
*convert_VkGraphicsPipelineCreateInfo_array_win_to_host(const VkGraphicsPipelineCreateInfo
*in
, uint32_t count
)
869 VkGraphicsPipelineCreateInfo_host
*out
;
872 if (!in
) return NULL
;
874 out
= heap_alloc(count
* sizeof(*out
));
875 for (i
= 0; i
< count
; i
++)
877 out
[i
].sType
= in
[i
].sType
;
878 out
[i
].pNext
= in
[i
].pNext
;
879 out
[i
].flags
= in
[i
].flags
;
880 out
[i
].stageCount
= in
[i
].stageCount
;
881 out
[i
].pStages
= convert_VkPipelineShaderStageCreateInfo_array_win_to_host(in
[i
].pStages
, in
[i
].stageCount
);
882 out
[i
].pVertexInputState
= in
[i
].pVertexInputState
;
883 out
[i
].pInputAssemblyState
= in
[i
].pInputAssemblyState
;
884 out
[i
].pTessellationState
= in
[i
].pTessellationState
;
885 out
[i
].pViewportState
= in
[i
].pViewportState
;
886 out
[i
].pRasterizationState
= in
[i
].pRasterizationState
;
887 out
[i
].pMultisampleState
= in
[i
].pMultisampleState
;
888 out
[i
].pDepthStencilState
= in
[i
].pDepthStencilState
;
889 out
[i
].pColorBlendState
= in
[i
].pColorBlendState
;
890 out
[i
].pDynamicState
= in
[i
].pDynamicState
;
891 out
[i
].layout
= in
[i
].layout
;
892 out
[i
].renderPass
= in
[i
].renderPass
;
893 out
[i
].subpass
= in
[i
].subpass
;
894 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
895 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
901 static inline void free_VkGraphicsPipelineCreateInfo_array(VkGraphicsPipelineCreateInfo_host
*in
, uint32_t count
)
907 for (i
= 0; i
< count
; i
++)
909 free_VkPipelineShaderStageCreateInfo_array((VkPipelineShaderStageCreateInfo_host
*)in
[i
].pStages
, in
[i
].stageCount
);
914 static inline void convert_VkImageViewCreateInfo_win_to_host(const VkImageViewCreateInfo
*in
, VkImageViewCreateInfo_host
*out
)
918 out
->sType
= in
->sType
;
919 out
->pNext
= in
->pNext
;
920 out
->flags
= in
->flags
;
921 out
->image
= in
->image
;
922 out
->viewType
= in
->viewType
;
923 out
->format
= in
->format
;
924 out
->components
= in
->components
;
925 out
->subresourceRange
= in
->subresourceRange
;
928 static inline VkIndirectCommandsLayoutTokenNV_host
*convert_VkIndirectCommandsLayoutTokenNV_array_win_to_host(const VkIndirectCommandsLayoutTokenNV
*in
, uint32_t count
)
930 VkIndirectCommandsLayoutTokenNV_host
*out
;
933 if (!in
) return NULL
;
935 out
= heap_alloc(count
* sizeof(*out
));
936 for (i
= 0; i
< count
; i
++)
938 out
[i
].sType
= in
[i
].sType
;
939 out
[i
].pNext
= in
[i
].pNext
;
940 out
[i
].tokenType
= in
[i
].tokenType
;
941 out
[i
].stream
= in
[i
].stream
;
942 out
[i
].offset
= in
[i
].offset
;
943 out
[i
].vertexBindingUnit
= in
[i
].vertexBindingUnit
;
944 out
[i
].vertexDynamicStride
= in
[i
].vertexDynamicStride
;
945 out
[i
].pushconstantPipelineLayout
= in
[i
].pushconstantPipelineLayout
;
946 out
[i
].pushconstantShaderStageFlags
= in
[i
].pushconstantShaderStageFlags
;
947 out
[i
].pushconstantOffset
= in
[i
].pushconstantOffset
;
948 out
[i
].pushconstantSize
= in
[i
].pushconstantSize
;
949 out
[i
].indirectStateFlags
= in
[i
].indirectStateFlags
;
950 out
[i
].indexTypeCount
= in
[i
].indexTypeCount
;
951 out
[i
].pIndexTypes
= in
[i
].pIndexTypes
;
952 out
[i
].pIndexTypeValues
= in
[i
].pIndexTypeValues
;
958 static inline void free_VkIndirectCommandsLayoutTokenNV_array(VkIndirectCommandsLayoutTokenNV_host
*in
, uint32_t count
)
965 static inline void convert_VkIndirectCommandsLayoutCreateInfoNV_win_to_host(const VkIndirectCommandsLayoutCreateInfoNV
*in
, VkIndirectCommandsLayoutCreateInfoNV_host
*out
)
969 out
->sType
= in
->sType
;
970 out
->pNext
= in
->pNext
;
971 out
->flags
= in
->flags
;
972 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
973 out
->tokenCount
= in
->tokenCount
;
974 out
->pTokens
= convert_VkIndirectCommandsLayoutTokenNV_array_win_to_host(in
->pTokens
, in
->tokenCount
);
975 out
->streamCount
= in
->streamCount
;
976 out
->pStreamStrides
= in
->pStreamStrides
;
979 static inline void free_VkIndirectCommandsLayoutCreateInfoNV(VkIndirectCommandsLayoutCreateInfoNV_host
*in
)
981 free_VkIndirectCommandsLayoutTokenNV_array((VkIndirectCommandsLayoutTokenNV_host
*)in
->pTokens
, in
->tokenCount
);
984 static inline VkRayTracingPipelineCreateInfoNV_host
*convert_VkRayTracingPipelineCreateInfoNV_array_win_to_host(const VkRayTracingPipelineCreateInfoNV
*in
, uint32_t count
)
986 VkRayTracingPipelineCreateInfoNV_host
*out
;
989 if (!in
) return NULL
;
991 out
= heap_alloc(count
* sizeof(*out
));
992 for (i
= 0; i
< count
; i
++)
994 out
[i
].sType
= in
[i
].sType
;
995 out
[i
].pNext
= in
[i
].pNext
;
996 out
[i
].flags
= in
[i
].flags
;
997 out
[i
].stageCount
= in
[i
].stageCount
;
998 out
[i
].pStages
= convert_VkPipelineShaderStageCreateInfo_array_win_to_host(in
[i
].pStages
, in
[i
].stageCount
);
999 out
[i
].groupCount
= in
[i
].groupCount
;
1000 out
[i
].pGroups
= in
[i
].pGroups
;
1001 out
[i
].maxRecursionDepth
= in
[i
].maxRecursionDepth
;
1002 out
[i
].layout
= in
[i
].layout
;
1003 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
1004 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
1010 static inline void free_VkRayTracingPipelineCreateInfoNV_array(VkRayTracingPipelineCreateInfoNV_host
*in
, uint32_t count
)
1016 for (i
= 0; i
< count
; i
++)
1018 free_VkPipelineShaderStageCreateInfo_array((VkPipelineShaderStageCreateInfo_host
*)in
[i
].pStages
, in
[i
].stageCount
);
1023 static inline void convert_VkSwapchainCreateInfoKHR_win_to_host(const VkSwapchainCreateInfoKHR
*in
, VkSwapchainCreateInfoKHR_host
*out
)
1027 out
->sType
= in
->sType
;
1028 out
->pNext
= in
->pNext
;
1029 out
->flags
= in
->flags
;
1030 out
->surface
= in
->surface
;
1031 out
->minImageCount
= in
->minImageCount
;
1032 out
->imageFormat
= in
->imageFormat
;
1033 out
->imageColorSpace
= in
->imageColorSpace
;
1034 out
->imageExtent
= in
->imageExtent
;
1035 out
->imageArrayLayers
= in
->imageArrayLayers
;
1036 out
->imageUsage
= in
->imageUsage
;
1037 out
->imageSharingMode
= in
->imageSharingMode
;
1038 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
1039 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
1040 out
->preTransform
= in
->preTransform
;
1041 out
->compositeAlpha
= in
->compositeAlpha
;
1042 out
->presentMode
= in
->presentMode
;
1043 out
->clipped
= in
->clipped
;
1044 out
->oldSwapchain
= in
->oldSwapchain
;
1047 static inline VkMappedMemoryRange_host
*convert_VkMappedMemoryRange_array_win_to_host(const VkMappedMemoryRange
*in
, uint32_t count
)
1049 VkMappedMemoryRange_host
*out
;
1052 if (!in
) return NULL
;
1054 out
= heap_alloc(count
* sizeof(*out
));
1055 for (i
= 0; i
< count
; i
++)
1057 out
[i
].sType
= in
[i
].sType
;
1058 out
[i
].pNext
= in
[i
].pNext
;
1059 out
[i
].memory
= in
[i
].memory
;
1060 out
[i
].offset
= in
[i
].offset
;
1061 out
[i
].size
= in
[i
].size
;
1067 static inline void free_VkMappedMemoryRange_array(VkMappedMemoryRange_host
*in
, uint32_t count
)
1074 static inline void convert_VkAccelerationStructureMemoryRequirementsInfoNV_win_to_host(const VkAccelerationStructureMemoryRequirementsInfoNV
*in
, VkAccelerationStructureMemoryRequirementsInfoNV_host
*out
)
1078 out
->sType
= in
->sType
;
1079 out
->pNext
= in
->pNext
;
1080 out
->type
= in
->type
;
1081 out
->accelerationStructure
= in
->accelerationStructure
;
1084 static inline void convert_VkMemoryRequirements_host_to_win(const VkMemoryRequirements_host
*in
, VkMemoryRequirements
*out
)
1088 out
->size
= in
->size
;
1089 out
->alignment
= in
->alignment
;
1090 out
->memoryTypeBits
= in
->memoryTypeBits
;
1093 static inline void convert_VkMemoryRequirements2KHR_win_to_host(const VkMemoryRequirements2KHR
*in
, VkMemoryRequirements2KHR_host
*out
)
1097 out
->pNext
= in
->pNext
;
1098 out
->sType
= in
->sType
;
1101 static inline void convert_VkMemoryRequirements2KHR_host_to_win(const VkMemoryRequirements2KHR_host
*in
, VkMemoryRequirements2KHR
*out
)
1105 out
->sType
= in
->sType
;
1106 out
->pNext
= in
->pNext
;
1107 convert_VkMemoryRequirements_host_to_win(&in
->memoryRequirements
, &out
->memoryRequirements
);
1110 static inline void convert_VkBufferDeviceAddressInfo_win_to_host(const VkBufferDeviceAddressInfo
*in
, VkBufferDeviceAddressInfo_host
*out
)
1114 out
->sType
= in
->sType
;
1115 out
->pNext
= in
->pNext
;
1116 out
->buffer
= in
->buffer
;
1119 static inline void convert_VkBufferMemoryRequirementsInfo2_win_to_host(const VkBufferMemoryRequirementsInfo2
*in
, VkBufferMemoryRequirementsInfo2_host
*out
)
1123 out
->sType
= in
->sType
;
1124 out
->pNext
= in
->pNext
;
1125 out
->buffer
= in
->buffer
;
1128 static inline void convert_VkMemoryRequirements2_win_to_host(const VkMemoryRequirements2
*in
, VkMemoryRequirements2_host
*out
)
1132 out
->pNext
= in
->pNext
;
1133 out
->sType
= in
->sType
;
1136 static inline void convert_VkMemoryRequirements2_host_to_win(const VkMemoryRequirements2_host
*in
, VkMemoryRequirements2
*out
)
1140 out
->sType
= in
->sType
;
1141 out
->pNext
= in
->pNext
;
1142 convert_VkMemoryRequirements_host_to_win(&in
->memoryRequirements
, &out
->memoryRequirements
);
1145 static inline void convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(const VkDeviceMemoryOpaqueCaptureAddressInfo
*in
, VkDeviceMemoryOpaqueCaptureAddressInfo_host
*out
)
1149 out
->sType
= in
->sType
;
1150 out
->pNext
= in
->pNext
;
1151 out
->memory
= in
->memory
;
1154 static inline void convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win_to_host(const VkGeneratedCommandsMemoryRequirementsInfoNV
*in
, VkGeneratedCommandsMemoryRequirementsInfoNV_host
*out
)
1158 out
->sType
= in
->sType
;
1159 out
->pNext
= in
->pNext
;
1160 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
1161 out
->pipeline
= in
->pipeline
;
1162 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
1163 out
->maxSequencesCount
= in
->maxSequencesCount
;
1166 static inline void convert_VkImageMemoryRequirementsInfo2_win_to_host(const VkImageMemoryRequirementsInfo2
*in
, VkImageMemoryRequirementsInfo2_host
*out
)
1170 out
->sType
= in
->sType
;
1171 out
->pNext
= in
->pNext
;
1172 out
->image
= in
->image
;
1175 static inline void convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(const VkImageSparseMemoryRequirementsInfo2
*in
, VkImageSparseMemoryRequirementsInfo2_host
*out
)
1179 out
->sType
= in
->sType
;
1180 out
->pNext
= in
->pNext
;
1181 out
->image
= in
->image
;
1184 static inline void convert_VkSubresourceLayout_host_to_win(const VkSubresourceLayout_host
*in
, VkSubresourceLayout
*out
)
1188 out
->offset
= in
->offset
;
1189 out
->size
= in
->size
;
1190 out
->rowPitch
= in
->rowPitch
;
1191 out
->arrayPitch
= in
->arrayPitch
;
1192 out
->depthPitch
= in
->depthPitch
;
1195 static inline void convert_VkImageFormatProperties_host_to_win(const VkImageFormatProperties_host
*in
, VkImageFormatProperties
*out
)
1199 out
->maxExtent
= in
->maxExtent
;
1200 out
->maxMipLevels
= in
->maxMipLevels
;
1201 out
->maxArrayLayers
= in
->maxArrayLayers
;
1202 out
->sampleCounts
= in
->sampleCounts
;
1203 out
->maxResourceSize
= in
->maxResourceSize
;
1206 static inline void convert_VkImageFormatProperties2_win_to_host(const VkImageFormatProperties2
*in
, VkImageFormatProperties2_host
*out
)
1210 out
->pNext
= in
->pNext
;
1211 out
->sType
= in
->sType
;
1214 static inline void convert_VkImageFormatProperties2_host_to_win(const VkImageFormatProperties2_host
*in
, VkImageFormatProperties2
*out
)
1218 out
->sType
= in
->sType
;
1219 out
->pNext
= in
->pNext
;
1220 convert_VkImageFormatProperties_host_to_win(&in
->imageFormatProperties
, &out
->imageFormatProperties
);
1223 static inline void convert_VkMemoryHeap_static_array_host_to_win(const VkMemoryHeap_host
*in
, VkMemoryHeap
*out
, uint32_t count
)
1229 for (i
= 0; i
< count
; i
++)
1231 out
[i
].size
= in
[i
].size
;
1232 out
[i
].flags
= in
[i
].flags
;
1236 static inline void convert_VkPhysicalDeviceMemoryProperties_host_to_win(const VkPhysicalDeviceMemoryProperties_host
*in
, VkPhysicalDeviceMemoryProperties
*out
)
1240 out
->memoryTypeCount
= in
->memoryTypeCount
;
1241 memcpy(out
->memoryTypes
, in
->memoryTypes
, VK_MAX_MEMORY_TYPES
* sizeof(VkMemoryType
));
1242 out
->memoryHeapCount
= in
->memoryHeapCount
;
1243 convert_VkMemoryHeap_static_array_host_to_win(in
->memoryHeaps
, out
->memoryHeaps
, VK_MAX_MEMORY_HEAPS
);
1246 static inline void convert_VkPhysicalDeviceMemoryProperties2_win_to_host(const VkPhysicalDeviceMemoryProperties2
*in
, VkPhysicalDeviceMemoryProperties2_host
*out
)
1250 out
->pNext
= in
->pNext
;
1251 out
->sType
= in
->sType
;
1254 static inline void convert_VkPhysicalDeviceMemoryProperties2_host_to_win(const VkPhysicalDeviceMemoryProperties2_host
*in
, VkPhysicalDeviceMemoryProperties2
*out
)
1258 out
->sType
= in
->sType
;
1259 out
->pNext
= in
->pNext
;
1260 convert_VkPhysicalDeviceMemoryProperties_host_to_win(&in
->memoryProperties
, &out
->memoryProperties
);
1263 static inline void convert_VkPhysicalDeviceLimits_host_to_win(const VkPhysicalDeviceLimits_host
*in
, VkPhysicalDeviceLimits
*out
)
1267 out
->maxImageDimension1D
= in
->maxImageDimension1D
;
1268 out
->maxImageDimension2D
= in
->maxImageDimension2D
;
1269 out
->maxImageDimension3D
= in
->maxImageDimension3D
;
1270 out
->maxImageDimensionCube
= in
->maxImageDimensionCube
;
1271 out
->maxImageArrayLayers
= in
->maxImageArrayLayers
;
1272 out
->maxTexelBufferElements
= in
->maxTexelBufferElements
;
1273 out
->maxUniformBufferRange
= in
->maxUniformBufferRange
;
1274 out
->maxStorageBufferRange
= in
->maxStorageBufferRange
;
1275 out
->maxPushConstantsSize
= in
->maxPushConstantsSize
;
1276 out
->maxMemoryAllocationCount
= in
->maxMemoryAllocationCount
;
1277 out
->maxSamplerAllocationCount
= in
->maxSamplerAllocationCount
;
1278 out
->bufferImageGranularity
= in
->bufferImageGranularity
;
1279 out
->sparseAddressSpaceSize
= in
->sparseAddressSpaceSize
;
1280 out
->maxBoundDescriptorSets
= in
->maxBoundDescriptorSets
;
1281 out
->maxPerStageDescriptorSamplers
= in
->maxPerStageDescriptorSamplers
;
1282 out
->maxPerStageDescriptorUniformBuffers
= in
->maxPerStageDescriptorUniformBuffers
;
1283 out
->maxPerStageDescriptorStorageBuffers
= in
->maxPerStageDescriptorStorageBuffers
;
1284 out
->maxPerStageDescriptorSampledImages
= in
->maxPerStageDescriptorSampledImages
;
1285 out
->maxPerStageDescriptorStorageImages
= in
->maxPerStageDescriptorStorageImages
;
1286 out
->maxPerStageDescriptorInputAttachments
= in
->maxPerStageDescriptorInputAttachments
;
1287 out
->maxPerStageResources
= in
->maxPerStageResources
;
1288 out
->maxDescriptorSetSamplers
= in
->maxDescriptorSetSamplers
;
1289 out
->maxDescriptorSetUniformBuffers
= in
->maxDescriptorSetUniformBuffers
;
1290 out
->maxDescriptorSetUniformBuffersDynamic
= in
->maxDescriptorSetUniformBuffersDynamic
;
1291 out
->maxDescriptorSetStorageBuffers
= in
->maxDescriptorSetStorageBuffers
;
1292 out
->maxDescriptorSetStorageBuffersDynamic
= in
->maxDescriptorSetStorageBuffersDynamic
;
1293 out
->maxDescriptorSetSampledImages
= in
->maxDescriptorSetSampledImages
;
1294 out
->maxDescriptorSetStorageImages
= in
->maxDescriptorSetStorageImages
;
1295 out
->maxDescriptorSetInputAttachments
= in
->maxDescriptorSetInputAttachments
;
1296 out
->maxVertexInputAttributes
= in
->maxVertexInputAttributes
;
1297 out
->maxVertexInputBindings
= in
->maxVertexInputBindings
;
1298 out
->maxVertexInputAttributeOffset
= in
->maxVertexInputAttributeOffset
;
1299 out
->maxVertexInputBindingStride
= in
->maxVertexInputBindingStride
;
1300 out
->maxVertexOutputComponents
= in
->maxVertexOutputComponents
;
1301 out
->maxTessellationGenerationLevel
= in
->maxTessellationGenerationLevel
;
1302 out
->maxTessellationPatchSize
= in
->maxTessellationPatchSize
;
1303 out
->maxTessellationControlPerVertexInputComponents
= in
->maxTessellationControlPerVertexInputComponents
;
1304 out
->maxTessellationControlPerVertexOutputComponents
= in
->maxTessellationControlPerVertexOutputComponents
;
1305 out
->maxTessellationControlPerPatchOutputComponents
= in
->maxTessellationControlPerPatchOutputComponents
;
1306 out
->maxTessellationControlTotalOutputComponents
= in
->maxTessellationControlTotalOutputComponents
;
1307 out
->maxTessellationEvaluationInputComponents
= in
->maxTessellationEvaluationInputComponents
;
1308 out
->maxTessellationEvaluationOutputComponents
= in
->maxTessellationEvaluationOutputComponents
;
1309 out
->maxGeometryShaderInvocations
= in
->maxGeometryShaderInvocations
;
1310 out
->maxGeometryInputComponents
= in
->maxGeometryInputComponents
;
1311 out
->maxGeometryOutputComponents
= in
->maxGeometryOutputComponents
;
1312 out
->maxGeometryOutputVertices
= in
->maxGeometryOutputVertices
;
1313 out
->maxGeometryTotalOutputComponents
= in
->maxGeometryTotalOutputComponents
;
1314 out
->maxFragmentInputComponents
= in
->maxFragmentInputComponents
;
1315 out
->maxFragmentOutputAttachments
= in
->maxFragmentOutputAttachments
;
1316 out
->maxFragmentDualSrcAttachments
= in
->maxFragmentDualSrcAttachments
;
1317 out
->maxFragmentCombinedOutputResources
= in
->maxFragmentCombinedOutputResources
;
1318 out
->maxComputeSharedMemorySize
= in
->maxComputeSharedMemorySize
;
1319 memcpy(out
->maxComputeWorkGroupCount
, in
->maxComputeWorkGroupCount
, 3 * sizeof(uint32_t));
1320 out
->maxComputeWorkGroupInvocations
= in
->maxComputeWorkGroupInvocations
;
1321 memcpy(out
->maxComputeWorkGroupSize
, in
->maxComputeWorkGroupSize
, 3 * sizeof(uint32_t));
1322 out
->subPixelPrecisionBits
= in
->subPixelPrecisionBits
;
1323 out
->subTexelPrecisionBits
= in
->subTexelPrecisionBits
;
1324 out
->mipmapPrecisionBits
= in
->mipmapPrecisionBits
;
1325 out
->maxDrawIndexedIndexValue
= in
->maxDrawIndexedIndexValue
;
1326 out
->maxDrawIndirectCount
= in
->maxDrawIndirectCount
;
1327 out
->maxSamplerLodBias
= in
->maxSamplerLodBias
;
1328 out
->maxSamplerAnisotropy
= in
->maxSamplerAnisotropy
;
1329 out
->maxViewports
= in
->maxViewports
;
1330 memcpy(out
->maxViewportDimensions
, in
->maxViewportDimensions
, 2 * sizeof(uint32_t));
1331 memcpy(out
->viewportBoundsRange
, in
->viewportBoundsRange
, 2 * sizeof(float));
1332 out
->viewportSubPixelBits
= in
->viewportSubPixelBits
;
1333 out
->minMemoryMapAlignment
= in
->minMemoryMapAlignment
;
1334 out
->minTexelBufferOffsetAlignment
= in
->minTexelBufferOffsetAlignment
;
1335 out
->minUniformBufferOffsetAlignment
= in
->minUniformBufferOffsetAlignment
;
1336 out
->minStorageBufferOffsetAlignment
= in
->minStorageBufferOffsetAlignment
;
1337 out
->minTexelOffset
= in
->minTexelOffset
;
1338 out
->maxTexelOffset
= in
->maxTexelOffset
;
1339 out
->minTexelGatherOffset
= in
->minTexelGatherOffset
;
1340 out
->maxTexelGatherOffset
= in
->maxTexelGatherOffset
;
1341 out
->minInterpolationOffset
= in
->minInterpolationOffset
;
1342 out
->maxInterpolationOffset
= in
->maxInterpolationOffset
;
1343 out
->subPixelInterpolationOffsetBits
= in
->subPixelInterpolationOffsetBits
;
1344 out
->maxFramebufferWidth
= in
->maxFramebufferWidth
;
1345 out
->maxFramebufferHeight
= in
->maxFramebufferHeight
;
1346 out
->maxFramebufferLayers
= in
->maxFramebufferLayers
;
1347 out
->framebufferColorSampleCounts
= in
->framebufferColorSampleCounts
;
1348 out
->framebufferDepthSampleCounts
= in
->framebufferDepthSampleCounts
;
1349 out
->framebufferStencilSampleCounts
= in
->framebufferStencilSampleCounts
;
1350 out
->framebufferNoAttachmentsSampleCounts
= in
->framebufferNoAttachmentsSampleCounts
;
1351 out
->maxColorAttachments
= in
->maxColorAttachments
;
1352 out
->sampledImageColorSampleCounts
= in
->sampledImageColorSampleCounts
;
1353 out
->sampledImageIntegerSampleCounts
= in
->sampledImageIntegerSampleCounts
;
1354 out
->sampledImageDepthSampleCounts
= in
->sampledImageDepthSampleCounts
;
1355 out
->sampledImageStencilSampleCounts
= in
->sampledImageStencilSampleCounts
;
1356 out
->storageImageSampleCounts
= in
->storageImageSampleCounts
;
1357 out
->maxSampleMaskWords
= in
->maxSampleMaskWords
;
1358 out
->timestampComputeAndGraphics
= in
->timestampComputeAndGraphics
;
1359 out
->timestampPeriod
= in
->timestampPeriod
;
1360 out
->maxClipDistances
= in
->maxClipDistances
;
1361 out
->maxCullDistances
= in
->maxCullDistances
;
1362 out
->maxCombinedClipAndCullDistances
= in
->maxCombinedClipAndCullDistances
;
1363 out
->discreteQueuePriorities
= in
->discreteQueuePriorities
;
1364 memcpy(out
->pointSizeRange
, in
->pointSizeRange
, 2 * sizeof(float));
1365 memcpy(out
->lineWidthRange
, in
->lineWidthRange
, 2 * sizeof(float));
1366 out
->pointSizeGranularity
= in
->pointSizeGranularity
;
1367 out
->lineWidthGranularity
= in
->lineWidthGranularity
;
1368 out
->strictLines
= in
->strictLines
;
1369 out
->standardSampleLocations
= in
->standardSampleLocations
;
1370 out
->optimalBufferCopyOffsetAlignment
= in
->optimalBufferCopyOffsetAlignment
;
1371 out
->optimalBufferCopyRowPitchAlignment
= in
->optimalBufferCopyRowPitchAlignment
;
1372 out
->nonCoherentAtomSize
= in
->nonCoherentAtomSize
;
1375 static inline void convert_VkPhysicalDeviceProperties_host_to_win(const VkPhysicalDeviceProperties_host
*in
, VkPhysicalDeviceProperties
*out
)
1379 out
->apiVersion
= in
->apiVersion
;
1380 out
->driverVersion
= in
->driverVersion
;
1381 out
->vendorID
= in
->vendorID
;
1382 out
->deviceID
= in
->deviceID
;
1383 out
->deviceType
= in
->deviceType
;
1384 memcpy(out
->deviceName
, in
->deviceName
, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
* sizeof(char));
1385 memcpy(out
->pipelineCacheUUID
, in
->pipelineCacheUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
1386 convert_VkPhysicalDeviceLimits_host_to_win(&in
->limits
, &out
->limits
);
1387 out
->sparseProperties
= in
->sparseProperties
;
1390 static inline void convert_VkPhysicalDeviceProperties2_win_to_host(const VkPhysicalDeviceProperties2
*in
, VkPhysicalDeviceProperties2_host
*out
)
1394 out
->pNext
= in
->pNext
;
1395 out
->sType
= in
->sType
;
1398 static inline void convert_VkPhysicalDeviceProperties2_host_to_win(const VkPhysicalDeviceProperties2_host
*in
, VkPhysicalDeviceProperties2
*out
)
1402 out
->sType
= in
->sType
;
1403 out
->pNext
= in
->pNext
;
1404 convert_VkPhysicalDeviceProperties_host_to_win(&in
->properties
, &out
->properties
);
1407 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(const VkPhysicalDeviceSurfaceInfo2KHR
*in
, VkPhysicalDeviceSurfaceInfo2KHR_host
*out
)
1411 out
->sType
= in
->sType
;
1412 out
->pNext
= in
->pNext
;
1413 out
->surface
= in
->surface
;
1416 static inline void convert_VkPipelineExecutableInfoKHR_win_to_host(const VkPipelineExecutableInfoKHR
*in
, VkPipelineExecutableInfoKHR_host
*out
)
1420 out
->sType
= in
->sType
;
1421 out
->pNext
= in
->pNext
;
1422 out
->pipeline
= in
->pipeline
;
1423 out
->executableIndex
= in
->executableIndex
;
1426 static inline void convert_VkPipelineInfoKHR_win_to_host(const VkPipelineInfoKHR
*in
, VkPipelineInfoKHR_host
*out
)
1430 out
->sType
= in
->sType
;
1431 out
->pNext
= in
->pNext
;
1432 out
->pipeline
= in
->pipeline
;
1435 static inline VkSparseMemoryBind_host
*convert_VkSparseMemoryBind_array_win_to_host(const VkSparseMemoryBind
*in
, uint32_t count
)
1437 VkSparseMemoryBind_host
*out
;
1440 if (!in
) return NULL
;
1442 out
= heap_alloc(count
* sizeof(*out
));
1443 for (i
= 0; i
< count
; i
++)
1445 out
[i
].resourceOffset
= in
[i
].resourceOffset
;
1446 out
[i
].size
= in
[i
].size
;
1447 out
[i
].memory
= in
[i
].memory
;
1448 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
1449 out
[i
].flags
= in
[i
].flags
;
1455 static inline void free_VkSparseMemoryBind_array(VkSparseMemoryBind_host
*in
, uint32_t count
)
1462 static inline VkSparseBufferMemoryBindInfo_host
*convert_VkSparseBufferMemoryBindInfo_array_win_to_host(const VkSparseBufferMemoryBindInfo
*in
, uint32_t count
)
1464 VkSparseBufferMemoryBindInfo_host
*out
;
1467 if (!in
) return NULL
;
1469 out
= heap_alloc(count
* sizeof(*out
));
1470 for (i
= 0; i
< count
; i
++)
1472 out
[i
].buffer
= in
[i
].buffer
;
1473 out
[i
].bindCount
= in
[i
].bindCount
;
1474 out
[i
].pBinds
= convert_VkSparseMemoryBind_array_win_to_host(in
[i
].pBinds
, in
[i
].bindCount
);
1480 static inline void free_VkSparseBufferMemoryBindInfo_array(VkSparseBufferMemoryBindInfo_host
*in
, uint32_t count
)
1486 for (i
= 0; i
< count
; i
++)
1488 free_VkSparseMemoryBind_array((VkSparseMemoryBind_host
*)in
[i
].pBinds
, in
[i
].bindCount
);
1493 static inline VkSparseImageOpaqueMemoryBindInfo_host
*convert_VkSparseImageOpaqueMemoryBindInfo_array_win_to_host(const VkSparseImageOpaqueMemoryBindInfo
*in
, uint32_t count
)
1495 VkSparseImageOpaqueMemoryBindInfo_host
*out
;
1498 if (!in
) return NULL
;
1500 out
= heap_alloc(count
* sizeof(*out
));
1501 for (i
= 0; i
< count
; i
++)
1503 out
[i
].image
= in
[i
].image
;
1504 out
[i
].bindCount
= in
[i
].bindCount
;
1505 out
[i
].pBinds
= convert_VkSparseMemoryBind_array_win_to_host(in
[i
].pBinds
, in
[i
].bindCount
);
1511 static inline void free_VkSparseImageOpaqueMemoryBindInfo_array(VkSparseImageOpaqueMemoryBindInfo_host
*in
, uint32_t count
)
1517 for (i
= 0; i
< count
; i
++)
1519 free_VkSparseMemoryBind_array((VkSparseMemoryBind_host
*)in
[i
].pBinds
, in
[i
].bindCount
);
1524 static inline VkSparseImageMemoryBind_host
*convert_VkSparseImageMemoryBind_array_win_to_host(const VkSparseImageMemoryBind
*in
, uint32_t count
)
1526 VkSparseImageMemoryBind_host
*out
;
1529 if (!in
) return NULL
;
1531 out
= heap_alloc(count
* sizeof(*out
));
1532 for (i
= 0; i
< count
; i
++)
1534 out
[i
].subresource
= in
[i
].subresource
;
1535 out
[i
].offset
= in
[i
].offset
;
1536 out
[i
].extent
= in
[i
].extent
;
1537 out
[i
].memory
= in
[i
].memory
;
1538 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
1539 out
[i
].flags
= in
[i
].flags
;
1545 static inline void free_VkSparseImageMemoryBind_array(VkSparseImageMemoryBind_host
*in
, uint32_t count
)
1552 static inline VkSparseImageMemoryBindInfo_host
*convert_VkSparseImageMemoryBindInfo_array_win_to_host(const VkSparseImageMemoryBindInfo
*in
, uint32_t count
)
1554 VkSparseImageMemoryBindInfo_host
*out
;
1557 if (!in
) return NULL
;
1559 out
= heap_alloc(count
* sizeof(*out
));
1560 for (i
= 0; i
< count
; i
++)
1562 out
[i
].image
= in
[i
].image
;
1563 out
[i
].bindCount
= in
[i
].bindCount
;
1564 out
[i
].pBinds
= convert_VkSparseImageMemoryBind_array_win_to_host(in
[i
].pBinds
, in
[i
].bindCount
);
1570 static inline void free_VkSparseImageMemoryBindInfo_array(VkSparseImageMemoryBindInfo_host
*in
, uint32_t count
)
1576 for (i
= 0; i
< count
; i
++)
1578 free_VkSparseImageMemoryBind_array((VkSparseImageMemoryBind_host
*)in
[i
].pBinds
, in
[i
].bindCount
);
1583 static inline VkBindSparseInfo_host
*convert_VkBindSparseInfo_array_win_to_host(const VkBindSparseInfo
*in
, uint32_t count
)
1585 VkBindSparseInfo_host
*out
;
1588 if (!in
) return NULL
;
1590 out
= heap_alloc(count
* sizeof(*out
));
1591 for (i
= 0; i
< count
; i
++)
1593 out
[i
].sType
= in
[i
].sType
;
1594 out
[i
].pNext
= in
[i
].pNext
;
1595 out
[i
].waitSemaphoreCount
= in
[i
].waitSemaphoreCount
;
1596 out
[i
].pWaitSemaphores
= in
[i
].pWaitSemaphores
;
1597 out
[i
].bufferBindCount
= in
[i
].bufferBindCount
;
1598 out
[i
].pBufferBinds
= convert_VkSparseBufferMemoryBindInfo_array_win_to_host(in
[i
].pBufferBinds
, in
[i
].bufferBindCount
);
1599 out
[i
].imageOpaqueBindCount
= in
[i
].imageOpaqueBindCount
;
1600 out
[i
].pImageOpaqueBinds
= convert_VkSparseImageOpaqueMemoryBindInfo_array_win_to_host(in
[i
].pImageOpaqueBinds
, in
[i
].imageOpaqueBindCount
);
1601 out
[i
].imageBindCount
= in
[i
].imageBindCount
;
1602 out
[i
].pImageBinds
= convert_VkSparseImageMemoryBindInfo_array_win_to_host(in
[i
].pImageBinds
, in
[i
].imageBindCount
);
1603 out
[i
].signalSemaphoreCount
= in
[i
].signalSemaphoreCount
;
1604 out
[i
].pSignalSemaphores
= in
[i
].pSignalSemaphores
;
1610 static inline void free_VkBindSparseInfo_array(VkBindSparseInfo_host
*in
, uint32_t count
)
1616 for (i
= 0; i
< count
; i
++)
1618 free_VkSparseBufferMemoryBindInfo_array((VkSparseBufferMemoryBindInfo_host
*)in
[i
].pBufferBinds
, in
[i
].bufferBindCount
);
1619 free_VkSparseImageOpaqueMemoryBindInfo_array((VkSparseImageOpaqueMemoryBindInfo_host
*)in
[i
].pImageOpaqueBinds
, in
[i
].imageOpaqueBindCount
);
1620 free_VkSparseImageMemoryBindInfo_array((VkSparseImageMemoryBindInfo_host
*)in
[i
].pImageBinds
, in
[i
].imageBindCount
);
1625 static inline void convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, VkDebugUtilsObjectNameInfoEXT_host
*out
)
1629 out
->sType
= in
->sType
;
1630 out
->pNext
= in
->pNext
;
1631 out
->objectType
= in
->objectType
;
1632 out
->objectHandle
= in
->objectHandle
;
1633 out
->pObjectName
= in
->pObjectName
;
1636 static inline void convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(const VkDebugUtilsObjectTagInfoEXT
*in
, VkDebugUtilsObjectTagInfoEXT_host
*out
)
1640 out
->sType
= in
->sType
;
1641 out
->pNext
= in
->pNext
;
1642 out
->objectType
= in
->objectType
;
1643 out
->objectHandle
= in
->objectHandle
;
1644 out
->tagName
= in
->tagName
;
1645 out
->tagSize
= in
->tagSize
;
1646 out
->pTag
= in
->pTag
;
1649 static inline void convert_VkSemaphoreSignalInfo_win_to_host(const VkSemaphoreSignalInfo
*in
, VkSemaphoreSignalInfo_host
*out
)
1653 out
->sType
= in
->sType
;
1654 out
->pNext
= in
->pNext
;
1655 out
->semaphore
= in
->semaphore
;
1656 out
->value
= in
->value
;
1659 static inline VkDebugUtilsObjectNameInfoEXT_host
*convert_VkDebugUtilsObjectNameInfoEXT_array_win_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, uint32_t count
)
1661 VkDebugUtilsObjectNameInfoEXT_host
*out
;
1664 if (!in
) return NULL
;
1666 out
= heap_alloc(count
* sizeof(*out
));
1667 for (i
= 0; i
< count
; i
++)
1669 out
[i
].sType
= in
[i
].sType
;
1670 out
[i
].pNext
= in
[i
].pNext
;
1671 out
[i
].objectType
= in
[i
].objectType
;
1672 out
[i
].objectHandle
= in
[i
].objectHandle
;
1673 out
[i
].pObjectName
= in
[i
].pObjectName
;
1679 static inline void free_VkDebugUtilsObjectNameInfoEXT_array(VkDebugUtilsObjectNameInfoEXT_host
*in
, uint32_t count
)
1686 static inline void convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(const VkDebugUtilsMessengerCallbackDataEXT
*in
, VkDebugUtilsMessengerCallbackDataEXT_host
*out
)
1690 out
->sType
= in
->sType
;
1691 out
->pNext
= in
->pNext
;
1692 out
->flags
= in
->flags
;
1693 out
->pMessageIdName
= in
->pMessageIdName
;
1694 out
->messageIdNumber
= in
->messageIdNumber
;
1695 out
->pMessage
= in
->pMessage
;
1696 out
->queueLabelCount
= in
->queueLabelCount
;
1697 out
->pQueueLabels
= in
->pQueueLabels
;
1698 out
->cmdBufLabelCount
= in
->cmdBufLabelCount
;
1699 out
->pCmdBufLabels
= in
->pCmdBufLabels
;
1700 out
->objectCount
= in
->objectCount
;
1701 out
->pObjects
= convert_VkDebugUtilsObjectNameInfoEXT_array_win_to_host(in
->pObjects
, in
->objectCount
);
1704 static inline void free_VkDebugUtilsMessengerCallbackDataEXT(VkDebugUtilsMessengerCallbackDataEXT_host
*in
)
1706 free_VkDebugUtilsObjectNameInfoEXT_array((VkDebugUtilsObjectNameInfoEXT_host
*)in
->pObjects
, in
->objectCount
);
1709 static inline VkCopyDescriptorSet_host
*convert_VkCopyDescriptorSet_array_win_to_host(const VkCopyDescriptorSet
*in
, uint32_t count
)
1711 VkCopyDescriptorSet_host
*out
;
1714 if (!in
) return NULL
;
1716 out
= heap_alloc(count
* sizeof(*out
));
1717 for (i
= 0; i
< count
; i
++)
1719 out
[i
].sType
= in
[i
].sType
;
1720 out
[i
].pNext
= in
[i
].pNext
;
1721 out
[i
].srcSet
= in
[i
].srcSet
;
1722 out
[i
].srcBinding
= in
[i
].srcBinding
;
1723 out
[i
].srcArrayElement
= in
[i
].srcArrayElement
;
1724 out
[i
].dstSet
= in
[i
].dstSet
;
1725 out
[i
].dstBinding
= in
[i
].dstBinding
;
1726 out
[i
].dstArrayElement
= in
[i
].dstArrayElement
;
1727 out
[i
].descriptorCount
= in
[i
].descriptorCount
;
1733 static inline void free_VkCopyDescriptorSet_array(VkCopyDescriptorSet_host
*in
, uint32_t count
)
1740 #endif /* USE_STRUCT_CONVERSION */
1742 VkResult
convert_VkDeviceCreateInfo_struct_chain(const void *pNext
, VkDeviceCreateInfo
*out_struct
)
1744 VkBaseOutStructure
*out_header
= (VkBaseOutStructure
*)out_struct
;
1745 const VkBaseInStructure
*in_header
;
1747 out_header
->pNext
= NULL
;
1749 for (in_header
= pNext
; in_header
; in_header
= in_header
->pNext
)
1751 switch (in_header
->sType
)
1753 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
:
1754 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
:
1757 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
:
1759 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*in
= (const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*)in_header
;
1760 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*out
;
1762 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1764 out
->sType
= in
->sType
;
1766 out
->deviceGeneratedCommands
= in
->deviceGeneratedCommands
;
1768 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1769 out_header
= out_header
->pNext
;
1773 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT
:
1775 const VkDevicePrivateDataCreateInfoEXT
*in
= (const VkDevicePrivateDataCreateInfoEXT
*)in_header
;
1776 VkDevicePrivateDataCreateInfoEXT
*out
;
1778 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1780 out
->sType
= in
->sType
;
1782 out
->privateDataSlotRequestCount
= in
->privateDataSlotRequestCount
;
1784 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1785 out_header
= out_header
->pNext
;
1789 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT
:
1791 const VkPhysicalDevicePrivateDataFeaturesEXT
*in
= (const VkPhysicalDevicePrivateDataFeaturesEXT
*)in_header
;
1792 VkPhysicalDevicePrivateDataFeaturesEXT
*out
;
1794 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1796 out
->sType
= in
->sType
;
1798 out
->privateData
= in
->privateData
;
1800 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1801 out_header
= out_header
->pNext
;
1805 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
:
1807 const VkPhysicalDeviceFeatures2
*in
= (const VkPhysicalDeviceFeatures2
*)in_header
;
1808 VkPhysicalDeviceFeatures2
*out
;
1810 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1812 out
->sType
= in
->sType
;
1814 out
->features
= in
->features
;
1816 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1817 out_header
= out_header
->pNext
;
1821 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
:
1823 const VkPhysicalDeviceVariablePointersFeatures
*in
= (const VkPhysicalDeviceVariablePointersFeatures
*)in_header
;
1824 VkPhysicalDeviceVariablePointersFeatures
*out
;
1826 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1828 out
->sType
= in
->sType
;
1830 out
->variablePointersStorageBuffer
= in
->variablePointersStorageBuffer
;
1831 out
->variablePointers
= in
->variablePointers
;
1833 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1834 out_header
= out_header
->pNext
;
1838 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
:
1840 const VkPhysicalDeviceMultiviewFeatures
*in
= (const VkPhysicalDeviceMultiviewFeatures
*)in_header
;
1841 VkPhysicalDeviceMultiviewFeatures
*out
;
1843 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1845 out
->sType
= in
->sType
;
1847 out
->multiview
= in
->multiview
;
1848 out
->multiviewGeometryShader
= in
->multiviewGeometryShader
;
1849 out
->multiviewTessellationShader
= in
->multiviewTessellationShader
;
1851 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1852 out_header
= out_header
->pNext
;
1856 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
:
1858 const VkDeviceGroupDeviceCreateInfo
*in
= (const VkDeviceGroupDeviceCreateInfo
*)in_header
;
1859 VkDeviceGroupDeviceCreateInfo
*out
;
1861 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1863 out
->sType
= in
->sType
;
1865 out
->physicalDeviceCount
= in
->physicalDeviceCount
;
1866 out
->pPhysicalDevices
= in
->pPhysicalDevices
;
1868 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1869 out_header
= out_header
->pNext
;
1873 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
:
1875 const VkPhysicalDevice16BitStorageFeatures
*in
= (const VkPhysicalDevice16BitStorageFeatures
*)in_header
;
1876 VkPhysicalDevice16BitStorageFeatures
*out
;
1878 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1880 out
->sType
= in
->sType
;
1882 out
->storageBuffer16BitAccess
= in
->storageBuffer16BitAccess
;
1883 out
->uniformAndStorageBuffer16BitAccess
= in
->uniformAndStorageBuffer16BitAccess
;
1884 out
->storagePushConstant16
= in
->storagePushConstant16
;
1885 out
->storageInputOutput16
= in
->storageInputOutput16
;
1887 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1888 out_header
= out_header
->pNext
;
1892 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
:
1894 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*in
= (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*)in_header
;
1895 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*out
;
1897 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1899 out
->sType
= in
->sType
;
1901 out
->shaderSubgroupExtendedTypes
= in
->shaderSubgroupExtendedTypes
;
1903 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1904 out_header
= out_header
->pNext
;
1908 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
:
1910 const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*in
= (const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*)in_header
;
1911 VkPhysicalDeviceSamplerYcbcrConversionFeatures
*out
;
1913 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1915 out
->sType
= in
->sType
;
1917 out
->samplerYcbcrConversion
= in
->samplerYcbcrConversion
;
1919 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1920 out_header
= out_header
->pNext
;
1924 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
:
1926 const VkPhysicalDeviceProtectedMemoryFeatures
*in
= (const VkPhysicalDeviceProtectedMemoryFeatures
*)in_header
;
1927 VkPhysicalDeviceProtectedMemoryFeatures
*out
;
1929 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1931 out
->sType
= in
->sType
;
1933 out
->protectedMemory
= in
->protectedMemory
;
1935 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1936 out_header
= out_header
->pNext
;
1940 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
:
1942 const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*in
= (const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*)in_header
;
1943 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*out
;
1945 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1947 out
->sType
= in
->sType
;
1949 out
->advancedBlendCoherentOperations
= in
->advancedBlendCoherentOperations
;
1951 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1952 out_header
= out_header
->pNext
;
1956 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT
:
1958 const VkPhysicalDeviceInlineUniformBlockFeaturesEXT
*in
= (const VkPhysicalDeviceInlineUniformBlockFeaturesEXT
*)in_header
;
1959 VkPhysicalDeviceInlineUniformBlockFeaturesEXT
*out
;
1961 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1963 out
->sType
= in
->sType
;
1965 out
->inlineUniformBlock
= in
->inlineUniformBlock
;
1966 out
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
1968 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1969 out_header
= out_header
->pNext
;
1973 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
:
1975 const VkPhysicalDeviceShaderDrawParametersFeatures
*in
= (const VkPhysicalDeviceShaderDrawParametersFeatures
*)in_header
;
1976 VkPhysicalDeviceShaderDrawParametersFeatures
*out
;
1978 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1980 out
->sType
= in
->sType
;
1982 out
->shaderDrawParameters
= in
->shaderDrawParameters
;
1984 out_header
->pNext
= (VkBaseOutStructure
*)out
;
1985 out_header
= out_header
->pNext
;
1989 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
:
1991 const VkPhysicalDeviceShaderFloat16Int8Features
*in
= (const VkPhysicalDeviceShaderFloat16Int8Features
*)in_header
;
1992 VkPhysicalDeviceShaderFloat16Int8Features
*out
;
1994 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
1996 out
->sType
= in
->sType
;
1998 out
->shaderFloat16
= in
->shaderFloat16
;
1999 out
->shaderInt8
= in
->shaderInt8
;
2001 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2002 out_header
= out_header
->pNext
;
2006 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
:
2008 const VkPhysicalDeviceHostQueryResetFeatures
*in
= (const VkPhysicalDeviceHostQueryResetFeatures
*)in_header
;
2009 VkPhysicalDeviceHostQueryResetFeatures
*out
;
2011 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2013 out
->sType
= in
->sType
;
2015 out
->hostQueryReset
= in
->hostQueryReset
;
2017 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2018 out_header
= out_header
->pNext
;
2022 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
:
2024 const VkPhysicalDeviceDescriptorIndexingFeatures
*in
= (const VkPhysicalDeviceDescriptorIndexingFeatures
*)in_header
;
2025 VkPhysicalDeviceDescriptorIndexingFeatures
*out
;
2027 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2029 out
->sType
= in
->sType
;
2031 out
->shaderInputAttachmentArrayDynamicIndexing
= in
->shaderInputAttachmentArrayDynamicIndexing
;
2032 out
->shaderUniformTexelBufferArrayDynamicIndexing
= in
->shaderUniformTexelBufferArrayDynamicIndexing
;
2033 out
->shaderStorageTexelBufferArrayDynamicIndexing
= in
->shaderStorageTexelBufferArrayDynamicIndexing
;
2034 out
->shaderUniformBufferArrayNonUniformIndexing
= in
->shaderUniformBufferArrayNonUniformIndexing
;
2035 out
->shaderSampledImageArrayNonUniformIndexing
= in
->shaderSampledImageArrayNonUniformIndexing
;
2036 out
->shaderStorageBufferArrayNonUniformIndexing
= in
->shaderStorageBufferArrayNonUniformIndexing
;
2037 out
->shaderStorageImageArrayNonUniformIndexing
= in
->shaderStorageImageArrayNonUniformIndexing
;
2038 out
->shaderInputAttachmentArrayNonUniformIndexing
= in
->shaderInputAttachmentArrayNonUniformIndexing
;
2039 out
->shaderUniformTexelBufferArrayNonUniformIndexing
= in
->shaderUniformTexelBufferArrayNonUniformIndexing
;
2040 out
->shaderStorageTexelBufferArrayNonUniformIndexing
= in
->shaderStorageTexelBufferArrayNonUniformIndexing
;
2041 out
->descriptorBindingUniformBufferUpdateAfterBind
= in
->descriptorBindingUniformBufferUpdateAfterBind
;
2042 out
->descriptorBindingSampledImageUpdateAfterBind
= in
->descriptorBindingSampledImageUpdateAfterBind
;
2043 out
->descriptorBindingStorageImageUpdateAfterBind
= in
->descriptorBindingStorageImageUpdateAfterBind
;
2044 out
->descriptorBindingStorageBufferUpdateAfterBind
= in
->descriptorBindingStorageBufferUpdateAfterBind
;
2045 out
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
2046 out
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
2047 out
->descriptorBindingUpdateUnusedWhilePending
= in
->descriptorBindingUpdateUnusedWhilePending
;
2048 out
->descriptorBindingPartiallyBound
= in
->descriptorBindingPartiallyBound
;
2049 out
->descriptorBindingVariableDescriptorCount
= in
->descriptorBindingVariableDescriptorCount
;
2050 out
->runtimeDescriptorArray
= in
->runtimeDescriptorArray
;
2052 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2053 out_header
= out_header
->pNext
;
2057 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
:
2059 const VkPhysicalDeviceTimelineSemaphoreFeatures
*in
= (const VkPhysicalDeviceTimelineSemaphoreFeatures
*)in_header
;
2060 VkPhysicalDeviceTimelineSemaphoreFeatures
*out
;
2062 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2064 out
->sType
= in
->sType
;
2066 out
->timelineSemaphore
= in
->timelineSemaphore
;
2068 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2069 out_header
= out_header
->pNext
;
2073 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
:
2075 const VkPhysicalDevice8BitStorageFeatures
*in
= (const VkPhysicalDevice8BitStorageFeatures
*)in_header
;
2076 VkPhysicalDevice8BitStorageFeatures
*out
;
2078 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2080 out
->sType
= in
->sType
;
2082 out
->storageBuffer8BitAccess
= in
->storageBuffer8BitAccess
;
2083 out
->uniformAndStorageBuffer8BitAccess
= in
->uniformAndStorageBuffer8BitAccess
;
2084 out
->storagePushConstant8
= in
->storagePushConstant8
;
2086 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2087 out_header
= out_header
->pNext
;
2091 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
:
2093 const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*in
= (const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*)in_header
;
2094 VkPhysicalDeviceConditionalRenderingFeaturesEXT
*out
;
2096 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2098 out
->sType
= in
->sType
;
2100 out
->conditionalRendering
= in
->conditionalRendering
;
2101 out
->inheritedConditionalRendering
= in
->inheritedConditionalRendering
;
2103 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2104 out_header
= out_header
->pNext
;
2108 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
:
2110 const VkPhysicalDeviceVulkanMemoryModelFeatures
*in
= (const VkPhysicalDeviceVulkanMemoryModelFeatures
*)in_header
;
2111 VkPhysicalDeviceVulkanMemoryModelFeatures
*out
;
2113 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2115 out
->sType
= in
->sType
;
2117 out
->vulkanMemoryModel
= in
->vulkanMemoryModel
;
2118 out
->vulkanMemoryModelDeviceScope
= in
->vulkanMemoryModelDeviceScope
;
2119 out
->vulkanMemoryModelAvailabilityVisibilityChains
= in
->vulkanMemoryModelAvailabilityVisibilityChains
;
2121 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2122 out_header
= out_header
->pNext
;
2126 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
:
2128 const VkPhysicalDeviceShaderAtomicInt64Features
*in
= (const VkPhysicalDeviceShaderAtomicInt64Features
*)in_header
;
2129 VkPhysicalDeviceShaderAtomicInt64Features
*out
;
2131 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2133 out
->sType
= in
->sType
;
2135 out
->shaderBufferInt64Atomics
= in
->shaderBufferInt64Atomics
;
2136 out
->shaderSharedInt64Atomics
= in
->shaderSharedInt64Atomics
;
2138 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2139 out_header
= out_header
->pNext
;
2143 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
:
2145 const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*in
= (const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*)in_header
;
2146 VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*out
;
2148 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2150 out
->sType
= in
->sType
;
2152 out
->shaderBufferFloat32Atomics
= in
->shaderBufferFloat32Atomics
;
2153 out
->shaderBufferFloat32AtomicAdd
= in
->shaderBufferFloat32AtomicAdd
;
2154 out
->shaderBufferFloat64Atomics
= in
->shaderBufferFloat64Atomics
;
2155 out
->shaderBufferFloat64AtomicAdd
= in
->shaderBufferFloat64AtomicAdd
;
2156 out
->shaderSharedFloat32Atomics
= in
->shaderSharedFloat32Atomics
;
2157 out
->shaderSharedFloat32AtomicAdd
= in
->shaderSharedFloat32AtomicAdd
;
2158 out
->shaderSharedFloat64Atomics
= in
->shaderSharedFloat64Atomics
;
2159 out
->shaderSharedFloat64AtomicAdd
= in
->shaderSharedFloat64AtomicAdd
;
2160 out
->shaderImageFloat32Atomics
= in
->shaderImageFloat32Atomics
;
2161 out
->shaderImageFloat32AtomicAdd
= in
->shaderImageFloat32AtomicAdd
;
2162 out
->sparseImageFloat32Atomics
= in
->sparseImageFloat32Atomics
;
2163 out
->sparseImageFloat32AtomicAdd
= in
->sparseImageFloat32AtomicAdd
;
2165 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2166 out_header
= out_header
->pNext
;
2170 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
:
2172 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*in
= (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*)in_header
;
2173 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*out
;
2175 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2177 out
->sType
= in
->sType
;
2179 out
->vertexAttributeInstanceRateDivisor
= in
->vertexAttributeInstanceRateDivisor
;
2180 out
->vertexAttributeInstanceRateZeroDivisor
= in
->vertexAttributeInstanceRateZeroDivisor
;
2182 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2183 out_header
= out_header
->pNext
;
2187 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
:
2189 const VkPhysicalDeviceASTCDecodeFeaturesEXT
*in
= (const VkPhysicalDeviceASTCDecodeFeaturesEXT
*)in_header
;
2190 VkPhysicalDeviceASTCDecodeFeaturesEXT
*out
;
2192 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2194 out
->sType
= in
->sType
;
2196 out
->decodeModeSharedExponent
= in
->decodeModeSharedExponent
;
2198 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2199 out_header
= out_header
->pNext
;
2203 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
:
2205 const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*in
= (const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*)in_header
;
2206 VkPhysicalDeviceTransformFeedbackFeaturesEXT
*out
;
2208 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2210 out
->sType
= in
->sType
;
2212 out
->transformFeedback
= in
->transformFeedback
;
2213 out
->geometryStreams
= in
->geometryStreams
;
2215 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2216 out_header
= out_header
->pNext
;
2220 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
:
2222 const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*in
= (const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*)in_header
;
2223 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*out
;
2225 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2227 out
->sType
= in
->sType
;
2229 out
->representativeFragmentTest
= in
->representativeFragmentTest
;
2231 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2232 out_header
= out_header
->pNext
;
2236 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
:
2238 const VkPhysicalDeviceExclusiveScissorFeaturesNV
*in
= (const VkPhysicalDeviceExclusiveScissorFeaturesNV
*)in_header
;
2239 VkPhysicalDeviceExclusiveScissorFeaturesNV
*out
;
2241 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2243 out
->sType
= in
->sType
;
2245 out
->exclusiveScissor
= in
->exclusiveScissor
;
2247 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2248 out_header
= out_header
->pNext
;
2252 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
:
2254 const VkPhysicalDeviceCornerSampledImageFeaturesNV
*in
= (const VkPhysicalDeviceCornerSampledImageFeaturesNV
*)in_header
;
2255 VkPhysicalDeviceCornerSampledImageFeaturesNV
*out
;
2257 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2259 out
->sType
= in
->sType
;
2261 out
->cornerSampledImage
= in
->cornerSampledImage
;
2263 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2264 out_header
= out_header
->pNext
;
2268 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
:
2270 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*in
= (const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*)in_header
;
2271 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*out
;
2273 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2275 out
->sType
= in
->sType
;
2277 out
->computeDerivativeGroupQuads
= in
->computeDerivativeGroupQuads
;
2278 out
->computeDerivativeGroupLinear
= in
->computeDerivativeGroupLinear
;
2280 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2281 out_header
= out_header
->pNext
;
2285 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV
:
2287 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
*in
= (const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
*)in_header
;
2288 VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
*out
;
2290 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2292 out
->sType
= in
->sType
;
2294 out
->fragmentShaderBarycentric
= in
->fragmentShaderBarycentric
;
2296 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2297 out_header
= out_header
->pNext
;
2301 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
:
2303 const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*in
= (const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*)in_header
;
2304 VkPhysicalDeviceShaderImageFootprintFeaturesNV
*out
;
2306 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2308 out
->sType
= in
->sType
;
2310 out
->imageFootprint
= in
->imageFootprint
;
2312 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2313 out_header
= out_header
->pNext
;
2317 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
:
2319 const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*in
= (const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*)in_header
;
2320 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*out
;
2322 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2324 out
->sType
= in
->sType
;
2326 out
->dedicatedAllocationImageAliasing
= in
->dedicatedAllocationImageAliasing
;
2328 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2329 out_header
= out_header
->pNext
;
2333 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
:
2335 const VkPhysicalDeviceShadingRateImageFeaturesNV
*in
= (const VkPhysicalDeviceShadingRateImageFeaturesNV
*)in_header
;
2336 VkPhysicalDeviceShadingRateImageFeaturesNV
*out
;
2338 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2340 out
->sType
= in
->sType
;
2342 out
->shadingRateImage
= in
->shadingRateImage
;
2343 out
->shadingRateCoarseSampleOrder
= in
->shadingRateCoarseSampleOrder
;
2345 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2346 out_header
= out_header
->pNext
;
2350 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
:
2352 const VkPhysicalDeviceMeshShaderFeaturesNV
*in
= (const VkPhysicalDeviceMeshShaderFeaturesNV
*)in_header
;
2353 VkPhysicalDeviceMeshShaderFeaturesNV
*out
;
2355 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2357 out
->sType
= in
->sType
;
2359 out
->taskShader
= in
->taskShader
;
2360 out
->meshShader
= in
->meshShader
;
2362 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2363 out_header
= out_header
->pNext
;
2367 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
:
2369 const VkDeviceMemoryOverallocationCreateInfoAMD
*in
= (const VkDeviceMemoryOverallocationCreateInfoAMD
*)in_header
;
2370 VkDeviceMemoryOverallocationCreateInfoAMD
*out
;
2372 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2374 out
->sType
= in
->sType
;
2376 out
->overallocationBehavior
= in
->overallocationBehavior
;
2378 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2379 out_header
= out_header
->pNext
;
2383 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
:
2385 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*in
= (const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*)in_header
;
2386 VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*out
;
2388 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2390 out
->sType
= in
->sType
;
2392 out
->fragmentDensityMap
= in
->fragmentDensityMap
;
2393 out
->fragmentDensityMapDynamic
= in
->fragmentDensityMapDynamic
;
2394 out
->fragmentDensityMapNonSubsampledImages
= in
->fragmentDensityMapNonSubsampledImages
;
2396 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2397 out_header
= out_header
->pNext
;
2401 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
:
2403 const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*in
= (const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*)in_header
;
2404 VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*out
;
2406 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2408 out
->sType
= in
->sType
;
2410 out
->fragmentDensityMapDeferred
= in
->fragmentDensityMapDeferred
;
2412 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2413 out_header
= out_header
->pNext
;
2417 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
:
2419 const VkPhysicalDeviceScalarBlockLayoutFeatures
*in
= (const VkPhysicalDeviceScalarBlockLayoutFeatures
*)in_header
;
2420 VkPhysicalDeviceScalarBlockLayoutFeatures
*out
;
2422 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2424 out
->sType
= in
->sType
;
2426 out
->scalarBlockLayout
= in
->scalarBlockLayout
;
2428 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2429 out_header
= out_header
->pNext
;
2433 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
:
2435 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*in
= (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*)in_header
;
2436 VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*out
;
2438 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2440 out
->sType
= in
->sType
;
2442 out
->uniformBufferStandardLayout
= in
->uniformBufferStandardLayout
;
2444 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2445 out_header
= out_header
->pNext
;
2449 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
:
2451 const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*in
= (const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*)in_header
;
2452 VkPhysicalDeviceDepthClipEnableFeaturesEXT
*out
;
2454 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2456 out
->sType
= in
->sType
;
2458 out
->depthClipEnable
= in
->depthClipEnable
;
2460 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2461 out_header
= out_header
->pNext
;
2465 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
:
2467 const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*in
= (const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*)in_header
;
2468 VkPhysicalDeviceMemoryPriorityFeaturesEXT
*out
;
2470 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2472 out
->sType
= in
->sType
;
2474 out
->memoryPriority
= in
->memoryPriority
;
2476 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2477 out_header
= out_header
->pNext
;
2481 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
:
2483 const VkPhysicalDeviceBufferDeviceAddressFeatures
*in
= (const VkPhysicalDeviceBufferDeviceAddressFeatures
*)in_header
;
2484 VkPhysicalDeviceBufferDeviceAddressFeatures
*out
;
2486 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2488 out
->sType
= in
->sType
;
2490 out
->bufferDeviceAddress
= in
->bufferDeviceAddress
;
2491 out
->bufferDeviceAddressCaptureReplay
= in
->bufferDeviceAddressCaptureReplay
;
2492 out
->bufferDeviceAddressMultiDevice
= in
->bufferDeviceAddressMultiDevice
;
2494 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2495 out_header
= out_header
->pNext
;
2499 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
:
2501 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*in
= (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*)in_header
;
2502 VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*out
;
2504 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2506 out
->sType
= in
->sType
;
2508 out
->bufferDeviceAddress
= in
->bufferDeviceAddress
;
2509 out
->bufferDeviceAddressCaptureReplay
= in
->bufferDeviceAddressCaptureReplay
;
2510 out
->bufferDeviceAddressMultiDevice
= in
->bufferDeviceAddressMultiDevice
;
2512 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2513 out_header
= out_header
->pNext
;
2517 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
:
2519 const VkPhysicalDeviceImagelessFramebufferFeatures
*in
= (const VkPhysicalDeviceImagelessFramebufferFeatures
*)in_header
;
2520 VkPhysicalDeviceImagelessFramebufferFeatures
*out
;
2522 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2524 out
->sType
= in
->sType
;
2526 out
->imagelessFramebuffer
= in
->imagelessFramebuffer
;
2528 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2529 out_header
= out_header
->pNext
;
2533 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT
:
2535 const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
*in
= (const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
*)in_header
;
2536 VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
*out
;
2538 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2540 out
->sType
= in
->sType
;
2542 out
->textureCompressionASTC_HDR
= in
->textureCompressionASTC_HDR
;
2544 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2545 out_header
= out_header
->pNext
;
2549 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
:
2551 const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*in
= (const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*)in_header
;
2552 VkPhysicalDeviceCooperativeMatrixFeaturesNV
*out
;
2554 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2556 out
->sType
= in
->sType
;
2558 out
->cooperativeMatrix
= in
->cooperativeMatrix
;
2559 out
->cooperativeMatrixRobustBufferAccess
= in
->cooperativeMatrixRobustBufferAccess
;
2561 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2562 out_header
= out_header
->pNext
;
2566 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
:
2568 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*in
= (const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*)in_header
;
2569 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*out
;
2571 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2573 out
->sType
= in
->sType
;
2575 out
->ycbcrImageArrays
= in
->ycbcrImageArrays
;
2577 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2578 out_header
= out_header
->pNext
;
2582 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
:
2584 const VkPhysicalDevicePerformanceQueryFeaturesKHR
*in
= (const VkPhysicalDevicePerformanceQueryFeaturesKHR
*)in_header
;
2585 VkPhysicalDevicePerformanceQueryFeaturesKHR
*out
;
2587 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2589 out
->sType
= in
->sType
;
2591 out
->performanceCounterQueryPools
= in
->performanceCounterQueryPools
;
2592 out
->performanceCounterMultipleQueryPools
= in
->performanceCounterMultipleQueryPools
;
2594 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2595 out_header
= out_header
->pNext
;
2599 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
:
2601 const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*in
= (const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*)in_header
;
2602 VkPhysicalDeviceCoverageReductionModeFeaturesNV
*out
;
2604 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2606 out
->sType
= in
->sType
;
2608 out
->coverageReductionMode
= in
->coverageReductionMode
;
2610 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2611 out_header
= out_header
->pNext
;
2615 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
:
2617 const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*in
= (const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*)in_header
;
2618 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*out
;
2620 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2622 out
->sType
= in
->sType
;
2624 out
->shaderIntegerFunctions2
= in
->shaderIntegerFunctions2
;
2626 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2627 out_header
= out_header
->pNext
;
2631 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
:
2633 const VkPhysicalDeviceShaderClockFeaturesKHR
*in
= (const VkPhysicalDeviceShaderClockFeaturesKHR
*)in_header
;
2634 VkPhysicalDeviceShaderClockFeaturesKHR
*out
;
2636 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2638 out
->sType
= in
->sType
;
2640 out
->shaderSubgroupClock
= in
->shaderSubgroupClock
;
2641 out
->shaderDeviceClock
= in
->shaderDeviceClock
;
2643 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2644 out_header
= out_header
->pNext
;
2648 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
:
2650 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*in
= (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*)in_header
;
2651 VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*out
;
2653 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2655 out
->sType
= in
->sType
;
2657 out
->indexTypeUint8
= in
->indexTypeUint8
;
2659 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2660 out_header
= out_header
->pNext
;
2664 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
:
2666 const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*in
= (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*)in_header
;
2667 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*out
;
2669 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2671 out
->sType
= in
->sType
;
2673 out
->shaderSMBuiltins
= in
->shaderSMBuiltins
;
2675 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2676 out_header
= out_header
->pNext
;
2680 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
:
2682 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*in
= (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*)in_header
;
2683 VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*out
;
2685 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2687 out
->sType
= in
->sType
;
2689 out
->fragmentShaderSampleInterlock
= in
->fragmentShaderSampleInterlock
;
2690 out
->fragmentShaderPixelInterlock
= in
->fragmentShaderPixelInterlock
;
2691 out
->fragmentShaderShadingRateInterlock
= in
->fragmentShaderShadingRateInterlock
;
2693 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2694 out_header
= out_header
->pNext
;
2698 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
:
2700 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*in
= (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*)in_header
;
2701 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*out
;
2703 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2705 out
->sType
= in
->sType
;
2707 out
->separateDepthStencilLayouts
= in
->separateDepthStencilLayouts
;
2709 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2710 out_header
= out_header
->pNext
;
2714 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
:
2716 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*in
= (const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*)in_header
;
2717 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*out
;
2719 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2721 out
->sType
= in
->sType
;
2723 out
->pipelineExecutableInfo
= in
->pipelineExecutableInfo
;
2725 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2726 out_header
= out_header
->pNext
;
2730 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT
:
2732 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
*in
= (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
*)in_header
;
2733 VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
*out
;
2735 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2737 out
->sType
= in
->sType
;
2739 out
->shaderDemoteToHelperInvocation
= in
->shaderDemoteToHelperInvocation
;
2741 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2742 out_header
= out_header
->pNext
;
2746 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
:
2748 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*in
= (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*)in_header
;
2749 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*out
;
2751 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2753 out
->sType
= in
->sType
;
2755 out
->texelBufferAlignment
= in
->texelBufferAlignment
;
2757 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2758 out_header
= out_header
->pNext
;
2762 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT
:
2764 const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
*in
= (const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
*)in_header
;
2765 VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
*out
;
2767 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2769 out
->sType
= in
->sType
;
2771 out
->subgroupSizeControl
= in
->subgroupSizeControl
;
2772 out
->computeFullSubgroups
= in
->computeFullSubgroups
;
2774 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2775 out_header
= out_header
->pNext
;
2779 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
:
2781 const VkPhysicalDeviceLineRasterizationFeaturesEXT
*in
= (const VkPhysicalDeviceLineRasterizationFeaturesEXT
*)in_header
;
2782 VkPhysicalDeviceLineRasterizationFeaturesEXT
*out
;
2784 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2786 out
->sType
= in
->sType
;
2788 out
->rectangularLines
= in
->rectangularLines
;
2789 out
->bresenhamLines
= in
->bresenhamLines
;
2790 out
->smoothLines
= in
->smoothLines
;
2791 out
->stippledRectangularLines
= in
->stippledRectangularLines
;
2792 out
->stippledBresenhamLines
= in
->stippledBresenhamLines
;
2793 out
->stippledSmoothLines
= in
->stippledSmoothLines
;
2795 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2796 out_header
= out_header
->pNext
;
2800 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT
:
2802 const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
*in
= (const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
*)in_header
;
2803 VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
*out
;
2805 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2807 out
->sType
= in
->sType
;
2809 out
->pipelineCreationCacheControl
= in
->pipelineCreationCacheControl
;
2811 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2812 out_header
= out_header
->pNext
;
2816 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
:
2818 const VkPhysicalDeviceVulkan11Features
*in
= (const VkPhysicalDeviceVulkan11Features
*)in_header
;
2819 VkPhysicalDeviceVulkan11Features
*out
;
2821 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2823 out
->sType
= in
->sType
;
2825 out
->storageBuffer16BitAccess
= in
->storageBuffer16BitAccess
;
2826 out
->uniformAndStorageBuffer16BitAccess
= in
->uniformAndStorageBuffer16BitAccess
;
2827 out
->storagePushConstant16
= in
->storagePushConstant16
;
2828 out
->storageInputOutput16
= in
->storageInputOutput16
;
2829 out
->multiview
= in
->multiview
;
2830 out
->multiviewGeometryShader
= in
->multiviewGeometryShader
;
2831 out
->multiviewTessellationShader
= in
->multiviewTessellationShader
;
2832 out
->variablePointersStorageBuffer
= in
->variablePointersStorageBuffer
;
2833 out
->variablePointers
= in
->variablePointers
;
2834 out
->protectedMemory
= in
->protectedMemory
;
2835 out
->samplerYcbcrConversion
= in
->samplerYcbcrConversion
;
2836 out
->shaderDrawParameters
= in
->shaderDrawParameters
;
2838 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2839 out_header
= out_header
->pNext
;
2843 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
:
2845 const VkPhysicalDeviceVulkan12Features
*in
= (const VkPhysicalDeviceVulkan12Features
*)in_header
;
2846 VkPhysicalDeviceVulkan12Features
*out
;
2848 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2850 out
->sType
= in
->sType
;
2852 out
->samplerMirrorClampToEdge
= in
->samplerMirrorClampToEdge
;
2853 out
->drawIndirectCount
= in
->drawIndirectCount
;
2854 out
->storageBuffer8BitAccess
= in
->storageBuffer8BitAccess
;
2855 out
->uniformAndStorageBuffer8BitAccess
= in
->uniformAndStorageBuffer8BitAccess
;
2856 out
->storagePushConstant8
= in
->storagePushConstant8
;
2857 out
->shaderBufferInt64Atomics
= in
->shaderBufferInt64Atomics
;
2858 out
->shaderSharedInt64Atomics
= in
->shaderSharedInt64Atomics
;
2859 out
->shaderFloat16
= in
->shaderFloat16
;
2860 out
->shaderInt8
= in
->shaderInt8
;
2861 out
->descriptorIndexing
= in
->descriptorIndexing
;
2862 out
->shaderInputAttachmentArrayDynamicIndexing
= in
->shaderInputAttachmentArrayDynamicIndexing
;
2863 out
->shaderUniformTexelBufferArrayDynamicIndexing
= in
->shaderUniformTexelBufferArrayDynamicIndexing
;
2864 out
->shaderStorageTexelBufferArrayDynamicIndexing
= in
->shaderStorageTexelBufferArrayDynamicIndexing
;
2865 out
->shaderUniformBufferArrayNonUniformIndexing
= in
->shaderUniformBufferArrayNonUniformIndexing
;
2866 out
->shaderSampledImageArrayNonUniformIndexing
= in
->shaderSampledImageArrayNonUniformIndexing
;
2867 out
->shaderStorageBufferArrayNonUniformIndexing
= in
->shaderStorageBufferArrayNonUniformIndexing
;
2868 out
->shaderStorageImageArrayNonUniformIndexing
= in
->shaderStorageImageArrayNonUniformIndexing
;
2869 out
->shaderInputAttachmentArrayNonUniformIndexing
= in
->shaderInputAttachmentArrayNonUniformIndexing
;
2870 out
->shaderUniformTexelBufferArrayNonUniformIndexing
= in
->shaderUniformTexelBufferArrayNonUniformIndexing
;
2871 out
->shaderStorageTexelBufferArrayNonUniformIndexing
= in
->shaderStorageTexelBufferArrayNonUniformIndexing
;
2872 out
->descriptorBindingUniformBufferUpdateAfterBind
= in
->descriptorBindingUniformBufferUpdateAfterBind
;
2873 out
->descriptorBindingSampledImageUpdateAfterBind
= in
->descriptorBindingSampledImageUpdateAfterBind
;
2874 out
->descriptorBindingStorageImageUpdateAfterBind
= in
->descriptorBindingStorageImageUpdateAfterBind
;
2875 out
->descriptorBindingStorageBufferUpdateAfterBind
= in
->descriptorBindingStorageBufferUpdateAfterBind
;
2876 out
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
2877 out
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
2878 out
->descriptorBindingUpdateUnusedWhilePending
= in
->descriptorBindingUpdateUnusedWhilePending
;
2879 out
->descriptorBindingPartiallyBound
= in
->descriptorBindingPartiallyBound
;
2880 out
->descriptorBindingVariableDescriptorCount
= in
->descriptorBindingVariableDescriptorCount
;
2881 out
->runtimeDescriptorArray
= in
->runtimeDescriptorArray
;
2882 out
->samplerFilterMinmax
= in
->samplerFilterMinmax
;
2883 out
->scalarBlockLayout
= in
->scalarBlockLayout
;
2884 out
->imagelessFramebuffer
= in
->imagelessFramebuffer
;
2885 out
->uniformBufferStandardLayout
= in
->uniformBufferStandardLayout
;
2886 out
->shaderSubgroupExtendedTypes
= in
->shaderSubgroupExtendedTypes
;
2887 out
->separateDepthStencilLayouts
= in
->separateDepthStencilLayouts
;
2888 out
->hostQueryReset
= in
->hostQueryReset
;
2889 out
->timelineSemaphore
= in
->timelineSemaphore
;
2890 out
->bufferDeviceAddress
= in
->bufferDeviceAddress
;
2891 out
->bufferDeviceAddressCaptureReplay
= in
->bufferDeviceAddressCaptureReplay
;
2892 out
->bufferDeviceAddressMultiDevice
= in
->bufferDeviceAddressMultiDevice
;
2893 out
->vulkanMemoryModel
= in
->vulkanMemoryModel
;
2894 out
->vulkanMemoryModelDeviceScope
= in
->vulkanMemoryModelDeviceScope
;
2895 out
->vulkanMemoryModelAvailabilityVisibilityChains
= in
->vulkanMemoryModelAvailabilityVisibilityChains
;
2896 out
->shaderOutputViewportIndex
= in
->shaderOutputViewportIndex
;
2897 out
->shaderOutputLayer
= in
->shaderOutputLayer
;
2898 out
->subgroupBroadcastDynamicId
= in
->subgroupBroadcastDynamicId
;
2900 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2901 out_header
= out_header
->pNext
;
2905 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
:
2907 const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*in
= (const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*)in_header
;
2908 VkPhysicalDeviceCoherentMemoryFeaturesAMD
*out
;
2910 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2912 out
->sType
= in
->sType
;
2914 out
->deviceCoherentMemory
= in
->deviceCoherentMemory
;
2916 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2917 out_header
= out_header
->pNext
;
2921 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
:
2923 const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*in
= (const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*)in_header
;
2924 VkPhysicalDeviceCustomBorderColorFeaturesEXT
*out
;
2926 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2928 out
->sType
= in
->sType
;
2930 out
->customBorderColors
= in
->customBorderColors
;
2931 out
->customBorderColorWithoutFormat
= in
->customBorderColorWithoutFormat
;
2933 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2934 out_header
= out_header
->pNext
;
2938 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
:
2940 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*in
= (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*)in_header
;
2941 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*out
;
2943 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2945 out
->sType
= in
->sType
;
2947 out
->extendedDynamicState
= in
->extendedDynamicState
;
2949 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2950 out_header
= out_header
->pNext
;
2954 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
:
2956 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*in
= (const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*)in_header
;
2957 VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*out
;
2959 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2961 out
->sType
= in
->sType
;
2963 out
->diagnosticsConfig
= in
->diagnosticsConfig
;
2965 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2966 out_header
= out_header
->pNext
;
2970 case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
:
2972 const VkDeviceDiagnosticsConfigCreateInfoNV
*in
= (const VkDeviceDiagnosticsConfigCreateInfoNV
*)in_header
;
2973 VkDeviceDiagnosticsConfigCreateInfoNV
*out
;
2975 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2977 out
->sType
= in
->sType
;
2979 out
->flags
= in
->flags
;
2981 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2982 out_header
= out_header
->pNext
;
2986 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
:
2988 const VkPhysicalDeviceRobustness2FeaturesEXT
*in
= (const VkPhysicalDeviceRobustness2FeaturesEXT
*)in_header
;
2989 VkPhysicalDeviceRobustness2FeaturesEXT
*out
;
2991 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2993 out
->sType
= in
->sType
;
2995 out
->robustBufferAccess2
= in
->robustBufferAccess2
;
2996 out
->robustImageAccess2
= in
->robustImageAccess2
;
2997 out
->nullDescriptor
= in
->nullDescriptor
;
2999 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3000 out_header
= out_header
->pNext
;
3004 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT
:
3006 const VkPhysicalDeviceImageRobustnessFeaturesEXT
*in
= (const VkPhysicalDeviceImageRobustnessFeaturesEXT
*)in_header
;
3007 VkPhysicalDeviceImageRobustnessFeaturesEXT
*out
;
3009 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3011 out
->sType
= in
->sType
;
3013 out
->robustImageAccess
= in
->robustImageAccess
;
3015 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3016 out_header
= out_header
->pNext
;
3020 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
:
3022 const VkPhysicalDevice4444FormatsFeaturesEXT
*in
= (const VkPhysicalDevice4444FormatsFeaturesEXT
*)in_header
;
3023 VkPhysicalDevice4444FormatsFeaturesEXT
*out
;
3025 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3027 out
->sType
= in
->sType
;
3029 out
->formatA4R4G4B4
= in
->formatA4R4G4B4
;
3030 out
->formatA4B4G4R4
= in
->formatA4B4G4R4
;
3032 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3033 out_header
= out_header
->pNext
;
3037 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
:
3039 const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*in
= (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*)in_header
;
3040 VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*out
;
3042 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3044 out
->sType
= in
->sType
;
3046 out
->shaderImageInt64Atomics
= in
->shaderImageInt64Atomics
;
3047 out
->sparseImageInt64Atomics
= in
->sparseImageInt64Atomics
;
3049 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3050 out_header
= out_header
->pNext
;
3054 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
:
3056 const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*in
= (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*)in_header
;
3057 VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*out
;
3059 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3061 out
->sType
= in
->sType
;
3063 out
->pipelineFragmentShadingRate
= in
->pipelineFragmentShadingRate
;
3064 out
->primitiveFragmentShadingRate
= in
->primitiveFragmentShadingRate
;
3065 out
->attachmentFragmentShadingRate
= in
->attachmentFragmentShadingRate
;
3067 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3068 out_header
= out_header
->pNext
;
3072 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR
:
3074 const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
*in
= (const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
*)in_header
;
3075 VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
*out
;
3077 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3079 out
->sType
= in
->sType
;
3081 out
->shaderTerminateInvocation
= in
->shaderTerminateInvocation
;
3083 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3084 out_header
= out_header
->pNext
;
3089 FIXME("Application requested a linked structure of type %u.\n", in_header
->sType
);
3096 free_VkDeviceCreateInfo_struct_chain(out_struct
);
3097 return VK_ERROR_OUT_OF_HOST_MEMORY
;
3100 void free_VkDeviceCreateInfo_struct_chain(VkDeviceCreateInfo
*s
)
3102 VkBaseOutStructure
*header
= (void *)s
->pNext
;
3106 void *prev
= header
;
3107 header
= header
->pNext
;
3114 VkResult
convert_VkInstanceCreateInfo_struct_chain(const void *pNext
, VkInstanceCreateInfo
*out_struct
)
3116 VkBaseOutStructure
*out_header
= (VkBaseOutStructure
*)out_struct
;
3117 const VkBaseInStructure
*in_header
;
3119 out_header
->pNext
= NULL
;
3121 for (in_header
= pNext
; in_header
; in_header
= in_header
->pNext
)
3123 switch (in_header
->sType
)
3125 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
:
3126 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
:
3129 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
:
3131 const VkDebugUtilsMessengerCreateInfoEXT
*in
= (const VkDebugUtilsMessengerCreateInfoEXT
*)in_header
;
3132 VkDebugUtilsMessengerCreateInfoEXT
*out
;
3134 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3136 out
->sType
= in
->sType
;
3138 out
->flags
= in
->flags
;
3139 out
->messageSeverity
= in
->messageSeverity
;
3140 out
->messageType
= in
->messageType
;
3141 out
->pfnUserCallback
= in
->pfnUserCallback
;
3142 out
->pUserData
= in
->pUserData
;
3144 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3145 out_header
= out_header
->pNext
;
3150 FIXME("Application requested a linked structure of type %u.\n", in_header
->sType
);
3157 free_VkInstanceCreateInfo_struct_chain(out_struct
);
3158 return VK_ERROR_OUT_OF_HOST_MEMORY
;
3161 void free_VkInstanceCreateInfo_struct_chain(VkInstanceCreateInfo
*s
)
3163 VkBaseOutStructure
*header
= (void *)s
->pNext
;
3167 void *prev
= header
;
3168 header
= header
->pNext
;
3175 VkResult WINAPI
wine_vkAcquireNextImage2KHR(VkDevice device
, const VkAcquireNextImageInfoKHR
*pAcquireInfo
, uint32_t *pImageIndex
)
3177 #if defined(USE_STRUCT_CONVERSION)
3179 VkAcquireNextImageInfoKHR_host pAcquireInfo_host
;
3180 TRACE("%p, %p, %p\n", device
, pAcquireInfo
, pImageIndex
);
3182 convert_VkAcquireNextImageInfoKHR_win_to_host(pAcquireInfo
, &pAcquireInfo_host
);
3183 result
= device
->funcs
.p_vkAcquireNextImage2KHR(device
->device
, &pAcquireInfo_host
, pImageIndex
);
3187 TRACE("%p, %p, %p\n", device
, pAcquireInfo
, pImageIndex
);
3188 return device
->funcs
.p_vkAcquireNextImage2KHR(device
->device
, pAcquireInfo
, pImageIndex
);
3192 VkResult WINAPI
wine_vkAcquireNextImageKHR(VkDevice device
, VkSwapchainKHR swapchain
, uint64_t timeout
, VkSemaphore semaphore
, VkFence fence
, uint32_t *pImageIndex
)
3194 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(swapchain
), wine_dbgstr_longlong(timeout
), wine_dbgstr_longlong(semaphore
), wine_dbgstr_longlong(fence
), pImageIndex
);
3195 return device
->funcs
.p_vkAcquireNextImageKHR(device
->device
, swapchain
, timeout
, semaphore
, fence
, pImageIndex
);
3198 static VkResult WINAPI
wine_vkAcquirePerformanceConfigurationINTEL(VkDevice device
, const VkPerformanceConfigurationAcquireInfoINTEL
*pAcquireInfo
, VkPerformanceConfigurationINTEL
*pConfiguration
)
3200 TRACE("%p, %p, %p\n", device
, pAcquireInfo
, pConfiguration
);
3201 return device
->funcs
.p_vkAcquirePerformanceConfigurationINTEL(device
->device
, pAcquireInfo
, pConfiguration
);
3204 static VkResult WINAPI
wine_vkAcquireProfilingLockKHR(VkDevice device
, const VkAcquireProfilingLockInfoKHR
*pInfo
)
3206 #if defined(USE_STRUCT_CONVERSION)
3208 VkAcquireProfilingLockInfoKHR_host pInfo_host
;
3209 TRACE("%p, %p\n", device
, pInfo
);
3211 convert_VkAcquireProfilingLockInfoKHR_win_to_host(pInfo
, &pInfo_host
);
3212 result
= device
->funcs
.p_vkAcquireProfilingLockKHR(device
->device
, &pInfo_host
);
3216 TRACE("%p, %p\n", device
, pInfo
);
3217 return device
->funcs
.p_vkAcquireProfilingLockKHR(device
->device
, pInfo
);
3221 VkResult WINAPI
wine_vkAllocateDescriptorSets(VkDevice device
, const VkDescriptorSetAllocateInfo
*pAllocateInfo
, VkDescriptorSet
*pDescriptorSets
)
3223 #if defined(USE_STRUCT_CONVERSION)
3225 VkDescriptorSetAllocateInfo_host pAllocateInfo_host
;
3226 TRACE("%p, %p, %p\n", device
, pAllocateInfo
, pDescriptorSets
);
3228 convert_VkDescriptorSetAllocateInfo_win_to_host(pAllocateInfo
, &pAllocateInfo_host
);
3229 result
= device
->funcs
.p_vkAllocateDescriptorSets(device
->device
, &pAllocateInfo_host
, pDescriptorSets
);
3233 TRACE("%p, %p, %p\n", device
, pAllocateInfo
, pDescriptorSets
);
3234 return device
->funcs
.p_vkAllocateDescriptorSets(device
->device
, pAllocateInfo
, pDescriptorSets
);
3238 VkResult WINAPI
wine_vkAllocateMemory(VkDevice device
, const VkMemoryAllocateInfo
*pAllocateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDeviceMemory
*pMemory
)
3240 #if defined(USE_STRUCT_CONVERSION)
3242 VkMemoryAllocateInfo_host pAllocateInfo_host
;
3243 TRACE("%p, %p, %p, %p\n", device
, pAllocateInfo
, pAllocator
, pMemory
);
3245 convert_VkMemoryAllocateInfo_win_to_host(pAllocateInfo
, &pAllocateInfo_host
);
3246 result
= device
->funcs
.p_vkAllocateMemory(device
->device
, &pAllocateInfo_host
, NULL
, pMemory
);
3250 TRACE("%p, %p, %p, %p\n", device
, pAllocateInfo
, pAllocator
, pMemory
);
3251 return device
->funcs
.p_vkAllocateMemory(device
->device
, pAllocateInfo
, NULL
, pMemory
);
3255 VkResult WINAPI
wine_vkBeginCommandBuffer(VkCommandBuffer commandBuffer
, const VkCommandBufferBeginInfo
*pBeginInfo
)
3257 #if defined(USE_STRUCT_CONVERSION)
3259 VkCommandBufferBeginInfo_host pBeginInfo_host
;
3260 TRACE("%p, %p\n", commandBuffer
, pBeginInfo
);
3262 convert_VkCommandBufferBeginInfo_win_to_host(pBeginInfo
, &pBeginInfo_host
);
3263 result
= commandBuffer
->device
->funcs
.p_vkBeginCommandBuffer(commandBuffer
->command_buffer
, &pBeginInfo_host
);
3265 free_VkCommandBufferBeginInfo(&pBeginInfo_host
);
3268 TRACE("%p, %p\n", commandBuffer
, pBeginInfo
);
3269 return commandBuffer
->device
->funcs
.p_vkBeginCommandBuffer(commandBuffer
->command_buffer
, pBeginInfo
);
3273 static VkResult WINAPI
wine_vkBindAccelerationStructureMemoryNV(VkDevice device
, uint32_t bindInfoCount
, const VkBindAccelerationStructureMemoryInfoKHR
*pBindInfos
)
3275 #if defined(USE_STRUCT_CONVERSION)
3277 VkBindAccelerationStructureMemoryInfoKHR_host
*pBindInfos_host
;
3278 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3280 pBindInfos_host
= convert_VkBindAccelerationStructureMemoryInfoKHR_array_win_to_host(pBindInfos
, bindInfoCount
);
3281 result
= device
->funcs
.p_vkBindAccelerationStructureMemoryNV(device
->device
, bindInfoCount
, pBindInfos_host
);
3283 free_VkBindAccelerationStructureMemoryInfoKHR_array(pBindInfos_host
, bindInfoCount
);
3286 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3287 return device
->funcs
.p_vkBindAccelerationStructureMemoryNV(device
->device
, bindInfoCount
, pBindInfos
);
3291 VkResult WINAPI
wine_vkBindBufferMemory(VkDevice device
, VkBuffer buffer
, VkDeviceMemory memory
, VkDeviceSize memoryOffset
)
3293 TRACE("%p, 0x%s, 0x%s, 0x%s\n", device
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(memory
), wine_dbgstr_longlong(memoryOffset
));
3294 return device
->funcs
.p_vkBindBufferMemory(device
->device
, buffer
, memory
, memoryOffset
);
3297 VkResult WINAPI
wine_vkBindBufferMemory2(VkDevice device
, uint32_t bindInfoCount
, const VkBindBufferMemoryInfo
*pBindInfos
)
3299 #if defined(USE_STRUCT_CONVERSION)
3301 VkBindBufferMemoryInfo_host
*pBindInfos_host
;
3302 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3304 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
3305 result
= device
->funcs
.p_vkBindBufferMemory2(device
->device
, bindInfoCount
, pBindInfos_host
);
3307 free_VkBindBufferMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
3310 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3311 return device
->funcs
.p_vkBindBufferMemory2(device
->device
, bindInfoCount
, pBindInfos
);
3315 static VkResult WINAPI
wine_vkBindBufferMemory2KHR(VkDevice device
, uint32_t bindInfoCount
, const VkBindBufferMemoryInfo
*pBindInfos
)
3317 #if defined(USE_STRUCT_CONVERSION)
3319 VkBindBufferMemoryInfo_host
*pBindInfos_host
;
3320 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3322 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
3323 result
= device
->funcs
.p_vkBindBufferMemory2KHR(device
->device
, bindInfoCount
, pBindInfos_host
);
3325 free_VkBindBufferMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
3328 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3329 return device
->funcs
.p_vkBindBufferMemory2KHR(device
->device
, bindInfoCount
, pBindInfos
);
3333 VkResult WINAPI
wine_vkBindImageMemory(VkDevice device
, VkImage image
, VkDeviceMemory memory
, VkDeviceSize memoryOffset
)
3335 TRACE("%p, 0x%s, 0x%s, 0x%s\n", device
, wine_dbgstr_longlong(image
), wine_dbgstr_longlong(memory
), wine_dbgstr_longlong(memoryOffset
));
3336 return device
->funcs
.p_vkBindImageMemory(device
->device
, image
, memory
, memoryOffset
);
3339 VkResult WINAPI
wine_vkBindImageMemory2(VkDevice device
, uint32_t bindInfoCount
, const VkBindImageMemoryInfo
*pBindInfos
)
3341 #if defined(USE_STRUCT_CONVERSION)
3343 VkBindImageMemoryInfo_host
*pBindInfos_host
;
3344 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3346 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
3347 result
= device
->funcs
.p_vkBindImageMemory2(device
->device
, bindInfoCount
, pBindInfos_host
);
3349 free_VkBindImageMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
3352 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3353 return device
->funcs
.p_vkBindImageMemory2(device
->device
, bindInfoCount
, pBindInfos
);
3357 static VkResult WINAPI
wine_vkBindImageMemory2KHR(VkDevice device
, uint32_t bindInfoCount
, const VkBindImageMemoryInfo
*pBindInfos
)
3359 #if defined(USE_STRUCT_CONVERSION)
3361 VkBindImageMemoryInfo_host
*pBindInfos_host
;
3362 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3364 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
3365 result
= device
->funcs
.p_vkBindImageMemory2KHR(device
->device
, bindInfoCount
, pBindInfos_host
);
3367 free_VkBindImageMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
3370 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3371 return device
->funcs
.p_vkBindImageMemory2KHR(device
->device
, bindInfoCount
, pBindInfos
);
3375 static void WINAPI
wine_vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer
, const VkConditionalRenderingBeginInfoEXT
*pConditionalRenderingBegin
)
3377 #if defined(USE_STRUCT_CONVERSION)
3378 VkConditionalRenderingBeginInfoEXT_host pConditionalRenderingBegin_host
;
3379 TRACE("%p, %p\n", commandBuffer
, pConditionalRenderingBegin
);
3381 convert_VkConditionalRenderingBeginInfoEXT_win_to_host(pConditionalRenderingBegin
, &pConditionalRenderingBegin_host
);
3382 commandBuffer
->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(commandBuffer
->command_buffer
, &pConditionalRenderingBegin_host
);
3385 TRACE("%p, %p\n", commandBuffer
, pConditionalRenderingBegin
);
3386 commandBuffer
->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(commandBuffer
->command_buffer
, pConditionalRenderingBegin
);
3390 static void WINAPI
wine_vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
3392 TRACE("%p, %p\n", commandBuffer
, pLabelInfo
);
3393 commandBuffer
->device
->funcs
.p_vkCmdBeginDebugUtilsLabelEXT(commandBuffer
->command_buffer
, pLabelInfo
);
3396 void WINAPI
wine_vkCmdBeginQuery(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
, VkQueryControlFlags flags
)
3398 TRACE("%p, 0x%s, %u, %#x\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
, flags
);
3399 commandBuffer
->device
->funcs
.p_vkCmdBeginQuery(commandBuffer
->command_buffer
, queryPool
, query
, flags
);
3402 static void WINAPI
wine_vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
, VkQueryControlFlags flags
, uint32_t index
)
3404 TRACE("%p, 0x%s, %u, %#x, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
, flags
, index
);
3405 commandBuffer
->device
->funcs
.p_vkCmdBeginQueryIndexedEXT(commandBuffer
->command_buffer
, queryPool
, query
, flags
, index
);
3408 void WINAPI
wine_vkCmdBeginRenderPass(VkCommandBuffer commandBuffer
, const VkRenderPassBeginInfo
*pRenderPassBegin
, VkSubpassContents contents
)
3410 #if defined(USE_STRUCT_CONVERSION)
3411 VkRenderPassBeginInfo_host pRenderPassBegin_host
;
3412 TRACE("%p, %p, %#x\n", commandBuffer
, pRenderPassBegin
, contents
);
3414 convert_VkRenderPassBeginInfo_win_to_host(pRenderPassBegin
, &pRenderPassBegin_host
);
3415 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass(commandBuffer
->command_buffer
, &pRenderPassBegin_host
, contents
);
3418 TRACE("%p, %p, %#x\n", commandBuffer
, pRenderPassBegin
, contents
);
3419 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass(commandBuffer
->command_buffer
, pRenderPassBegin
, contents
);
3423 void WINAPI
wine_vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer
, const VkRenderPassBeginInfo
*pRenderPassBegin
, const VkSubpassBeginInfo
*pSubpassBeginInfo
)
3425 #if defined(USE_STRUCT_CONVERSION)
3426 VkRenderPassBeginInfo_host pRenderPassBegin_host
;
3427 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
3429 convert_VkRenderPassBeginInfo_win_to_host(pRenderPassBegin
, &pRenderPassBegin_host
);
3430 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2(commandBuffer
->command_buffer
, &pRenderPassBegin_host
, pSubpassBeginInfo
);
3433 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
3434 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2(commandBuffer
->command_buffer
, pRenderPassBegin
, pSubpassBeginInfo
);
3438 static void WINAPI
wine_vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer
, const VkRenderPassBeginInfo
*pRenderPassBegin
, const VkSubpassBeginInfo
*pSubpassBeginInfo
)
3440 #if defined(USE_STRUCT_CONVERSION)
3441 VkRenderPassBeginInfo_host pRenderPassBegin_host
;
3442 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
3444 convert_VkRenderPassBeginInfo_win_to_host(pRenderPassBegin
, &pRenderPassBegin_host
);
3445 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2KHR(commandBuffer
->command_buffer
, &pRenderPassBegin_host
, pSubpassBeginInfo
);
3448 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
3449 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2KHR(commandBuffer
->command_buffer
, pRenderPassBegin
, pSubpassBeginInfo
);
3453 static void WINAPI
wine_vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer
, uint32_t firstCounterBuffer
, uint32_t counterBufferCount
, const VkBuffer
*pCounterBuffers
, const VkDeviceSize
*pCounterBufferOffsets
)
3455 TRACE("%p, %u, %u, %p, %p\n", commandBuffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
3456 commandBuffer
->device
->funcs
.p_vkCmdBeginTransformFeedbackEXT(commandBuffer
->command_buffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
3459 void WINAPI
wine_vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipelineLayout layout
, uint32_t firstSet
, uint32_t descriptorSetCount
, const VkDescriptorSet
*pDescriptorSets
, uint32_t dynamicOffsetCount
, const uint32_t *pDynamicOffsets
)
3461 TRACE("%p, %#x, 0x%s, %u, %u, %p, %u, %p\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(layout
), firstSet
, descriptorSetCount
, pDescriptorSets
, dynamicOffsetCount
, pDynamicOffsets
);
3462 commandBuffer
->device
->funcs
.p_vkCmdBindDescriptorSets(commandBuffer
->command_buffer
, pipelineBindPoint
, layout
, firstSet
, descriptorSetCount
, pDescriptorSets
, dynamicOffsetCount
, pDynamicOffsets
);
3465 void WINAPI
wine_vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkIndexType indexType
)
3467 TRACE("%p, 0x%s, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), indexType
);
3468 commandBuffer
->device
->funcs
.p_vkCmdBindIndexBuffer(commandBuffer
->command_buffer
, buffer
, offset
, indexType
);
3471 void WINAPI
wine_vkCmdBindPipeline(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipeline pipeline
)
3473 TRACE("%p, %#x, 0x%s\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(pipeline
));
3474 commandBuffer
->device
->funcs
.p_vkCmdBindPipeline(commandBuffer
->command_buffer
, pipelineBindPoint
, pipeline
);
3477 static void WINAPI
wine_vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipeline pipeline
, uint32_t groupIndex
)
3479 TRACE("%p, %#x, 0x%s, %u\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(pipeline
), groupIndex
);
3480 commandBuffer
->device
->funcs
.p_vkCmdBindPipelineShaderGroupNV(commandBuffer
->command_buffer
, pipelineBindPoint
, pipeline
, groupIndex
);
3483 static void WINAPI
wine_vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer
, VkImageView imageView
, VkImageLayout imageLayout
)
3485 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(imageView
), imageLayout
);
3486 commandBuffer
->device
->funcs
.p_vkCmdBindShadingRateImageNV(commandBuffer
->command_buffer
, imageView
, imageLayout
);
3489 static void WINAPI
wine_vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer
, uint32_t firstBinding
, uint32_t bindingCount
, const VkBuffer
*pBuffers
, const VkDeviceSize
*pOffsets
, const VkDeviceSize
*pSizes
)
3491 TRACE("%p, %u, %u, %p, %p, %p\n", commandBuffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
);
3492 commandBuffer
->device
->funcs
.p_vkCmdBindTransformFeedbackBuffersEXT(commandBuffer
->command_buffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
);
3495 void WINAPI
wine_vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer
, uint32_t firstBinding
, uint32_t bindingCount
, const VkBuffer
*pBuffers
, const VkDeviceSize
*pOffsets
)
3497 TRACE("%p, %u, %u, %p, %p\n", commandBuffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
);
3498 commandBuffer
->device
->funcs
.p_vkCmdBindVertexBuffers(commandBuffer
->command_buffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
);
3501 static void WINAPI
wine_vkCmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer
, uint32_t firstBinding
, uint32_t bindingCount
, const VkBuffer
*pBuffers
, const VkDeviceSize
*pOffsets
, const VkDeviceSize
*pSizes
, const VkDeviceSize
*pStrides
)
3503 TRACE("%p, %u, %u, %p, %p, %p, %p\n", commandBuffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
, pStrides
);
3504 commandBuffer
->device
->funcs
.p_vkCmdBindVertexBuffers2EXT(commandBuffer
->command_buffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
, pStrides
);
3507 void WINAPI
wine_vkCmdBlitImage(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkImageBlit
*pRegions
, VkFilter filter
)
3509 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p, %#x\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
, filter
);
3510 commandBuffer
->device
->funcs
.p_vkCmdBlitImage(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstImage
, dstImageLayout
, regionCount
, pRegions
, filter
);
3513 static void WINAPI
wine_vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer
, const VkBlitImageInfo2KHR
*pBlitImageInfo
)
3515 #if defined(USE_STRUCT_CONVERSION)
3516 VkBlitImageInfo2KHR_host pBlitImageInfo_host
;
3517 TRACE("%p, %p\n", commandBuffer
, pBlitImageInfo
);
3519 convert_VkBlitImageInfo2KHR_win_to_host(pBlitImageInfo
, &pBlitImageInfo_host
);
3520 commandBuffer
->device
->funcs
.p_vkCmdBlitImage2KHR(commandBuffer
->command_buffer
, &pBlitImageInfo_host
);
3523 TRACE("%p, %p\n", commandBuffer
, pBlitImageInfo
);
3524 commandBuffer
->device
->funcs
.p_vkCmdBlitImage2KHR(commandBuffer
->command_buffer
, pBlitImageInfo
);
3528 static void WINAPI
wine_vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer
, const VkAccelerationStructureInfoNV
*pInfo
, VkBuffer instanceData
, VkDeviceSize instanceOffset
, VkBool32 update
, VkAccelerationStructureKHR dst
, VkAccelerationStructureKHR src
, VkBuffer scratch
, VkDeviceSize scratchOffset
)
3530 #if defined(USE_STRUCT_CONVERSION)
3531 VkAccelerationStructureInfoNV_host pInfo_host
;
3532 TRACE("%p, %p, 0x%s, 0x%s, %u, 0x%s, 0x%s, 0x%s, 0x%s\n", commandBuffer
, pInfo
, wine_dbgstr_longlong(instanceData
), wine_dbgstr_longlong(instanceOffset
), update
, wine_dbgstr_longlong(dst
), wine_dbgstr_longlong(src
), wine_dbgstr_longlong(scratch
), wine_dbgstr_longlong(scratchOffset
));
3534 convert_VkAccelerationStructureInfoNV_win_to_host(pInfo
, &pInfo_host
);
3535 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructureNV(commandBuffer
->command_buffer
, &pInfo_host
, instanceData
, instanceOffset
, update
, dst
, src
, scratch
, scratchOffset
);
3537 free_VkAccelerationStructureInfoNV(&pInfo_host
);
3539 TRACE("%p, %p, 0x%s, 0x%s, %u, 0x%s, 0x%s, 0x%s, 0x%s\n", commandBuffer
, pInfo
, wine_dbgstr_longlong(instanceData
), wine_dbgstr_longlong(instanceOffset
), update
, wine_dbgstr_longlong(dst
), wine_dbgstr_longlong(src
), wine_dbgstr_longlong(scratch
), wine_dbgstr_longlong(scratchOffset
));
3540 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructureNV(commandBuffer
->command_buffer
, pInfo
, instanceData
, instanceOffset
, update
, dst
, src
, scratch
, scratchOffset
);
3544 void WINAPI
wine_vkCmdClearAttachments(VkCommandBuffer commandBuffer
, uint32_t attachmentCount
, const VkClearAttachment
*pAttachments
, uint32_t rectCount
, const VkClearRect
*pRects
)
3546 TRACE("%p, %u, %p, %u, %p\n", commandBuffer
, attachmentCount
, pAttachments
, rectCount
, pRects
);
3547 commandBuffer
->device
->funcs
.p_vkCmdClearAttachments(commandBuffer
->command_buffer
, attachmentCount
, pAttachments
, rectCount
, pRects
);
3550 void WINAPI
wine_vkCmdClearColorImage(VkCommandBuffer commandBuffer
, VkImage image
, VkImageLayout imageLayout
, const VkClearColorValue
*pColor
, uint32_t rangeCount
, const VkImageSubresourceRange
*pRanges
)
3552 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(image
), imageLayout
, pColor
, rangeCount
, pRanges
);
3553 commandBuffer
->device
->funcs
.p_vkCmdClearColorImage(commandBuffer
->command_buffer
, image
, imageLayout
, pColor
, rangeCount
, pRanges
);
3556 void WINAPI
wine_vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer
, VkImage image
, VkImageLayout imageLayout
, const VkClearDepthStencilValue
*pDepthStencil
, uint32_t rangeCount
, const VkImageSubresourceRange
*pRanges
)
3558 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(image
), imageLayout
, pDepthStencil
, rangeCount
, pRanges
);
3559 commandBuffer
->device
->funcs
.p_vkCmdClearDepthStencilImage(commandBuffer
->command_buffer
, image
, imageLayout
, pDepthStencil
, rangeCount
, pRanges
);
3562 static void WINAPI
wine_vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer
, VkAccelerationStructureKHR dst
, VkAccelerationStructureKHR src
, VkCopyAccelerationStructureModeKHR mode
)
3564 TRACE("%p, 0x%s, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(dst
), wine_dbgstr_longlong(src
), mode
);
3565 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureNV(commandBuffer
->command_buffer
, dst
, src
, mode
);
3568 void WINAPI
wine_vkCmdCopyBuffer(VkCommandBuffer commandBuffer
, VkBuffer srcBuffer
, VkBuffer dstBuffer
, uint32_t regionCount
, const VkBufferCopy
*pRegions
)
3570 #if defined(USE_STRUCT_CONVERSION)
3571 VkBufferCopy_host
*pRegions_host
;
3572 TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
3574 pRegions_host
= convert_VkBufferCopy_array_win_to_host(pRegions
, regionCount
);
3575 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer(commandBuffer
->command_buffer
, srcBuffer
, dstBuffer
, regionCount
, pRegions_host
);
3577 free_VkBufferCopy_array(pRegions_host
, regionCount
);
3579 TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
3580 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer(commandBuffer
->command_buffer
, srcBuffer
, dstBuffer
, regionCount
, pRegions
);
3584 static void WINAPI
wine_vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer
, const VkCopyBufferInfo2KHR
*pCopyBufferInfo
)
3586 #if defined(USE_STRUCT_CONVERSION)
3587 VkCopyBufferInfo2KHR_host pCopyBufferInfo_host
;
3588 TRACE("%p, %p\n", commandBuffer
, pCopyBufferInfo
);
3590 convert_VkCopyBufferInfo2KHR_win_to_host(pCopyBufferInfo
, &pCopyBufferInfo_host
);
3591 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer2KHR(commandBuffer
->command_buffer
, &pCopyBufferInfo_host
);
3593 free_VkCopyBufferInfo2KHR(&pCopyBufferInfo_host
);
3595 TRACE("%p, %p\n", commandBuffer
, pCopyBufferInfo
);
3596 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer2KHR(commandBuffer
->command_buffer
, pCopyBufferInfo
);
3600 void WINAPI
wine_vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer
, VkBuffer srcBuffer
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkBufferImageCopy
*pRegions
)
3602 #if defined(USE_STRUCT_CONVERSION)
3603 VkBufferImageCopy_host
*pRegions_host
;
3604 TRACE("%p, 0x%s, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
3606 pRegions_host
= convert_VkBufferImageCopy_array_win_to_host(pRegions
, regionCount
);
3607 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage(commandBuffer
->command_buffer
, srcBuffer
, dstImage
, dstImageLayout
, regionCount
, pRegions_host
);
3609 free_VkBufferImageCopy_array(pRegions_host
, regionCount
);
3611 TRACE("%p, 0x%s, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
3612 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage(commandBuffer
->command_buffer
, srcBuffer
, dstImage
, dstImageLayout
, regionCount
, pRegions
);
3616 static void WINAPI
wine_vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer
, const VkCopyBufferToImageInfo2KHR
*pCopyBufferToImageInfo
)
3618 #if defined(USE_STRUCT_CONVERSION)
3619 VkCopyBufferToImageInfo2KHR_host pCopyBufferToImageInfo_host
;
3620 TRACE("%p, %p\n", commandBuffer
, pCopyBufferToImageInfo
);
3622 convert_VkCopyBufferToImageInfo2KHR_win_to_host(pCopyBufferToImageInfo
, &pCopyBufferToImageInfo_host
);
3623 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(commandBuffer
->command_buffer
, &pCopyBufferToImageInfo_host
);
3625 free_VkCopyBufferToImageInfo2KHR(&pCopyBufferToImageInfo_host
);
3627 TRACE("%p, %p\n", commandBuffer
, pCopyBufferToImageInfo
);
3628 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(commandBuffer
->command_buffer
, pCopyBufferToImageInfo
);
3632 void WINAPI
wine_vkCmdCopyImage(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkImageCopy
*pRegions
)
3634 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
3635 commandBuffer
->device
->funcs
.p_vkCmdCopyImage(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstImage
, dstImageLayout
, regionCount
, pRegions
);
3638 static void WINAPI
wine_vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer
, const VkCopyImageInfo2KHR
*pCopyImageInfo
)
3640 #if defined(USE_STRUCT_CONVERSION)
3641 VkCopyImageInfo2KHR_host pCopyImageInfo_host
;
3642 TRACE("%p, %p\n", commandBuffer
, pCopyImageInfo
);
3644 convert_VkCopyImageInfo2KHR_win_to_host(pCopyImageInfo
, &pCopyImageInfo_host
);
3645 commandBuffer
->device
->funcs
.p_vkCmdCopyImage2KHR(commandBuffer
->command_buffer
, &pCopyImageInfo_host
);
3648 TRACE("%p, %p\n", commandBuffer
, pCopyImageInfo
);
3649 commandBuffer
->device
->funcs
.p_vkCmdCopyImage2KHR(commandBuffer
->command_buffer
, pCopyImageInfo
);
3653 void WINAPI
wine_vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkBuffer dstBuffer
, uint32_t regionCount
, const VkBufferImageCopy
*pRegions
)
3655 #if defined(USE_STRUCT_CONVERSION)
3656 VkBufferImageCopy_host
*pRegions_host
;
3657 TRACE("%p, 0x%s, %#x, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
3659 pRegions_host
= convert_VkBufferImageCopy_array_win_to_host(pRegions
, regionCount
);
3660 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstBuffer
, regionCount
, pRegions_host
);
3662 free_VkBufferImageCopy_array(pRegions_host
, regionCount
);
3664 TRACE("%p, 0x%s, %#x, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
3665 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstBuffer
, regionCount
, pRegions
);
3669 static void WINAPI
wine_vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer
, const VkCopyImageToBufferInfo2KHR
*pCopyImageToBufferInfo
)
3671 #if defined(USE_STRUCT_CONVERSION)
3672 VkCopyImageToBufferInfo2KHR_host pCopyImageToBufferInfo_host
;
3673 TRACE("%p, %p\n", commandBuffer
, pCopyImageToBufferInfo
);
3675 convert_VkCopyImageToBufferInfo2KHR_win_to_host(pCopyImageToBufferInfo
, &pCopyImageToBufferInfo_host
);
3676 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(commandBuffer
->command_buffer
, &pCopyImageToBufferInfo_host
);
3678 free_VkCopyImageToBufferInfo2KHR(&pCopyImageToBufferInfo_host
);
3680 TRACE("%p, %p\n", commandBuffer
, pCopyImageToBufferInfo
);
3681 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(commandBuffer
->command_buffer
, pCopyImageToBufferInfo
);
3685 void WINAPI
wine_vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, VkDeviceSize stride
, VkQueryResultFlags flags
)
3687 TRACE("%p, 0x%s, %u, %u, 0x%s, 0x%s, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), wine_dbgstr_longlong(stride
), flags
);
3688 commandBuffer
->device
->funcs
.p_vkCmdCopyQueryPoolResults(commandBuffer
->command_buffer
, queryPool
, firstQuery
, queryCount
, dstBuffer
, dstOffset
, stride
, flags
);
3691 void WINAPI
wine_vkCmdDispatch(VkCommandBuffer commandBuffer
, uint32_t groupCountX
, uint32_t groupCountY
, uint32_t groupCountZ
)
3693 TRACE("%p, %u, %u, %u\n", commandBuffer
, groupCountX
, groupCountY
, groupCountZ
);
3694 commandBuffer
->device
->funcs
.p_vkCmdDispatch(commandBuffer
->command_buffer
, groupCountX
, groupCountY
, groupCountZ
);
3697 void WINAPI
wine_vkCmdDispatchBase(VkCommandBuffer commandBuffer
, uint32_t baseGroupX
, uint32_t baseGroupY
, uint32_t baseGroupZ
, uint32_t groupCountX
, uint32_t groupCountY
, uint32_t groupCountZ
)
3699 TRACE("%p, %u, %u, %u, %u, %u, %u\n", commandBuffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
3700 commandBuffer
->device
->funcs
.p_vkCmdDispatchBase(commandBuffer
->command_buffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
3703 static void WINAPI
wine_vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer
, uint32_t baseGroupX
, uint32_t baseGroupY
, uint32_t baseGroupZ
, uint32_t groupCountX
, uint32_t groupCountY
, uint32_t groupCountZ
)
3705 TRACE("%p, %u, %u, %u, %u, %u, %u\n", commandBuffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
3706 commandBuffer
->device
->funcs
.p_vkCmdDispatchBaseKHR(commandBuffer
->command_buffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
3709 void WINAPI
wine_vkCmdDispatchIndirect(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
)
3711 TRACE("%p, 0x%s, 0x%s\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
));
3712 commandBuffer
->device
->funcs
.p_vkCmdDispatchIndirect(commandBuffer
->command_buffer
, buffer
, offset
);
3715 void WINAPI
wine_vkCmdDraw(VkCommandBuffer commandBuffer
, uint32_t vertexCount
, uint32_t instanceCount
, uint32_t firstVertex
, uint32_t firstInstance
)
3717 TRACE("%p, %u, %u, %u, %u\n", commandBuffer
, vertexCount
, instanceCount
, firstVertex
, firstInstance
);
3718 commandBuffer
->device
->funcs
.p_vkCmdDraw(commandBuffer
->command_buffer
, vertexCount
, instanceCount
, firstVertex
, firstInstance
);
3721 void WINAPI
wine_vkCmdDrawIndexed(VkCommandBuffer commandBuffer
, uint32_t indexCount
, uint32_t instanceCount
, uint32_t firstIndex
, int32_t vertexOffset
, uint32_t firstInstance
)
3723 TRACE("%p, %u, %u, %u, %d, %u\n", commandBuffer
, indexCount
, instanceCount
, firstIndex
, vertexOffset
, firstInstance
);
3724 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexed(commandBuffer
->command_buffer
, indexCount
, instanceCount
, firstIndex
, vertexOffset
, firstInstance
);
3727 void WINAPI
wine_vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, uint32_t drawCount
, uint32_t stride
)
3729 TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), drawCount
, stride
);
3730 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirect(commandBuffer
->command_buffer
, buffer
, offset
, drawCount
, stride
);
3733 void WINAPI
wine_vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
3735 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), wine_dbgstr_longlong(countBuffer
), wine_dbgstr_longlong(countBufferOffset
), maxDrawCount
, stride
);
3736 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirectCount(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
3739 static void WINAPI
wine_vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
3741 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), wine_dbgstr_longlong(countBuffer
), wine_dbgstr_longlong(countBufferOffset
), maxDrawCount
, stride
);
3742 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirectCountAMD(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
3745 static void WINAPI
wine_vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
3747 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), wine_dbgstr_longlong(countBuffer
), wine_dbgstr_longlong(countBufferOffset
), maxDrawCount
, stride
);
3748 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirectCountKHR(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
3751 void WINAPI
wine_vkCmdDrawIndirect(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, uint32_t drawCount
, uint32_t stride
)
3753 TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), drawCount
, stride
);
3754 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirect(commandBuffer
->command_buffer
, buffer
, offset
, drawCount
, stride
);
3757 static void WINAPI
wine_vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer
, uint32_t instanceCount
, uint32_t firstInstance
, VkBuffer counterBuffer
, VkDeviceSize counterBufferOffset
, uint32_t counterOffset
, uint32_t vertexStride
)
3759 TRACE("%p, %u, %u, 0x%s, 0x%s, %u, %u\n", commandBuffer
, instanceCount
, firstInstance
, wine_dbgstr_longlong(counterBuffer
), wine_dbgstr_longlong(counterBufferOffset
), counterOffset
, vertexStride
);
3760 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectByteCountEXT(commandBuffer
->command_buffer
, instanceCount
, firstInstance
, counterBuffer
, counterBufferOffset
, counterOffset
, vertexStride
);
3763 void WINAPI
wine_vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
3765 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), wine_dbgstr_longlong(countBuffer
), wine_dbgstr_longlong(countBufferOffset
), maxDrawCount
, stride
);
3766 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectCount(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
3769 static void WINAPI
wine_vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
3771 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), wine_dbgstr_longlong(countBuffer
), wine_dbgstr_longlong(countBufferOffset
), maxDrawCount
, stride
);
3772 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectCountAMD(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
3775 static void WINAPI
wine_vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
3777 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), wine_dbgstr_longlong(countBuffer
), wine_dbgstr_longlong(countBufferOffset
), maxDrawCount
, stride
);
3778 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectCountKHR(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
3781 static void WINAPI
wine_vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
3783 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), wine_dbgstr_longlong(countBuffer
), wine_dbgstr_longlong(countBufferOffset
), maxDrawCount
, stride
);
3784 commandBuffer
->device
->funcs
.p_vkCmdDrawMeshTasksIndirectCountNV(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
3787 static void WINAPI
wine_vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, uint32_t drawCount
, uint32_t stride
)
3789 TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), drawCount
, stride
);
3790 commandBuffer
->device
->funcs
.p_vkCmdDrawMeshTasksIndirectNV(commandBuffer
->command_buffer
, buffer
, offset
, drawCount
, stride
);
3793 static void WINAPI
wine_vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer
, uint32_t taskCount
, uint32_t firstTask
)
3795 TRACE("%p, %u, %u\n", commandBuffer
, taskCount
, firstTask
);
3796 commandBuffer
->device
->funcs
.p_vkCmdDrawMeshTasksNV(commandBuffer
->command_buffer
, taskCount
, firstTask
);
3799 static void WINAPI
wine_vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer
)
3801 TRACE("%p\n", commandBuffer
);
3802 commandBuffer
->device
->funcs
.p_vkCmdEndConditionalRenderingEXT(commandBuffer
->command_buffer
);
3805 static void WINAPI
wine_vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer
)
3807 TRACE("%p\n", commandBuffer
);
3808 commandBuffer
->device
->funcs
.p_vkCmdEndDebugUtilsLabelEXT(commandBuffer
->command_buffer
);
3811 void WINAPI
wine_vkCmdEndQuery(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
)
3813 TRACE("%p, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
);
3814 commandBuffer
->device
->funcs
.p_vkCmdEndQuery(commandBuffer
->command_buffer
, queryPool
, query
);
3817 static void WINAPI
wine_vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
, uint32_t index
)
3819 TRACE("%p, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
, index
);
3820 commandBuffer
->device
->funcs
.p_vkCmdEndQueryIndexedEXT(commandBuffer
->command_buffer
, queryPool
, query
, index
);
3823 void WINAPI
wine_vkCmdEndRenderPass(VkCommandBuffer commandBuffer
)
3825 TRACE("%p\n", commandBuffer
);
3826 commandBuffer
->device
->funcs
.p_vkCmdEndRenderPass(commandBuffer
->command_buffer
);
3829 void WINAPI
wine_vkCmdEndRenderPass2(VkCommandBuffer commandBuffer
, const VkSubpassEndInfo
*pSubpassEndInfo
)
3831 TRACE("%p, %p\n", commandBuffer
, pSubpassEndInfo
);
3832 commandBuffer
->device
->funcs
.p_vkCmdEndRenderPass2(commandBuffer
->command_buffer
, pSubpassEndInfo
);
3835 static void WINAPI
wine_vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer
, const VkSubpassEndInfo
*pSubpassEndInfo
)
3837 TRACE("%p, %p\n", commandBuffer
, pSubpassEndInfo
);
3838 commandBuffer
->device
->funcs
.p_vkCmdEndRenderPass2KHR(commandBuffer
->command_buffer
, pSubpassEndInfo
);
3841 static void WINAPI
wine_vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer
, uint32_t firstCounterBuffer
, uint32_t counterBufferCount
, const VkBuffer
*pCounterBuffers
, const VkDeviceSize
*pCounterBufferOffsets
)
3843 TRACE("%p, %u, %u, %p, %p\n", commandBuffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
3844 commandBuffer
->device
->funcs
.p_vkCmdEndTransformFeedbackEXT(commandBuffer
->command_buffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
3847 static void WINAPI
wine_vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer
, VkBool32 isPreprocessed
, const VkGeneratedCommandsInfoNV
*pGeneratedCommandsInfo
)
3849 #if defined(USE_STRUCT_CONVERSION)
3850 VkGeneratedCommandsInfoNV_host pGeneratedCommandsInfo_host
;
3851 TRACE("%p, %u, %p\n", commandBuffer
, isPreprocessed
, pGeneratedCommandsInfo
);
3853 convert_VkGeneratedCommandsInfoNV_win_to_host(pGeneratedCommandsInfo
, &pGeneratedCommandsInfo_host
);
3854 commandBuffer
->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(commandBuffer
->command_buffer
, isPreprocessed
, &pGeneratedCommandsInfo_host
);
3856 free_VkGeneratedCommandsInfoNV(&pGeneratedCommandsInfo_host
);
3858 TRACE("%p, %u, %p\n", commandBuffer
, isPreprocessed
, pGeneratedCommandsInfo
);
3859 commandBuffer
->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(commandBuffer
->command_buffer
, isPreprocessed
, pGeneratedCommandsInfo
);
3863 void WINAPI
wine_vkCmdFillBuffer(VkCommandBuffer commandBuffer
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, VkDeviceSize size
, uint32_t data
)
3865 TRACE("%p, 0x%s, 0x%s, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), wine_dbgstr_longlong(size
), data
);
3866 commandBuffer
->device
->funcs
.p_vkCmdFillBuffer(commandBuffer
->command_buffer
, dstBuffer
, dstOffset
, size
, data
);
3869 static void WINAPI
wine_vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
3871 TRACE("%p, %p\n", commandBuffer
, pLabelInfo
);
3872 commandBuffer
->device
->funcs
.p_vkCmdInsertDebugUtilsLabelEXT(commandBuffer
->command_buffer
, pLabelInfo
);
3875 void WINAPI
wine_vkCmdNextSubpass(VkCommandBuffer commandBuffer
, VkSubpassContents contents
)
3877 TRACE("%p, %#x\n", commandBuffer
, contents
);
3878 commandBuffer
->device
->funcs
.p_vkCmdNextSubpass(commandBuffer
->command_buffer
, contents
);
3881 void WINAPI
wine_vkCmdNextSubpass2(VkCommandBuffer commandBuffer
, const VkSubpassBeginInfo
*pSubpassBeginInfo
, const VkSubpassEndInfo
*pSubpassEndInfo
)
3883 TRACE("%p, %p, %p\n", commandBuffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
3884 commandBuffer
->device
->funcs
.p_vkCmdNextSubpass2(commandBuffer
->command_buffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
3887 static void WINAPI
wine_vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer
, const VkSubpassBeginInfo
*pSubpassBeginInfo
, const VkSubpassEndInfo
*pSubpassEndInfo
)
3889 TRACE("%p, %p, %p\n", commandBuffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
3890 commandBuffer
->device
->funcs
.p_vkCmdNextSubpass2KHR(commandBuffer
->command_buffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
3893 void WINAPI
wine_vkCmdPipelineBarrier(VkCommandBuffer commandBuffer
, VkPipelineStageFlags srcStageMask
, VkPipelineStageFlags dstStageMask
, VkDependencyFlags dependencyFlags
, uint32_t memoryBarrierCount
, const VkMemoryBarrier
*pMemoryBarriers
, uint32_t bufferMemoryBarrierCount
, const VkBufferMemoryBarrier
*pBufferMemoryBarriers
, uint32_t imageMemoryBarrierCount
, const VkImageMemoryBarrier
*pImageMemoryBarriers
)
3895 #if defined(USE_STRUCT_CONVERSION)
3896 VkBufferMemoryBarrier_host
*pBufferMemoryBarriers_host
;
3897 VkImageMemoryBarrier_host
*pImageMemoryBarriers_host
;
3898 TRACE("%p, %#x, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
3900 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win_to_host(pBufferMemoryBarriers
, bufferMemoryBarrierCount
);
3901 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win_to_host(pImageMemoryBarriers
, imageMemoryBarrierCount
);
3902 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier(commandBuffer
->command_buffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
3904 free_VkBufferMemoryBarrier_array(pBufferMemoryBarriers_host
, bufferMemoryBarrierCount
);
3905 free_VkImageMemoryBarrier_array(pImageMemoryBarriers_host
, imageMemoryBarrierCount
);
3907 TRACE("%p, %#x, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
3908 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier(commandBuffer
->command_buffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
3912 static void WINAPI
wine_vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer
, const VkGeneratedCommandsInfoNV
*pGeneratedCommandsInfo
)
3914 #if defined(USE_STRUCT_CONVERSION)
3915 VkGeneratedCommandsInfoNV_host pGeneratedCommandsInfo_host
;
3916 TRACE("%p, %p\n", commandBuffer
, pGeneratedCommandsInfo
);
3918 convert_VkGeneratedCommandsInfoNV_win_to_host(pGeneratedCommandsInfo
, &pGeneratedCommandsInfo_host
);
3919 commandBuffer
->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(commandBuffer
->command_buffer
, &pGeneratedCommandsInfo_host
);
3921 free_VkGeneratedCommandsInfoNV(&pGeneratedCommandsInfo_host
);
3923 TRACE("%p, %p\n", commandBuffer
, pGeneratedCommandsInfo
);
3924 commandBuffer
->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(commandBuffer
->command_buffer
, pGeneratedCommandsInfo
);
3928 void WINAPI
wine_vkCmdPushConstants(VkCommandBuffer commandBuffer
, VkPipelineLayout layout
, VkShaderStageFlags stageFlags
, uint32_t offset
, uint32_t size
, const void *pValues
)
3930 TRACE("%p, 0x%s, %#x, %u, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(layout
), stageFlags
, offset
, size
, pValues
);
3931 commandBuffer
->device
->funcs
.p_vkCmdPushConstants(commandBuffer
->command_buffer
, layout
, stageFlags
, offset
, size
, pValues
);
3934 static void WINAPI
wine_vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipelineLayout layout
, uint32_t set
, uint32_t descriptorWriteCount
, const VkWriteDescriptorSet
*pDescriptorWrites
)
3936 #if defined(USE_STRUCT_CONVERSION)
3937 VkWriteDescriptorSet_host
*pDescriptorWrites_host
;
3938 TRACE("%p, %#x, 0x%s, %u, %u, %p\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(layout
), set
, descriptorWriteCount
, pDescriptorWrites
);
3940 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win_to_host(pDescriptorWrites
, descriptorWriteCount
);
3941 commandBuffer
->device
->funcs
.p_vkCmdPushDescriptorSetKHR(commandBuffer
->command_buffer
, pipelineBindPoint
, layout
, set
, descriptorWriteCount
, pDescriptorWrites_host
);
3943 free_VkWriteDescriptorSet_array(pDescriptorWrites_host
, descriptorWriteCount
);
3945 TRACE("%p, %#x, 0x%s, %u, %u, %p\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(layout
), set
, descriptorWriteCount
, pDescriptorWrites
);
3946 commandBuffer
->device
->funcs
.p_vkCmdPushDescriptorSetKHR(commandBuffer
->command_buffer
, pipelineBindPoint
, layout
, set
, descriptorWriteCount
, pDescriptorWrites
);
3950 static void WINAPI
wine_vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, VkPipelineLayout layout
, uint32_t set
, const void *pData
)
3952 TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(descriptorUpdateTemplate
), wine_dbgstr_longlong(layout
), set
, pData
);
3953 commandBuffer
->device
->funcs
.p_vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer
->command_buffer
, descriptorUpdateTemplate
, layout
, set
, pData
);
3956 void WINAPI
wine_vkCmdResetEvent(VkCommandBuffer commandBuffer
, VkEvent event
, VkPipelineStageFlags stageMask
)
3958 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(event
), stageMask
);
3959 commandBuffer
->device
->funcs
.p_vkCmdResetEvent(commandBuffer
->command_buffer
, event
, stageMask
);
3962 void WINAPI
wine_vkCmdResetQueryPool(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
)
3964 TRACE("%p, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
);
3965 commandBuffer
->device
->funcs
.p_vkCmdResetQueryPool(commandBuffer
->command_buffer
, queryPool
, firstQuery
, queryCount
);
3968 void WINAPI
wine_vkCmdResolveImage(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkImageResolve
*pRegions
)
3970 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
3971 commandBuffer
->device
->funcs
.p_vkCmdResolveImage(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstImage
, dstImageLayout
, regionCount
, pRegions
);
3974 static void WINAPI
wine_vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer
, const VkResolveImageInfo2KHR
*pResolveImageInfo
)
3976 #if defined(USE_STRUCT_CONVERSION)
3977 VkResolveImageInfo2KHR_host pResolveImageInfo_host
;
3978 TRACE("%p, %p\n", commandBuffer
, pResolveImageInfo
);
3980 convert_VkResolveImageInfo2KHR_win_to_host(pResolveImageInfo
, &pResolveImageInfo_host
);
3981 commandBuffer
->device
->funcs
.p_vkCmdResolveImage2KHR(commandBuffer
->command_buffer
, &pResolveImageInfo_host
);
3984 TRACE("%p, %p\n", commandBuffer
, pResolveImageInfo
);
3985 commandBuffer
->device
->funcs
.p_vkCmdResolveImage2KHR(commandBuffer
->command_buffer
, pResolveImageInfo
);
3989 void WINAPI
wine_vkCmdSetBlendConstants(VkCommandBuffer commandBuffer
, const float blendConstants
[4])
3991 TRACE("%p, %p\n", commandBuffer
, blendConstants
);
3992 commandBuffer
->device
->funcs
.p_vkCmdSetBlendConstants(commandBuffer
->command_buffer
, blendConstants
);
3995 static void WINAPI
wine_vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer
, const void *pCheckpointMarker
)
3997 TRACE("%p, %p\n", commandBuffer
, pCheckpointMarker
);
3998 commandBuffer
->device
->funcs
.p_vkCmdSetCheckpointNV(commandBuffer
->command_buffer
, pCheckpointMarker
);
4001 static void WINAPI
wine_vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer
, VkCoarseSampleOrderTypeNV sampleOrderType
, uint32_t customSampleOrderCount
, const VkCoarseSampleOrderCustomNV
*pCustomSampleOrders
)
4003 TRACE("%p, %#x, %u, %p\n", commandBuffer
, sampleOrderType
, customSampleOrderCount
, pCustomSampleOrders
);
4004 commandBuffer
->device
->funcs
.p_vkCmdSetCoarseSampleOrderNV(commandBuffer
->command_buffer
, sampleOrderType
, customSampleOrderCount
, pCustomSampleOrders
);
4007 static void WINAPI
wine_vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer
, VkCullModeFlags cullMode
)
4009 TRACE("%p, %#x\n", commandBuffer
, cullMode
);
4010 commandBuffer
->device
->funcs
.p_vkCmdSetCullModeEXT(commandBuffer
->command_buffer
, cullMode
);
4013 void WINAPI
wine_vkCmdSetDepthBias(VkCommandBuffer commandBuffer
, float depthBiasConstantFactor
, float depthBiasClamp
, float depthBiasSlopeFactor
)
4015 TRACE("%p, %f, %f, %f\n", commandBuffer
, depthBiasConstantFactor
, depthBiasClamp
, depthBiasSlopeFactor
);
4016 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBias(commandBuffer
->command_buffer
, depthBiasConstantFactor
, depthBiasClamp
, depthBiasSlopeFactor
);
4019 void WINAPI
wine_vkCmdSetDepthBounds(VkCommandBuffer commandBuffer
, float minDepthBounds
, float maxDepthBounds
)
4021 TRACE("%p, %f, %f\n", commandBuffer
, minDepthBounds
, maxDepthBounds
);
4022 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBounds(commandBuffer
->command_buffer
, minDepthBounds
, maxDepthBounds
);
4025 static void WINAPI
wine_vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthBoundsTestEnable
)
4027 TRACE("%p, %u\n", commandBuffer
, depthBoundsTestEnable
);
4028 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBoundsTestEnableEXT(commandBuffer
->command_buffer
, depthBoundsTestEnable
);
4031 static void WINAPI
wine_vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer
, VkCompareOp depthCompareOp
)
4033 TRACE("%p, %#x\n", commandBuffer
, depthCompareOp
);
4034 commandBuffer
->device
->funcs
.p_vkCmdSetDepthCompareOpEXT(commandBuffer
->command_buffer
, depthCompareOp
);
4037 static void WINAPI
wine_vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthTestEnable
)
4039 TRACE("%p, %u\n", commandBuffer
, depthTestEnable
);
4040 commandBuffer
->device
->funcs
.p_vkCmdSetDepthTestEnableEXT(commandBuffer
->command_buffer
, depthTestEnable
);
4043 static void WINAPI
wine_vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthWriteEnable
)
4045 TRACE("%p, %u\n", commandBuffer
, depthWriteEnable
);
4046 commandBuffer
->device
->funcs
.p_vkCmdSetDepthWriteEnableEXT(commandBuffer
->command_buffer
, depthWriteEnable
);
4049 void WINAPI
wine_vkCmdSetDeviceMask(VkCommandBuffer commandBuffer
, uint32_t deviceMask
)
4051 TRACE("%p, %u\n", commandBuffer
, deviceMask
);
4052 commandBuffer
->device
->funcs
.p_vkCmdSetDeviceMask(commandBuffer
->command_buffer
, deviceMask
);
4055 static void WINAPI
wine_vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer
, uint32_t deviceMask
)
4057 TRACE("%p, %u\n", commandBuffer
, deviceMask
);
4058 commandBuffer
->device
->funcs
.p_vkCmdSetDeviceMaskKHR(commandBuffer
->command_buffer
, deviceMask
);
4061 static void WINAPI
wine_vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer
, uint32_t firstDiscardRectangle
, uint32_t discardRectangleCount
, const VkRect2D
*pDiscardRectangles
)
4063 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstDiscardRectangle
, discardRectangleCount
, pDiscardRectangles
);
4064 commandBuffer
->device
->funcs
.p_vkCmdSetDiscardRectangleEXT(commandBuffer
->command_buffer
, firstDiscardRectangle
, discardRectangleCount
, pDiscardRectangles
);
4067 void WINAPI
wine_vkCmdSetEvent(VkCommandBuffer commandBuffer
, VkEvent event
, VkPipelineStageFlags stageMask
)
4069 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(event
), stageMask
);
4070 commandBuffer
->device
->funcs
.p_vkCmdSetEvent(commandBuffer
->command_buffer
, event
, stageMask
);
4073 static void WINAPI
wine_vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer
, uint32_t firstExclusiveScissor
, uint32_t exclusiveScissorCount
, const VkRect2D
*pExclusiveScissors
)
4075 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstExclusiveScissor
, exclusiveScissorCount
, pExclusiveScissors
);
4076 commandBuffer
->device
->funcs
.p_vkCmdSetExclusiveScissorNV(commandBuffer
->command_buffer
, firstExclusiveScissor
, exclusiveScissorCount
, pExclusiveScissors
);
4079 static void WINAPI
wine_vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer
, const VkExtent2D
*pFragmentSize
, const VkFragmentShadingRateCombinerOpKHR combinerOps
[2])
4081 TRACE("%p, %p, %p\n", commandBuffer
, pFragmentSize
, combinerOps
);
4082 commandBuffer
->device
->funcs
.p_vkCmdSetFragmentShadingRateKHR(commandBuffer
->command_buffer
, pFragmentSize
, combinerOps
);
4085 static void WINAPI
wine_vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer
, VkFrontFace frontFace
)
4087 TRACE("%p, %#x\n", commandBuffer
, frontFace
);
4088 commandBuffer
->device
->funcs
.p_vkCmdSetFrontFaceEXT(commandBuffer
->command_buffer
, frontFace
);
4091 static void WINAPI
wine_vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer
, uint32_t lineStippleFactor
, uint16_t lineStipplePattern
)
4093 TRACE("%p, %u, %u\n", commandBuffer
, lineStippleFactor
, lineStipplePattern
);
4094 commandBuffer
->device
->funcs
.p_vkCmdSetLineStippleEXT(commandBuffer
->command_buffer
, lineStippleFactor
, lineStipplePattern
);
4097 void WINAPI
wine_vkCmdSetLineWidth(VkCommandBuffer commandBuffer
, float lineWidth
)
4099 TRACE("%p, %f\n", commandBuffer
, lineWidth
);
4100 commandBuffer
->device
->funcs
.p_vkCmdSetLineWidth(commandBuffer
->command_buffer
, lineWidth
);
4103 static VkResult WINAPI
wine_vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer
, const VkPerformanceMarkerInfoINTEL
*pMarkerInfo
)
4105 #if defined(USE_STRUCT_CONVERSION)
4107 VkPerformanceMarkerInfoINTEL_host pMarkerInfo_host
;
4108 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
4110 convert_VkPerformanceMarkerInfoINTEL_win_to_host(pMarkerInfo
, &pMarkerInfo_host
);
4111 result
= commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(commandBuffer
->command_buffer
, &pMarkerInfo_host
);
4115 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
4116 return commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(commandBuffer
->command_buffer
, pMarkerInfo
);
4120 static VkResult WINAPI
wine_vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer
, const VkPerformanceOverrideInfoINTEL
*pOverrideInfo
)
4122 #if defined(USE_STRUCT_CONVERSION)
4124 VkPerformanceOverrideInfoINTEL_host pOverrideInfo_host
;
4125 TRACE("%p, %p\n", commandBuffer
, pOverrideInfo
);
4127 convert_VkPerformanceOverrideInfoINTEL_win_to_host(pOverrideInfo
, &pOverrideInfo_host
);
4128 result
= commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(commandBuffer
->command_buffer
, &pOverrideInfo_host
);
4132 TRACE("%p, %p\n", commandBuffer
, pOverrideInfo
);
4133 return commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(commandBuffer
->command_buffer
, pOverrideInfo
);
4137 static VkResult WINAPI
wine_vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer
, const VkPerformanceStreamMarkerInfoINTEL
*pMarkerInfo
)
4139 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
4140 return commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceStreamMarkerINTEL(commandBuffer
->command_buffer
, pMarkerInfo
);
4143 static void WINAPI
wine_vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer
, VkPrimitiveTopology primitiveTopology
)
4145 TRACE("%p, %#x\n", commandBuffer
, primitiveTopology
);
4146 commandBuffer
->device
->funcs
.p_vkCmdSetPrimitiveTopologyEXT(commandBuffer
->command_buffer
, primitiveTopology
);
4149 static void WINAPI
wine_vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer
, const VkSampleLocationsInfoEXT
*pSampleLocationsInfo
)
4151 TRACE("%p, %p\n", commandBuffer
, pSampleLocationsInfo
);
4152 commandBuffer
->device
->funcs
.p_vkCmdSetSampleLocationsEXT(commandBuffer
->command_buffer
, pSampleLocationsInfo
);
4155 void WINAPI
wine_vkCmdSetScissor(VkCommandBuffer commandBuffer
, uint32_t firstScissor
, uint32_t scissorCount
, const VkRect2D
*pScissors
)
4157 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstScissor
, scissorCount
, pScissors
);
4158 commandBuffer
->device
->funcs
.p_vkCmdSetScissor(commandBuffer
->command_buffer
, firstScissor
, scissorCount
, pScissors
);
4161 static void WINAPI
wine_vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer
, uint32_t scissorCount
, const VkRect2D
*pScissors
)
4163 TRACE("%p, %u, %p\n", commandBuffer
, scissorCount
, pScissors
);
4164 commandBuffer
->device
->funcs
.p_vkCmdSetScissorWithCountEXT(commandBuffer
->command_buffer
, scissorCount
, pScissors
);
4167 void WINAPI
wine_vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, uint32_t compareMask
)
4169 TRACE("%p, %#x, %u\n", commandBuffer
, faceMask
, compareMask
);
4170 commandBuffer
->device
->funcs
.p_vkCmdSetStencilCompareMask(commandBuffer
->command_buffer
, faceMask
, compareMask
);
4173 static void WINAPI
wine_vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, VkStencilOp failOp
, VkStencilOp passOp
, VkStencilOp depthFailOp
, VkCompareOp compareOp
)
4175 TRACE("%p, %#x, %#x, %#x, %#x, %#x\n", commandBuffer
, faceMask
, failOp
, passOp
, depthFailOp
, compareOp
);
4176 commandBuffer
->device
->funcs
.p_vkCmdSetStencilOpEXT(commandBuffer
->command_buffer
, faceMask
, failOp
, passOp
, depthFailOp
, compareOp
);
4179 void WINAPI
wine_vkCmdSetStencilReference(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, uint32_t reference
)
4181 TRACE("%p, %#x, %u\n", commandBuffer
, faceMask
, reference
);
4182 commandBuffer
->device
->funcs
.p_vkCmdSetStencilReference(commandBuffer
->command_buffer
, faceMask
, reference
);
4185 static void WINAPI
wine_vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 stencilTestEnable
)
4187 TRACE("%p, %u\n", commandBuffer
, stencilTestEnable
);
4188 commandBuffer
->device
->funcs
.p_vkCmdSetStencilTestEnableEXT(commandBuffer
->command_buffer
, stencilTestEnable
);
4191 void WINAPI
wine_vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, uint32_t writeMask
)
4193 TRACE("%p, %#x, %u\n", commandBuffer
, faceMask
, writeMask
);
4194 commandBuffer
->device
->funcs
.p_vkCmdSetStencilWriteMask(commandBuffer
->command_buffer
, faceMask
, writeMask
);
4197 void WINAPI
wine_vkCmdSetViewport(VkCommandBuffer commandBuffer
, uint32_t firstViewport
, uint32_t viewportCount
, const VkViewport
*pViewports
)
4199 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstViewport
, viewportCount
, pViewports
);
4200 commandBuffer
->device
->funcs
.p_vkCmdSetViewport(commandBuffer
->command_buffer
, firstViewport
, viewportCount
, pViewports
);
4203 static void WINAPI
wine_vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer
, uint32_t firstViewport
, uint32_t viewportCount
, const VkShadingRatePaletteNV
*pShadingRatePalettes
)
4205 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstViewport
, viewportCount
, pShadingRatePalettes
);
4206 commandBuffer
->device
->funcs
.p_vkCmdSetViewportShadingRatePaletteNV(commandBuffer
->command_buffer
, firstViewport
, viewportCount
, pShadingRatePalettes
);
4209 static void WINAPI
wine_vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer
, uint32_t firstViewport
, uint32_t viewportCount
, const VkViewportWScalingNV
*pViewportWScalings
)
4211 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstViewport
, viewportCount
, pViewportWScalings
);
4212 commandBuffer
->device
->funcs
.p_vkCmdSetViewportWScalingNV(commandBuffer
->command_buffer
, firstViewport
, viewportCount
, pViewportWScalings
);
4215 static void WINAPI
wine_vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer
, uint32_t viewportCount
, const VkViewport
*pViewports
)
4217 TRACE("%p, %u, %p\n", commandBuffer
, viewportCount
, pViewports
);
4218 commandBuffer
->device
->funcs
.p_vkCmdSetViewportWithCountEXT(commandBuffer
->command_buffer
, viewportCount
, pViewports
);
4221 static void WINAPI
wine_vkCmdTraceRaysNV(VkCommandBuffer commandBuffer
, VkBuffer raygenShaderBindingTableBuffer
, VkDeviceSize raygenShaderBindingOffset
, VkBuffer missShaderBindingTableBuffer
, VkDeviceSize missShaderBindingOffset
, VkDeviceSize missShaderBindingStride
, VkBuffer hitShaderBindingTableBuffer
, VkDeviceSize hitShaderBindingOffset
, VkDeviceSize hitShaderBindingStride
, VkBuffer callableShaderBindingTableBuffer
, VkDeviceSize callableShaderBindingOffset
, VkDeviceSize callableShaderBindingStride
, uint32_t width
, uint32_t height
, uint32_t depth
)
4223 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(raygenShaderBindingTableBuffer
), wine_dbgstr_longlong(raygenShaderBindingOffset
), wine_dbgstr_longlong(missShaderBindingTableBuffer
), wine_dbgstr_longlong(missShaderBindingOffset
), wine_dbgstr_longlong(missShaderBindingStride
), wine_dbgstr_longlong(hitShaderBindingTableBuffer
), wine_dbgstr_longlong(hitShaderBindingOffset
), wine_dbgstr_longlong(hitShaderBindingStride
), wine_dbgstr_longlong(callableShaderBindingTableBuffer
), wine_dbgstr_longlong(callableShaderBindingOffset
), wine_dbgstr_longlong(callableShaderBindingStride
), width
, height
, depth
);
4224 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysNV(commandBuffer
->command_buffer
, raygenShaderBindingTableBuffer
, raygenShaderBindingOffset
, missShaderBindingTableBuffer
, missShaderBindingOffset
, missShaderBindingStride
, hitShaderBindingTableBuffer
, hitShaderBindingOffset
, hitShaderBindingStride
, callableShaderBindingTableBuffer
, callableShaderBindingOffset
, callableShaderBindingStride
, width
, height
, depth
);
4227 void WINAPI
wine_vkCmdUpdateBuffer(VkCommandBuffer commandBuffer
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, VkDeviceSize dataSize
, const void *pData
)
4229 TRACE("%p, 0x%s, 0x%s, 0x%s, %p\n", commandBuffer
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), wine_dbgstr_longlong(dataSize
), pData
);
4230 commandBuffer
->device
->funcs
.p_vkCmdUpdateBuffer(commandBuffer
->command_buffer
, dstBuffer
, dstOffset
, dataSize
, pData
);
4233 void WINAPI
wine_vkCmdWaitEvents(VkCommandBuffer commandBuffer
, uint32_t eventCount
, const VkEvent
*pEvents
, VkPipelineStageFlags srcStageMask
, VkPipelineStageFlags dstStageMask
, uint32_t memoryBarrierCount
, const VkMemoryBarrier
*pMemoryBarriers
, uint32_t bufferMemoryBarrierCount
, const VkBufferMemoryBarrier
*pBufferMemoryBarriers
, uint32_t imageMemoryBarrierCount
, const VkImageMemoryBarrier
*pImageMemoryBarriers
)
4235 #if defined(USE_STRUCT_CONVERSION)
4236 VkBufferMemoryBarrier_host
*pBufferMemoryBarriers_host
;
4237 VkImageMemoryBarrier_host
*pImageMemoryBarriers_host
;
4238 TRACE("%p, %u, %p, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
4240 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win_to_host(pBufferMemoryBarriers
, bufferMemoryBarrierCount
);
4241 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win_to_host(pImageMemoryBarriers
, imageMemoryBarrierCount
);
4242 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents(commandBuffer
->command_buffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
4244 free_VkBufferMemoryBarrier_array(pBufferMemoryBarriers_host
, bufferMemoryBarrierCount
);
4245 free_VkImageMemoryBarrier_array(pImageMemoryBarriers_host
, imageMemoryBarrierCount
);
4247 TRACE("%p, %u, %p, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
4248 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents(commandBuffer
->command_buffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
4252 static void WINAPI
wine_vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer
, uint32_t accelerationStructureCount
, const VkAccelerationStructureKHR
*pAccelerationStructures
, VkQueryType queryType
, VkQueryPool queryPool
, uint32_t firstQuery
)
4254 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", commandBuffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, wine_dbgstr_longlong(queryPool
), firstQuery
);
4255 commandBuffer
->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesNV(commandBuffer
->command_buffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, queryPool
, firstQuery
);
4258 static void WINAPI
wine_vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer
, VkPipelineStageFlagBits pipelineStage
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, uint32_t marker
)
4260 TRACE("%p, %#x, 0x%s, 0x%s, %u\n", commandBuffer
, pipelineStage
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), marker
);
4261 commandBuffer
->device
->funcs
.p_vkCmdWriteBufferMarkerAMD(commandBuffer
->command_buffer
, pipelineStage
, dstBuffer
, dstOffset
, marker
);
4264 void WINAPI
wine_vkCmdWriteTimestamp(VkCommandBuffer commandBuffer
, VkPipelineStageFlagBits pipelineStage
, VkQueryPool queryPool
, uint32_t query
)
4266 TRACE("%p, %#x, 0x%s, %u\n", commandBuffer
, pipelineStage
, wine_dbgstr_longlong(queryPool
), query
);
4267 commandBuffer
->device
->funcs
.p_vkCmdWriteTimestamp(commandBuffer
->command_buffer
, pipelineStage
, queryPool
, query
);
4270 static VkResult WINAPI
wine_vkCompileDeferredNV(VkDevice device
, VkPipeline pipeline
, uint32_t shader
)
4272 TRACE("%p, 0x%s, %u\n", device
, wine_dbgstr_longlong(pipeline
), shader
);
4273 return device
->funcs
.p_vkCompileDeferredNV(device
->device
, pipeline
, shader
);
4276 static VkResult WINAPI
wine_vkCreateAccelerationStructureNV(VkDevice device
, const VkAccelerationStructureCreateInfoNV
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkAccelerationStructureNV
*pAccelerationStructure
)
4278 #if defined(USE_STRUCT_CONVERSION)
4280 VkAccelerationStructureCreateInfoNV_host pCreateInfo_host
;
4281 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
4283 convert_VkAccelerationStructureCreateInfoNV_win_to_host(pCreateInfo
, &pCreateInfo_host
);
4284 result
= device
->funcs
.p_vkCreateAccelerationStructureNV(device
->device
, &pCreateInfo_host
, NULL
, pAccelerationStructure
);
4288 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
4289 return device
->funcs
.p_vkCreateAccelerationStructureNV(device
->device
, pCreateInfo
, NULL
, pAccelerationStructure
);
4293 VkResult WINAPI
wine_vkCreateBuffer(VkDevice device
, const VkBufferCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkBuffer
*pBuffer
)
4295 #if defined(USE_STRUCT_CONVERSION)
4297 VkBufferCreateInfo_host pCreateInfo_host
;
4298 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pBuffer
);
4300 convert_VkBufferCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
4301 result
= device
->funcs
.p_vkCreateBuffer(device
->device
, &pCreateInfo_host
, NULL
, pBuffer
);
4305 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pBuffer
);
4306 return device
->funcs
.p_vkCreateBuffer(device
->device
, pCreateInfo
, NULL
, pBuffer
);
4310 VkResult WINAPI
wine_vkCreateBufferView(VkDevice device
, const VkBufferViewCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkBufferView
*pView
)
4312 #if defined(USE_STRUCT_CONVERSION)
4314 VkBufferViewCreateInfo_host pCreateInfo_host
;
4315 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
4317 convert_VkBufferViewCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
4318 result
= device
->funcs
.p_vkCreateBufferView(device
->device
, &pCreateInfo_host
, NULL
, pView
);
4322 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
4323 return device
->funcs
.p_vkCreateBufferView(device
->device
, pCreateInfo
, NULL
, pView
);
4327 VkResult WINAPI
wine_vkCreateComputePipelines(VkDevice device
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkComputePipelineCreateInfo
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
4329 #if defined(USE_STRUCT_CONVERSION)
4331 VkComputePipelineCreateInfo_host
*pCreateInfos_host
;
4332 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
4334 pCreateInfos_host
= convert_VkComputePipelineCreateInfo_array_win_to_host(pCreateInfos
, createInfoCount
);
4335 result
= device
->funcs
.p_vkCreateComputePipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
4337 free_VkComputePipelineCreateInfo_array(pCreateInfos_host
, createInfoCount
);
4340 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
4341 return device
->funcs
.p_vkCreateComputePipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
4345 VkResult WINAPI
wine_vkCreateDescriptorPool(VkDevice device
, const VkDescriptorPoolCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorPool
*pDescriptorPool
)
4347 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorPool
);
4348 return device
->funcs
.p_vkCreateDescriptorPool(device
->device
, pCreateInfo
, NULL
, pDescriptorPool
);
4351 VkResult WINAPI
wine_vkCreateDescriptorSetLayout(VkDevice device
, const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorSetLayout
*pSetLayout
)
4353 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSetLayout
);
4354 return device
->funcs
.p_vkCreateDescriptorSetLayout(device
->device
, pCreateInfo
, NULL
, pSetLayout
);
4357 VkResult WINAPI
wine_vkCreateDescriptorUpdateTemplate(VkDevice device
, const VkDescriptorUpdateTemplateCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorUpdateTemplate
*pDescriptorUpdateTemplate
)
4359 #if defined(USE_STRUCT_CONVERSION)
4361 VkDescriptorUpdateTemplateCreateInfo_host pCreateInfo_host
;
4362 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
4364 convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
4365 result
= device
->funcs
.p_vkCreateDescriptorUpdateTemplate(device
->device
, &pCreateInfo_host
, NULL
, pDescriptorUpdateTemplate
);
4369 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
4370 return device
->funcs
.p_vkCreateDescriptorUpdateTemplate(device
->device
, pCreateInfo
, NULL
, pDescriptorUpdateTemplate
);
4374 static VkResult WINAPI
wine_vkCreateDescriptorUpdateTemplateKHR(VkDevice device
, const VkDescriptorUpdateTemplateCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorUpdateTemplate
*pDescriptorUpdateTemplate
)
4376 #if defined(USE_STRUCT_CONVERSION)
4378 VkDescriptorUpdateTemplateCreateInfo_host pCreateInfo_host
;
4379 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
4381 convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
4382 result
= device
->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(device
->device
, &pCreateInfo_host
, NULL
, pDescriptorUpdateTemplate
);
4386 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
4387 return device
->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(device
->device
, pCreateInfo
, NULL
, pDescriptorUpdateTemplate
);
4391 VkResult WINAPI
wine_vkCreateEvent(VkDevice device
, const VkEventCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkEvent
*pEvent
)
4393 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pEvent
);
4394 return device
->funcs
.p_vkCreateEvent(device
->device
, pCreateInfo
, NULL
, pEvent
);
4397 VkResult WINAPI
wine_vkCreateFence(VkDevice device
, const VkFenceCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkFence
*pFence
)
4399 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFence
);
4400 return device
->funcs
.p_vkCreateFence(device
->device
, pCreateInfo
, NULL
, pFence
);
4403 VkResult WINAPI
wine_vkCreateFramebuffer(VkDevice device
, const VkFramebufferCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkFramebuffer
*pFramebuffer
)
4405 #if defined(USE_STRUCT_CONVERSION)
4407 VkFramebufferCreateInfo_host pCreateInfo_host
;
4408 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFramebuffer
);
4410 convert_VkFramebufferCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
4411 result
= device
->funcs
.p_vkCreateFramebuffer(device
->device
, &pCreateInfo_host
, NULL
, pFramebuffer
);
4415 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFramebuffer
);
4416 return device
->funcs
.p_vkCreateFramebuffer(device
->device
, pCreateInfo
, NULL
, pFramebuffer
);
4420 VkResult WINAPI
wine_vkCreateGraphicsPipelines(VkDevice device
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkGraphicsPipelineCreateInfo
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
4422 #if defined(USE_STRUCT_CONVERSION)
4424 VkGraphicsPipelineCreateInfo_host
*pCreateInfos_host
;
4425 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
4427 pCreateInfos_host
= convert_VkGraphicsPipelineCreateInfo_array_win_to_host(pCreateInfos
, createInfoCount
);
4428 result
= device
->funcs
.p_vkCreateGraphicsPipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
4430 free_VkGraphicsPipelineCreateInfo_array(pCreateInfos_host
, createInfoCount
);
4433 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
4434 return device
->funcs
.p_vkCreateGraphicsPipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
4438 static VkResult WINAPI
wine_vkCreateHeadlessSurfaceEXT(VkInstance instance
, const VkHeadlessSurfaceCreateInfoEXT
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSurfaceKHR
*pSurface
)
4440 TRACE("%p, %p, %p, %p\n", instance
, pCreateInfo
, pAllocator
, pSurface
);
4441 return instance
->funcs
.p_vkCreateHeadlessSurfaceEXT(instance
->instance
, pCreateInfo
, NULL
, pSurface
);
4444 VkResult WINAPI
wine_vkCreateImage(VkDevice device
, const VkImageCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkImage
*pImage
)
4446 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pImage
);
4447 return device
->funcs
.p_vkCreateImage(device
->device
, pCreateInfo
, NULL
, pImage
);
4450 VkResult WINAPI
wine_vkCreateImageView(VkDevice device
, const VkImageViewCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkImageView
*pView
)
4452 #if defined(USE_STRUCT_CONVERSION)
4454 VkImageViewCreateInfo_host pCreateInfo_host
;
4455 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
4457 convert_VkImageViewCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
4458 result
= device
->funcs
.p_vkCreateImageView(device
->device
, &pCreateInfo_host
, NULL
, pView
);
4462 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
4463 return device
->funcs
.p_vkCreateImageView(device
->device
, pCreateInfo
, NULL
, pView
);
4467 static VkResult WINAPI
wine_vkCreateIndirectCommandsLayoutNV(VkDevice device
, const VkIndirectCommandsLayoutCreateInfoNV
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkIndirectCommandsLayoutNV
*pIndirectCommandsLayout
)
4469 #if defined(USE_STRUCT_CONVERSION)
4471 VkIndirectCommandsLayoutCreateInfoNV_host pCreateInfo_host
;
4472 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pIndirectCommandsLayout
);
4474 convert_VkIndirectCommandsLayoutCreateInfoNV_win_to_host(pCreateInfo
, &pCreateInfo_host
);
4475 result
= device
->funcs
.p_vkCreateIndirectCommandsLayoutNV(device
->device
, &pCreateInfo_host
, NULL
, pIndirectCommandsLayout
);
4477 free_VkIndirectCommandsLayoutCreateInfoNV(&pCreateInfo_host
);
4480 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pIndirectCommandsLayout
);
4481 return device
->funcs
.p_vkCreateIndirectCommandsLayoutNV(device
->device
, pCreateInfo
, NULL
, pIndirectCommandsLayout
);
4485 VkResult WINAPI
wine_vkCreatePipelineCache(VkDevice device
, const VkPipelineCacheCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkPipelineCache
*pPipelineCache
)
4487 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pPipelineCache
);
4488 return device
->funcs
.p_vkCreatePipelineCache(device
->device
, pCreateInfo
, NULL
, pPipelineCache
);
4491 VkResult WINAPI
wine_vkCreatePipelineLayout(VkDevice device
, const VkPipelineLayoutCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkPipelineLayout
*pPipelineLayout
)
4493 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pPipelineLayout
);
4494 return device
->funcs
.p_vkCreatePipelineLayout(device
->device
, pCreateInfo
, NULL
, pPipelineLayout
);
4497 static VkResult WINAPI
wine_vkCreatePrivateDataSlotEXT(VkDevice device
, const VkPrivateDataSlotCreateInfoEXT
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkPrivateDataSlotEXT
*pPrivateDataSlot
)
4499 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pPrivateDataSlot
);
4500 return device
->funcs
.p_vkCreatePrivateDataSlotEXT(device
->device
, pCreateInfo
, NULL
, pPrivateDataSlot
);
4503 VkResult WINAPI
wine_vkCreateQueryPool(VkDevice device
, const VkQueryPoolCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkQueryPool
*pQueryPool
)
4505 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pQueryPool
);
4506 return device
->funcs
.p_vkCreateQueryPool(device
->device
, pCreateInfo
, NULL
, pQueryPool
);
4509 static VkResult WINAPI
wine_vkCreateRayTracingPipelinesNV(VkDevice device
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkRayTracingPipelineCreateInfoNV
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
4511 #if defined(USE_STRUCT_CONVERSION)
4513 VkRayTracingPipelineCreateInfoNV_host
*pCreateInfos_host
;
4514 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
4516 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoNV_array_win_to_host(pCreateInfos
, createInfoCount
);
4517 result
= device
->funcs
.p_vkCreateRayTracingPipelinesNV(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
4519 free_VkRayTracingPipelineCreateInfoNV_array(pCreateInfos_host
, createInfoCount
);
4522 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
4523 return device
->funcs
.p_vkCreateRayTracingPipelinesNV(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
4527 VkResult WINAPI
wine_vkCreateRenderPass(VkDevice device
, const VkRenderPassCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkRenderPass
*pRenderPass
)
4529 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pRenderPass
);
4530 return device
->funcs
.p_vkCreateRenderPass(device
->device
, pCreateInfo
, NULL
, pRenderPass
);
4533 VkResult WINAPI
wine_vkCreateRenderPass2(VkDevice device
, const VkRenderPassCreateInfo2
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkRenderPass
*pRenderPass
)
4535 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pRenderPass
);
4536 return device
->funcs
.p_vkCreateRenderPass2(device
->device
, pCreateInfo
, NULL
, pRenderPass
);
4539 static VkResult WINAPI
wine_vkCreateRenderPass2KHR(VkDevice device
, const VkRenderPassCreateInfo2
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkRenderPass
*pRenderPass
)
4541 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pRenderPass
);
4542 return device
->funcs
.p_vkCreateRenderPass2KHR(device
->device
, pCreateInfo
, NULL
, pRenderPass
);
4545 VkResult WINAPI
wine_vkCreateSampler(VkDevice device
, const VkSamplerCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSampler
*pSampler
)
4547 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSampler
);
4548 return device
->funcs
.p_vkCreateSampler(device
->device
, pCreateInfo
, NULL
, pSampler
);
4551 VkResult WINAPI
wine_vkCreateSamplerYcbcrConversion(VkDevice device
, const VkSamplerYcbcrConversionCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSamplerYcbcrConversion
*pYcbcrConversion
)
4553 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pYcbcrConversion
);
4554 return device
->funcs
.p_vkCreateSamplerYcbcrConversion(device
->device
, pCreateInfo
, NULL
, pYcbcrConversion
);
4557 static VkResult WINAPI
wine_vkCreateSamplerYcbcrConversionKHR(VkDevice device
, const VkSamplerYcbcrConversionCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSamplerYcbcrConversion
*pYcbcrConversion
)
4559 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pYcbcrConversion
);
4560 return device
->funcs
.p_vkCreateSamplerYcbcrConversionKHR(device
->device
, pCreateInfo
, NULL
, pYcbcrConversion
);
4563 VkResult WINAPI
wine_vkCreateSemaphore(VkDevice device
, const VkSemaphoreCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSemaphore
*pSemaphore
)
4565 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSemaphore
);
4566 return device
->funcs
.p_vkCreateSemaphore(device
->device
, pCreateInfo
, NULL
, pSemaphore
);
4569 VkResult WINAPI
wine_vkCreateShaderModule(VkDevice device
, const VkShaderModuleCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkShaderModule
*pShaderModule
)
4571 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pShaderModule
);
4572 return device
->funcs
.p_vkCreateShaderModule(device
->device
, pCreateInfo
, NULL
, pShaderModule
);
4575 VkResult WINAPI
wine_vkCreateSwapchainKHR(VkDevice device
, const VkSwapchainCreateInfoKHR
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSwapchainKHR
*pSwapchain
)
4577 #if defined(USE_STRUCT_CONVERSION)
4579 VkSwapchainCreateInfoKHR_host pCreateInfo_host
;
4580 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSwapchain
);
4582 convert_VkSwapchainCreateInfoKHR_win_to_host(pCreateInfo
, &pCreateInfo_host
);
4583 result
= device
->funcs
.p_vkCreateSwapchainKHR(device
->device
, &pCreateInfo_host
, NULL
, pSwapchain
);
4587 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSwapchain
);
4588 return device
->funcs
.p_vkCreateSwapchainKHR(device
->device
, pCreateInfo
, NULL
, pSwapchain
);
4592 static VkResult WINAPI
wine_vkCreateValidationCacheEXT(VkDevice device
, const VkValidationCacheCreateInfoEXT
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkValidationCacheEXT
*pValidationCache
)
4594 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pValidationCache
);
4595 return device
->funcs
.p_vkCreateValidationCacheEXT(device
->device
, pCreateInfo
, NULL
, pValidationCache
);
4598 VkResult WINAPI
wine_vkCreateWin32SurfaceKHR(VkInstance instance
, const VkWin32SurfaceCreateInfoKHR
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSurfaceKHR
*pSurface
)
4600 TRACE("%p, %p, %p, %p\n", instance
, pCreateInfo
, pAllocator
, pSurface
);
4601 return instance
->funcs
.p_vkCreateWin32SurfaceKHR(instance
->instance
, pCreateInfo
, NULL
, pSurface
);
4604 static void WINAPI
wine_vkDestroyAccelerationStructureNV(VkDevice device
, VkAccelerationStructureKHR accelerationStructure
, const VkAllocationCallbacks
*pAllocator
)
4606 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(accelerationStructure
), pAllocator
);
4607 device
->funcs
.p_vkDestroyAccelerationStructureNV(device
->device
, accelerationStructure
, NULL
);
4610 void WINAPI
wine_vkDestroyBuffer(VkDevice device
, VkBuffer buffer
, const VkAllocationCallbacks
*pAllocator
)
4612 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(buffer
), pAllocator
);
4613 device
->funcs
.p_vkDestroyBuffer(device
->device
, buffer
, NULL
);
4616 void WINAPI
wine_vkDestroyBufferView(VkDevice device
, VkBufferView bufferView
, const VkAllocationCallbacks
*pAllocator
)
4618 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(bufferView
), pAllocator
);
4619 device
->funcs
.p_vkDestroyBufferView(device
->device
, bufferView
, NULL
);
4622 void WINAPI
wine_vkDestroyDescriptorPool(VkDevice device
, VkDescriptorPool descriptorPool
, const VkAllocationCallbacks
*pAllocator
)
4624 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorPool
), pAllocator
);
4625 device
->funcs
.p_vkDestroyDescriptorPool(device
->device
, descriptorPool
, NULL
);
4628 void WINAPI
wine_vkDestroyDescriptorSetLayout(VkDevice device
, VkDescriptorSetLayout descriptorSetLayout
, const VkAllocationCallbacks
*pAllocator
)
4630 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorSetLayout
), pAllocator
);
4631 device
->funcs
.p_vkDestroyDescriptorSetLayout(device
->device
, descriptorSetLayout
, NULL
);
4634 void WINAPI
wine_vkDestroyDescriptorUpdateTemplate(VkDevice device
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const VkAllocationCallbacks
*pAllocator
)
4636 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorUpdateTemplate
), pAllocator
);
4637 device
->funcs
.p_vkDestroyDescriptorUpdateTemplate(device
->device
, descriptorUpdateTemplate
, NULL
);
4640 static void WINAPI
wine_vkDestroyDescriptorUpdateTemplateKHR(VkDevice device
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const VkAllocationCallbacks
*pAllocator
)
4642 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorUpdateTemplate
), pAllocator
);
4643 device
->funcs
.p_vkDestroyDescriptorUpdateTemplateKHR(device
->device
, descriptorUpdateTemplate
, NULL
);
4646 void WINAPI
wine_vkDestroyEvent(VkDevice device
, VkEvent event
, const VkAllocationCallbacks
*pAllocator
)
4648 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(event
), pAllocator
);
4649 device
->funcs
.p_vkDestroyEvent(device
->device
, event
, NULL
);
4652 void WINAPI
wine_vkDestroyFence(VkDevice device
, VkFence fence
, const VkAllocationCallbacks
*pAllocator
)
4654 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(fence
), pAllocator
);
4655 device
->funcs
.p_vkDestroyFence(device
->device
, fence
, NULL
);
4658 void WINAPI
wine_vkDestroyFramebuffer(VkDevice device
, VkFramebuffer framebuffer
, const VkAllocationCallbacks
*pAllocator
)
4660 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(framebuffer
), pAllocator
);
4661 device
->funcs
.p_vkDestroyFramebuffer(device
->device
, framebuffer
, NULL
);
4664 void WINAPI
wine_vkDestroyImage(VkDevice device
, VkImage image
, const VkAllocationCallbacks
*pAllocator
)
4666 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(image
), pAllocator
);
4667 device
->funcs
.p_vkDestroyImage(device
->device
, image
, NULL
);
4670 void WINAPI
wine_vkDestroyImageView(VkDevice device
, VkImageView imageView
, const VkAllocationCallbacks
*pAllocator
)
4672 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(imageView
), pAllocator
);
4673 device
->funcs
.p_vkDestroyImageView(device
->device
, imageView
, NULL
);
4676 static void WINAPI
wine_vkDestroyIndirectCommandsLayoutNV(VkDevice device
, VkIndirectCommandsLayoutNV indirectCommandsLayout
, const VkAllocationCallbacks
*pAllocator
)
4678 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(indirectCommandsLayout
), pAllocator
);
4679 device
->funcs
.p_vkDestroyIndirectCommandsLayoutNV(device
->device
, indirectCommandsLayout
, NULL
);
4682 void WINAPI
wine_vkDestroyPipeline(VkDevice device
, VkPipeline pipeline
, const VkAllocationCallbacks
*pAllocator
)
4684 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), pAllocator
);
4685 device
->funcs
.p_vkDestroyPipeline(device
->device
, pipeline
, NULL
);
4688 void WINAPI
wine_vkDestroyPipelineCache(VkDevice device
, VkPipelineCache pipelineCache
, const VkAllocationCallbacks
*pAllocator
)
4690 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), pAllocator
);
4691 device
->funcs
.p_vkDestroyPipelineCache(device
->device
, pipelineCache
, NULL
);
4694 void WINAPI
wine_vkDestroyPipelineLayout(VkDevice device
, VkPipelineLayout pipelineLayout
, const VkAllocationCallbacks
*pAllocator
)
4696 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipelineLayout
), pAllocator
);
4697 device
->funcs
.p_vkDestroyPipelineLayout(device
->device
, pipelineLayout
, NULL
);
4700 static void WINAPI
wine_vkDestroyPrivateDataSlotEXT(VkDevice device
, VkPrivateDataSlotEXT privateDataSlot
, const VkAllocationCallbacks
*pAllocator
)
4702 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(privateDataSlot
), pAllocator
);
4703 device
->funcs
.p_vkDestroyPrivateDataSlotEXT(device
->device
, privateDataSlot
, NULL
);
4706 void WINAPI
wine_vkDestroyQueryPool(VkDevice device
, VkQueryPool queryPool
, const VkAllocationCallbacks
*pAllocator
)
4708 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(queryPool
), pAllocator
);
4709 device
->funcs
.p_vkDestroyQueryPool(device
->device
, queryPool
, NULL
);
4712 void WINAPI
wine_vkDestroyRenderPass(VkDevice device
, VkRenderPass renderPass
, const VkAllocationCallbacks
*pAllocator
)
4714 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(renderPass
), pAllocator
);
4715 device
->funcs
.p_vkDestroyRenderPass(device
->device
, renderPass
, NULL
);
4718 void WINAPI
wine_vkDestroySampler(VkDevice device
, VkSampler sampler
, const VkAllocationCallbacks
*pAllocator
)
4720 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(sampler
), pAllocator
);
4721 device
->funcs
.p_vkDestroySampler(device
->device
, sampler
, NULL
);
4724 void WINAPI
wine_vkDestroySamplerYcbcrConversion(VkDevice device
, VkSamplerYcbcrConversion ycbcrConversion
, const VkAllocationCallbacks
*pAllocator
)
4726 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(ycbcrConversion
), pAllocator
);
4727 device
->funcs
.p_vkDestroySamplerYcbcrConversion(device
->device
, ycbcrConversion
, NULL
);
4730 static void WINAPI
wine_vkDestroySamplerYcbcrConversionKHR(VkDevice device
, VkSamplerYcbcrConversion ycbcrConversion
, const VkAllocationCallbacks
*pAllocator
)
4732 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(ycbcrConversion
), pAllocator
);
4733 device
->funcs
.p_vkDestroySamplerYcbcrConversionKHR(device
->device
, ycbcrConversion
, NULL
);
4736 void WINAPI
wine_vkDestroySemaphore(VkDevice device
, VkSemaphore semaphore
, const VkAllocationCallbacks
*pAllocator
)
4738 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(semaphore
), pAllocator
);
4739 device
->funcs
.p_vkDestroySemaphore(device
->device
, semaphore
, NULL
);
4742 void WINAPI
wine_vkDestroyShaderModule(VkDevice device
, VkShaderModule shaderModule
, const VkAllocationCallbacks
*pAllocator
)
4744 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(shaderModule
), pAllocator
);
4745 device
->funcs
.p_vkDestroyShaderModule(device
->device
, shaderModule
, NULL
);
4748 void WINAPI
wine_vkDestroySurfaceKHR(VkInstance instance
, VkSurfaceKHR surface
, const VkAllocationCallbacks
*pAllocator
)
4750 TRACE("%p, 0x%s, %p\n", instance
, wine_dbgstr_longlong(surface
), pAllocator
);
4751 instance
->funcs
.p_vkDestroySurfaceKHR(instance
->instance
, surface
, NULL
);
4754 void WINAPI
wine_vkDestroySwapchainKHR(VkDevice device
, VkSwapchainKHR swapchain
, const VkAllocationCallbacks
*pAllocator
)
4756 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(swapchain
), pAllocator
);
4757 device
->funcs
.p_vkDestroySwapchainKHR(device
->device
, swapchain
, NULL
);
4760 static void WINAPI
wine_vkDestroyValidationCacheEXT(VkDevice device
, VkValidationCacheEXT validationCache
, const VkAllocationCallbacks
*pAllocator
)
4762 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(validationCache
), pAllocator
);
4763 device
->funcs
.p_vkDestroyValidationCacheEXT(device
->device
, validationCache
, NULL
);
4766 VkResult WINAPI
wine_vkDeviceWaitIdle(VkDevice device
)
4768 TRACE("%p\n", device
);
4769 return device
->funcs
.p_vkDeviceWaitIdle(device
->device
);
4772 VkResult WINAPI
wine_vkEndCommandBuffer(VkCommandBuffer commandBuffer
)
4774 TRACE("%p\n", commandBuffer
);
4775 return commandBuffer
->device
->funcs
.p_vkEndCommandBuffer(commandBuffer
->command_buffer
);
4778 VkResult WINAPI
wine_vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice
, uint32_t *pPropertyCount
, VkLayerProperties
*pProperties
)
4780 TRACE("%p, %p, %p\n", physicalDevice
, pPropertyCount
, pProperties
);
4781 return physicalDevice
->instance
->funcs
.p_vkEnumerateDeviceLayerProperties(physicalDevice
->phys_dev
, pPropertyCount
, pProperties
);
4784 static VkResult WINAPI
wine_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
, uint32_t *pCounterCount
, VkPerformanceCounterKHR
*pCounters
, VkPerformanceCounterDescriptionKHR
*pCounterDescriptions
)
4786 TRACE("%p, %u, %p, %p, %p\n", physicalDevice
, queueFamilyIndex
, pCounterCount
, pCounters
, pCounterDescriptions
);
4787 return physicalDevice
->instance
->funcs
.p_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(physicalDevice
->phys_dev
, queueFamilyIndex
, pCounterCount
, pCounters
, pCounterDescriptions
);
4790 VkResult WINAPI
wine_vkFlushMappedMemoryRanges(VkDevice device
, uint32_t memoryRangeCount
, const VkMappedMemoryRange
*pMemoryRanges
)
4792 #if defined(USE_STRUCT_CONVERSION)
4794 VkMappedMemoryRange_host
*pMemoryRanges_host
;
4795 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
4797 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win_to_host(pMemoryRanges
, memoryRangeCount
);
4798 result
= device
->funcs
.p_vkFlushMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges_host
);
4800 free_VkMappedMemoryRange_array(pMemoryRanges_host
, memoryRangeCount
);
4803 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
4804 return device
->funcs
.p_vkFlushMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges
);
4808 VkResult WINAPI
wine_vkFreeDescriptorSets(VkDevice device
, VkDescriptorPool descriptorPool
, uint32_t descriptorSetCount
, const VkDescriptorSet
*pDescriptorSets
)
4810 TRACE("%p, 0x%s, %u, %p\n", device
, wine_dbgstr_longlong(descriptorPool
), descriptorSetCount
, pDescriptorSets
);
4811 return device
->funcs
.p_vkFreeDescriptorSets(device
->device
, descriptorPool
, descriptorSetCount
, pDescriptorSets
);
4814 void WINAPI
wine_vkFreeMemory(VkDevice device
, VkDeviceMemory memory
, const VkAllocationCallbacks
*pAllocator
)
4816 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(memory
), pAllocator
);
4817 device
->funcs
.p_vkFreeMemory(device
->device
, memory
, NULL
);
4820 static VkResult WINAPI
wine_vkGetAccelerationStructureHandleNV(VkDevice device
, VkAccelerationStructureKHR accelerationStructure
, size_t dataSize
, void *pData
)
4822 TRACE("%p, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(accelerationStructure
), wine_dbgstr_longlong(dataSize
), pData
);
4823 return device
->funcs
.p_vkGetAccelerationStructureHandleNV(device
->device
, accelerationStructure
, dataSize
, pData
);
4826 static void WINAPI
wine_vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device
, const VkAccelerationStructureMemoryRequirementsInfoNV
*pInfo
, VkMemoryRequirements2KHR
*pMemoryRequirements
)
4828 #if defined(USE_STRUCT_CONVERSION)
4829 VkAccelerationStructureMemoryRequirementsInfoNV_host pInfo_host
;
4830 VkMemoryRequirements2KHR_host pMemoryRequirements_host
;
4831 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
4833 convert_VkAccelerationStructureMemoryRequirementsInfoNV_win_to_host(pInfo
, &pInfo_host
);
4834 convert_VkMemoryRequirements2KHR_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
4835 device
->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
4837 convert_VkMemoryRequirements2KHR_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
4839 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
4840 device
->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(device
->device
, pInfo
, pMemoryRequirements
);
4844 VkDeviceAddress WINAPI
wine_vkGetBufferDeviceAddress(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
4846 #if defined(USE_STRUCT_CONVERSION)
4847 VkDeviceAddress result
;
4848 VkBufferDeviceAddressInfo_host pInfo_host
;
4849 TRACE("%p, %p\n", device
, pInfo
);
4851 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
4852 result
= device
->funcs
.p_vkGetBufferDeviceAddress(device
->device
, &pInfo_host
);
4856 TRACE("%p, %p\n", device
, pInfo
);
4857 return device
->funcs
.p_vkGetBufferDeviceAddress(device
->device
, pInfo
);
4861 static VkDeviceAddress WINAPI
wine_vkGetBufferDeviceAddressEXT(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
4863 #if defined(USE_STRUCT_CONVERSION)
4864 VkDeviceAddress result
;
4865 VkBufferDeviceAddressInfo_host pInfo_host
;
4866 TRACE("%p, %p\n", device
, pInfo
);
4868 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
4869 result
= device
->funcs
.p_vkGetBufferDeviceAddressEXT(device
->device
, &pInfo_host
);
4873 TRACE("%p, %p\n", device
, pInfo
);
4874 return device
->funcs
.p_vkGetBufferDeviceAddressEXT(device
->device
, pInfo
);
4878 static VkDeviceAddress WINAPI
wine_vkGetBufferDeviceAddressKHR(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
4880 #if defined(USE_STRUCT_CONVERSION)
4881 VkDeviceAddress result
;
4882 VkBufferDeviceAddressInfo_host pInfo_host
;
4883 TRACE("%p, %p\n", device
, pInfo
);
4885 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
4886 result
= device
->funcs
.p_vkGetBufferDeviceAddressKHR(device
->device
, &pInfo_host
);
4890 TRACE("%p, %p\n", device
, pInfo
);
4891 return device
->funcs
.p_vkGetBufferDeviceAddressKHR(device
->device
, pInfo
);
4895 void WINAPI
wine_vkGetBufferMemoryRequirements(VkDevice device
, VkBuffer buffer
, VkMemoryRequirements
*pMemoryRequirements
)
4897 #if defined(USE_STRUCT_CONVERSION)
4898 VkMemoryRequirements_host pMemoryRequirements_host
;
4899 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(buffer
), pMemoryRequirements
);
4901 device
->funcs
.p_vkGetBufferMemoryRequirements(device
->device
, buffer
, &pMemoryRequirements_host
);
4903 convert_VkMemoryRequirements_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
4905 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(buffer
), pMemoryRequirements
);
4906 device
->funcs
.p_vkGetBufferMemoryRequirements(device
->device
, buffer
, pMemoryRequirements
);
4910 void WINAPI
wine_vkGetBufferMemoryRequirements2(VkDevice device
, const VkBufferMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
4912 #if defined(USE_STRUCT_CONVERSION)
4913 VkBufferMemoryRequirementsInfo2_host pInfo_host
;
4914 VkMemoryRequirements2_host pMemoryRequirements_host
;
4915 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
4917 convert_VkBufferMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
4918 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
4919 device
->funcs
.p_vkGetBufferMemoryRequirements2(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
4921 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
4923 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
4924 device
->funcs
.p_vkGetBufferMemoryRequirements2(device
->device
, pInfo
, pMemoryRequirements
);
4928 static void WINAPI
wine_vkGetBufferMemoryRequirements2KHR(VkDevice device
, const VkBufferMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
4930 #if defined(USE_STRUCT_CONVERSION)
4931 VkBufferMemoryRequirementsInfo2_host pInfo_host
;
4932 VkMemoryRequirements2_host pMemoryRequirements_host
;
4933 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
4935 convert_VkBufferMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
4936 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
4937 device
->funcs
.p_vkGetBufferMemoryRequirements2KHR(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
4939 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
4941 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
4942 device
->funcs
.p_vkGetBufferMemoryRequirements2KHR(device
->device
, pInfo
, pMemoryRequirements
);
4946 uint64_t WINAPI
wine_vkGetBufferOpaqueCaptureAddress(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
4948 #if defined(USE_STRUCT_CONVERSION)
4950 VkBufferDeviceAddressInfo_host pInfo_host
;
4951 TRACE("%p, %p\n", device
, pInfo
);
4953 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
4954 result
= device
->funcs
.p_vkGetBufferOpaqueCaptureAddress(device
->device
, &pInfo_host
);
4958 TRACE("%p, %p\n", device
, pInfo
);
4959 return device
->funcs
.p_vkGetBufferOpaqueCaptureAddress(device
->device
, pInfo
);
4963 static uint64_t WINAPI
wine_vkGetBufferOpaqueCaptureAddressKHR(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
4965 #if defined(USE_STRUCT_CONVERSION)
4967 VkBufferDeviceAddressInfo_host pInfo_host
;
4968 TRACE("%p, %p\n", device
, pInfo
);
4970 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
4971 result
= device
->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(device
->device
, &pInfo_host
);
4975 TRACE("%p, %p\n", device
, pInfo
);
4976 return device
->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(device
->device
, pInfo
);
4980 void WINAPI
wine_vkGetDescriptorSetLayoutSupport(VkDevice device
, const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
, VkDescriptorSetLayoutSupport
*pSupport
)
4982 TRACE("%p, %p, %p\n", device
, pCreateInfo
, pSupport
);
4983 device
->funcs
.p_vkGetDescriptorSetLayoutSupport(device
->device
, pCreateInfo
, pSupport
);
4986 static void WINAPI
wine_vkGetDescriptorSetLayoutSupportKHR(VkDevice device
, const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
, VkDescriptorSetLayoutSupport
*pSupport
)
4988 TRACE("%p, %p, %p\n", device
, pCreateInfo
, pSupport
);
4989 device
->funcs
.p_vkGetDescriptorSetLayoutSupportKHR(device
->device
, pCreateInfo
, pSupport
);
4992 void WINAPI
wine_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device
, uint32_t heapIndex
, uint32_t localDeviceIndex
, uint32_t remoteDeviceIndex
, VkPeerMemoryFeatureFlags
*pPeerMemoryFeatures
)
4994 TRACE("%p, %u, %u, %u, %p\n", device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
4995 device
->funcs
.p_vkGetDeviceGroupPeerMemoryFeatures(device
->device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
4998 static void WINAPI
wine_vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device
, uint32_t heapIndex
, uint32_t localDeviceIndex
, uint32_t remoteDeviceIndex
, VkPeerMemoryFeatureFlags
*pPeerMemoryFeatures
)
5000 TRACE("%p, %u, %u, %u, %p\n", device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
5001 device
->funcs
.p_vkGetDeviceGroupPeerMemoryFeaturesKHR(device
->device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
5004 VkResult WINAPI
wine_vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device
, VkDeviceGroupPresentCapabilitiesKHR
*pDeviceGroupPresentCapabilities
)
5006 TRACE("%p, %p\n", device
, pDeviceGroupPresentCapabilities
);
5007 return device
->funcs
.p_vkGetDeviceGroupPresentCapabilitiesKHR(device
->device
, pDeviceGroupPresentCapabilities
);
5010 VkResult WINAPI
wine_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device
, VkSurfaceKHR surface
, VkDeviceGroupPresentModeFlagsKHR
*pModes
)
5012 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(surface
), pModes
);
5013 return device
->funcs
.p_vkGetDeviceGroupSurfacePresentModesKHR(device
->device
, surface
, pModes
);
5016 void WINAPI
wine_vkGetDeviceMemoryCommitment(VkDevice device
, VkDeviceMemory memory
, VkDeviceSize
*pCommittedMemoryInBytes
)
5018 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(memory
), pCommittedMemoryInBytes
);
5019 device
->funcs
.p_vkGetDeviceMemoryCommitment(device
->device
, memory
, pCommittedMemoryInBytes
);
5022 uint64_t WINAPI
wine_vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device
, const VkDeviceMemoryOpaqueCaptureAddressInfo
*pInfo
)
5024 #if defined(USE_STRUCT_CONVERSION)
5026 VkDeviceMemoryOpaqueCaptureAddressInfo_host pInfo_host
;
5027 TRACE("%p, %p\n", device
, pInfo
);
5029 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(pInfo
, &pInfo_host
);
5030 result
= device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(device
->device
, &pInfo_host
);
5034 TRACE("%p, %p\n", device
, pInfo
);
5035 return device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(device
->device
, pInfo
);
5039 static uint64_t WINAPI
wine_vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device
, const VkDeviceMemoryOpaqueCaptureAddressInfo
*pInfo
)
5041 #if defined(USE_STRUCT_CONVERSION)
5043 VkDeviceMemoryOpaqueCaptureAddressInfo_host pInfo_host
;
5044 TRACE("%p, %p\n", device
, pInfo
);
5046 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(pInfo
, &pInfo_host
);
5047 result
= device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(device
->device
, &pInfo_host
);
5051 TRACE("%p, %p\n", device
, pInfo
);
5052 return device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(device
->device
, pInfo
);
5056 VkResult WINAPI
wine_vkGetEventStatus(VkDevice device
, VkEvent event
)
5058 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(event
));
5059 return device
->funcs
.p_vkGetEventStatus(device
->device
, event
);
5062 VkResult WINAPI
wine_vkGetFenceStatus(VkDevice device
, VkFence fence
)
5064 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(fence
));
5065 return device
->funcs
.p_vkGetFenceStatus(device
->device
, fence
);
5068 static void WINAPI
wine_vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device
, const VkGeneratedCommandsMemoryRequirementsInfoNV
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
5070 #if defined(USE_STRUCT_CONVERSION)
5071 VkGeneratedCommandsMemoryRequirementsInfoNV_host pInfo_host
;
5072 VkMemoryRequirements2_host pMemoryRequirements_host
;
5073 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5075 convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win_to_host(pInfo
, &pInfo_host
);
5076 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
5077 device
->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
5079 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
5081 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5082 device
->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(device
->device
, pInfo
, pMemoryRequirements
);
5086 void WINAPI
wine_vkGetImageMemoryRequirements(VkDevice device
, VkImage image
, VkMemoryRequirements
*pMemoryRequirements
)
5088 #if defined(USE_STRUCT_CONVERSION)
5089 VkMemoryRequirements_host pMemoryRequirements_host
;
5090 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(image
), pMemoryRequirements
);
5092 device
->funcs
.p_vkGetImageMemoryRequirements(device
->device
, image
, &pMemoryRequirements_host
);
5094 convert_VkMemoryRequirements_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
5096 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(image
), pMemoryRequirements
);
5097 device
->funcs
.p_vkGetImageMemoryRequirements(device
->device
, image
, pMemoryRequirements
);
5101 void WINAPI
wine_vkGetImageMemoryRequirements2(VkDevice device
, const VkImageMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
5103 #if defined(USE_STRUCT_CONVERSION)
5104 VkImageMemoryRequirementsInfo2_host pInfo_host
;
5105 VkMemoryRequirements2_host pMemoryRequirements_host
;
5106 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5108 convert_VkImageMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
5109 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
5110 device
->funcs
.p_vkGetImageMemoryRequirements2(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
5112 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
5114 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5115 device
->funcs
.p_vkGetImageMemoryRequirements2(device
->device
, pInfo
, pMemoryRequirements
);
5119 static void WINAPI
wine_vkGetImageMemoryRequirements2KHR(VkDevice device
, const VkImageMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
5121 #if defined(USE_STRUCT_CONVERSION)
5122 VkImageMemoryRequirementsInfo2_host pInfo_host
;
5123 VkMemoryRequirements2_host pMemoryRequirements_host
;
5124 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5126 convert_VkImageMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
5127 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
5128 device
->funcs
.p_vkGetImageMemoryRequirements2KHR(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
5130 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
5132 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5133 device
->funcs
.p_vkGetImageMemoryRequirements2KHR(device
->device
, pInfo
, pMemoryRequirements
);
5137 void WINAPI
wine_vkGetImageSparseMemoryRequirements(VkDevice device
, VkImage image
, uint32_t *pSparseMemoryRequirementCount
, VkSparseImageMemoryRequirements
*pSparseMemoryRequirements
)
5139 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(image
), pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5140 device
->funcs
.p_vkGetImageSparseMemoryRequirements(device
->device
, image
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5143 void WINAPI
wine_vkGetImageSparseMemoryRequirements2(VkDevice device
, const VkImageSparseMemoryRequirementsInfo2
*pInfo
, uint32_t *pSparseMemoryRequirementCount
, VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements
)
5145 #if defined(USE_STRUCT_CONVERSION)
5146 VkImageSparseMemoryRequirementsInfo2_host pInfo_host
;
5147 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5149 convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
5150 device
->funcs
.p_vkGetImageSparseMemoryRequirements2(device
->device
, &pInfo_host
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5153 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5154 device
->funcs
.p_vkGetImageSparseMemoryRequirements2(device
->device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5158 static void WINAPI
wine_vkGetImageSparseMemoryRequirements2KHR(VkDevice device
, const VkImageSparseMemoryRequirementsInfo2
*pInfo
, uint32_t *pSparseMemoryRequirementCount
, VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements
)
5160 #if defined(USE_STRUCT_CONVERSION)
5161 VkImageSparseMemoryRequirementsInfo2_host pInfo_host
;
5162 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5164 convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
5165 device
->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(device
->device
, &pInfo_host
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5168 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5169 device
->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(device
->device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
5173 void WINAPI
wine_vkGetImageSubresourceLayout(VkDevice device
, VkImage image
, const VkImageSubresource
*pSubresource
, VkSubresourceLayout
*pLayout
)
5175 #if defined(USE_STRUCT_CONVERSION)
5176 VkSubresourceLayout_host pLayout_host
;
5177 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(image
), pSubresource
, pLayout
);
5179 device
->funcs
.p_vkGetImageSubresourceLayout(device
->device
, image
, pSubresource
, &pLayout_host
);
5181 convert_VkSubresourceLayout_host_to_win(&pLayout_host
, pLayout
);
5183 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(image
), pSubresource
, pLayout
);
5184 device
->funcs
.p_vkGetImageSubresourceLayout(device
->device
, image
, pSubresource
, pLayout
);
5188 static VkResult WINAPI
wine_vkGetMemoryHostPointerPropertiesEXT(VkDevice device
, VkExternalMemoryHandleTypeFlagBits handleType
, const void *pHostPointer
, VkMemoryHostPointerPropertiesEXT
*pMemoryHostPointerProperties
)
5190 TRACE("%p, %#x, %p, %p\n", device
, handleType
, pHostPointer
, pMemoryHostPointerProperties
);
5191 return device
->funcs
.p_vkGetMemoryHostPointerPropertiesEXT(device
->device
, handleType
, pHostPointer
, pMemoryHostPointerProperties
);
5194 static VkResult WINAPI
wine_vkGetPerformanceParameterINTEL(VkDevice device
, VkPerformanceParameterTypeINTEL parameter
, VkPerformanceValueINTEL
*pValue
)
5196 TRACE("%p, %#x, %p\n", device
, parameter
, pValue
);
5197 return device
->funcs
.p_vkGetPerformanceParameterINTEL(device
->device
, parameter
, pValue
);
5200 static VkResult WINAPI
wine_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice
, uint32_t *pPropertyCount
, VkCooperativeMatrixPropertiesNV
*pProperties
)
5202 TRACE("%p, %p, %p\n", physicalDevice
, pPropertyCount
, pProperties
);
5203 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(physicalDevice
->phys_dev
, pPropertyCount
, pProperties
);
5206 void WINAPI
wine_vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceFeatures
*pFeatures
)
5208 TRACE("%p, %p\n", physicalDevice
, pFeatures
);
5209 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFeatures(physicalDevice
->phys_dev
, pFeatures
);
5212 void WINAPI
wine_vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceFeatures2
*pFeatures
)
5214 TRACE("%p, %p\n", physicalDevice
, pFeatures
);
5215 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2(physicalDevice
->phys_dev
, pFeatures
);
5218 static void WINAPI
wine_vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceFeatures2
*pFeatures
)
5220 TRACE("%p, %p\n", physicalDevice
, pFeatures
);
5221 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2KHR(physicalDevice
->phys_dev
, pFeatures
);
5224 void WINAPI
wine_vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice
, VkFormat format
, VkFormatProperties
*pFormatProperties
)
5226 TRACE("%p, %#x, %p\n", physicalDevice
, format
, pFormatProperties
);
5227 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties(physicalDevice
->phys_dev
, format
, pFormatProperties
);
5230 void WINAPI
wine_vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice
, VkFormat format
, VkFormatProperties2
*pFormatProperties
)
5232 TRACE("%p, %#x, %p\n", physicalDevice
, format
, pFormatProperties
);
5233 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2(physicalDevice
->phys_dev
, format
, pFormatProperties
);
5236 static void WINAPI
wine_vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice
, VkFormat format
, VkFormatProperties2
*pFormatProperties
)
5238 TRACE("%p, %#x, %p\n", physicalDevice
, format
, pFormatProperties
);
5239 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice
->phys_dev
, format
, pFormatProperties
);
5242 static VkResult WINAPI
wine_vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice
, uint32_t *pFragmentShadingRateCount
, VkPhysicalDeviceFragmentShadingRateKHR
*pFragmentShadingRates
)
5244 TRACE("%p, %p, %p\n", physicalDevice
, pFragmentShadingRateCount
, pFragmentShadingRates
);
5245 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFragmentShadingRatesKHR(physicalDevice
->phys_dev
, pFragmentShadingRateCount
, pFragmentShadingRates
);
5248 VkResult WINAPI
wine_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice
, VkFormat format
, VkImageType type
, VkImageTiling tiling
, VkImageUsageFlags usage
, VkImageCreateFlags flags
, VkImageFormatProperties
*pImageFormatProperties
)
5250 #if defined(USE_STRUCT_CONVERSION)
5252 VkImageFormatProperties_host pImageFormatProperties_host
;
5253 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p\n", physicalDevice
, format
, type
, tiling
, usage
, flags
, pImageFormatProperties
);
5255 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties(physicalDevice
->phys_dev
, format
, type
, tiling
, usage
, flags
, &pImageFormatProperties_host
);
5257 convert_VkImageFormatProperties_host_to_win(&pImageFormatProperties_host
, pImageFormatProperties
);
5260 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p\n", physicalDevice
, format
, type
, tiling
, usage
, flags
, pImageFormatProperties
);
5261 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties(physicalDevice
->phys_dev
, format
, type
, tiling
, usage
, flags
, pImageFormatProperties
);
5265 VkResult
thunk_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceImageFormatInfo2
*pImageFormatInfo
, VkImageFormatProperties2
*pImageFormatProperties
)
5267 #if defined(USE_STRUCT_CONVERSION)
5269 VkImageFormatProperties2_host pImageFormatProperties_host
;
5270 convert_VkImageFormatProperties2_win_to_host(pImageFormatProperties
, &pImageFormatProperties_host
);
5271 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice
->phys_dev
, pImageFormatInfo
, &pImageFormatProperties_host
);
5273 convert_VkImageFormatProperties2_host_to_win(&pImageFormatProperties_host
, pImageFormatProperties
);
5276 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice
->phys_dev
, pImageFormatInfo
, pImageFormatProperties
);
5280 VkResult
thunk_vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceImageFormatInfo2
*pImageFormatInfo
, VkImageFormatProperties2
*pImageFormatProperties
)
5282 #if defined(USE_STRUCT_CONVERSION)
5284 VkImageFormatProperties2_host pImageFormatProperties_host
;
5285 convert_VkImageFormatProperties2_win_to_host(pImageFormatProperties
, &pImageFormatProperties_host
);
5286 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice
->phys_dev
, pImageFormatInfo
, &pImageFormatProperties_host
);
5288 convert_VkImageFormatProperties2_host_to_win(&pImageFormatProperties_host
, pImageFormatProperties
);
5291 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice
->phys_dev
, pImageFormatInfo
, pImageFormatProperties
);
5295 void WINAPI
wine_vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceMemoryProperties
*pMemoryProperties
)
5297 #if defined(USE_STRUCT_CONVERSION)
5298 VkPhysicalDeviceMemoryProperties_host pMemoryProperties_host
;
5299 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
5301 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(physicalDevice
->phys_dev
, &pMemoryProperties_host
);
5303 convert_VkPhysicalDeviceMemoryProperties_host_to_win(&pMemoryProperties_host
, pMemoryProperties
);
5305 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
5306 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(physicalDevice
->phys_dev
, pMemoryProperties
);
5310 void WINAPI
wine_vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceMemoryProperties2
*pMemoryProperties
)
5312 #if defined(USE_STRUCT_CONVERSION)
5313 VkPhysicalDeviceMemoryProperties2_host pMemoryProperties_host
;
5314 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
5316 convert_VkPhysicalDeviceMemoryProperties2_win_to_host(pMemoryProperties
, &pMemoryProperties_host
);
5317 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(physicalDevice
->phys_dev
, &pMemoryProperties_host
);
5319 convert_VkPhysicalDeviceMemoryProperties2_host_to_win(&pMemoryProperties_host
, pMemoryProperties
);
5321 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
5322 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(physicalDevice
->phys_dev
, pMemoryProperties
);
5326 static void WINAPI
wine_vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceMemoryProperties2
*pMemoryProperties
)
5328 #if defined(USE_STRUCT_CONVERSION)
5329 VkPhysicalDeviceMemoryProperties2_host pMemoryProperties_host
;
5330 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
5332 convert_VkPhysicalDeviceMemoryProperties2_win_to_host(pMemoryProperties
, &pMemoryProperties_host
);
5333 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice
->phys_dev
, &pMemoryProperties_host
);
5335 convert_VkPhysicalDeviceMemoryProperties2_host_to_win(&pMemoryProperties_host
, pMemoryProperties
);
5337 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
5338 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice
->phys_dev
, pMemoryProperties
);
5342 static void WINAPI
wine_vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice
, VkSampleCountFlagBits samples
, VkMultisamplePropertiesEXT
*pMultisampleProperties
)
5344 TRACE("%p, %#x, %p\n", physicalDevice
, samples
, pMultisampleProperties
);
5345 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMultisamplePropertiesEXT(physicalDevice
->phys_dev
, samples
, pMultisampleProperties
);
5348 VkResult WINAPI
wine_vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pRectCount
, VkRect2D
*pRects
)
5350 TRACE("%p, 0x%s, %p, %p\n", physicalDevice
, wine_dbgstr_longlong(surface
), pRectCount
, pRects
);
5351 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDevicePresentRectanglesKHR(physicalDevice
->phys_dev
, surface
, pRectCount
, pRects
);
5354 void WINAPI
wine_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceProperties
*pProperties
)
5356 #if defined(USE_STRUCT_CONVERSION)
5357 VkPhysicalDeviceProperties_host pProperties_host
;
5358 TRACE("%p, %p\n", physicalDevice
, pProperties
);
5360 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties(physicalDevice
->phys_dev
, &pProperties_host
);
5362 convert_VkPhysicalDeviceProperties_host_to_win(&pProperties_host
, pProperties
);
5364 TRACE("%p, %p\n", physicalDevice
, pProperties
);
5365 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties(physicalDevice
->phys_dev
, pProperties
);
5369 void thunk_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceProperties2
*pProperties
)
5371 #if defined(USE_STRUCT_CONVERSION)
5372 VkPhysicalDeviceProperties2_host pProperties_host
;
5373 convert_VkPhysicalDeviceProperties2_win_to_host(pProperties
, &pProperties_host
);
5374 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(physicalDevice
->phys_dev
, &pProperties_host
);
5376 convert_VkPhysicalDeviceProperties2_host_to_win(&pProperties_host
, pProperties
);
5378 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(physicalDevice
->phys_dev
, pProperties
);
5382 void thunk_vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceProperties2
*pProperties
)
5384 #if defined(USE_STRUCT_CONVERSION)
5385 VkPhysicalDeviceProperties2_host pProperties_host
;
5386 convert_VkPhysicalDeviceProperties2_win_to_host(pProperties
, &pProperties_host
);
5387 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(physicalDevice
->phys_dev
, &pProperties_host
);
5389 convert_VkPhysicalDeviceProperties2_host_to_win(&pProperties_host
, pProperties
);
5391 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(physicalDevice
->phys_dev
, pProperties
);
5395 static void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice
, const VkQueryPoolPerformanceCreateInfoKHR
*pPerformanceQueryCreateInfo
, uint32_t *pNumPasses
)
5397 TRACE("%p, %p, %p\n", physicalDevice
, pPerformanceQueryCreateInfo
, pNumPasses
);
5398 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(physicalDevice
->phys_dev
, pPerformanceQueryCreateInfo
, pNumPasses
);
5401 void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice
, uint32_t *pQueueFamilyPropertyCount
, VkQueueFamilyProperties
*pQueueFamilyProperties
)
5403 TRACE("%p, %p, %p\n", physicalDevice
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
5404 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice
->phys_dev
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
5407 void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice
, uint32_t *pQueueFamilyPropertyCount
, VkQueueFamilyProperties2
*pQueueFamilyProperties
)
5409 TRACE("%p, %p, %p\n", physicalDevice
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
5410 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice
->phys_dev
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
5413 static void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice
, uint32_t *pQueueFamilyPropertyCount
, VkQueueFamilyProperties2
*pQueueFamilyProperties
)
5415 TRACE("%p, %p, %p\n", physicalDevice
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
5416 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice
->phys_dev
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
5419 void WINAPI
wine_vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice
, VkFormat format
, VkImageType type
, VkSampleCountFlagBits samples
, VkImageUsageFlags usage
, VkImageTiling tiling
, uint32_t *pPropertyCount
, VkSparseImageFormatProperties
*pProperties
)
5421 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p, %p\n", physicalDevice
, format
, type
, samples
, usage
, tiling
, pPropertyCount
, pProperties
);
5422 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice
->phys_dev
, format
, type
, samples
, usage
, tiling
, pPropertyCount
, pProperties
);
5425 void WINAPI
wine_vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSparseImageFormatInfo2
*pFormatInfo
, uint32_t *pPropertyCount
, VkSparseImageFormatProperties2
*pProperties
)
5427 TRACE("%p, %p, %p, %p\n", physicalDevice
, pFormatInfo
, pPropertyCount
, pProperties
);
5428 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice
->phys_dev
, pFormatInfo
, pPropertyCount
, pProperties
);
5431 static void WINAPI
wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSparseImageFormatInfo2
*pFormatInfo
, uint32_t *pPropertyCount
, VkSparseImageFormatProperties2
*pProperties
)
5433 TRACE("%p, %p, %p, %p\n", physicalDevice
, pFormatInfo
, pPropertyCount
, pProperties
);
5434 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice
->phys_dev
, pFormatInfo
, pPropertyCount
, pProperties
);
5437 static VkResult WINAPI
wine_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice
, uint32_t *pCombinationCount
, VkFramebufferMixedSamplesCombinationNV
*pCombinations
)
5439 TRACE("%p, %p, %p\n", physicalDevice
, pCombinationCount
, pCombinations
);
5440 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(physicalDevice
->phys_dev
, pCombinationCount
, pCombinations
);
5443 VkResult
thunk_vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSurfaceInfo2KHR
*pSurfaceInfo
, VkSurfaceCapabilities2KHR
*pSurfaceCapabilities
)
5445 #if defined(USE_STRUCT_CONVERSION)
5447 VkPhysicalDeviceSurfaceInfo2KHR_host pSurfaceInfo_host
;
5448 convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(pSurfaceInfo
, &pSurfaceInfo_host
);
5449 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice
->phys_dev
, &pSurfaceInfo_host
, pSurfaceCapabilities
);
5453 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice
->phys_dev
, pSurfaceInfo
, pSurfaceCapabilities
);
5457 VkResult
thunk_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, VkSurfaceCapabilitiesKHR
*pSurfaceCapabilities
)
5459 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice
->phys_dev
, surface
, pSurfaceCapabilities
);
5462 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSurfaceInfo2KHR
*pSurfaceInfo
, uint32_t *pSurfaceFormatCount
, VkSurfaceFormat2KHR
*pSurfaceFormats
)
5464 #if defined(USE_STRUCT_CONVERSION)
5466 VkPhysicalDeviceSurfaceInfo2KHR_host pSurfaceInfo_host
;
5467 TRACE("%p, %p, %p, %p\n", physicalDevice
, pSurfaceInfo
, pSurfaceFormatCount
, pSurfaceFormats
);
5469 convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(pSurfaceInfo
, &pSurfaceInfo_host
);
5470 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormats2KHR(physicalDevice
->phys_dev
, &pSurfaceInfo_host
, pSurfaceFormatCount
, pSurfaceFormats
);
5474 TRACE("%p, %p, %p, %p\n", physicalDevice
, pSurfaceInfo
, pSurfaceFormatCount
, pSurfaceFormats
);
5475 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormats2KHR(physicalDevice
->phys_dev
, pSurfaceInfo
, pSurfaceFormatCount
, pSurfaceFormats
);
5479 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pSurfaceFormatCount
, VkSurfaceFormatKHR
*pSurfaceFormats
)
5481 TRACE("%p, 0x%s, %p, %p\n", physicalDevice
, wine_dbgstr_longlong(surface
), pSurfaceFormatCount
, pSurfaceFormats
);
5482 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormatsKHR(physicalDevice
->phys_dev
, surface
, pSurfaceFormatCount
, pSurfaceFormats
);
5485 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pPresentModeCount
, VkPresentModeKHR
*pPresentModes
)
5487 TRACE("%p, 0x%s, %p, %p\n", physicalDevice
, wine_dbgstr_longlong(surface
), pPresentModeCount
, pPresentModes
);
5488 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfacePresentModesKHR(physicalDevice
->phys_dev
, surface
, pPresentModeCount
, pPresentModes
);
5491 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
, VkSurfaceKHR surface
, VkBool32
*pSupported
)
5493 TRACE("%p, %u, 0x%s, %p\n", physicalDevice
, queueFamilyIndex
, wine_dbgstr_longlong(surface
), pSupported
);
5494 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice
->phys_dev
, queueFamilyIndex
, surface
, pSupported
);
5497 static VkResult WINAPI
wine_vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice
, uint32_t *pToolCount
, VkPhysicalDeviceToolPropertiesEXT
*pToolProperties
)
5499 TRACE("%p, %p, %p\n", physicalDevice
, pToolCount
, pToolProperties
);
5500 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice
->phys_dev
, pToolCount
, pToolProperties
);
5503 VkBool32 WINAPI
wine_vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
)
5505 TRACE("%p, %u\n", physicalDevice
, queueFamilyIndex
);
5506 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice
->phys_dev
, queueFamilyIndex
);
5509 VkResult WINAPI
wine_vkGetPipelineCacheData(VkDevice device
, VkPipelineCache pipelineCache
, size_t *pDataSize
, void *pData
)
5511 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), pDataSize
, pData
);
5512 return device
->funcs
.p_vkGetPipelineCacheData(device
->device
, pipelineCache
, pDataSize
, pData
);
5515 static VkResult WINAPI
wine_vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device
, const VkPipelineExecutableInfoKHR
*pExecutableInfo
, uint32_t *pInternalRepresentationCount
, VkPipelineExecutableInternalRepresentationKHR
*pInternalRepresentations
)
5517 #if defined(USE_STRUCT_CONVERSION)
5519 VkPipelineExecutableInfoKHR_host pExecutableInfo_host
;
5520 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pInternalRepresentationCount
, pInternalRepresentations
);
5522 convert_VkPipelineExecutableInfoKHR_win_to_host(pExecutableInfo
, &pExecutableInfo_host
);
5523 result
= device
->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(device
->device
, &pExecutableInfo_host
, pInternalRepresentationCount
, pInternalRepresentations
);
5527 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pInternalRepresentationCount
, pInternalRepresentations
);
5528 return device
->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(device
->device
, pExecutableInfo
, pInternalRepresentationCount
, pInternalRepresentations
);
5532 static VkResult WINAPI
wine_vkGetPipelineExecutablePropertiesKHR(VkDevice device
, const VkPipelineInfoKHR
*pPipelineInfo
, uint32_t *pExecutableCount
, VkPipelineExecutablePropertiesKHR
*pProperties
)
5534 #if defined(USE_STRUCT_CONVERSION)
5536 VkPipelineInfoKHR_host pPipelineInfo_host
;
5537 TRACE("%p, %p, %p, %p\n", device
, pPipelineInfo
, pExecutableCount
, pProperties
);
5539 convert_VkPipelineInfoKHR_win_to_host(pPipelineInfo
, &pPipelineInfo_host
);
5540 result
= device
->funcs
.p_vkGetPipelineExecutablePropertiesKHR(device
->device
, &pPipelineInfo_host
, pExecutableCount
, pProperties
);
5544 TRACE("%p, %p, %p, %p\n", device
, pPipelineInfo
, pExecutableCount
, pProperties
);
5545 return device
->funcs
.p_vkGetPipelineExecutablePropertiesKHR(device
->device
, pPipelineInfo
, pExecutableCount
, pProperties
);
5549 static VkResult WINAPI
wine_vkGetPipelineExecutableStatisticsKHR(VkDevice device
, const VkPipelineExecutableInfoKHR
*pExecutableInfo
, uint32_t *pStatisticCount
, VkPipelineExecutableStatisticKHR
*pStatistics
)
5551 #if defined(USE_STRUCT_CONVERSION)
5553 VkPipelineExecutableInfoKHR_host pExecutableInfo_host
;
5554 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pStatisticCount
, pStatistics
);
5556 convert_VkPipelineExecutableInfoKHR_win_to_host(pExecutableInfo
, &pExecutableInfo_host
);
5557 result
= device
->funcs
.p_vkGetPipelineExecutableStatisticsKHR(device
->device
, &pExecutableInfo_host
, pStatisticCount
, pStatistics
);
5561 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pStatisticCount
, pStatistics
);
5562 return device
->funcs
.p_vkGetPipelineExecutableStatisticsKHR(device
->device
, pExecutableInfo
, pStatisticCount
, pStatistics
);
5566 VkResult WINAPI
wine_vkGetQueryPoolResults(VkDevice device
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
, size_t dataSize
, void *pData
, VkDeviceSize stride
, VkQueryResultFlags flags
)
5568 TRACE("%p, 0x%s, %u, %u, 0x%s, %p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
, wine_dbgstr_longlong(dataSize
), pData
, wine_dbgstr_longlong(stride
), flags
);
5569 return device
->funcs
.p_vkGetQueryPoolResults(device
->device
, queryPool
, firstQuery
, queryCount
, dataSize
, pData
, stride
, flags
);
5572 static void WINAPI
wine_vkGetQueueCheckpointDataNV(VkQueue queue
, uint32_t *pCheckpointDataCount
, VkCheckpointDataNV
*pCheckpointData
)
5574 TRACE("%p, %p, %p\n", queue
, pCheckpointDataCount
, pCheckpointData
);
5575 queue
->device
->funcs
.p_vkGetQueueCheckpointDataNV(queue
->queue
, pCheckpointDataCount
, pCheckpointData
);
5578 static VkResult WINAPI
wine_vkGetRayTracingShaderGroupHandlesNV(VkDevice device
, VkPipeline pipeline
, uint32_t firstGroup
, uint32_t groupCount
, size_t dataSize
, void *pData
)
5580 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), firstGroup
, groupCount
, wine_dbgstr_longlong(dataSize
), pData
);
5581 return device
->funcs
.p_vkGetRayTracingShaderGroupHandlesNV(device
->device
, pipeline
, firstGroup
, groupCount
, dataSize
, pData
);
5584 void WINAPI
wine_vkGetRenderAreaGranularity(VkDevice device
, VkRenderPass renderPass
, VkExtent2D
*pGranularity
)
5586 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(renderPass
), pGranularity
);
5587 device
->funcs
.p_vkGetRenderAreaGranularity(device
->device
, renderPass
, pGranularity
);
5590 VkResult WINAPI
wine_vkGetSemaphoreCounterValue(VkDevice device
, VkSemaphore semaphore
, uint64_t *pValue
)
5592 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(semaphore
), pValue
);
5593 return device
->funcs
.p_vkGetSemaphoreCounterValue(device
->device
, semaphore
, pValue
);
5596 static VkResult WINAPI
wine_vkGetSemaphoreCounterValueKHR(VkDevice device
, VkSemaphore semaphore
, uint64_t *pValue
)
5598 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(semaphore
), pValue
);
5599 return device
->funcs
.p_vkGetSemaphoreCounterValueKHR(device
->device
, semaphore
, pValue
);
5602 static VkResult WINAPI
wine_vkGetShaderInfoAMD(VkDevice device
, VkPipeline pipeline
, VkShaderStageFlagBits shaderStage
, VkShaderInfoTypeAMD infoType
, size_t *pInfoSize
, void *pInfo
)
5604 TRACE("%p, 0x%s, %#x, %#x, %p, %p\n", device
, wine_dbgstr_longlong(pipeline
), shaderStage
, infoType
, pInfoSize
, pInfo
);
5605 return device
->funcs
.p_vkGetShaderInfoAMD(device
->device
, pipeline
, shaderStage
, infoType
, pInfoSize
, pInfo
);
5608 VkResult WINAPI
wine_vkGetSwapchainImagesKHR(VkDevice device
, VkSwapchainKHR swapchain
, uint32_t *pSwapchainImageCount
, VkImage
*pSwapchainImages
)
5610 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(swapchain
), pSwapchainImageCount
, pSwapchainImages
);
5611 return device
->funcs
.p_vkGetSwapchainImagesKHR(device
->device
, swapchain
, pSwapchainImageCount
, pSwapchainImages
);
5614 static VkResult WINAPI
wine_vkGetValidationCacheDataEXT(VkDevice device
, VkValidationCacheEXT validationCache
, size_t *pDataSize
, void *pData
)
5616 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(validationCache
), pDataSize
, pData
);
5617 return device
->funcs
.p_vkGetValidationCacheDataEXT(device
->device
, validationCache
, pDataSize
, pData
);
5620 static VkResult WINAPI
wine_vkInitializePerformanceApiINTEL(VkDevice device
, const VkInitializePerformanceApiInfoINTEL
*pInitializeInfo
)
5622 TRACE("%p, %p\n", device
, pInitializeInfo
);
5623 return device
->funcs
.p_vkInitializePerformanceApiINTEL(device
->device
, pInitializeInfo
);
5626 VkResult WINAPI
wine_vkInvalidateMappedMemoryRanges(VkDevice device
, uint32_t memoryRangeCount
, const VkMappedMemoryRange
*pMemoryRanges
)
5628 #if defined(USE_STRUCT_CONVERSION)
5630 VkMappedMemoryRange_host
*pMemoryRanges_host
;
5631 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
5633 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win_to_host(pMemoryRanges
, memoryRangeCount
);
5634 result
= device
->funcs
.p_vkInvalidateMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges_host
);
5636 free_VkMappedMemoryRange_array(pMemoryRanges_host
, memoryRangeCount
);
5639 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
5640 return device
->funcs
.p_vkInvalidateMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges
);
5644 VkResult WINAPI
wine_vkMapMemory(VkDevice device
, VkDeviceMemory memory
, VkDeviceSize offset
, VkDeviceSize size
, VkMemoryMapFlags flags
, void **ppData
)
5646 TRACE("%p, 0x%s, 0x%s, 0x%s, %#x, %p\n", device
, wine_dbgstr_longlong(memory
), wine_dbgstr_longlong(offset
), wine_dbgstr_longlong(size
), flags
, ppData
);
5647 return device
->funcs
.p_vkMapMemory(device
->device
, memory
, offset
, size
, flags
, ppData
);
5650 VkResult WINAPI
wine_vkMergePipelineCaches(VkDevice device
, VkPipelineCache dstCache
, uint32_t srcCacheCount
, const VkPipelineCache
*pSrcCaches
)
5652 TRACE("%p, 0x%s, %u, %p\n", device
, wine_dbgstr_longlong(dstCache
), srcCacheCount
, pSrcCaches
);
5653 return device
->funcs
.p_vkMergePipelineCaches(device
->device
, dstCache
, srcCacheCount
, pSrcCaches
);
5656 static VkResult WINAPI
wine_vkMergeValidationCachesEXT(VkDevice device
, VkValidationCacheEXT dstCache
, uint32_t srcCacheCount
, const VkValidationCacheEXT
*pSrcCaches
)
5658 TRACE("%p, 0x%s, %u, %p\n", device
, wine_dbgstr_longlong(dstCache
), srcCacheCount
, pSrcCaches
);
5659 return device
->funcs
.p_vkMergeValidationCachesEXT(device
->device
, dstCache
, srcCacheCount
, pSrcCaches
);
5662 static void WINAPI
wine_vkQueueBeginDebugUtilsLabelEXT(VkQueue queue
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
5664 TRACE("%p, %p\n", queue
, pLabelInfo
);
5665 queue
->device
->funcs
.p_vkQueueBeginDebugUtilsLabelEXT(queue
->queue
, pLabelInfo
);
5668 VkResult WINAPI
wine_vkQueueBindSparse(VkQueue queue
, uint32_t bindInfoCount
, const VkBindSparseInfo
*pBindInfo
, VkFence fence
)
5670 #if defined(USE_STRUCT_CONVERSION)
5672 VkBindSparseInfo_host
*pBindInfo_host
;
5673 TRACE("%p, %u, %p, 0x%s\n", queue
, bindInfoCount
, pBindInfo
, wine_dbgstr_longlong(fence
));
5675 pBindInfo_host
= convert_VkBindSparseInfo_array_win_to_host(pBindInfo
, bindInfoCount
);
5676 result
= queue
->device
->funcs
.p_vkQueueBindSparse(queue
->queue
, bindInfoCount
, pBindInfo_host
, fence
);
5678 free_VkBindSparseInfo_array(pBindInfo_host
, bindInfoCount
);
5681 TRACE("%p, %u, %p, 0x%s\n", queue
, bindInfoCount
, pBindInfo
, wine_dbgstr_longlong(fence
));
5682 return queue
->device
->funcs
.p_vkQueueBindSparse(queue
->queue
, bindInfoCount
, pBindInfo
, fence
);
5686 static void WINAPI
wine_vkQueueEndDebugUtilsLabelEXT(VkQueue queue
)
5688 TRACE("%p\n", queue
);
5689 queue
->device
->funcs
.p_vkQueueEndDebugUtilsLabelEXT(queue
->queue
);
5692 static void WINAPI
wine_vkQueueInsertDebugUtilsLabelEXT(VkQueue queue
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
5694 TRACE("%p, %p\n", queue
, pLabelInfo
);
5695 queue
->device
->funcs
.p_vkQueueInsertDebugUtilsLabelEXT(queue
->queue
, pLabelInfo
);
5698 VkResult WINAPI
wine_vkQueuePresentKHR(VkQueue queue
, const VkPresentInfoKHR
*pPresentInfo
)
5700 TRACE("%p, %p\n", queue
, pPresentInfo
);
5701 return queue
->device
->funcs
.p_vkQueuePresentKHR(queue
->queue
, pPresentInfo
);
5704 static VkResult WINAPI
wine_vkQueueSetPerformanceConfigurationINTEL(VkQueue queue
, VkPerformanceConfigurationINTEL configuration
)
5706 TRACE("%p, 0x%s\n", queue
, wine_dbgstr_longlong(configuration
));
5707 return queue
->device
->funcs
.p_vkQueueSetPerformanceConfigurationINTEL(queue
->queue
, configuration
);
5710 VkResult WINAPI
wine_vkQueueWaitIdle(VkQueue queue
)
5712 TRACE("%p\n", queue
);
5713 return queue
->device
->funcs
.p_vkQueueWaitIdle(queue
->queue
);
5716 static VkResult WINAPI
wine_vkReleasePerformanceConfigurationINTEL(VkDevice device
, VkPerformanceConfigurationINTEL configuration
)
5718 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(configuration
));
5719 return device
->funcs
.p_vkReleasePerformanceConfigurationINTEL(device
->device
, configuration
);
5722 static void WINAPI
wine_vkReleaseProfilingLockKHR(VkDevice device
)
5724 TRACE("%p\n", device
);
5725 device
->funcs
.p_vkReleaseProfilingLockKHR(device
->device
);
5728 VkResult WINAPI
wine_vkResetCommandBuffer(VkCommandBuffer commandBuffer
, VkCommandBufferResetFlags flags
)
5730 TRACE("%p, %#x\n", commandBuffer
, flags
);
5731 return commandBuffer
->device
->funcs
.p_vkResetCommandBuffer(commandBuffer
->command_buffer
, flags
);
5734 VkResult WINAPI
wine_vkResetCommandPool(VkDevice device
, VkCommandPool commandPool
, VkCommandPoolResetFlags flags
)
5736 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(commandPool
), flags
);
5737 return device
->funcs
.p_vkResetCommandPool(device
->device
, wine_cmd_pool_from_handle(commandPool
)->command_pool
, flags
);
5740 VkResult WINAPI
wine_vkResetDescriptorPool(VkDevice device
, VkDescriptorPool descriptorPool
, VkDescriptorPoolResetFlags flags
)
5742 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(descriptorPool
), flags
);
5743 return device
->funcs
.p_vkResetDescriptorPool(device
->device
, descriptorPool
, flags
);
5746 VkResult WINAPI
wine_vkResetEvent(VkDevice device
, VkEvent event
)
5748 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(event
));
5749 return device
->funcs
.p_vkResetEvent(device
->device
, event
);
5752 VkResult WINAPI
wine_vkResetFences(VkDevice device
, uint32_t fenceCount
, const VkFence
*pFences
)
5754 TRACE("%p, %u, %p\n", device
, fenceCount
, pFences
);
5755 return device
->funcs
.p_vkResetFences(device
->device
, fenceCount
, pFences
);
5758 void WINAPI
wine_vkResetQueryPool(VkDevice device
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
)
5760 TRACE("%p, 0x%s, %u, %u\n", device
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
);
5761 device
->funcs
.p_vkResetQueryPool(device
->device
, queryPool
, firstQuery
, queryCount
);
5764 static void WINAPI
wine_vkResetQueryPoolEXT(VkDevice device
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
)
5766 TRACE("%p, 0x%s, %u, %u\n", device
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
);
5767 device
->funcs
.p_vkResetQueryPoolEXT(device
->device
, queryPool
, firstQuery
, queryCount
);
5770 VkResult
thunk_vkSetDebugUtilsObjectNameEXT(VkDevice device
, const VkDebugUtilsObjectNameInfoEXT
*pNameInfo
)
5772 #if defined(USE_STRUCT_CONVERSION)
5774 VkDebugUtilsObjectNameInfoEXT_host pNameInfo_host
;
5775 convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(pNameInfo
, &pNameInfo_host
);
5776 result
= device
->funcs
.p_vkSetDebugUtilsObjectNameEXT(device
->device
, &pNameInfo_host
);
5780 return device
->funcs
.p_vkSetDebugUtilsObjectNameEXT(device
->device
, pNameInfo
);
5784 VkResult
thunk_vkSetDebugUtilsObjectTagEXT(VkDevice device
, const VkDebugUtilsObjectTagInfoEXT
*pTagInfo
)
5786 #if defined(USE_STRUCT_CONVERSION)
5788 VkDebugUtilsObjectTagInfoEXT_host pTagInfo_host
;
5789 convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(pTagInfo
, &pTagInfo_host
);
5790 result
= device
->funcs
.p_vkSetDebugUtilsObjectTagEXT(device
->device
, &pTagInfo_host
);
5794 return device
->funcs
.p_vkSetDebugUtilsObjectTagEXT(device
->device
, pTagInfo
);
5798 VkResult WINAPI
wine_vkSetEvent(VkDevice device
, VkEvent event
)
5800 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(event
));
5801 return device
->funcs
.p_vkSetEvent(device
->device
, event
);
5804 VkResult WINAPI
wine_vkSignalSemaphore(VkDevice device
, const VkSemaphoreSignalInfo
*pSignalInfo
)
5806 #if defined(USE_STRUCT_CONVERSION)
5808 VkSemaphoreSignalInfo_host pSignalInfo_host
;
5809 TRACE("%p, %p\n", device
, pSignalInfo
);
5811 convert_VkSemaphoreSignalInfo_win_to_host(pSignalInfo
, &pSignalInfo_host
);
5812 result
= device
->funcs
.p_vkSignalSemaphore(device
->device
, &pSignalInfo_host
);
5816 TRACE("%p, %p\n", device
, pSignalInfo
);
5817 return device
->funcs
.p_vkSignalSemaphore(device
->device
, pSignalInfo
);
5821 static VkResult WINAPI
wine_vkSignalSemaphoreKHR(VkDevice device
, const VkSemaphoreSignalInfo
*pSignalInfo
)
5823 #if defined(USE_STRUCT_CONVERSION)
5825 VkSemaphoreSignalInfo_host pSignalInfo_host
;
5826 TRACE("%p, %p\n", device
, pSignalInfo
);
5828 convert_VkSemaphoreSignalInfo_win_to_host(pSignalInfo
, &pSignalInfo_host
);
5829 result
= device
->funcs
.p_vkSignalSemaphoreKHR(device
->device
, &pSignalInfo_host
);
5833 TRACE("%p, %p\n", device
, pSignalInfo
);
5834 return device
->funcs
.p_vkSignalSemaphoreKHR(device
->device
, pSignalInfo
);
5838 void thunk_vkSubmitDebugUtilsMessageEXT(VkInstance instance
, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity
, VkDebugUtilsMessageTypeFlagsEXT messageTypes
, const VkDebugUtilsMessengerCallbackDataEXT
*pCallbackData
)
5840 #if defined(USE_STRUCT_CONVERSION)
5841 VkDebugUtilsMessengerCallbackDataEXT_host pCallbackData_host
;
5842 convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(pCallbackData
, &pCallbackData_host
);
5843 instance
->funcs
.p_vkSubmitDebugUtilsMessageEXT(instance
->instance
, messageSeverity
, messageTypes
, &pCallbackData_host
);
5845 free_VkDebugUtilsMessengerCallbackDataEXT(&pCallbackData_host
);
5847 instance
->funcs
.p_vkSubmitDebugUtilsMessageEXT(instance
->instance
, messageSeverity
, messageTypes
, pCallbackData
);
5851 void WINAPI
wine_vkTrimCommandPool(VkDevice device
, VkCommandPool commandPool
, VkCommandPoolTrimFlags flags
)
5853 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(commandPool
), flags
);
5854 device
->funcs
.p_vkTrimCommandPool(device
->device
, wine_cmd_pool_from_handle(commandPool
)->command_pool
, flags
);
5857 static void WINAPI
wine_vkTrimCommandPoolKHR(VkDevice device
, VkCommandPool commandPool
, VkCommandPoolTrimFlags flags
)
5859 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(commandPool
), flags
);
5860 device
->funcs
.p_vkTrimCommandPoolKHR(device
->device
, wine_cmd_pool_from_handle(commandPool
)->command_pool
, flags
);
5863 static void WINAPI
wine_vkUninitializePerformanceApiINTEL(VkDevice device
)
5865 TRACE("%p\n", device
);
5866 device
->funcs
.p_vkUninitializePerformanceApiINTEL(device
->device
);
5869 void WINAPI
wine_vkUnmapMemory(VkDevice device
, VkDeviceMemory memory
)
5871 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(memory
));
5872 device
->funcs
.p_vkUnmapMemory(device
->device
, memory
);
5875 void WINAPI
wine_vkUpdateDescriptorSetWithTemplate(VkDevice device
, VkDescriptorSet descriptorSet
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const void *pData
)
5877 TRACE("%p, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorSet
), wine_dbgstr_longlong(descriptorUpdateTemplate
), pData
);
5878 device
->funcs
.p_vkUpdateDescriptorSetWithTemplate(device
->device
, descriptorSet
, descriptorUpdateTemplate
, pData
);
5881 static void WINAPI
wine_vkUpdateDescriptorSetWithTemplateKHR(VkDevice device
, VkDescriptorSet descriptorSet
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const void *pData
)
5883 TRACE("%p, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorSet
), wine_dbgstr_longlong(descriptorUpdateTemplate
), pData
);
5884 device
->funcs
.p_vkUpdateDescriptorSetWithTemplateKHR(device
->device
, descriptorSet
, descriptorUpdateTemplate
, pData
);
5887 void WINAPI
wine_vkUpdateDescriptorSets(VkDevice device
, uint32_t descriptorWriteCount
, const VkWriteDescriptorSet
*pDescriptorWrites
, uint32_t descriptorCopyCount
, const VkCopyDescriptorSet
*pDescriptorCopies
)
5889 #if defined(USE_STRUCT_CONVERSION)
5890 VkWriteDescriptorSet_host
*pDescriptorWrites_host
;
5891 VkCopyDescriptorSet_host
*pDescriptorCopies_host
;
5892 TRACE("%p, %u, %p, %u, %p\n", device
, descriptorWriteCount
, pDescriptorWrites
, descriptorCopyCount
, pDescriptorCopies
);
5894 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win_to_host(pDescriptorWrites
, descriptorWriteCount
);
5895 pDescriptorCopies_host
= convert_VkCopyDescriptorSet_array_win_to_host(pDescriptorCopies
, descriptorCopyCount
);
5896 device
->funcs
.p_vkUpdateDescriptorSets(device
->device
, descriptorWriteCount
, pDescriptorWrites_host
, descriptorCopyCount
, pDescriptorCopies_host
);
5898 free_VkWriteDescriptorSet_array(pDescriptorWrites_host
, descriptorWriteCount
);
5899 free_VkCopyDescriptorSet_array(pDescriptorCopies_host
, descriptorCopyCount
);
5901 TRACE("%p, %u, %p, %u, %p\n", device
, descriptorWriteCount
, pDescriptorWrites
, descriptorCopyCount
, pDescriptorCopies
);
5902 device
->funcs
.p_vkUpdateDescriptorSets(device
->device
, descriptorWriteCount
, pDescriptorWrites
, descriptorCopyCount
, pDescriptorCopies
);
5906 VkResult WINAPI
wine_vkWaitForFences(VkDevice device
, uint32_t fenceCount
, const VkFence
*pFences
, VkBool32 waitAll
, uint64_t timeout
)
5908 TRACE("%p, %u, %p, %u, 0x%s\n", device
, fenceCount
, pFences
, waitAll
, wine_dbgstr_longlong(timeout
));
5909 return device
->funcs
.p_vkWaitForFences(device
->device
, fenceCount
, pFences
, waitAll
, timeout
);
5912 VkResult WINAPI
wine_vkWaitSemaphores(VkDevice device
, const VkSemaphoreWaitInfo
*pWaitInfo
, uint64_t timeout
)
5914 TRACE("%p, %p, 0x%s\n", device
, pWaitInfo
, wine_dbgstr_longlong(timeout
));
5915 return device
->funcs
.p_vkWaitSemaphores(device
->device
, pWaitInfo
, timeout
);
5918 static VkResult WINAPI
wine_vkWaitSemaphoresKHR(VkDevice device
, const VkSemaphoreWaitInfo
*pWaitInfo
, uint64_t timeout
)
5920 TRACE("%p, %p, 0x%s\n", device
, pWaitInfo
, wine_dbgstr_longlong(timeout
));
5921 return device
->funcs
.p_vkWaitSemaphoresKHR(device
->device
, pWaitInfo
, timeout
);
5924 static const struct vulkan_func vk_device_dispatch_table
[] =
5926 {"vkAcquireNextImage2KHR", &wine_vkAcquireNextImage2KHR
},
5927 {"vkAcquireNextImageKHR", &wine_vkAcquireNextImageKHR
},
5928 {"vkAcquirePerformanceConfigurationINTEL", &wine_vkAcquirePerformanceConfigurationINTEL
},
5929 {"vkAcquireProfilingLockKHR", &wine_vkAcquireProfilingLockKHR
},
5930 {"vkAllocateCommandBuffers", &wine_vkAllocateCommandBuffers
},
5931 {"vkAllocateDescriptorSets", &wine_vkAllocateDescriptorSets
},
5932 {"vkAllocateMemory", &wine_vkAllocateMemory
},
5933 {"vkBeginCommandBuffer", &wine_vkBeginCommandBuffer
},
5934 {"vkBindAccelerationStructureMemoryNV", &wine_vkBindAccelerationStructureMemoryNV
},
5935 {"vkBindBufferMemory", &wine_vkBindBufferMemory
},
5936 {"vkBindBufferMemory2", &wine_vkBindBufferMemory2
},
5937 {"vkBindBufferMemory2KHR", &wine_vkBindBufferMemory2KHR
},
5938 {"vkBindImageMemory", &wine_vkBindImageMemory
},
5939 {"vkBindImageMemory2", &wine_vkBindImageMemory2
},
5940 {"vkBindImageMemory2KHR", &wine_vkBindImageMemory2KHR
},
5941 {"vkCmdBeginConditionalRenderingEXT", &wine_vkCmdBeginConditionalRenderingEXT
},
5942 {"vkCmdBeginDebugUtilsLabelEXT", &wine_vkCmdBeginDebugUtilsLabelEXT
},
5943 {"vkCmdBeginQuery", &wine_vkCmdBeginQuery
},
5944 {"vkCmdBeginQueryIndexedEXT", &wine_vkCmdBeginQueryIndexedEXT
},
5945 {"vkCmdBeginRenderPass", &wine_vkCmdBeginRenderPass
},
5946 {"vkCmdBeginRenderPass2", &wine_vkCmdBeginRenderPass2
},
5947 {"vkCmdBeginRenderPass2KHR", &wine_vkCmdBeginRenderPass2KHR
},
5948 {"vkCmdBeginTransformFeedbackEXT", &wine_vkCmdBeginTransformFeedbackEXT
},
5949 {"vkCmdBindDescriptorSets", &wine_vkCmdBindDescriptorSets
},
5950 {"vkCmdBindIndexBuffer", &wine_vkCmdBindIndexBuffer
},
5951 {"vkCmdBindPipeline", &wine_vkCmdBindPipeline
},
5952 {"vkCmdBindPipelineShaderGroupNV", &wine_vkCmdBindPipelineShaderGroupNV
},
5953 {"vkCmdBindShadingRateImageNV", &wine_vkCmdBindShadingRateImageNV
},
5954 {"vkCmdBindTransformFeedbackBuffersEXT", &wine_vkCmdBindTransformFeedbackBuffersEXT
},
5955 {"vkCmdBindVertexBuffers", &wine_vkCmdBindVertexBuffers
},
5956 {"vkCmdBindVertexBuffers2EXT", &wine_vkCmdBindVertexBuffers2EXT
},
5957 {"vkCmdBlitImage", &wine_vkCmdBlitImage
},
5958 {"vkCmdBlitImage2KHR", &wine_vkCmdBlitImage2KHR
},
5959 {"vkCmdBuildAccelerationStructureNV", &wine_vkCmdBuildAccelerationStructureNV
},
5960 {"vkCmdClearAttachments", &wine_vkCmdClearAttachments
},
5961 {"vkCmdClearColorImage", &wine_vkCmdClearColorImage
},
5962 {"vkCmdClearDepthStencilImage", &wine_vkCmdClearDepthStencilImage
},
5963 {"vkCmdCopyAccelerationStructureNV", &wine_vkCmdCopyAccelerationStructureNV
},
5964 {"vkCmdCopyBuffer", &wine_vkCmdCopyBuffer
},
5965 {"vkCmdCopyBuffer2KHR", &wine_vkCmdCopyBuffer2KHR
},
5966 {"vkCmdCopyBufferToImage", &wine_vkCmdCopyBufferToImage
},
5967 {"vkCmdCopyBufferToImage2KHR", &wine_vkCmdCopyBufferToImage2KHR
},
5968 {"vkCmdCopyImage", &wine_vkCmdCopyImage
},
5969 {"vkCmdCopyImage2KHR", &wine_vkCmdCopyImage2KHR
},
5970 {"vkCmdCopyImageToBuffer", &wine_vkCmdCopyImageToBuffer
},
5971 {"vkCmdCopyImageToBuffer2KHR", &wine_vkCmdCopyImageToBuffer2KHR
},
5972 {"vkCmdCopyQueryPoolResults", &wine_vkCmdCopyQueryPoolResults
},
5973 {"vkCmdDispatch", &wine_vkCmdDispatch
},
5974 {"vkCmdDispatchBase", &wine_vkCmdDispatchBase
},
5975 {"vkCmdDispatchBaseKHR", &wine_vkCmdDispatchBaseKHR
},
5976 {"vkCmdDispatchIndirect", &wine_vkCmdDispatchIndirect
},
5977 {"vkCmdDraw", &wine_vkCmdDraw
},
5978 {"vkCmdDrawIndexed", &wine_vkCmdDrawIndexed
},
5979 {"vkCmdDrawIndexedIndirect", &wine_vkCmdDrawIndexedIndirect
},
5980 {"vkCmdDrawIndexedIndirectCount", &wine_vkCmdDrawIndexedIndirectCount
},
5981 {"vkCmdDrawIndexedIndirectCountAMD", &wine_vkCmdDrawIndexedIndirectCountAMD
},
5982 {"vkCmdDrawIndexedIndirectCountKHR", &wine_vkCmdDrawIndexedIndirectCountKHR
},
5983 {"vkCmdDrawIndirect", &wine_vkCmdDrawIndirect
},
5984 {"vkCmdDrawIndirectByteCountEXT", &wine_vkCmdDrawIndirectByteCountEXT
},
5985 {"vkCmdDrawIndirectCount", &wine_vkCmdDrawIndirectCount
},
5986 {"vkCmdDrawIndirectCountAMD", &wine_vkCmdDrawIndirectCountAMD
},
5987 {"vkCmdDrawIndirectCountKHR", &wine_vkCmdDrawIndirectCountKHR
},
5988 {"vkCmdDrawMeshTasksIndirectCountNV", &wine_vkCmdDrawMeshTasksIndirectCountNV
},
5989 {"vkCmdDrawMeshTasksIndirectNV", &wine_vkCmdDrawMeshTasksIndirectNV
},
5990 {"vkCmdDrawMeshTasksNV", &wine_vkCmdDrawMeshTasksNV
},
5991 {"vkCmdEndConditionalRenderingEXT", &wine_vkCmdEndConditionalRenderingEXT
},
5992 {"vkCmdEndDebugUtilsLabelEXT", &wine_vkCmdEndDebugUtilsLabelEXT
},
5993 {"vkCmdEndQuery", &wine_vkCmdEndQuery
},
5994 {"vkCmdEndQueryIndexedEXT", &wine_vkCmdEndQueryIndexedEXT
},
5995 {"vkCmdEndRenderPass", &wine_vkCmdEndRenderPass
},
5996 {"vkCmdEndRenderPass2", &wine_vkCmdEndRenderPass2
},
5997 {"vkCmdEndRenderPass2KHR", &wine_vkCmdEndRenderPass2KHR
},
5998 {"vkCmdEndTransformFeedbackEXT", &wine_vkCmdEndTransformFeedbackEXT
},
5999 {"vkCmdExecuteCommands", &wine_vkCmdExecuteCommands
},
6000 {"vkCmdExecuteGeneratedCommandsNV", &wine_vkCmdExecuteGeneratedCommandsNV
},
6001 {"vkCmdFillBuffer", &wine_vkCmdFillBuffer
},
6002 {"vkCmdInsertDebugUtilsLabelEXT", &wine_vkCmdInsertDebugUtilsLabelEXT
},
6003 {"vkCmdNextSubpass", &wine_vkCmdNextSubpass
},
6004 {"vkCmdNextSubpass2", &wine_vkCmdNextSubpass2
},
6005 {"vkCmdNextSubpass2KHR", &wine_vkCmdNextSubpass2KHR
},
6006 {"vkCmdPipelineBarrier", &wine_vkCmdPipelineBarrier
},
6007 {"vkCmdPreprocessGeneratedCommandsNV", &wine_vkCmdPreprocessGeneratedCommandsNV
},
6008 {"vkCmdPushConstants", &wine_vkCmdPushConstants
},
6009 {"vkCmdPushDescriptorSetKHR", &wine_vkCmdPushDescriptorSetKHR
},
6010 {"vkCmdPushDescriptorSetWithTemplateKHR", &wine_vkCmdPushDescriptorSetWithTemplateKHR
},
6011 {"vkCmdResetEvent", &wine_vkCmdResetEvent
},
6012 {"vkCmdResetQueryPool", &wine_vkCmdResetQueryPool
},
6013 {"vkCmdResolveImage", &wine_vkCmdResolveImage
},
6014 {"vkCmdResolveImage2KHR", &wine_vkCmdResolveImage2KHR
},
6015 {"vkCmdSetBlendConstants", &wine_vkCmdSetBlendConstants
},
6016 {"vkCmdSetCheckpointNV", &wine_vkCmdSetCheckpointNV
},
6017 {"vkCmdSetCoarseSampleOrderNV", &wine_vkCmdSetCoarseSampleOrderNV
},
6018 {"vkCmdSetCullModeEXT", &wine_vkCmdSetCullModeEXT
},
6019 {"vkCmdSetDepthBias", &wine_vkCmdSetDepthBias
},
6020 {"vkCmdSetDepthBounds", &wine_vkCmdSetDepthBounds
},
6021 {"vkCmdSetDepthBoundsTestEnableEXT", &wine_vkCmdSetDepthBoundsTestEnableEXT
},
6022 {"vkCmdSetDepthCompareOpEXT", &wine_vkCmdSetDepthCompareOpEXT
},
6023 {"vkCmdSetDepthTestEnableEXT", &wine_vkCmdSetDepthTestEnableEXT
},
6024 {"vkCmdSetDepthWriteEnableEXT", &wine_vkCmdSetDepthWriteEnableEXT
},
6025 {"vkCmdSetDeviceMask", &wine_vkCmdSetDeviceMask
},
6026 {"vkCmdSetDeviceMaskKHR", &wine_vkCmdSetDeviceMaskKHR
},
6027 {"vkCmdSetDiscardRectangleEXT", &wine_vkCmdSetDiscardRectangleEXT
},
6028 {"vkCmdSetEvent", &wine_vkCmdSetEvent
},
6029 {"vkCmdSetExclusiveScissorNV", &wine_vkCmdSetExclusiveScissorNV
},
6030 {"vkCmdSetFragmentShadingRateKHR", &wine_vkCmdSetFragmentShadingRateKHR
},
6031 {"vkCmdSetFrontFaceEXT", &wine_vkCmdSetFrontFaceEXT
},
6032 {"vkCmdSetLineStippleEXT", &wine_vkCmdSetLineStippleEXT
},
6033 {"vkCmdSetLineWidth", &wine_vkCmdSetLineWidth
},
6034 {"vkCmdSetPerformanceMarkerINTEL", &wine_vkCmdSetPerformanceMarkerINTEL
},
6035 {"vkCmdSetPerformanceOverrideINTEL", &wine_vkCmdSetPerformanceOverrideINTEL
},
6036 {"vkCmdSetPerformanceStreamMarkerINTEL", &wine_vkCmdSetPerformanceStreamMarkerINTEL
},
6037 {"vkCmdSetPrimitiveTopologyEXT", &wine_vkCmdSetPrimitiveTopologyEXT
},
6038 {"vkCmdSetSampleLocationsEXT", &wine_vkCmdSetSampleLocationsEXT
},
6039 {"vkCmdSetScissor", &wine_vkCmdSetScissor
},
6040 {"vkCmdSetScissorWithCountEXT", &wine_vkCmdSetScissorWithCountEXT
},
6041 {"vkCmdSetStencilCompareMask", &wine_vkCmdSetStencilCompareMask
},
6042 {"vkCmdSetStencilOpEXT", &wine_vkCmdSetStencilOpEXT
},
6043 {"vkCmdSetStencilReference", &wine_vkCmdSetStencilReference
},
6044 {"vkCmdSetStencilTestEnableEXT", &wine_vkCmdSetStencilTestEnableEXT
},
6045 {"vkCmdSetStencilWriteMask", &wine_vkCmdSetStencilWriteMask
},
6046 {"vkCmdSetViewport", &wine_vkCmdSetViewport
},
6047 {"vkCmdSetViewportShadingRatePaletteNV", &wine_vkCmdSetViewportShadingRatePaletteNV
},
6048 {"vkCmdSetViewportWScalingNV", &wine_vkCmdSetViewportWScalingNV
},
6049 {"vkCmdSetViewportWithCountEXT", &wine_vkCmdSetViewportWithCountEXT
},
6050 {"vkCmdTraceRaysNV", &wine_vkCmdTraceRaysNV
},
6051 {"vkCmdUpdateBuffer", &wine_vkCmdUpdateBuffer
},
6052 {"vkCmdWaitEvents", &wine_vkCmdWaitEvents
},
6053 {"vkCmdWriteAccelerationStructuresPropertiesNV", &wine_vkCmdWriteAccelerationStructuresPropertiesNV
},
6054 {"vkCmdWriteBufferMarkerAMD", &wine_vkCmdWriteBufferMarkerAMD
},
6055 {"vkCmdWriteTimestamp", &wine_vkCmdWriteTimestamp
},
6056 {"vkCompileDeferredNV", &wine_vkCompileDeferredNV
},
6057 {"vkCreateAccelerationStructureNV", &wine_vkCreateAccelerationStructureNV
},
6058 {"vkCreateBuffer", &wine_vkCreateBuffer
},
6059 {"vkCreateBufferView", &wine_vkCreateBufferView
},
6060 {"vkCreateCommandPool", &wine_vkCreateCommandPool
},
6061 {"vkCreateComputePipelines", &wine_vkCreateComputePipelines
},
6062 {"vkCreateDescriptorPool", &wine_vkCreateDescriptorPool
},
6063 {"vkCreateDescriptorSetLayout", &wine_vkCreateDescriptorSetLayout
},
6064 {"vkCreateDescriptorUpdateTemplate", &wine_vkCreateDescriptorUpdateTemplate
},
6065 {"vkCreateDescriptorUpdateTemplateKHR", &wine_vkCreateDescriptorUpdateTemplateKHR
},
6066 {"vkCreateEvent", &wine_vkCreateEvent
},
6067 {"vkCreateFence", &wine_vkCreateFence
},
6068 {"vkCreateFramebuffer", &wine_vkCreateFramebuffer
},
6069 {"vkCreateGraphicsPipelines", &wine_vkCreateGraphicsPipelines
},
6070 {"vkCreateImage", &wine_vkCreateImage
},
6071 {"vkCreateImageView", &wine_vkCreateImageView
},
6072 {"vkCreateIndirectCommandsLayoutNV", &wine_vkCreateIndirectCommandsLayoutNV
},
6073 {"vkCreatePipelineCache", &wine_vkCreatePipelineCache
},
6074 {"vkCreatePipelineLayout", &wine_vkCreatePipelineLayout
},
6075 {"vkCreatePrivateDataSlotEXT", &wine_vkCreatePrivateDataSlotEXT
},
6076 {"vkCreateQueryPool", &wine_vkCreateQueryPool
},
6077 {"vkCreateRayTracingPipelinesNV", &wine_vkCreateRayTracingPipelinesNV
},
6078 {"vkCreateRenderPass", &wine_vkCreateRenderPass
},
6079 {"vkCreateRenderPass2", &wine_vkCreateRenderPass2
},
6080 {"vkCreateRenderPass2KHR", &wine_vkCreateRenderPass2KHR
},
6081 {"vkCreateSampler", &wine_vkCreateSampler
},
6082 {"vkCreateSamplerYcbcrConversion", &wine_vkCreateSamplerYcbcrConversion
},
6083 {"vkCreateSamplerYcbcrConversionKHR", &wine_vkCreateSamplerYcbcrConversionKHR
},
6084 {"vkCreateSemaphore", &wine_vkCreateSemaphore
},
6085 {"vkCreateShaderModule", &wine_vkCreateShaderModule
},
6086 {"vkCreateSwapchainKHR", &wine_vkCreateSwapchainKHR
},
6087 {"vkCreateValidationCacheEXT", &wine_vkCreateValidationCacheEXT
},
6088 {"vkDestroyAccelerationStructureNV", &wine_vkDestroyAccelerationStructureNV
},
6089 {"vkDestroyBuffer", &wine_vkDestroyBuffer
},
6090 {"vkDestroyBufferView", &wine_vkDestroyBufferView
},
6091 {"vkDestroyCommandPool", &wine_vkDestroyCommandPool
},
6092 {"vkDestroyDescriptorPool", &wine_vkDestroyDescriptorPool
},
6093 {"vkDestroyDescriptorSetLayout", &wine_vkDestroyDescriptorSetLayout
},
6094 {"vkDestroyDescriptorUpdateTemplate", &wine_vkDestroyDescriptorUpdateTemplate
},
6095 {"vkDestroyDescriptorUpdateTemplateKHR", &wine_vkDestroyDescriptorUpdateTemplateKHR
},
6096 {"vkDestroyDevice", &wine_vkDestroyDevice
},
6097 {"vkDestroyEvent", &wine_vkDestroyEvent
},
6098 {"vkDestroyFence", &wine_vkDestroyFence
},
6099 {"vkDestroyFramebuffer", &wine_vkDestroyFramebuffer
},
6100 {"vkDestroyImage", &wine_vkDestroyImage
},
6101 {"vkDestroyImageView", &wine_vkDestroyImageView
},
6102 {"vkDestroyIndirectCommandsLayoutNV", &wine_vkDestroyIndirectCommandsLayoutNV
},
6103 {"vkDestroyPipeline", &wine_vkDestroyPipeline
},
6104 {"vkDestroyPipelineCache", &wine_vkDestroyPipelineCache
},
6105 {"vkDestroyPipelineLayout", &wine_vkDestroyPipelineLayout
},
6106 {"vkDestroyPrivateDataSlotEXT", &wine_vkDestroyPrivateDataSlotEXT
},
6107 {"vkDestroyQueryPool", &wine_vkDestroyQueryPool
},
6108 {"vkDestroyRenderPass", &wine_vkDestroyRenderPass
},
6109 {"vkDestroySampler", &wine_vkDestroySampler
},
6110 {"vkDestroySamplerYcbcrConversion", &wine_vkDestroySamplerYcbcrConversion
},
6111 {"vkDestroySamplerYcbcrConversionKHR", &wine_vkDestroySamplerYcbcrConversionKHR
},
6112 {"vkDestroySemaphore", &wine_vkDestroySemaphore
},
6113 {"vkDestroyShaderModule", &wine_vkDestroyShaderModule
},
6114 {"vkDestroySwapchainKHR", &wine_vkDestroySwapchainKHR
},
6115 {"vkDestroyValidationCacheEXT", &wine_vkDestroyValidationCacheEXT
},
6116 {"vkDeviceWaitIdle", &wine_vkDeviceWaitIdle
},
6117 {"vkEndCommandBuffer", &wine_vkEndCommandBuffer
},
6118 {"vkFlushMappedMemoryRanges", &wine_vkFlushMappedMemoryRanges
},
6119 {"vkFreeCommandBuffers", &wine_vkFreeCommandBuffers
},
6120 {"vkFreeDescriptorSets", &wine_vkFreeDescriptorSets
},
6121 {"vkFreeMemory", &wine_vkFreeMemory
},
6122 {"vkGetAccelerationStructureHandleNV", &wine_vkGetAccelerationStructureHandleNV
},
6123 {"vkGetAccelerationStructureMemoryRequirementsNV", &wine_vkGetAccelerationStructureMemoryRequirementsNV
},
6124 {"vkGetBufferDeviceAddress", &wine_vkGetBufferDeviceAddress
},
6125 {"vkGetBufferDeviceAddressEXT", &wine_vkGetBufferDeviceAddressEXT
},
6126 {"vkGetBufferDeviceAddressKHR", &wine_vkGetBufferDeviceAddressKHR
},
6127 {"vkGetBufferMemoryRequirements", &wine_vkGetBufferMemoryRequirements
},
6128 {"vkGetBufferMemoryRequirements2", &wine_vkGetBufferMemoryRequirements2
},
6129 {"vkGetBufferMemoryRequirements2KHR", &wine_vkGetBufferMemoryRequirements2KHR
},
6130 {"vkGetBufferOpaqueCaptureAddress", &wine_vkGetBufferOpaqueCaptureAddress
},
6131 {"vkGetBufferOpaqueCaptureAddressKHR", &wine_vkGetBufferOpaqueCaptureAddressKHR
},
6132 {"vkGetCalibratedTimestampsEXT", &wine_vkGetCalibratedTimestampsEXT
},
6133 {"vkGetDescriptorSetLayoutSupport", &wine_vkGetDescriptorSetLayoutSupport
},
6134 {"vkGetDescriptorSetLayoutSupportKHR", &wine_vkGetDescriptorSetLayoutSupportKHR
},
6135 {"vkGetDeviceGroupPeerMemoryFeatures", &wine_vkGetDeviceGroupPeerMemoryFeatures
},
6136 {"vkGetDeviceGroupPeerMemoryFeaturesKHR", &wine_vkGetDeviceGroupPeerMemoryFeaturesKHR
},
6137 {"vkGetDeviceGroupPresentCapabilitiesKHR", &wine_vkGetDeviceGroupPresentCapabilitiesKHR
},
6138 {"vkGetDeviceGroupSurfacePresentModesKHR", &wine_vkGetDeviceGroupSurfacePresentModesKHR
},
6139 {"vkGetDeviceMemoryCommitment", &wine_vkGetDeviceMemoryCommitment
},
6140 {"vkGetDeviceMemoryOpaqueCaptureAddress", &wine_vkGetDeviceMemoryOpaqueCaptureAddress
},
6141 {"vkGetDeviceMemoryOpaqueCaptureAddressKHR", &wine_vkGetDeviceMemoryOpaqueCaptureAddressKHR
},
6142 {"vkGetDeviceProcAddr", &wine_vkGetDeviceProcAddr
},
6143 {"vkGetDeviceQueue", &wine_vkGetDeviceQueue
},
6144 {"vkGetDeviceQueue2", &wine_vkGetDeviceQueue2
},
6145 {"vkGetEventStatus", &wine_vkGetEventStatus
},
6146 {"vkGetFenceStatus", &wine_vkGetFenceStatus
},
6147 {"vkGetGeneratedCommandsMemoryRequirementsNV", &wine_vkGetGeneratedCommandsMemoryRequirementsNV
},
6148 {"vkGetImageMemoryRequirements", &wine_vkGetImageMemoryRequirements
},
6149 {"vkGetImageMemoryRequirements2", &wine_vkGetImageMemoryRequirements2
},
6150 {"vkGetImageMemoryRequirements2KHR", &wine_vkGetImageMemoryRequirements2KHR
},
6151 {"vkGetImageSparseMemoryRequirements", &wine_vkGetImageSparseMemoryRequirements
},
6152 {"vkGetImageSparseMemoryRequirements2", &wine_vkGetImageSparseMemoryRequirements2
},
6153 {"vkGetImageSparseMemoryRequirements2KHR", &wine_vkGetImageSparseMemoryRequirements2KHR
},
6154 {"vkGetImageSubresourceLayout", &wine_vkGetImageSubresourceLayout
},
6155 {"vkGetMemoryHostPointerPropertiesEXT", &wine_vkGetMemoryHostPointerPropertiesEXT
},
6156 {"vkGetPerformanceParameterINTEL", &wine_vkGetPerformanceParameterINTEL
},
6157 {"vkGetPipelineCacheData", &wine_vkGetPipelineCacheData
},
6158 {"vkGetPipelineExecutableInternalRepresentationsKHR", &wine_vkGetPipelineExecutableInternalRepresentationsKHR
},
6159 {"vkGetPipelineExecutablePropertiesKHR", &wine_vkGetPipelineExecutablePropertiesKHR
},
6160 {"vkGetPipelineExecutableStatisticsKHR", &wine_vkGetPipelineExecutableStatisticsKHR
},
6161 {"vkGetPrivateDataEXT", &wine_vkGetPrivateDataEXT
},
6162 {"vkGetQueryPoolResults", &wine_vkGetQueryPoolResults
},
6163 {"vkGetQueueCheckpointDataNV", &wine_vkGetQueueCheckpointDataNV
},
6164 {"vkGetRayTracingShaderGroupHandlesNV", &wine_vkGetRayTracingShaderGroupHandlesNV
},
6165 {"vkGetRenderAreaGranularity", &wine_vkGetRenderAreaGranularity
},
6166 {"vkGetSemaphoreCounterValue", &wine_vkGetSemaphoreCounterValue
},
6167 {"vkGetSemaphoreCounterValueKHR", &wine_vkGetSemaphoreCounterValueKHR
},
6168 {"vkGetShaderInfoAMD", &wine_vkGetShaderInfoAMD
},
6169 {"vkGetSwapchainImagesKHR", &wine_vkGetSwapchainImagesKHR
},
6170 {"vkGetValidationCacheDataEXT", &wine_vkGetValidationCacheDataEXT
},
6171 {"vkInitializePerformanceApiINTEL", &wine_vkInitializePerformanceApiINTEL
},
6172 {"vkInvalidateMappedMemoryRanges", &wine_vkInvalidateMappedMemoryRanges
},
6173 {"vkMapMemory", &wine_vkMapMemory
},
6174 {"vkMergePipelineCaches", &wine_vkMergePipelineCaches
},
6175 {"vkMergeValidationCachesEXT", &wine_vkMergeValidationCachesEXT
},
6176 {"vkQueueBeginDebugUtilsLabelEXT", &wine_vkQueueBeginDebugUtilsLabelEXT
},
6177 {"vkQueueBindSparse", &wine_vkQueueBindSparse
},
6178 {"vkQueueEndDebugUtilsLabelEXT", &wine_vkQueueEndDebugUtilsLabelEXT
},
6179 {"vkQueueInsertDebugUtilsLabelEXT", &wine_vkQueueInsertDebugUtilsLabelEXT
},
6180 {"vkQueuePresentKHR", &wine_vkQueuePresentKHR
},
6181 {"vkQueueSetPerformanceConfigurationINTEL", &wine_vkQueueSetPerformanceConfigurationINTEL
},
6182 {"vkQueueSubmit", &wine_vkQueueSubmit
},
6183 {"vkQueueWaitIdle", &wine_vkQueueWaitIdle
},
6184 {"vkReleasePerformanceConfigurationINTEL", &wine_vkReleasePerformanceConfigurationINTEL
},
6185 {"vkReleaseProfilingLockKHR", &wine_vkReleaseProfilingLockKHR
},
6186 {"vkResetCommandBuffer", &wine_vkResetCommandBuffer
},
6187 {"vkResetCommandPool", &wine_vkResetCommandPool
},
6188 {"vkResetDescriptorPool", &wine_vkResetDescriptorPool
},
6189 {"vkResetEvent", &wine_vkResetEvent
},
6190 {"vkResetFences", &wine_vkResetFences
},
6191 {"vkResetQueryPool", &wine_vkResetQueryPool
},
6192 {"vkResetQueryPoolEXT", &wine_vkResetQueryPoolEXT
},
6193 {"vkSetDebugUtilsObjectNameEXT", &wine_vkSetDebugUtilsObjectNameEXT
},
6194 {"vkSetDebugUtilsObjectTagEXT", &wine_vkSetDebugUtilsObjectTagEXT
},
6195 {"vkSetEvent", &wine_vkSetEvent
},
6196 {"vkSetPrivateDataEXT", &wine_vkSetPrivateDataEXT
},
6197 {"vkSignalSemaphore", &wine_vkSignalSemaphore
},
6198 {"vkSignalSemaphoreKHR", &wine_vkSignalSemaphoreKHR
},
6199 {"vkTrimCommandPool", &wine_vkTrimCommandPool
},
6200 {"vkTrimCommandPoolKHR", &wine_vkTrimCommandPoolKHR
},
6201 {"vkUninitializePerformanceApiINTEL", &wine_vkUninitializePerformanceApiINTEL
},
6202 {"vkUnmapMemory", &wine_vkUnmapMemory
},
6203 {"vkUpdateDescriptorSetWithTemplate", &wine_vkUpdateDescriptorSetWithTemplate
},
6204 {"vkUpdateDescriptorSetWithTemplateKHR", &wine_vkUpdateDescriptorSetWithTemplateKHR
},
6205 {"vkUpdateDescriptorSets", &wine_vkUpdateDescriptorSets
},
6206 {"vkWaitForFences", &wine_vkWaitForFences
},
6207 {"vkWaitSemaphores", &wine_vkWaitSemaphores
},
6208 {"vkWaitSemaphoresKHR", &wine_vkWaitSemaphoresKHR
},
6211 static const struct vulkan_func vk_instance_dispatch_table
[] =
6213 {"vkCreateDebugUtilsMessengerEXT", &wine_vkCreateDebugUtilsMessengerEXT
},
6214 {"vkCreateDevice", &wine_vkCreateDevice
},
6215 {"vkCreateHeadlessSurfaceEXT", &wine_vkCreateHeadlessSurfaceEXT
},
6216 {"vkCreateWin32SurfaceKHR", &wine_vkCreateWin32SurfaceKHR
},
6217 {"vkDestroyDebugUtilsMessengerEXT", &wine_vkDestroyDebugUtilsMessengerEXT
},
6218 {"vkDestroyInstance", &wine_vkDestroyInstance
},
6219 {"vkDestroySurfaceKHR", &wine_vkDestroySurfaceKHR
},
6220 {"vkEnumerateDeviceExtensionProperties", &wine_vkEnumerateDeviceExtensionProperties
},
6221 {"vkEnumerateDeviceLayerProperties", &wine_vkEnumerateDeviceLayerProperties
},
6222 {"vkEnumeratePhysicalDeviceGroups", &wine_vkEnumeratePhysicalDeviceGroups
},
6223 {"vkEnumeratePhysicalDeviceGroupsKHR", &wine_vkEnumeratePhysicalDeviceGroupsKHR
},
6224 {"vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR", &wine_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
},
6225 {"vkEnumeratePhysicalDevices", &wine_vkEnumeratePhysicalDevices
},
6226 {"vkGetPhysicalDeviceCalibrateableTimeDomainsEXT", &wine_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
},
6227 {"vkGetPhysicalDeviceCooperativeMatrixPropertiesNV", &wine_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
},
6228 {"vkGetPhysicalDeviceExternalBufferProperties", &wine_vkGetPhysicalDeviceExternalBufferProperties
},
6229 {"vkGetPhysicalDeviceExternalBufferPropertiesKHR", &wine_vkGetPhysicalDeviceExternalBufferPropertiesKHR
},
6230 {"vkGetPhysicalDeviceExternalFenceProperties", &wine_vkGetPhysicalDeviceExternalFenceProperties
},
6231 {"vkGetPhysicalDeviceExternalFencePropertiesKHR", &wine_vkGetPhysicalDeviceExternalFencePropertiesKHR
},
6232 {"vkGetPhysicalDeviceExternalSemaphoreProperties", &wine_vkGetPhysicalDeviceExternalSemaphoreProperties
},
6233 {"vkGetPhysicalDeviceExternalSemaphorePropertiesKHR", &wine_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
},
6234 {"vkGetPhysicalDeviceFeatures", &wine_vkGetPhysicalDeviceFeatures
},
6235 {"vkGetPhysicalDeviceFeatures2", &wine_vkGetPhysicalDeviceFeatures2
},
6236 {"vkGetPhysicalDeviceFeatures2KHR", &wine_vkGetPhysicalDeviceFeatures2KHR
},
6237 {"vkGetPhysicalDeviceFormatProperties", &wine_vkGetPhysicalDeviceFormatProperties
},
6238 {"vkGetPhysicalDeviceFormatProperties2", &wine_vkGetPhysicalDeviceFormatProperties2
},
6239 {"vkGetPhysicalDeviceFormatProperties2KHR", &wine_vkGetPhysicalDeviceFormatProperties2KHR
},
6240 {"vkGetPhysicalDeviceFragmentShadingRatesKHR", &wine_vkGetPhysicalDeviceFragmentShadingRatesKHR
},
6241 {"vkGetPhysicalDeviceImageFormatProperties", &wine_vkGetPhysicalDeviceImageFormatProperties
},
6242 {"vkGetPhysicalDeviceImageFormatProperties2", &wine_vkGetPhysicalDeviceImageFormatProperties2
},
6243 {"vkGetPhysicalDeviceImageFormatProperties2KHR", &wine_vkGetPhysicalDeviceImageFormatProperties2KHR
},
6244 {"vkGetPhysicalDeviceMemoryProperties", &wine_vkGetPhysicalDeviceMemoryProperties
},
6245 {"vkGetPhysicalDeviceMemoryProperties2", &wine_vkGetPhysicalDeviceMemoryProperties2
},
6246 {"vkGetPhysicalDeviceMemoryProperties2KHR", &wine_vkGetPhysicalDeviceMemoryProperties2KHR
},
6247 {"vkGetPhysicalDeviceMultisamplePropertiesEXT", &wine_vkGetPhysicalDeviceMultisamplePropertiesEXT
},
6248 {"vkGetPhysicalDevicePresentRectanglesKHR", &wine_vkGetPhysicalDevicePresentRectanglesKHR
},
6249 {"vkGetPhysicalDeviceProperties", &wine_vkGetPhysicalDeviceProperties
},
6250 {"vkGetPhysicalDeviceProperties2", &wine_vkGetPhysicalDeviceProperties2
},
6251 {"vkGetPhysicalDeviceProperties2KHR", &wine_vkGetPhysicalDeviceProperties2KHR
},
6252 {"vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR", &wine_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
},
6253 {"vkGetPhysicalDeviceQueueFamilyProperties", &wine_vkGetPhysicalDeviceQueueFamilyProperties
},
6254 {"vkGetPhysicalDeviceQueueFamilyProperties2", &wine_vkGetPhysicalDeviceQueueFamilyProperties2
},
6255 {"vkGetPhysicalDeviceQueueFamilyProperties2KHR", &wine_vkGetPhysicalDeviceQueueFamilyProperties2KHR
},
6256 {"vkGetPhysicalDeviceSparseImageFormatProperties", &wine_vkGetPhysicalDeviceSparseImageFormatProperties
},
6257 {"vkGetPhysicalDeviceSparseImageFormatProperties2", &wine_vkGetPhysicalDeviceSparseImageFormatProperties2
},
6258 {"vkGetPhysicalDeviceSparseImageFormatProperties2KHR", &wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
},
6259 {"vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV", &wine_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
},
6260 {"vkGetPhysicalDeviceSurfaceCapabilities2KHR", &wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR
},
6261 {"vkGetPhysicalDeviceSurfaceCapabilitiesKHR", &wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
},
6262 {"vkGetPhysicalDeviceSurfaceFormats2KHR", &wine_vkGetPhysicalDeviceSurfaceFormats2KHR
},
6263 {"vkGetPhysicalDeviceSurfaceFormatsKHR", &wine_vkGetPhysicalDeviceSurfaceFormatsKHR
},
6264 {"vkGetPhysicalDeviceSurfacePresentModesKHR", &wine_vkGetPhysicalDeviceSurfacePresentModesKHR
},
6265 {"vkGetPhysicalDeviceSurfaceSupportKHR", &wine_vkGetPhysicalDeviceSurfaceSupportKHR
},
6266 {"vkGetPhysicalDeviceToolPropertiesEXT", &wine_vkGetPhysicalDeviceToolPropertiesEXT
},
6267 {"vkGetPhysicalDeviceWin32PresentationSupportKHR", &wine_vkGetPhysicalDeviceWin32PresentationSupportKHR
},
6268 {"vkSubmitDebugUtilsMessageEXT", &wine_vkSubmitDebugUtilsMessageEXT
},
6271 void *wine_vk_get_device_proc_addr(const char *name
)
6274 for (i
= 0; i
< ARRAY_SIZE(vk_device_dispatch_table
); i
++)
6276 if (strcmp(vk_device_dispatch_table
[i
].name
, name
) == 0)
6278 TRACE("Found name=%s in device table\n", debugstr_a(name
));
6279 return vk_device_dispatch_table
[i
].func
;
6285 void *wine_vk_get_instance_proc_addr(const char *name
)
6288 for (i
= 0; i
< ARRAY_SIZE(vk_instance_dispatch_table
); i
++)
6290 if (strcmp(vk_instance_dispatch_table
[i
].name
, name
) == 0)
6292 TRACE("Found name=%s in instance table\n", debugstr_a(name
));
6293 return vk_instance_dispatch_table
[i
].func
;
6299 static const char * const vk_device_extensions
[] =
6301 "VK_AMD_buffer_marker",
6302 "VK_AMD_device_coherent_memory",
6303 "VK_AMD_draw_indirect_count",
6304 "VK_AMD_gcn_shader",
6305 "VK_AMD_gpu_shader_half_float",
6306 "VK_AMD_gpu_shader_int16",
6307 "VK_AMD_memory_overallocation_behavior",
6308 "VK_AMD_mixed_attachment_samples",
6309 "VK_AMD_negative_viewport_height",
6310 "VK_AMD_pipeline_compiler_control",
6311 "VK_AMD_rasterization_order",
6312 "VK_AMD_shader_ballot",
6313 "VK_AMD_shader_core_properties",
6314 "VK_AMD_shader_core_properties2",
6315 "VK_AMD_shader_explicit_vertex_parameter",
6316 "VK_AMD_shader_fragment_mask",
6317 "VK_AMD_shader_image_load_store_lod",
6318 "VK_AMD_shader_info",
6319 "VK_AMD_shader_trinary_minmax",
6320 "VK_AMD_texture_gather_bias_lod",
6321 "VK_EXT_4444_formats",
6322 "VK_EXT_astc_decode_mode",
6323 "VK_EXT_blend_operation_advanced",
6324 "VK_EXT_buffer_device_address",
6325 "VK_EXT_calibrated_timestamps",
6326 "VK_EXT_conditional_rendering",
6327 "VK_EXT_conservative_rasterization",
6328 "VK_EXT_custom_border_color",
6329 "VK_EXT_depth_clip_enable",
6330 "VK_EXT_depth_range_unrestricted",
6331 "VK_EXT_descriptor_indexing",
6332 "VK_EXT_discard_rectangles",
6333 "VK_EXT_extended_dynamic_state",
6334 "VK_EXT_external_memory_host",
6335 "VK_EXT_filter_cubic",
6336 "VK_EXT_fragment_density_map",
6337 "VK_EXT_fragment_density_map2",
6338 "VK_EXT_fragment_shader_interlock",
6339 "VK_EXT_global_priority",
6340 "VK_EXT_host_query_reset",
6341 "VK_EXT_image_robustness",
6342 "VK_EXT_index_type_uint8",
6343 "VK_EXT_inline_uniform_block",
6344 "VK_EXT_line_rasterization",
6345 "VK_EXT_memory_budget",
6346 "VK_EXT_memory_priority",
6347 "VK_EXT_pci_bus_info",
6348 "VK_EXT_pipeline_creation_cache_control",
6349 "VK_EXT_post_depth_coverage",
6350 "VK_EXT_private_data",
6351 "VK_EXT_queue_family_foreign",
6352 "VK_EXT_robustness2",
6353 "VK_EXT_sample_locations",
6354 "VK_EXT_sampler_filter_minmax",
6355 "VK_EXT_scalar_block_layout",
6356 "VK_EXT_separate_stencil_usage",
6357 "VK_EXT_shader_atomic_float",
6358 "VK_EXT_shader_demote_to_helper_invocation",
6359 "VK_EXT_shader_image_atomic_int64",
6360 "VK_EXT_shader_stencil_export",
6361 "VK_EXT_shader_subgroup_ballot",
6362 "VK_EXT_shader_subgroup_vote",
6363 "VK_EXT_shader_viewport_index_layer",
6364 "VK_EXT_subgroup_size_control",
6365 "VK_EXT_texel_buffer_alignment",
6366 "VK_EXT_texture_compression_astc_hdr",
6367 "VK_EXT_tooling_info",
6368 "VK_EXT_transform_feedback",
6369 "VK_EXT_validation_cache",
6370 "VK_EXT_vertex_attribute_divisor",
6371 "VK_EXT_ycbcr_image_arrays",
6372 "VK_GOOGLE_decorate_string",
6373 "VK_GOOGLE_hlsl_functionality1",
6374 "VK_GOOGLE_user_type",
6375 "VK_IMG_filter_cubic",
6376 "VK_IMG_format_pvrtc",
6377 "VK_INTEL_performance_query",
6378 "VK_INTEL_shader_integer_functions2",
6379 "VK_KHR_16bit_storage",
6380 "VK_KHR_8bit_storage",
6381 "VK_KHR_bind_memory2",
6382 "VK_KHR_buffer_device_address",
6383 "VK_KHR_copy_commands2",
6384 "VK_KHR_create_renderpass2",
6385 "VK_KHR_dedicated_allocation",
6386 "VK_KHR_depth_stencil_resolve",
6387 "VK_KHR_descriptor_update_template",
6388 "VK_KHR_device_group",
6389 "VK_KHR_draw_indirect_count",
6390 "VK_KHR_driver_properties",
6391 "VK_KHR_external_fence",
6392 "VK_KHR_external_memory",
6393 "VK_KHR_external_semaphore",
6394 "VK_KHR_fragment_shading_rate",
6395 "VK_KHR_get_memory_requirements2",
6396 "VK_KHR_image_format_list",
6397 "VK_KHR_imageless_framebuffer",
6398 "VK_KHR_incremental_present",
6399 "VK_KHR_maintenance1",
6400 "VK_KHR_maintenance2",
6401 "VK_KHR_maintenance3",
6403 "VK_KHR_performance_query",
6404 "VK_KHR_pipeline_executable_properties",
6405 "VK_KHR_push_descriptor",
6406 "VK_KHR_relaxed_block_layout",
6407 "VK_KHR_sampler_mirror_clamp_to_edge",
6408 "VK_KHR_sampler_ycbcr_conversion",
6409 "VK_KHR_separate_depth_stencil_layouts",
6410 "VK_KHR_shader_atomic_int64",
6411 "VK_KHR_shader_clock",
6412 "VK_KHR_shader_draw_parameters",
6413 "VK_KHR_shader_float16_int8",
6414 "VK_KHR_shader_float_controls",
6415 "VK_KHR_shader_non_semantic_info",
6416 "VK_KHR_shader_subgroup_extended_types",
6417 "VK_KHR_shader_terminate_invocation",
6419 "VK_KHR_storage_buffer_storage_class",
6421 "VK_KHR_swapchain_mutable_format",
6422 "VK_KHR_timeline_semaphore",
6423 "VK_KHR_uniform_buffer_standard_layout",
6424 "VK_KHR_variable_pointers",
6425 "VK_KHR_vulkan_memory_model",
6426 "VK_NV_clip_space_w_scaling",
6427 "VK_NV_compute_shader_derivatives",
6428 "VK_NV_cooperative_matrix",
6429 "VK_NV_corner_sampled_image",
6430 "VK_NV_coverage_reduction_mode",
6431 "VK_NV_dedicated_allocation",
6432 "VK_NV_dedicated_allocation_image_aliasing",
6433 "VK_NV_device_diagnostic_checkpoints",
6434 "VK_NV_device_diagnostics_config",
6435 "VK_NV_device_generated_commands",
6436 "VK_NV_fill_rectangle",
6437 "VK_NV_fragment_coverage_to_color",
6438 "VK_NV_fragment_shader_barycentric",
6439 "VK_NV_framebuffer_mixed_samples",
6440 "VK_NV_geometry_shader_passthrough",
6441 "VK_NV_glsl_shader",
6442 "VK_NV_mesh_shader",
6443 "VK_NV_ray_tracing",
6444 "VK_NV_representative_fragment_test",
6445 "VK_NV_sample_mask_override_coverage",
6446 "VK_NV_scissor_exclusive",
6447 "VK_NV_shader_image_footprint",
6448 "VK_NV_shader_sm_builtins",
6449 "VK_NV_shader_subgroup_partitioned",
6450 "VK_NV_shading_rate_image",
6451 "VK_NV_viewport_array2",
6452 "VK_NV_viewport_swizzle",
6453 "VK_QCOM_render_pass_shader_resolve",
6454 "VK_QCOM_render_pass_store_ops",
6455 "VK_QCOM_render_pass_transform",
6458 static const char * const vk_instance_extensions
[] =
6460 "VK_EXT_debug_utils",
6461 "VK_EXT_headless_surface",
6462 "VK_EXT_swapchain_colorspace",
6463 "VK_KHR_device_group_creation",
6464 "VK_KHR_external_fence_capabilities",
6465 "VK_KHR_external_memory_capabilities",
6466 "VK_KHR_external_semaphore_capabilities",
6467 "VK_KHR_get_physical_device_properties2",
6468 "VK_KHR_get_surface_capabilities2",
6470 "VK_KHR_win32_surface",
6473 BOOL
wine_vk_device_extension_supported(const char *name
)
6476 for (i
= 0; i
< ARRAY_SIZE(vk_device_extensions
); i
++)
6478 if (strcmp(vk_device_extensions
[i
], name
) == 0)
6484 BOOL
wine_vk_instance_extension_supported(const char *name
)
6487 for (i
= 0; i
< ARRAY_SIZE(vk_instance_extensions
); i
++)
6489 if (strcmp(vk_instance_extensions
[i
], name
) == 0)
6495 BOOL
wine_vk_is_type_wrapped(VkObjectType type
)
6498 type
== VK_OBJECT_TYPE_COMMAND_BUFFER
||
6499 type
== VK_OBJECT_TYPE_COMMAND_POOL
||
6500 type
== VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
||
6501 type
== VK_OBJECT_TYPE_DEVICE
||
6502 type
== VK_OBJECT_TYPE_INSTANCE
||
6503 type
== VK_OBJECT_TYPE_PHYSICAL_DEVICE
||
6504 type
== VK_OBJECT_TYPE_QUEUE
;
6507 uint64_t wine_vk_unwrap_handle(VkObjectType type
, uint64_t handle
)
6511 case VK_OBJECT_TYPE_COMMAND_BUFFER
:
6512 return (uint64_t) (uintptr_t) ((VkCommandBuffer
) (uintptr_t) handle
)->command_buffer
;
6513 case VK_OBJECT_TYPE_COMMAND_POOL
:
6514 return (uint64_t) wine_cmd_pool_from_handle(handle
)->command_pool
;
6515 case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
:
6516 return (uint64_t) wine_debug_utils_messenger_from_handle(handle
)->debug_messenger
;
6517 case VK_OBJECT_TYPE_DEVICE
:
6518 return (uint64_t) (uintptr_t) ((VkDevice
) (uintptr_t) handle
)->device
;
6519 case VK_OBJECT_TYPE_INSTANCE
:
6520 return (uint64_t) (uintptr_t) ((VkInstance
) (uintptr_t) handle
)->instance
;
6521 case VK_OBJECT_TYPE_PHYSICAL_DEVICE
:
6522 return (uint64_t) (uintptr_t) ((VkPhysicalDevice
) (uintptr_t) handle
)->phys_dev
;
6523 case VK_OBJECT_TYPE_QUEUE
:
6524 return (uint64_t) (uintptr_t) ((VkQueue
) (uintptr_t) handle
)->queue
;