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 2015-2021 The Khronos Group Inc.
8 * SPDX-License-Identifier: Apache-2.0 OR MIT
17 #include "wine/port.h"
19 #include "vulkan_private.h"
21 WINE_DEFAULT_DEBUG_CHANNEL(vulkan
);
23 #if defined(USE_STRUCT_CONVERSION)
24 static inline void convert_VkAcquireNextImageInfoKHR_win_to_host(const VkAcquireNextImageInfoKHR
*in
, VkAcquireNextImageInfoKHR_host
*out
)
28 out
->sType
= in
->sType
;
29 out
->pNext
= in
->pNext
;
30 out
->swapchain
= in
->swapchain
;
31 out
->timeout
= in
->timeout
;
32 out
->semaphore
= in
->semaphore
;
33 out
->fence
= in
->fence
;
34 out
->deviceMask
= in
->deviceMask
;
36 #endif /* USE_STRUCT_CONVERSION */
38 #if defined(USE_STRUCT_CONVERSION)
39 static inline void convert_VkAcquireProfilingLockInfoKHR_win_to_host(const VkAcquireProfilingLockInfoKHR
*in
, VkAcquireProfilingLockInfoKHR_host
*out
)
43 out
->sType
= in
->sType
;
44 out
->pNext
= in
->pNext
;
45 out
->flags
= in
->flags
;
46 out
->timeout
= in
->timeout
;
48 #endif /* USE_STRUCT_CONVERSION */
50 #if defined(USE_STRUCT_CONVERSION)
51 static inline void convert_VkDescriptorSetAllocateInfo_win_to_host(const VkDescriptorSetAllocateInfo
*in
, VkDescriptorSetAllocateInfo_host
*out
)
55 out
->sType
= in
->sType
;
56 out
->pNext
= in
->pNext
;
57 out
->descriptorPool
= in
->descriptorPool
;
58 out
->descriptorSetCount
= in
->descriptorSetCount
;
59 out
->pSetLayouts
= in
->pSetLayouts
;
61 #endif /* USE_STRUCT_CONVERSION */
63 #if defined(USE_STRUCT_CONVERSION)
64 static inline void convert_VkMemoryAllocateInfo_win_to_host(const VkMemoryAllocateInfo
*in
, VkMemoryAllocateInfo_host
*out
)
68 out
->sType
= in
->sType
;
69 out
->pNext
= in
->pNext
;
70 out
->allocationSize
= in
->allocationSize
;
71 out
->memoryTypeIndex
= in
->memoryTypeIndex
;
73 #endif /* USE_STRUCT_CONVERSION */
75 #if defined(USE_STRUCT_CONVERSION)
76 static inline VkCommandBufferInheritanceInfo_host
*convert_VkCommandBufferInheritanceInfo_array_win_to_host(const VkCommandBufferInheritanceInfo
*in
, uint32_t count
)
78 VkCommandBufferInheritanceInfo_host
*out
;
83 out
= malloc(count
* sizeof(*out
));
84 for (i
= 0; i
< count
; i
++)
86 out
[i
].sType
= in
[i
].sType
;
87 out
[i
].pNext
= in
[i
].pNext
;
88 out
[i
].renderPass
= in
[i
].renderPass
;
89 out
[i
].subpass
= in
[i
].subpass
;
90 out
[i
].framebuffer
= in
[i
].framebuffer
;
91 out
[i
].occlusionQueryEnable
= in
[i
].occlusionQueryEnable
;
92 out
[i
].queryFlags
= in
[i
].queryFlags
;
93 out
[i
].pipelineStatistics
= in
[i
].pipelineStatistics
;
98 #endif /* USE_STRUCT_CONVERSION */
100 #if defined(USE_STRUCT_CONVERSION)
101 static inline void free_VkCommandBufferInheritanceInfo_array(VkCommandBufferInheritanceInfo_host
*in
, uint32_t count
)
107 #endif /* USE_STRUCT_CONVERSION */
109 #if defined(USE_STRUCT_CONVERSION)
110 static inline void convert_VkCommandBufferBeginInfo_win_to_host(const VkCommandBufferBeginInfo
*in
, VkCommandBufferBeginInfo_host
*out
)
114 out
->sType
= in
->sType
;
115 out
->pNext
= in
->pNext
;
116 out
->flags
= in
->flags
;
117 out
->pInheritanceInfo
= convert_VkCommandBufferInheritanceInfo_array_win_to_host(in
->pInheritanceInfo
, 1);
119 #endif /* USE_STRUCT_CONVERSION */
121 #if defined(USE_STRUCT_CONVERSION)
122 static inline void free_VkCommandBufferBeginInfo(VkCommandBufferBeginInfo_host
*in
)
124 free_VkCommandBufferInheritanceInfo_array((VkCommandBufferInheritanceInfo_host
*)in
->pInheritanceInfo
, 1);
126 #endif /* USE_STRUCT_CONVERSION */
128 #if defined(USE_STRUCT_CONVERSION)
129 static inline VkBindAccelerationStructureMemoryInfoNV_host
*convert_VkBindAccelerationStructureMemoryInfoNV_array_win_to_host(const VkBindAccelerationStructureMemoryInfoNV
*in
, uint32_t count
)
131 VkBindAccelerationStructureMemoryInfoNV_host
*out
;
134 if (!in
) return NULL
;
136 out
= malloc(count
* sizeof(*out
));
137 for (i
= 0; i
< count
; i
++)
139 out
[i
].sType
= in
[i
].sType
;
140 out
[i
].pNext
= in
[i
].pNext
;
141 out
[i
].accelerationStructure
= in
[i
].accelerationStructure
;
142 out
[i
].memory
= in
[i
].memory
;
143 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
144 out
[i
].deviceIndexCount
= in
[i
].deviceIndexCount
;
145 out
[i
].pDeviceIndices
= in
[i
].pDeviceIndices
;
150 #endif /* USE_STRUCT_CONVERSION */
152 #if defined(USE_STRUCT_CONVERSION)
153 static inline void free_VkBindAccelerationStructureMemoryInfoNV_array(VkBindAccelerationStructureMemoryInfoNV_host
*in
, uint32_t count
)
159 #endif /* USE_STRUCT_CONVERSION */
161 #if defined(USE_STRUCT_CONVERSION)
162 static inline VkBindBufferMemoryInfo_host
*convert_VkBindBufferMemoryInfo_array_win_to_host(const VkBindBufferMemoryInfo
*in
, uint32_t count
)
164 VkBindBufferMemoryInfo_host
*out
;
167 if (!in
) return NULL
;
169 out
= malloc(count
* sizeof(*out
));
170 for (i
= 0; i
< count
; i
++)
172 out
[i
].sType
= in
[i
].sType
;
173 out
[i
].pNext
= in
[i
].pNext
;
174 out
[i
].buffer
= in
[i
].buffer
;
175 out
[i
].memory
= in
[i
].memory
;
176 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
181 #endif /* USE_STRUCT_CONVERSION */
183 #if defined(USE_STRUCT_CONVERSION)
184 static inline void free_VkBindBufferMemoryInfo_array(VkBindBufferMemoryInfo_host
*in
, uint32_t count
)
190 #endif /* USE_STRUCT_CONVERSION */
192 #if defined(USE_STRUCT_CONVERSION)
193 static inline VkBindImageMemoryInfo_host
*convert_VkBindImageMemoryInfo_array_win_to_host(const VkBindImageMemoryInfo
*in
, uint32_t count
)
195 VkBindImageMemoryInfo_host
*out
;
198 if (!in
) return NULL
;
200 out
= malloc(count
* sizeof(*out
));
201 for (i
= 0; i
< count
; i
++)
203 out
[i
].sType
= in
[i
].sType
;
204 out
[i
].pNext
= in
[i
].pNext
;
205 out
[i
].image
= in
[i
].image
;
206 out
[i
].memory
= in
[i
].memory
;
207 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
212 #endif /* USE_STRUCT_CONVERSION */
214 #if defined(USE_STRUCT_CONVERSION)
215 static inline void free_VkBindImageMemoryInfo_array(VkBindImageMemoryInfo_host
*in
, uint32_t count
)
221 #endif /* USE_STRUCT_CONVERSION */
223 #if defined(USE_STRUCT_CONVERSION)
224 static inline VkAccelerationStructureBuildGeometryInfoKHR_host
*convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win_to_host(const VkAccelerationStructureBuildGeometryInfoKHR
*in
, uint32_t count
)
226 VkAccelerationStructureBuildGeometryInfoKHR_host
*out
;
229 if (!in
) return NULL
;
231 out
= malloc(count
* sizeof(*out
));
232 for (i
= 0; i
< count
; i
++)
234 out
[i
].sType
= in
[i
].sType
;
235 out
[i
].pNext
= in
[i
].pNext
;
236 out
[i
].type
= in
[i
].type
;
237 out
[i
].flags
= in
[i
].flags
;
238 out
[i
].mode
= in
[i
].mode
;
239 out
[i
].srcAccelerationStructure
= in
[i
].srcAccelerationStructure
;
240 out
[i
].dstAccelerationStructure
= in
[i
].dstAccelerationStructure
;
241 out
[i
].geometryCount
= in
[i
].geometryCount
;
242 out
[i
].pGeometries
= in
[i
].pGeometries
;
243 out
[i
].ppGeometries
= in
[i
].ppGeometries
;
244 out
[i
].scratchData
= in
[i
].scratchData
;
249 #endif /* USE_STRUCT_CONVERSION */
251 #if defined(USE_STRUCT_CONVERSION)
252 static inline void free_VkAccelerationStructureBuildGeometryInfoKHR_array(VkAccelerationStructureBuildGeometryInfoKHR_host
*in
, uint32_t count
)
258 #endif /* USE_STRUCT_CONVERSION */
260 #if defined(USE_STRUCT_CONVERSION)
261 static inline void convert_VkConditionalRenderingBeginInfoEXT_win_to_host(const VkConditionalRenderingBeginInfoEXT
*in
, VkConditionalRenderingBeginInfoEXT_host
*out
)
265 out
->sType
= in
->sType
;
266 out
->pNext
= in
->pNext
;
267 out
->buffer
= in
->buffer
;
268 out
->offset
= in
->offset
;
269 out
->flags
= in
->flags
;
271 #endif /* USE_STRUCT_CONVERSION */
273 #if defined(USE_STRUCT_CONVERSION)
274 static inline void convert_VkRenderPassBeginInfo_win_to_host(const VkRenderPassBeginInfo
*in
, VkRenderPassBeginInfo_host
*out
)
278 out
->sType
= in
->sType
;
279 out
->pNext
= in
->pNext
;
280 out
->renderPass
= in
->renderPass
;
281 out
->framebuffer
= in
->framebuffer
;
282 out
->renderArea
= in
->renderArea
;
283 out
->clearValueCount
= in
->clearValueCount
;
284 out
->pClearValues
= in
->pClearValues
;
286 #endif /* USE_STRUCT_CONVERSION */
288 #if defined(USE_STRUCT_CONVERSION)
289 static inline void convert_VkBlitImageInfo2KHR_win_to_host(const VkBlitImageInfo2KHR
*in
, VkBlitImageInfo2KHR_host
*out
)
293 out
->sType
= in
->sType
;
294 out
->pNext
= in
->pNext
;
295 out
->srcImage
= in
->srcImage
;
296 out
->srcImageLayout
= in
->srcImageLayout
;
297 out
->dstImage
= in
->dstImage
;
298 out
->dstImageLayout
= in
->dstImageLayout
;
299 out
->regionCount
= in
->regionCount
;
300 out
->pRegions
= in
->pRegions
;
301 out
->filter
= in
->filter
;
303 #endif /* USE_STRUCT_CONVERSION */
305 #if defined(USE_STRUCT_CONVERSION)
306 static inline void convert_VkGeometryTrianglesNV_win_to_host(const VkGeometryTrianglesNV
*in
, VkGeometryTrianglesNV_host
*out
)
310 out
->sType
= in
->sType
;
311 out
->pNext
= in
->pNext
;
312 out
->vertexData
= in
->vertexData
;
313 out
->vertexOffset
= in
->vertexOffset
;
314 out
->vertexCount
= in
->vertexCount
;
315 out
->vertexStride
= in
->vertexStride
;
316 out
->vertexFormat
= in
->vertexFormat
;
317 out
->indexData
= in
->indexData
;
318 out
->indexOffset
= in
->indexOffset
;
319 out
->indexCount
= in
->indexCount
;
320 out
->indexType
= in
->indexType
;
321 out
->transformData
= in
->transformData
;
322 out
->transformOffset
= in
->transformOffset
;
324 #endif /* USE_STRUCT_CONVERSION */
326 #if defined(USE_STRUCT_CONVERSION)
327 static inline void convert_VkGeometryAABBNV_win_to_host(const VkGeometryAABBNV
*in
, VkGeometryAABBNV_host
*out
)
331 out
->sType
= in
->sType
;
332 out
->pNext
= in
->pNext
;
333 out
->aabbData
= in
->aabbData
;
334 out
->numAABBs
= in
->numAABBs
;
335 out
->stride
= in
->stride
;
336 out
->offset
= in
->offset
;
338 #endif /* USE_STRUCT_CONVERSION */
340 #if defined(USE_STRUCT_CONVERSION)
341 static inline void convert_VkGeometryDataNV_win_to_host(const VkGeometryDataNV
*in
, VkGeometryDataNV_host
*out
)
345 convert_VkGeometryTrianglesNV_win_to_host(&in
->triangles
, &out
->triangles
);
346 convert_VkGeometryAABBNV_win_to_host(&in
->aabbs
, &out
->aabbs
);
348 #endif /* USE_STRUCT_CONVERSION */
350 #if defined(USE_STRUCT_CONVERSION)
351 static inline VkGeometryNV_host
*convert_VkGeometryNV_array_win_to_host(const VkGeometryNV
*in
, uint32_t count
)
353 VkGeometryNV_host
*out
;
356 if (!in
) return NULL
;
358 out
= malloc(count
* sizeof(*out
));
359 for (i
= 0; i
< count
; i
++)
361 out
[i
].sType
= in
[i
].sType
;
362 out
[i
].pNext
= in
[i
].pNext
;
363 out
[i
].geometryType
= in
[i
].geometryType
;
364 convert_VkGeometryDataNV_win_to_host(&in
[i
].geometry
, &out
[i
].geometry
);
365 out
[i
].flags
= in
[i
].flags
;
370 #endif /* USE_STRUCT_CONVERSION */
372 #if defined(USE_STRUCT_CONVERSION)
373 static inline void free_VkGeometryNV_array(VkGeometryNV_host
*in
, uint32_t count
)
379 #endif /* USE_STRUCT_CONVERSION */
381 #if defined(USE_STRUCT_CONVERSION)
382 static inline void convert_VkAccelerationStructureInfoNV_win_to_host(const VkAccelerationStructureInfoNV
*in
, VkAccelerationStructureInfoNV_host
*out
)
386 out
->sType
= in
->sType
;
387 out
->pNext
= in
->pNext
;
388 out
->type
= in
->type
;
389 out
->flags
= in
->flags
;
390 out
->instanceCount
= in
->instanceCount
;
391 out
->geometryCount
= in
->geometryCount
;
392 out
->pGeometries
= convert_VkGeometryNV_array_win_to_host(in
->pGeometries
, in
->geometryCount
);
394 #endif /* USE_STRUCT_CONVERSION */
396 #if defined(USE_STRUCT_CONVERSION)
397 static inline void free_VkAccelerationStructureInfoNV(VkAccelerationStructureInfoNV_host
*in
)
399 free_VkGeometryNV_array((VkGeometryNV_host
*)in
->pGeometries
, in
->geometryCount
);
401 #endif /* USE_STRUCT_CONVERSION */
403 #if defined(USE_STRUCT_CONVERSION)
404 static inline void convert_VkCopyAccelerationStructureInfoKHR_win_to_host(const VkCopyAccelerationStructureInfoKHR
*in
, VkCopyAccelerationStructureInfoKHR_host
*out
)
408 out
->sType
= in
->sType
;
409 out
->pNext
= in
->pNext
;
412 out
->mode
= in
->mode
;
414 #endif /* USE_STRUCT_CONVERSION */
416 #if defined(USE_STRUCT_CONVERSION)
417 static inline void convert_VkCopyAccelerationStructureToMemoryInfoKHR_win_to_host(const VkCopyAccelerationStructureToMemoryInfoKHR
*in
, VkCopyAccelerationStructureToMemoryInfoKHR_host
*out
)
421 out
->sType
= in
->sType
;
422 out
->pNext
= in
->pNext
;
425 out
->mode
= in
->mode
;
427 #endif /* USE_STRUCT_CONVERSION */
429 #if defined(USE_STRUCT_CONVERSION)
430 static inline VkBufferCopy_host
*convert_VkBufferCopy_array_win_to_host(const VkBufferCopy
*in
, uint32_t count
)
432 VkBufferCopy_host
*out
;
435 if (!in
) return NULL
;
437 out
= malloc(count
* sizeof(*out
));
438 for (i
= 0; i
< count
; i
++)
440 out
[i
].srcOffset
= in
[i
].srcOffset
;
441 out
[i
].dstOffset
= in
[i
].dstOffset
;
442 out
[i
].size
= in
[i
].size
;
447 #endif /* USE_STRUCT_CONVERSION */
449 #if defined(USE_STRUCT_CONVERSION)
450 static inline void free_VkBufferCopy_array(VkBufferCopy_host
*in
, uint32_t count
)
456 #endif /* USE_STRUCT_CONVERSION */
458 #if defined(USE_STRUCT_CONVERSION)
459 static inline VkBufferCopy2KHR_host
*convert_VkBufferCopy2KHR_array_win_to_host(const VkBufferCopy2KHR
*in
, uint32_t count
)
461 VkBufferCopy2KHR_host
*out
;
464 if (!in
) return NULL
;
466 out
= malloc(count
* sizeof(*out
));
467 for (i
= 0; i
< count
; i
++)
469 out
[i
].sType
= in
[i
].sType
;
470 out
[i
].pNext
= in
[i
].pNext
;
471 out
[i
].srcOffset
= in
[i
].srcOffset
;
472 out
[i
].dstOffset
= in
[i
].dstOffset
;
473 out
[i
].size
= in
[i
].size
;
478 #endif /* USE_STRUCT_CONVERSION */
480 #if defined(USE_STRUCT_CONVERSION)
481 static inline void free_VkBufferCopy2KHR_array(VkBufferCopy2KHR_host
*in
, uint32_t count
)
487 #endif /* USE_STRUCT_CONVERSION */
489 #if defined(USE_STRUCT_CONVERSION)
490 static inline void convert_VkCopyBufferInfo2KHR_win_to_host(const VkCopyBufferInfo2KHR
*in
, VkCopyBufferInfo2KHR_host
*out
)
494 out
->sType
= in
->sType
;
495 out
->pNext
= in
->pNext
;
496 out
->srcBuffer
= in
->srcBuffer
;
497 out
->dstBuffer
= in
->dstBuffer
;
498 out
->regionCount
= in
->regionCount
;
499 out
->pRegions
= convert_VkBufferCopy2KHR_array_win_to_host(in
->pRegions
, in
->regionCount
);
501 #endif /* USE_STRUCT_CONVERSION */
503 #if defined(USE_STRUCT_CONVERSION)
504 static inline void free_VkCopyBufferInfo2KHR(VkCopyBufferInfo2KHR_host
*in
)
506 free_VkBufferCopy2KHR_array((VkBufferCopy2KHR_host
*)in
->pRegions
, in
->regionCount
);
508 #endif /* USE_STRUCT_CONVERSION */
510 #if defined(USE_STRUCT_CONVERSION)
511 static inline VkBufferImageCopy_host
*convert_VkBufferImageCopy_array_win_to_host(const VkBufferImageCopy
*in
, uint32_t count
)
513 VkBufferImageCopy_host
*out
;
516 if (!in
) return NULL
;
518 out
= malloc(count
* sizeof(*out
));
519 for (i
= 0; i
< count
; i
++)
521 out
[i
].bufferOffset
= in
[i
].bufferOffset
;
522 out
[i
].bufferRowLength
= in
[i
].bufferRowLength
;
523 out
[i
].bufferImageHeight
= in
[i
].bufferImageHeight
;
524 out
[i
].imageSubresource
= in
[i
].imageSubresource
;
525 out
[i
].imageOffset
= in
[i
].imageOffset
;
526 out
[i
].imageExtent
= in
[i
].imageExtent
;
531 #endif /* USE_STRUCT_CONVERSION */
533 #if defined(USE_STRUCT_CONVERSION)
534 static inline void free_VkBufferImageCopy_array(VkBufferImageCopy_host
*in
, uint32_t count
)
540 #endif /* USE_STRUCT_CONVERSION */
542 #if defined(USE_STRUCT_CONVERSION)
543 static inline VkBufferImageCopy2KHR_host
*convert_VkBufferImageCopy2KHR_array_win_to_host(const VkBufferImageCopy2KHR
*in
, uint32_t count
)
545 VkBufferImageCopy2KHR_host
*out
;
548 if (!in
) return NULL
;
550 out
= malloc(count
* sizeof(*out
));
551 for (i
= 0; i
< count
; i
++)
553 out
[i
].sType
= in
[i
].sType
;
554 out
[i
].pNext
= in
[i
].pNext
;
555 out
[i
].bufferOffset
= in
[i
].bufferOffset
;
556 out
[i
].bufferRowLength
= in
[i
].bufferRowLength
;
557 out
[i
].bufferImageHeight
= in
[i
].bufferImageHeight
;
558 out
[i
].imageSubresource
= in
[i
].imageSubresource
;
559 out
[i
].imageOffset
= in
[i
].imageOffset
;
560 out
[i
].imageExtent
= in
[i
].imageExtent
;
565 #endif /* USE_STRUCT_CONVERSION */
567 #if defined(USE_STRUCT_CONVERSION)
568 static inline void free_VkBufferImageCopy2KHR_array(VkBufferImageCopy2KHR_host
*in
, uint32_t count
)
574 #endif /* USE_STRUCT_CONVERSION */
576 #if defined(USE_STRUCT_CONVERSION)
577 static inline void convert_VkCopyBufferToImageInfo2KHR_win_to_host(const VkCopyBufferToImageInfo2KHR
*in
, VkCopyBufferToImageInfo2KHR_host
*out
)
581 out
->sType
= in
->sType
;
582 out
->pNext
= in
->pNext
;
583 out
->srcBuffer
= in
->srcBuffer
;
584 out
->dstImage
= in
->dstImage
;
585 out
->dstImageLayout
= in
->dstImageLayout
;
586 out
->regionCount
= in
->regionCount
;
587 out
->pRegions
= convert_VkBufferImageCopy2KHR_array_win_to_host(in
->pRegions
, in
->regionCount
);
589 #endif /* USE_STRUCT_CONVERSION */
591 #if defined(USE_STRUCT_CONVERSION)
592 static inline void free_VkCopyBufferToImageInfo2KHR(VkCopyBufferToImageInfo2KHR_host
*in
)
594 free_VkBufferImageCopy2KHR_array((VkBufferImageCopy2KHR_host
*)in
->pRegions
, in
->regionCount
);
596 #endif /* USE_STRUCT_CONVERSION */
598 #if defined(USE_STRUCT_CONVERSION)
599 static inline void convert_VkCopyImageInfo2KHR_win_to_host(const VkCopyImageInfo2KHR
*in
, VkCopyImageInfo2KHR_host
*out
)
603 out
->sType
= in
->sType
;
604 out
->pNext
= in
->pNext
;
605 out
->srcImage
= in
->srcImage
;
606 out
->srcImageLayout
= in
->srcImageLayout
;
607 out
->dstImage
= in
->dstImage
;
608 out
->dstImageLayout
= in
->dstImageLayout
;
609 out
->regionCount
= in
->regionCount
;
610 out
->pRegions
= in
->pRegions
;
612 #endif /* USE_STRUCT_CONVERSION */
614 #if defined(USE_STRUCT_CONVERSION)
615 static inline void convert_VkCopyImageToBufferInfo2KHR_win_to_host(const VkCopyImageToBufferInfo2KHR
*in
, VkCopyImageToBufferInfo2KHR_host
*out
)
619 out
->sType
= in
->sType
;
620 out
->pNext
= in
->pNext
;
621 out
->srcImage
= in
->srcImage
;
622 out
->srcImageLayout
= in
->srcImageLayout
;
623 out
->dstBuffer
= in
->dstBuffer
;
624 out
->regionCount
= in
->regionCount
;
625 out
->pRegions
= convert_VkBufferImageCopy2KHR_array_win_to_host(in
->pRegions
, in
->regionCount
);
627 #endif /* USE_STRUCT_CONVERSION */
629 #if defined(USE_STRUCT_CONVERSION)
630 static inline void free_VkCopyImageToBufferInfo2KHR(VkCopyImageToBufferInfo2KHR_host
*in
)
632 free_VkBufferImageCopy2KHR_array((VkBufferImageCopy2KHR_host
*)in
->pRegions
, in
->regionCount
);
634 #endif /* USE_STRUCT_CONVERSION */
636 #if defined(USE_STRUCT_CONVERSION)
637 static inline void convert_VkCopyMemoryToAccelerationStructureInfoKHR_win_to_host(const VkCopyMemoryToAccelerationStructureInfoKHR
*in
, VkCopyMemoryToAccelerationStructureInfoKHR_host
*out
)
641 out
->sType
= in
->sType
;
642 out
->pNext
= in
->pNext
;
645 out
->mode
= in
->mode
;
647 #endif /* USE_STRUCT_CONVERSION */
649 #if defined(USE_STRUCT_CONVERSION)
650 static inline void convert_VkCuLaunchInfoNVX_win_to_host(const VkCuLaunchInfoNVX
*in
, VkCuLaunchInfoNVX_host
*out
)
654 out
->sType
= in
->sType
;
655 out
->pNext
= in
->pNext
;
656 out
->function
= in
->function
;
657 out
->gridDimX
= in
->gridDimX
;
658 out
->gridDimY
= in
->gridDimY
;
659 out
->gridDimZ
= in
->gridDimZ
;
660 out
->blockDimX
= in
->blockDimX
;
661 out
->blockDimY
= in
->blockDimY
;
662 out
->blockDimZ
= in
->blockDimZ
;
663 out
->sharedMemBytes
= in
->sharedMemBytes
;
664 out
->paramCount
= in
->paramCount
;
665 out
->pParams
= in
->pParams
;
666 out
->extraCount
= in
->extraCount
;
667 out
->pExtras
= in
->pExtras
;
669 #endif /* USE_STRUCT_CONVERSION */
671 static inline VkCommandBuffer
*convert_VkCommandBuffer_array_win_to_host(const VkCommandBuffer
*in
, uint32_t count
)
673 VkCommandBuffer
*out
;
676 if (!in
) return NULL
;
678 out
= malloc(count
* sizeof(*out
));
679 for (i
= 0; i
< count
; i
++)
681 out
[i
] = in
[i
]->command_buffer
;
687 static inline void free_VkCommandBuffer_array(VkCommandBuffer
*in
, uint32_t count
)
694 #if defined(USE_STRUCT_CONVERSION)
695 static inline VkIndirectCommandsStreamNV_host
*convert_VkIndirectCommandsStreamNV_array_win_to_host(const VkIndirectCommandsStreamNV
*in
, uint32_t count
)
697 VkIndirectCommandsStreamNV_host
*out
;
700 if (!in
) return NULL
;
702 out
= malloc(count
* sizeof(*out
));
703 for (i
= 0; i
< count
; i
++)
705 out
[i
].buffer
= in
[i
].buffer
;
706 out
[i
].offset
= in
[i
].offset
;
711 #endif /* USE_STRUCT_CONVERSION */
713 #if defined(USE_STRUCT_CONVERSION)
714 static inline void free_VkIndirectCommandsStreamNV_array(VkIndirectCommandsStreamNV_host
*in
, uint32_t count
)
720 #endif /* USE_STRUCT_CONVERSION */
722 #if defined(USE_STRUCT_CONVERSION)
723 static inline void convert_VkGeneratedCommandsInfoNV_win_to_host(const VkGeneratedCommandsInfoNV
*in
, VkGeneratedCommandsInfoNV_host
*out
)
727 out
->sType
= in
->sType
;
728 out
->pNext
= in
->pNext
;
729 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
730 out
->pipeline
= in
->pipeline
;
731 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
732 out
->streamCount
= in
->streamCount
;
733 out
->pStreams
= convert_VkIndirectCommandsStreamNV_array_win_to_host(in
->pStreams
, in
->streamCount
);
734 out
->sequencesCount
= in
->sequencesCount
;
735 out
->preprocessBuffer
= in
->preprocessBuffer
;
736 out
->preprocessOffset
= in
->preprocessOffset
;
737 out
->preprocessSize
= in
->preprocessSize
;
738 out
->sequencesCountBuffer
= in
->sequencesCountBuffer
;
739 out
->sequencesCountOffset
= in
->sequencesCountOffset
;
740 out
->sequencesIndexBuffer
= in
->sequencesIndexBuffer
;
741 out
->sequencesIndexOffset
= in
->sequencesIndexOffset
;
743 #endif /* USE_STRUCT_CONVERSION */
745 #if defined(USE_STRUCT_CONVERSION)
746 static inline void free_VkGeneratedCommandsInfoNV(VkGeneratedCommandsInfoNV_host
*in
)
748 free_VkIndirectCommandsStreamNV_array((VkIndirectCommandsStreamNV_host
*)in
->pStreams
, in
->streamCount
);
750 #endif /* USE_STRUCT_CONVERSION */
752 #if defined(USE_STRUCT_CONVERSION)
753 static inline VkBufferMemoryBarrier_host
*convert_VkBufferMemoryBarrier_array_win_to_host(const VkBufferMemoryBarrier
*in
, uint32_t count
)
755 VkBufferMemoryBarrier_host
*out
;
758 if (!in
) return NULL
;
760 out
= malloc(count
* sizeof(*out
));
761 for (i
= 0; i
< count
; i
++)
763 out
[i
].sType
= in
[i
].sType
;
764 out
[i
].pNext
= in
[i
].pNext
;
765 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
766 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
767 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
768 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
769 out
[i
].buffer
= in
[i
].buffer
;
770 out
[i
].offset
= in
[i
].offset
;
771 out
[i
].size
= in
[i
].size
;
776 #endif /* USE_STRUCT_CONVERSION */
778 #if defined(USE_STRUCT_CONVERSION)
779 static inline void free_VkBufferMemoryBarrier_array(VkBufferMemoryBarrier_host
*in
, uint32_t count
)
785 #endif /* USE_STRUCT_CONVERSION */
787 #if defined(USE_STRUCT_CONVERSION)
788 static inline VkImageMemoryBarrier_host
*convert_VkImageMemoryBarrier_array_win_to_host(const VkImageMemoryBarrier
*in
, uint32_t count
)
790 VkImageMemoryBarrier_host
*out
;
793 if (!in
) return NULL
;
795 out
= malloc(count
* sizeof(*out
));
796 for (i
= 0; i
< count
; i
++)
798 out
[i
].sType
= in
[i
].sType
;
799 out
[i
].pNext
= in
[i
].pNext
;
800 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
801 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
802 out
[i
].oldLayout
= in
[i
].oldLayout
;
803 out
[i
].newLayout
= in
[i
].newLayout
;
804 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
805 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
806 out
[i
].image
= in
[i
].image
;
807 out
[i
].subresourceRange
= in
[i
].subresourceRange
;
812 #endif /* USE_STRUCT_CONVERSION */
814 #if defined(USE_STRUCT_CONVERSION)
815 static inline void free_VkImageMemoryBarrier_array(VkImageMemoryBarrier_host
*in
, uint32_t count
)
821 #endif /* USE_STRUCT_CONVERSION */
823 #if defined(USE_STRUCT_CONVERSION)
824 static inline VkBufferMemoryBarrier2KHR_host
*convert_VkBufferMemoryBarrier2KHR_array_win_to_host(const VkBufferMemoryBarrier2KHR
*in
, uint32_t count
)
826 VkBufferMemoryBarrier2KHR_host
*out
;
829 if (!in
) return NULL
;
831 out
= malloc(count
* sizeof(*out
));
832 for (i
= 0; i
< count
; i
++)
834 out
[i
].sType
= in
[i
].sType
;
835 out
[i
].pNext
= in
[i
].pNext
;
836 out
[i
].srcStageMask
= in
[i
].srcStageMask
;
837 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
838 out
[i
].dstStageMask
= in
[i
].dstStageMask
;
839 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
840 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
841 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
842 out
[i
].buffer
= in
[i
].buffer
;
843 out
[i
].offset
= in
[i
].offset
;
844 out
[i
].size
= in
[i
].size
;
849 #endif /* USE_STRUCT_CONVERSION */
851 #if defined(USE_STRUCT_CONVERSION)
852 static inline void free_VkBufferMemoryBarrier2KHR_array(VkBufferMemoryBarrier2KHR_host
*in
, uint32_t count
)
858 #endif /* USE_STRUCT_CONVERSION */
860 #if defined(USE_STRUCT_CONVERSION)
861 static inline VkImageMemoryBarrier2KHR_host
*convert_VkImageMemoryBarrier2KHR_array_win_to_host(const VkImageMemoryBarrier2KHR
*in
, uint32_t count
)
863 VkImageMemoryBarrier2KHR_host
*out
;
866 if (!in
) return NULL
;
868 out
= malloc(count
* sizeof(*out
));
869 for (i
= 0; i
< count
; i
++)
871 out
[i
].sType
= in
[i
].sType
;
872 out
[i
].pNext
= in
[i
].pNext
;
873 out
[i
].srcStageMask
= in
[i
].srcStageMask
;
874 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
875 out
[i
].dstStageMask
= in
[i
].dstStageMask
;
876 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
877 out
[i
].oldLayout
= in
[i
].oldLayout
;
878 out
[i
].newLayout
= in
[i
].newLayout
;
879 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
880 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
881 out
[i
].image
= in
[i
].image
;
882 out
[i
].subresourceRange
= in
[i
].subresourceRange
;
887 #endif /* USE_STRUCT_CONVERSION */
889 #if defined(USE_STRUCT_CONVERSION)
890 static inline void free_VkImageMemoryBarrier2KHR_array(VkImageMemoryBarrier2KHR_host
*in
, uint32_t count
)
896 #endif /* USE_STRUCT_CONVERSION */
898 #if defined(USE_STRUCT_CONVERSION)
899 static inline void convert_VkDependencyInfoKHR_win_to_host(const VkDependencyInfoKHR
*in
, VkDependencyInfoKHR_host
*out
)
903 out
->sType
= in
->sType
;
904 out
->pNext
= in
->pNext
;
905 out
->dependencyFlags
= in
->dependencyFlags
;
906 out
->memoryBarrierCount
= in
->memoryBarrierCount
;
907 out
->pMemoryBarriers
= in
->pMemoryBarriers
;
908 out
->bufferMemoryBarrierCount
= in
->bufferMemoryBarrierCount
;
909 out
->pBufferMemoryBarriers
= convert_VkBufferMemoryBarrier2KHR_array_win_to_host(in
->pBufferMemoryBarriers
, in
->bufferMemoryBarrierCount
);
910 out
->imageMemoryBarrierCount
= in
->imageMemoryBarrierCount
;
911 out
->pImageMemoryBarriers
= convert_VkImageMemoryBarrier2KHR_array_win_to_host(in
->pImageMemoryBarriers
, in
->imageMemoryBarrierCount
);
913 #endif /* USE_STRUCT_CONVERSION */
915 #if defined(USE_STRUCT_CONVERSION)
916 static inline void free_VkDependencyInfoKHR(VkDependencyInfoKHR_host
*in
)
918 free_VkBufferMemoryBarrier2KHR_array((VkBufferMemoryBarrier2KHR_host
*)in
->pBufferMemoryBarriers
, in
->bufferMemoryBarrierCount
);
919 free_VkImageMemoryBarrier2KHR_array((VkImageMemoryBarrier2KHR_host
*)in
->pImageMemoryBarriers
, in
->imageMemoryBarrierCount
);
921 #endif /* USE_STRUCT_CONVERSION */
923 #if defined(USE_STRUCT_CONVERSION)
924 static inline VkDescriptorImageInfo_host
*convert_VkDescriptorImageInfo_array_win_to_host(const VkDescriptorImageInfo
*in
, uint32_t count
)
926 VkDescriptorImageInfo_host
*out
;
929 if (!in
) return NULL
;
931 out
= malloc(count
* sizeof(*out
));
932 for (i
= 0; i
< count
; i
++)
934 out
[i
].sampler
= in
[i
].sampler
;
935 out
[i
].imageView
= in
[i
].imageView
;
936 out
[i
].imageLayout
= in
[i
].imageLayout
;
941 #endif /* USE_STRUCT_CONVERSION */
943 #if defined(USE_STRUCT_CONVERSION)
944 static inline void free_VkDescriptorImageInfo_array(VkDescriptorImageInfo_host
*in
, uint32_t count
)
950 #endif /* USE_STRUCT_CONVERSION */
952 #if defined(USE_STRUCT_CONVERSION)
953 static inline VkDescriptorBufferInfo_host
*convert_VkDescriptorBufferInfo_array_win_to_host(const VkDescriptorBufferInfo
*in
, uint32_t count
)
955 VkDescriptorBufferInfo_host
*out
;
958 if (!in
) return NULL
;
960 out
= malloc(count
* sizeof(*out
));
961 for (i
= 0; i
< count
; i
++)
963 out
[i
].buffer
= in
[i
].buffer
;
964 out
[i
].offset
= in
[i
].offset
;
965 out
[i
].range
= in
[i
].range
;
970 #endif /* USE_STRUCT_CONVERSION */
972 #if defined(USE_STRUCT_CONVERSION)
973 static inline void free_VkDescriptorBufferInfo_array(VkDescriptorBufferInfo_host
*in
, uint32_t count
)
979 #endif /* USE_STRUCT_CONVERSION */
981 #if defined(USE_STRUCT_CONVERSION)
982 static inline VkWriteDescriptorSet_host
*convert_VkWriteDescriptorSet_array_win_to_host(const VkWriteDescriptorSet
*in
, uint32_t count
)
984 VkWriteDescriptorSet_host
*out
;
987 if (!in
) return NULL
;
989 out
= malloc(count
* sizeof(*out
));
990 for (i
= 0; i
< count
; i
++)
992 out
[i
].sType
= in
[i
].sType
;
993 out
[i
].pNext
= in
[i
].pNext
;
994 out
[i
].dstSet
= in
[i
].dstSet
;
995 out
[i
].dstBinding
= in
[i
].dstBinding
;
996 out
[i
].dstArrayElement
= in
[i
].dstArrayElement
;
997 out
[i
].descriptorCount
= in
[i
].descriptorCount
;
998 out
[i
].descriptorType
= in
[i
].descriptorType
;
999 out
[i
].pImageInfo
= convert_VkDescriptorImageInfo_array_win_to_host(in
[i
].pImageInfo
, in
[i
].descriptorCount
);
1000 out
[i
].pBufferInfo
= convert_VkDescriptorBufferInfo_array_win_to_host(in
[i
].pBufferInfo
, in
[i
].descriptorCount
);
1001 out
[i
].pTexelBufferView
= in
[i
].pTexelBufferView
;
1006 #endif /* USE_STRUCT_CONVERSION */
1008 #if defined(USE_STRUCT_CONVERSION)
1009 static inline void free_VkWriteDescriptorSet_array(VkWriteDescriptorSet_host
*in
, uint32_t count
)
1015 for (i
= 0; i
< count
; i
++)
1017 free_VkDescriptorImageInfo_array((VkDescriptorImageInfo_host
*)in
[i
].pImageInfo
, in
[i
].descriptorCount
);
1018 free_VkDescriptorBufferInfo_array((VkDescriptorBufferInfo_host
*)in
[i
].pBufferInfo
, in
[i
].descriptorCount
);
1022 #endif /* USE_STRUCT_CONVERSION */
1024 #if defined(USE_STRUCT_CONVERSION)
1025 static inline void convert_VkResolveImageInfo2KHR_win_to_host(const VkResolveImageInfo2KHR
*in
, VkResolveImageInfo2KHR_host
*out
)
1029 out
->sType
= in
->sType
;
1030 out
->pNext
= in
->pNext
;
1031 out
->srcImage
= in
->srcImage
;
1032 out
->srcImageLayout
= in
->srcImageLayout
;
1033 out
->dstImage
= in
->dstImage
;
1034 out
->dstImageLayout
= in
->dstImageLayout
;
1035 out
->regionCount
= in
->regionCount
;
1036 out
->pRegions
= in
->pRegions
;
1038 #endif /* USE_STRUCT_CONVERSION */
1040 #if defined(USE_STRUCT_CONVERSION)
1041 static inline void convert_VkPerformanceMarkerInfoINTEL_win_to_host(const VkPerformanceMarkerInfoINTEL
*in
, VkPerformanceMarkerInfoINTEL_host
*out
)
1045 out
->sType
= in
->sType
;
1046 out
->pNext
= in
->pNext
;
1047 out
->marker
= in
->marker
;
1049 #endif /* USE_STRUCT_CONVERSION */
1051 #if defined(USE_STRUCT_CONVERSION)
1052 static inline void convert_VkPerformanceOverrideInfoINTEL_win_to_host(const VkPerformanceOverrideInfoINTEL
*in
, VkPerformanceOverrideInfoINTEL_host
*out
)
1056 out
->sType
= in
->sType
;
1057 out
->pNext
= in
->pNext
;
1058 out
->type
= in
->type
;
1059 out
->enable
= in
->enable
;
1060 out
->parameter
= in
->parameter
;
1062 #endif /* USE_STRUCT_CONVERSION */
1064 #if defined(USE_STRUCT_CONVERSION)
1065 static inline void convert_VkStridedDeviceAddressRegionKHR_win_to_host(const VkStridedDeviceAddressRegionKHR
*in
, VkStridedDeviceAddressRegionKHR_host
*out
)
1069 out
->deviceAddress
= in
->deviceAddress
;
1070 out
->stride
= in
->stride
;
1071 out
->size
= in
->size
;
1073 #endif /* USE_STRUCT_CONVERSION */
1075 #if defined(USE_STRUCT_CONVERSION)
1076 static inline VkDependencyInfoKHR_host
*convert_VkDependencyInfoKHR_array_win_to_host(const VkDependencyInfoKHR
*in
, uint32_t count
)
1078 VkDependencyInfoKHR_host
*out
;
1081 if (!in
) return NULL
;
1083 out
= malloc(count
* sizeof(*out
));
1084 for (i
= 0; i
< count
; i
++)
1086 out
[i
].sType
= in
[i
].sType
;
1087 out
[i
].pNext
= in
[i
].pNext
;
1088 out
[i
].dependencyFlags
= in
[i
].dependencyFlags
;
1089 out
[i
].memoryBarrierCount
= in
[i
].memoryBarrierCount
;
1090 out
[i
].pMemoryBarriers
= in
[i
].pMemoryBarriers
;
1091 out
[i
].bufferMemoryBarrierCount
= in
[i
].bufferMemoryBarrierCount
;
1092 out
[i
].pBufferMemoryBarriers
= convert_VkBufferMemoryBarrier2KHR_array_win_to_host(in
[i
].pBufferMemoryBarriers
, in
[i
].bufferMemoryBarrierCount
);
1093 out
[i
].imageMemoryBarrierCount
= in
[i
].imageMemoryBarrierCount
;
1094 out
[i
].pImageMemoryBarriers
= convert_VkImageMemoryBarrier2KHR_array_win_to_host(in
[i
].pImageMemoryBarriers
, in
[i
].imageMemoryBarrierCount
);
1099 #endif /* USE_STRUCT_CONVERSION */
1101 #if defined(USE_STRUCT_CONVERSION)
1102 static inline void free_VkDependencyInfoKHR_array(VkDependencyInfoKHR_host
*in
, uint32_t count
)
1108 for (i
= 0; i
< count
; i
++)
1110 free_VkBufferMemoryBarrier2KHR_array((VkBufferMemoryBarrier2KHR_host
*)in
[i
].pBufferMemoryBarriers
, in
[i
].bufferMemoryBarrierCount
);
1111 free_VkImageMemoryBarrier2KHR_array((VkImageMemoryBarrier2KHR_host
*)in
[i
].pImageMemoryBarriers
, in
[i
].imageMemoryBarrierCount
);
1115 #endif /* USE_STRUCT_CONVERSION */
1117 #if defined(USE_STRUCT_CONVERSION)
1118 static inline void convert_VkAccelerationStructureCreateInfoKHR_win_to_host(const VkAccelerationStructureCreateInfoKHR
*in
, VkAccelerationStructureCreateInfoKHR_host
*out
)
1122 out
->sType
= in
->sType
;
1123 out
->pNext
= in
->pNext
;
1124 out
->createFlags
= in
->createFlags
;
1125 out
->buffer
= in
->buffer
;
1126 out
->offset
= in
->offset
;
1127 out
->size
= in
->size
;
1128 out
->type
= in
->type
;
1129 out
->deviceAddress
= in
->deviceAddress
;
1131 #endif /* USE_STRUCT_CONVERSION */
1133 #if defined(USE_STRUCT_CONVERSION)
1134 static inline void convert_VkAccelerationStructureCreateInfoNV_win_to_host(const VkAccelerationStructureCreateInfoNV
*in
, VkAccelerationStructureCreateInfoNV_host
*out
)
1138 out
->sType
= in
->sType
;
1139 out
->pNext
= in
->pNext
;
1140 out
->compactedSize
= in
->compactedSize
;
1141 convert_VkAccelerationStructureInfoNV_win_to_host(&in
->info
, &out
->info
);
1143 #endif /* USE_STRUCT_CONVERSION */
1145 #if defined(USE_STRUCT_CONVERSION)
1146 static inline void convert_VkBufferCreateInfo_win_to_host(const VkBufferCreateInfo
*in
, VkBufferCreateInfo_host
*out
)
1150 out
->sType
= in
->sType
;
1151 out
->pNext
= in
->pNext
;
1152 out
->flags
= in
->flags
;
1153 out
->size
= in
->size
;
1154 out
->usage
= in
->usage
;
1155 out
->sharingMode
= in
->sharingMode
;
1156 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
1157 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
1159 #endif /* USE_STRUCT_CONVERSION */
1161 #if defined(USE_STRUCT_CONVERSION)
1162 static inline void convert_VkBufferViewCreateInfo_win_to_host(const VkBufferViewCreateInfo
*in
, VkBufferViewCreateInfo_host
*out
)
1166 out
->sType
= in
->sType
;
1167 out
->pNext
= in
->pNext
;
1168 out
->flags
= in
->flags
;
1169 out
->buffer
= in
->buffer
;
1170 out
->format
= in
->format
;
1171 out
->offset
= in
->offset
;
1172 out
->range
= in
->range
;
1174 #endif /* USE_STRUCT_CONVERSION */
1176 #if defined(USE_STRUCT_CONVERSION)
1177 static inline void convert_VkPipelineShaderStageCreateInfo_win_to_host(const VkPipelineShaderStageCreateInfo
*in
, VkPipelineShaderStageCreateInfo_host
*out
)
1181 out
->sType
= in
->sType
;
1182 out
->pNext
= in
->pNext
;
1183 out
->flags
= in
->flags
;
1184 out
->stage
= in
->stage
;
1185 out
->module
= in
->module
;
1186 out
->pName
= in
->pName
;
1187 out
->pSpecializationInfo
= in
->pSpecializationInfo
;
1189 #endif /* USE_STRUCT_CONVERSION */
1191 #if defined(USE_STRUCT_CONVERSION)
1192 static inline VkComputePipelineCreateInfo_host
*convert_VkComputePipelineCreateInfo_array_win_to_host(const VkComputePipelineCreateInfo
*in
, uint32_t count
)
1194 VkComputePipelineCreateInfo_host
*out
;
1197 if (!in
) return NULL
;
1199 out
= malloc(count
* sizeof(*out
));
1200 for (i
= 0; i
< count
; i
++)
1202 out
[i
].sType
= in
[i
].sType
;
1203 out
[i
].pNext
= in
[i
].pNext
;
1204 out
[i
].flags
= in
[i
].flags
;
1205 convert_VkPipelineShaderStageCreateInfo_win_to_host(&in
[i
].stage
, &out
[i
].stage
);
1206 out
[i
].layout
= in
[i
].layout
;
1207 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
1208 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
1213 #endif /* USE_STRUCT_CONVERSION */
1215 #if defined(USE_STRUCT_CONVERSION)
1216 static inline void free_VkComputePipelineCreateInfo_array(VkComputePipelineCreateInfo_host
*in
, uint32_t count
)
1222 #endif /* USE_STRUCT_CONVERSION */
1224 #if defined(USE_STRUCT_CONVERSION)
1225 static inline void convert_VkCuFunctionCreateInfoNVX_win_to_host(const VkCuFunctionCreateInfoNVX
*in
, VkCuFunctionCreateInfoNVX_host
*out
)
1229 out
->sType
= in
->sType
;
1230 out
->pNext
= in
->pNext
;
1231 out
->module
= in
->module
;
1232 out
->pName
= in
->pName
;
1234 #endif /* USE_STRUCT_CONVERSION */
1236 #if defined(USE_STRUCT_CONVERSION)
1237 static inline void convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(const VkDescriptorUpdateTemplateCreateInfo
*in
, VkDescriptorUpdateTemplateCreateInfo_host
*out
)
1241 out
->sType
= in
->sType
;
1242 out
->pNext
= in
->pNext
;
1243 out
->flags
= in
->flags
;
1244 out
->descriptorUpdateEntryCount
= in
->descriptorUpdateEntryCount
;
1245 out
->pDescriptorUpdateEntries
= in
->pDescriptorUpdateEntries
;
1246 out
->templateType
= in
->templateType
;
1247 out
->descriptorSetLayout
= in
->descriptorSetLayout
;
1248 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
1249 out
->pipelineLayout
= in
->pipelineLayout
;
1252 #endif /* USE_STRUCT_CONVERSION */
1254 #if defined(USE_STRUCT_CONVERSION)
1255 static inline void convert_VkFramebufferCreateInfo_win_to_host(const VkFramebufferCreateInfo
*in
, VkFramebufferCreateInfo_host
*out
)
1259 out
->sType
= in
->sType
;
1260 out
->pNext
= in
->pNext
;
1261 out
->flags
= in
->flags
;
1262 out
->renderPass
= in
->renderPass
;
1263 out
->attachmentCount
= in
->attachmentCount
;
1264 out
->pAttachments
= in
->pAttachments
;
1265 out
->width
= in
->width
;
1266 out
->height
= in
->height
;
1267 out
->layers
= in
->layers
;
1269 #endif /* USE_STRUCT_CONVERSION */
1271 #if defined(USE_STRUCT_CONVERSION)
1272 static inline VkPipelineShaderStageCreateInfo_host
*convert_VkPipelineShaderStageCreateInfo_array_win_to_host(const VkPipelineShaderStageCreateInfo
*in
, uint32_t count
)
1274 VkPipelineShaderStageCreateInfo_host
*out
;
1277 if (!in
) return NULL
;
1279 out
= malloc(count
* sizeof(*out
));
1280 for (i
= 0; i
< count
; i
++)
1282 out
[i
].sType
= in
[i
].sType
;
1283 out
[i
].pNext
= in
[i
].pNext
;
1284 out
[i
].flags
= in
[i
].flags
;
1285 out
[i
].stage
= in
[i
].stage
;
1286 out
[i
].module
= in
[i
].module
;
1287 out
[i
].pName
= in
[i
].pName
;
1288 out
[i
].pSpecializationInfo
= in
[i
].pSpecializationInfo
;
1293 #endif /* USE_STRUCT_CONVERSION */
1295 #if defined(USE_STRUCT_CONVERSION)
1296 static inline void free_VkPipelineShaderStageCreateInfo_array(VkPipelineShaderStageCreateInfo_host
*in
, uint32_t count
)
1302 #endif /* USE_STRUCT_CONVERSION */
1304 #if defined(USE_STRUCT_CONVERSION)
1305 static inline VkGraphicsPipelineCreateInfo_host
*convert_VkGraphicsPipelineCreateInfo_array_win_to_host(const VkGraphicsPipelineCreateInfo
*in
, uint32_t count
)
1307 VkGraphicsPipelineCreateInfo_host
*out
;
1310 if (!in
) return NULL
;
1312 out
= malloc(count
* sizeof(*out
));
1313 for (i
= 0; i
< count
; i
++)
1315 out
[i
].sType
= in
[i
].sType
;
1316 out
[i
].pNext
= in
[i
].pNext
;
1317 out
[i
].flags
= in
[i
].flags
;
1318 out
[i
].stageCount
= in
[i
].stageCount
;
1319 out
[i
].pStages
= convert_VkPipelineShaderStageCreateInfo_array_win_to_host(in
[i
].pStages
, in
[i
].stageCount
);
1320 out
[i
].pVertexInputState
= in
[i
].pVertexInputState
;
1321 out
[i
].pInputAssemblyState
= in
[i
].pInputAssemblyState
;
1322 out
[i
].pTessellationState
= in
[i
].pTessellationState
;
1323 out
[i
].pViewportState
= in
[i
].pViewportState
;
1324 out
[i
].pRasterizationState
= in
[i
].pRasterizationState
;
1325 out
[i
].pMultisampleState
= in
[i
].pMultisampleState
;
1326 out
[i
].pDepthStencilState
= in
[i
].pDepthStencilState
;
1327 out
[i
].pColorBlendState
= in
[i
].pColorBlendState
;
1328 out
[i
].pDynamicState
= in
[i
].pDynamicState
;
1329 out
[i
].layout
= in
[i
].layout
;
1330 out
[i
].renderPass
= in
[i
].renderPass
;
1331 out
[i
].subpass
= in
[i
].subpass
;
1332 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
1333 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
1338 #endif /* USE_STRUCT_CONVERSION */
1340 #if defined(USE_STRUCT_CONVERSION)
1341 static inline void free_VkGraphicsPipelineCreateInfo_array(VkGraphicsPipelineCreateInfo_host
*in
, uint32_t count
)
1347 for (i
= 0; i
< count
; i
++)
1349 free_VkPipelineShaderStageCreateInfo_array((VkPipelineShaderStageCreateInfo_host
*)in
[i
].pStages
, in
[i
].stageCount
);
1353 #endif /* USE_STRUCT_CONVERSION */
1355 #if defined(USE_STRUCT_CONVERSION)
1356 static inline void convert_VkImageViewCreateInfo_win_to_host(const VkImageViewCreateInfo
*in
, VkImageViewCreateInfo_host
*out
)
1360 out
->sType
= in
->sType
;
1361 out
->pNext
= in
->pNext
;
1362 out
->flags
= in
->flags
;
1363 out
->image
= in
->image
;
1364 out
->viewType
= in
->viewType
;
1365 out
->format
= in
->format
;
1366 out
->components
= in
->components
;
1367 out
->subresourceRange
= in
->subresourceRange
;
1369 #endif /* USE_STRUCT_CONVERSION */
1371 #if defined(USE_STRUCT_CONVERSION)
1372 static inline VkIndirectCommandsLayoutTokenNV_host
*convert_VkIndirectCommandsLayoutTokenNV_array_win_to_host(const VkIndirectCommandsLayoutTokenNV
*in
, uint32_t count
)
1374 VkIndirectCommandsLayoutTokenNV_host
*out
;
1377 if (!in
) return NULL
;
1379 out
= malloc(count
* sizeof(*out
));
1380 for (i
= 0; i
< count
; i
++)
1382 out
[i
].sType
= in
[i
].sType
;
1383 out
[i
].pNext
= in
[i
].pNext
;
1384 out
[i
].tokenType
= in
[i
].tokenType
;
1385 out
[i
].stream
= in
[i
].stream
;
1386 out
[i
].offset
= in
[i
].offset
;
1387 out
[i
].vertexBindingUnit
= in
[i
].vertexBindingUnit
;
1388 out
[i
].vertexDynamicStride
= in
[i
].vertexDynamicStride
;
1389 out
[i
].pushconstantPipelineLayout
= in
[i
].pushconstantPipelineLayout
;
1390 out
[i
].pushconstantShaderStageFlags
= in
[i
].pushconstantShaderStageFlags
;
1391 out
[i
].pushconstantOffset
= in
[i
].pushconstantOffset
;
1392 out
[i
].pushconstantSize
= in
[i
].pushconstantSize
;
1393 out
[i
].indirectStateFlags
= in
[i
].indirectStateFlags
;
1394 out
[i
].indexTypeCount
= in
[i
].indexTypeCount
;
1395 out
[i
].pIndexTypes
= in
[i
].pIndexTypes
;
1396 out
[i
].pIndexTypeValues
= in
[i
].pIndexTypeValues
;
1401 #endif /* USE_STRUCT_CONVERSION */
1403 #if defined(USE_STRUCT_CONVERSION)
1404 static inline void free_VkIndirectCommandsLayoutTokenNV_array(VkIndirectCommandsLayoutTokenNV_host
*in
, uint32_t count
)
1410 #endif /* USE_STRUCT_CONVERSION */
1412 #if defined(USE_STRUCT_CONVERSION)
1413 static inline void convert_VkIndirectCommandsLayoutCreateInfoNV_win_to_host(const VkIndirectCommandsLayoutCreateInfoNV
*in
, VkIndirectCommandsLayoutCreateInfoNV_host
*out
)
1417 out
->sType
= in
->sType
;
1418 out
->pNext
= in
->pNext
;
1419 out
->flags
= in
->flags
;
1420 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
1421 out
->tokenCount
= in
->tokenCount
;
1422 out
->pTokens
= convert_VkIndirectCommandsLayoutTokenNV_array_win_to_host(in
->pTokens
, in
->tokenCount
);
1423 out
->streamCount
= in
->streamCount
;
1424 out
->pStreamStrides
= in
->pStreamStrides
;
1426 #endif /* USE_STRUCT_CONVERSION */
1428 #if defined(USE_STRUCT_CONVERSION)
1429 static inline void free_VkIndirectCommandsLayoutCreateInfoNV(VkIndirectCommandsLayoutCreateInfoNV_host
*in
)
1431 free_VkIndirectCommandsLayoutTokenNV_array((VkIndirectCommandsLayoutTokenNV_host
*)in
->pTokens
, in
->tokenCount
);
1433 #endif /* USE_STRUCT_CONVERSION */
1435 #if defined(USE_STRUCT_CONVERSION)
1436 static inline VkRayTracingPipelineCreateInfoKHR_host
*convert_VkRayTracingPipelineCreateInfoKHR_array_win_to_host(const VkRayTracingPipelineCreateInfoKHR
*in
, uint32_t count
)
1438 VkRayTracingPipelineCreateInfoKHR_host
*out
;
1441 if (!in
) return NULL
;
1443 out
= malloc(count
* sizeof(*out
));
1444 for (i
= 0; i
< count
; i
++)
1446 out
[i
].sType
= in
[i
].sType
;
1447 out
[i
].pNext
= in
[i
].pNext
;
1448 out
[i
].flags
= in
[i
].flags
;
1449 out
[i
].stageCount
= in
[i
].stageCount
;
1450 out
[i
].pStages
= convert_VkPipelineShaderStageCreateInfo_array_win_to_host(in
[i
].pStages
, in
[i
].stageCount
);
1451 out
[i
].groupCount
= in
[i
].groupCount
;
1452 out
[i
].pGroups
= in
[i
].pGroups
;
1453 out
[i
].maxPipelineRayRecursionDepth
= in
[i
].maxPipelineRayRecursionDepth
;
1454 out
[i
].pLibraryInfo
= in
[i
].pLibraryInfo
;
1455 out
[i
].pLibraryInterface
= in
[i
].pLibraryInterface
;
1456 out
[i
].pDynamicState
= in
[i
].pDynamicState
;
1457 out
[i
].layout
= in
[i
].layout
;
1458 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
1459 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
1464 #endif /* USE_STRUCT_CONVERSION */
1466 #if defined(USE_STRUCT_CONVERSION)
1467 static inline void free_VkRayTracingPipelineCreateInfoKHR_array(VkRayTracingPipelineCreateInfoKHR_host
*in
, uint32_t count
)
1473 for (i
= 0; i
< count
; i
++)
1475 free_VkPipelineShaderStageCreateInfo_array((VkPipelineShaderStageCreateInfo_host
*)in
[i
].pStages
, in
[i
].stageCount
);
1479 #endif /* USE_STRUCT_CONVERSION */
1481 #if defined(USE_STRUCT_CONVERSION)
1482 static inline VkRayTracingPipelineCreateInfoNV_host
*convert_VkRayTracingPipelineCreateInfoNV_array_win_to_host(const VkRayTracingPipelineCreateInfoNV
*in
, uint32_t count
)
1484 VkRayTracingPipelineCreateInfoNV_host
*out
;
1487 if (!in
) return NULL
;
1489 out
= malloc(count
* sizeof(*out
));
1490 for (i
= 0; i
< count
; i
++)
1492 out
[i
].sType
= in
[i
].sType
;
1493 out
[i
].pNext
= in
[i
].pNext
;
1494 out
[i
].flags
= in
[i
].flags
;
1495 out
[i
].stageCount
= in
[i
].stageCount
;
1496 out
[i
].pStages
= convert_VkPipelineShaderStageCreateInfo_array_win_to_host(in
[i
].pStages
, in
[i
].stageCount
);
1497 out
[i
].groupCount
= in
[i
].groupCount
;
1498 out
[i
].pGroups
= in
[i
].pGroups
;
1499 out
[i
].maxRecursionDepth
= in
[i
].maxRecursionDepth
;
1500 out
[i
].layout
= in
[i
].layout
;
1501 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
1502 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
1507 #endif /* USE_STRUCT_CONVERSION */
1509 #if defined(USE_STRUCT_CONVERSION)
1510 static inline void free_VkRayTracingPipelineCreateInfoNV_array(VkRayTracingPipelineCreateInfoNV_host
*in
, uint32_t count
)
1516 for (i
= 0; i
< count
; i
++)
1518 free_VkPipelineShaderStageCreateInfo_array((VkPipelineShaderStageCreateInfo_host
*)in
[i
].pStages
, in
[i
].stageCount
);
1522 #endif /* USE_STRUCT_CONVERSION */
1524 #if defined(USE_STRUCT_CONVERSION)
1525 static inline void convert_VkSwapchainCreateInfoKHR_win_to_host(const VkSwapchainCreateInfoKHR
*in
, VkSwapchainCreateInfoKHR_host
*out
)
1527 static inline void convert_VkSwapchainCreateInfoKHR_win_to_host(const VkSwapchainCreateInfoKHR
*in
, VkSwapchainCreateInfoKHR
*out
)
1528 #endif /* USE_STRUCT_CONVERSION */
1532 out
->sType
= in
->sType
;
1533 out
->pNext
= in
->pNext
;
1534 out
->flags
= in
->flags
;
1535 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
1536 out
->minImageCount
= in
->minImageCount
;
1537 out
->imageFormat
= in
->imageFormat
;
1538 out
->imageColorSpace
= in
->imageColorSpace
;
1539 out
->imageExtent
= in
->imageExtent
;
1540 out
->imageArrayLayers
= in
->imageArrayLayers
;
1541 out
->imageUsage
= in
->imageUsage
;
1542 out
->imageSharingMode
= in
->imageSharingMode
;
1543 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
1544 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
1545 out
->preTransform
= in
->preTransform
;
1546 out
->compositeAlpha
= in
->compositeAlpha
;
1547 out
->presentMode
= in
->presentMode
;
1548 out
->clipped
= in
->clipped
;
1549 out
->oldSwapchain
= in
->oldSwapchain
;
1552 #if defined(USE_STRUCT_CONVERSION)
1553 static inline void convert_VkDebugMarkerObjectNameInfoEXT_win_to_host(const VkDebugMarkerObjectNameInfoEXT
*in
, VkDebugMarkerObjectNameInfoEXT_host
*out
)
1555 static inline void convert_VkDebugMarkerObjectNameInfoEXT_win_to_host(const VkDebugMarkerObjectNameInfoEXT
*in
, VkDebugMarkerObjectNameInfoEXT
*out
)
1556 #endif /* USE_STRUCT_CONVERSION */
1560 out
->sType
= in
->sType
;
1561 out
->pNext
= in
->pNext
;
1562 out
->objectType
= in
->objectType
;
1563 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
1564 out
->pObjectName
= in
->pObjectName
;
1567 #if defined(USE_STRUCT_CONVERSION)
1568 static inline void convert_VkDebugMarkerObjectTagInfoEXT_win_to_host(const VkDebugMarkerObjectTagInfoEXT
*in
, VkDebugMarkerObjectTagInfoEXT_host
*out
)
1570 static inline void convert_VkDebugMarkerObjectTagInfoEXT_win_to_host(const VkDebugMarkerObjectTagInfoEXT
*in
, VkDebugMarkerObjectTagInfoEXT
*out
)
1571 #endif /* USE_STRUCT_CONVERSION */
1575 out
->sType
= in
->sType
;
1576 out
->pNext
= in
->pNext
;
1577 out
->objectType
= in
->objectType
;
1578 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
1579 out
->tagName
= in
->tagName
;
1580 out
->tagSize
= in
->tagSize
;
1581 out
->pTag
= in
->pTag
;
1584 #if defined(USE_STRUCT_CONVERSION)
1585 static inline VkMappedMemoryRange_host
*convert_VkMappedMemoryRange_array_win_to_host(const VkMappedMemoryRange
*in
, uint32_t count
)
1587 VkMappedMemoryRange_host
*out
;
1590 if (!in
) return NULL
;
1592 out
= malloc(count
* sizeof(*out
));
1593 for (i
= 0; i
< count
; i
++)
1595 out
[i
].sType
= in
[i
].sType
;
1596 out
[i
].pNext
= in
[i
].pNext
;
1597 out
[i
].memory
= in
[i
].memory
;
1598 out
[i
].offset
= in
[i
].offset
;
1599 out
[i
].size
= in
[i
].size
;
1604 #endif /* USE_STRUCT_CONVERSION */
1606 #if defined(USE_STRUCT_CONVERSION)
1607 static inline void free_VkMappedMemoryRange_array(VkMappedMemoryRange_host
*in
, uint32_t count
)
1613 #endif /* USE_STRUCT_CONVERSION */
1615 #if defined(USE_STRUCT_CONVERSION)
1616 static inline void convert_VkAccelerationStructureBuildGeometryInfoKHR_win_to_host(const VkAccelerationStructureBuildGeometryInfoKHR
*in
, VkAccelerationStructureBuildGeometryInfoKHR_host
*out
)
1620 out
->sType
= in
->sType
;
1621 out
->pNext
= in
->pNext
;
1622 out
->type
= in
->type
;
1623 out
->flags
= in
->flags
;
1624 out
->mode
= in
->mode
;
1625 out
->srcAccelerationStructure
= in
->srcAccelerationStructure
;
1626 out
->dstAccelerationStructure
= in
->dstAccelerationStructure
;
1627 out
->geometryCount
= in
->geometryCount
;
1628 out
->pGeometries
= in
->pGeometries
;
1629 out
->ppGeometries
= in
->ppGeometries
;
1630 out
->scratchData
= in
->scratchData
;
1632 #endif /* USE_STRUCT_CONVERSION */
1634 #if defined(USE_STRUCT_CONVERSION)
1635 static inline void convert_VkAccelerationStructureBuildSizesInfoKHR_win_to_host(const VkAccelerationStructureBuildSizesInfoKHR
*in
, VkAccelerationStructureBuildSizesInfoKHR_host
*out
)
1639 out
->sType
= in
->sType
;
1640 out
->pNext
= in
->pNext
;
1641 out
->accelerationStructureSize
= in
->accelerationStructureSize
;
1642 out
->updateScratchSize
= in
->updateScratchSize
;
1643 out
->buildScratchSize
= in
->buildScratchSize
;
1645 #endif /* USE_STRUCT_CONVERSION */
1647 #if defined(USE_STRUCT_CONVERSION)
1648 static inline void convert_VkAccelerationStructureDeviceAddressInfoKHR_win_to_host(const VkAccelerationStructureDeviceAddressInfoKHR
*in
, VkAccelerationStructureDeviceAddressInfoKHR_host
*out
)
1652 out
->sType
= in
->sType
;
1653 out
->pNext
= in
->pNext
;
1654 out
->accelerationStructure
= in
->accelerationStructure
;
1656 #endif /* USE_STRUCT_CONVERSION */
1658 #if defined(USE_STRUCT_CONVERSION)
1659 static inline void convert_VkAccelerationStructureMemoryRequirementsInfoNV_win_to_host(const VkAccelerationStructureMemoryRequirementsInfoNV
*in
, VkAccelerationStructureMemoryRequirementsInfoNV_host
*out
)
1663 out
->sType
= in
->sType
;
1664 out
->pNext
= in
->pNext
;
1665 out
->type
= in
->type
;
1666 out
->accelerationStructure
= in
->accelerationStructure
;
1668 #endif /* USE_STRUCT_CONVERSION */
1670 #if defined(USE_STRUCT_CONVERSION)
1671 static inline void convert_VkMemoryRequirements_host_to_win(const VkMemoryRequirements_host
*in
, VkMemoryRequirements
*out
)
1675 out
->size
= in
->size
;
1676 out
->alignment
= in
->alignment
;
1677 out
->memoryTypeBits
= in
->memoryTypeBits
;
1679 #endif /* USE_STRUCT_CONVERSION */
1681 #if defined(USE_STRUCT_CONVERSION)
1682 static inline void convert_VkMemoryRequirements2KHR_win_to_host(const VkMemoryRequirements2KHR
*in
, VkMemoryRequirements2KHR_host
*out
)
1686 out
->pNext
= in
->pNext
;
1687 out
->sType
= in
->sType
;
1689 #endif /* USE_STRUCT_CONVERSION */
1691 #if defined(USE_STRUCT_CONVERSION)
1692 static inline void convert_VkMemoryRequirements2KHR_host_to_win(const VkMemoryRequirements2KHR_host
*in
, VkMemoryRequirements2KHR
*out
)
1696 out
->sType
= in
->sType
;
1697 out
->pNext
= in
->pNext
;
1698 convert_VkMemoryRequirements_host_to_win(&in
->memoryRequirements
, &out
->memoryRequirements
);
1700 #endif /* USE_STRUCT_CONVERSION */
1702 #if defined(USE_STRUCT_CONVERSION)
1703 static inline void convert_VkBufferDeviceAddressInfo_win_to_host(const VkBufferDeviceAddressInfo
*in
, VkBufferDeviceAddressInfo_host
*out
)
1707 out
->sType
= in
->sType
;
1708 out
->pNext
= in
->pNext
;
1709 out
->buffer
= in
->buffer
;
1711 #endif /* USE_STRUCT_CONVERSION */
1713 #if defined(USE_STRUCT_CONVERSION)
1714 static inline void convert_VkBufferMemoryRequirementsInfo2_win_to_host(const VkBufferMemoryRequirementsInfo2
*in
, VkBufferMemoryRequirementsInfo2_host
*out
)
1718 out
->sType
= in
->sType
;
1719 out
->pNext
= in
->pNext
;
1720 out
->buffer
= in
->buffer
;
1722 #endif /* USE_STRUCT_CONVERSION */
1724 #if defined(USE_STRUCT_CONVERSION)
1725 static inline void convert_VkMemoryRequirements2_win_to_host(const VkMemoryRequirements2
*in
, VkMemoryRequirements2_host
*out
)
1729 out
->pNext
= in
->pNext
;
1730 out
->sType
= in
->sType
;
1732 #endif /* USE_STRUCT_CONVERSION */
1734 #if defined(USE_STRUCT_CONVERSION)
1735 static inline void convert_VkMemoryRequirements2_host_to_win(const VkMemoryRequirements2_host
*in
, VkMemoryRequirements2
*out
)
1739 out
->sType
= in
->sType
;
1740 out
->pNext
= in
->pNext
;
1741 convert_VkMemoryRequirements_host_to_win(&in
->memoryRequirements
, &out
->memoryRequirements
);
1743 #endif /* USE_STRUCT_CONVERSION */
1745 #if defined(USE_STRUCT_CONVERSION)
1746 static inline void convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(const VkDeviceMemoryOpaqueCaptureAddressInfo
*in
, VkDeviceMemoryOpaqueCaptureAddressInfo_host
*out
)
1750 out
->sType
= in
->sType
;
1751 out
->pNext
= in
->pNext
;
1752 out
->memory
= in
->memory
;
1754 #endif /* USE_STRUCT_CONVERSION */
1756 #if defined(USE_STRUCT_CONVERSION)
1757 static inline void convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win_to_host(const VkGeneratedCommandsMemoryRequirementsInfoNV
*in
, VkGeneratedCommandsMemoryRequirementsInfoNV_host
*out
)
1761 out
->sType
= in
->sType
;
1762 out
->pNext
= in
->pNext
;
1763 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
1764 out
->pipeline
= in
->pipeline
;
1765 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
1766 out
->maxSequencesCount
= in
->maxSequencesCount
;
1768 #endif /* USE_STRUCT_CONVERSION */
1770 #if defined(USE_STRUCT_CONVERSION)
1771 static inline void convert_VkImageMemoryRequirementsInfo2_win_to_host(const VkImageMemoryRequirementsInfo2
*in
, VkImageMemoryRequirementsInfo2_host
*out
)
1775 out
->sType
= in
->sType
;
1776 out
->pNext
= in
->pNext
;
1777 out
->image
= in
->image
;
1779 #endif /* USE_STRUCT_CONVERSION */
1781 #if defined(USE_STRUCT_CONVERSION)
1782 static inline void convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(const VkImageSparseMemoryRequirementsInfo2
*in
, VkImageSparseMemoryRequirementsInfo2_host
*out
)
1786 out
->sType
= in
->sType
;
1787 out
->pNext
= in
->pNext
;
1788 out
->image
= in
->image
;
1790 #endif /* USE_STRUCT_CONVERSION */
1792 #if defined(USE_STRUCT_CONVERSION)
1793 static inline void convert_VkSubresourceLayout_host_to_win(const VkSubresourceLayout_host
*in
, VkSubresourceLayout
*out
)
1797 out
->offset
= in
->offset
;
1798 out
->size
= in
->size
;
1799 out
->rowPitch
= in
->rowPitch
;
1800 out
->arrayPitch
= in
->arrayPitch
;
1801 out
->depthPitch
= in
->depthPitch
;
1803 #endif /* USE_STRUCT_CONVERSION */
1805 #if defined(USE_STRUCT_CONVERSION)
1806 static inline void convert_VkImageViewAddressPropertiesNVX_win_to_host(const VkImageViewAddressPropertiesNVX
*in
, VkImageViewAddressPropertiesNVX_host
*out
)
1810 out
->pNext
= in
->pNext
;
1811 out
->sType
= in
->sType
;
1813 #endif /* USE_STRUCT_CONVERSION */
1815 #if defined(USE_STRUCT_CONVERSION)
1816 static inline void convert_VkImageViewAddressPropertiesNVX_host_to_win(const VkImageViewAddressPropertiesNVX_host
*in
, VkImageViewAddressPropertiesNVX
*out
)
1820 out
->sType
= in
->sType
;
1821 out
->pNext
= in
->pNext
;
1822 out
->deviceAddress
= in
->deviceAddress
;
1823 out
->size
= in
->size
;
1825 #endif /* USE_STRUCT_CONVERSION */
1827 #if defined(USE_STRUCT_CONVERSION)
1828 static inline void convert_VkImageViewHandleInfoNVX_win_to_host(const VkImageViewHandleInfoNVX
*in
, VkImageViewHandleInfoNVX_host
*out
)
1832 out
->sType
= in
->sType
;
1833 out
->pNext
= in
->pNext
;
1834 out
->imageView
= in
->imageView
;
1835 out
->descriptorType
= in
->descriptorType
;
1836 out
->sampler
= in
->sampler
;
1838 #endif /* USE_STRUCT_CONVERSION */
1840 #if defined(USE_STRUCT_CONVERSION)
1841 static inline void convert_VkMemoryGetWin32HandleInfoKHR_win_to_host(const VkMemoryGetWin32HandleInfoKHR
*in
, VkMemoryGetWin32HandleInfoKHR_host
*out
)
1845 out
->sType
= in
->sType
;
1846 out
->pNext
= in
->pNext
;
1847 out
->memory
= in
->memory
;
1848 out
->handleType
= in
->handleType
;
1850 #endif /* USE_STRUCT_CONVERSION */
1852 #if defined(USE_STRUCT_CONVERSION)
1853 static inline void convert_VkImageFormatProperties_host_to_win(const VkImageFormatProperties_host
*in
, VkImageFormatProperties
*out
)
1857 out
->maxExtent
= in
->maxExtent
;
1858 out
->maxMipLevels
= in
->maxMipLevels
;
1859 out
->maxArrayLayers
= in
->maxArrayLayers
;
1860 out
->sampleCounts
= in
->sampleCounts
;
1861 out
->maxResourceSize
= in
->maxResourceSize
;
1863 #endif /* USE_STRUCT_CONVERSION */
1865 #if defined(USE_STRUCT_CONVERSION)
1866 static inline void convert_VkImageFormatProperties2_win_to_host(const VkImageFormatProperties2
*in
, VkImageFormatProperties2_host
*out
)
1870 out
->pNext
= in
->pNext
;
1871 out
->sType
= in
->sType
;
1873 #endif /* USE_STRUCT_CONVERSION */
1875 #if defined(USE_STRUCT_CONVERSION)
1876 static inline void convert_VkImageFormatProperties2_host_to_win(const VkImageFormatProperties2_host
*in
, VkImageFormatProperties2
*out
)
1880 out
->sType
= in
->sType
;
1881 out
->pNext
= in
->pNext
;
1882 convert_VkImageFormatProperties_host_to_win(&in
->imageFormatProperties
, &out
->imageFormatProperties
);
1884 #endif /* USE_STRUCT_CONVERSION */
1886 #if defined(USE_STRUCT_CONVERSION)
1887 static inline void convert_VkMemoryHeap_static_array_host_to_win(const VkMemoryHeap_host
*in
, VkMemoryHeap
*out
, uint32_t count
)
1893 for (i
= 0; i
< count
; i
++)
1895 out
[i
].size
= in
[i
].size
;
1896 out
[i
].flags
= in
[i
].flags
;
1899 #endif /* USE_STRUCT_CONVERSION) */
1901 #if defined(USE_STRUCT_CONVERSION)
1902 static inline void convert_VkPhysicalDeviceMemoryProperties_host_to_win(const VkPhysicalDeviceMemoryProperties_host
*in
, VkPhysicalDeviceMemoryProperties
*out
)
1906 out
->memoryTypeCount
= in
->memoryTypeCount
;
1907 memcpy(out
->memoryTypes
, in
->memoryTypes
, VK_MAX_MEMORY_TYPES
* sizeof(VkMemoryType
));
1908 out
->memoryHeapCount
= in
->memoryHeapCount
;
1909 convert_VkMemoryHeap_static_array_host_to_win(in
->memoryHeaps
, out
->memoryHeaps
, VK_MAX_MEMORY_HEAPS
);
1911 #endif /* USE_STRUCT_CONVERSION */
1913 #if defined(USE_STRUCT_CONVERSION)
1914 static inline void convert_VkPhysicalDeviceMemoryProperties2_win_to_host(const VkPhysicalDeviceMemoryProperties2
*in
, VkPhysicalDeviceMemoryProperties2_host
*out
)
1918 out
->pNext
= in
->pNext
;
1919 out
->sType
= in
->sType
;
1921 #endif /* USE_STRUCT_CONVERSION */
1923 #if defined(USE_STRUCT_CONVERSION)
1924 static inline void convert_VkPhysicalDeviceMemoryProperties2_host_to_win(const VkPhysicalDeviceMemoryProperties2_host
*in
, VkPhysicalDeviceMemoryProperties2
*out
)
1928 out
->sType
= in
->sType
;
1929 out
->pNext
= in
->pNext
;
1930 convert_VkPhysicalDeviceMemoryProperties_host_to_win(&in
->memoryProperties
, &out
->memoryProperties
);
1932 #endif /* USE_STRUCT_CONVERSION */
1934 #if defined(USE_STRUCT_CONVERSION)
1935 static inline void convert_VkPhysicalDeviceLimits_host_to_win(const VkPhysicalDeviceLimits_host
*in
, VkPhysicalDeviceLimits
*out
)
1939 out
->maxImageDimension1D
= in
->maxImageDimension1D
;
1940 out
->maxImageDimension2D
= in
->maxImageDimension2D
;
1941 out
->maxImageDimension3D
= in
->maxImageDimension3D
;
1942 out
->maxImageDimensionCube
= in
->maxImageDimensionCube
;
1943 out
->maxImageArrayLayers
= in
->maxImageArrayLayers
;
1944 out
->maxTexelBufferElements
= in
->maxTexelBufferElements
;
1945 out
->maxUniformBufferRange
= in
->maxUniformBufferRange
;
1946 out
->maxStorageBufferRange
= in
->maxStorageBufferRange
;
1947 out
->maxPushConstantsSize
= in
->maxPushConstantsSize
;
1948 out
->maxMemoryAllocationCount
= in
->maxMemoryAllocationCount
;
1949 out
->maxSamplerAllocationCount
= in
->maxSamplerAllocationCount
;
1950 out
->bufferImageGranularity
= in
->bufferImageGranularity
;
1951 out
->sparseAddressSpaceSize
= in
->sparseAddressSpaceSize
;
1952 out
->maxBoundDescriptorSets
= in
->maxBoundDescriptorSets
;
1953 out
->maxPerStageDescriptorSamplers
= in
->maxPerStageDescriptorSamplers
;
1954 out
->maxPerStageDescriptorUniformBuffers
= in
->maxPerStageDescriptorUniformBuffers
;
1955 out
->maxPerStageDescriptorStorageBuffers
= in
->maxPerStageDescriptorStorageBuffers
;
1956 out
->maxPerStageDescriptorSampledImages
= in
->maxPerStageDescriptorSampledImages
;
1957 out
->maxPerStageDescriptorStorageImages
= in
->maxPerStageDescriptorStorageImages
;
1958 out
->maxPerStageDescriptorInputAttachments
= in
->maxPerStageDescriptorInputAttachments
;
1959 out
->maxPerStageResources
= in
->maxPerStageResources
;
1960 out
->maxDescriptorSetSamplers
= in
->maxDescriptorSetSamplers
;
1961 out
->maxDescriptorSetUniformBuffers
= in
->maxDescriptorSetUniformBuffers
;
1962 out
->maxDescriptorSetUniformBuffersDynamic
= in
->maxDescriptorSetUniformBuffersDynamic
;
1963 out
->maxDescriptorSetStorageBuffers
= in
->maxDescriptorSetStorageBuffers
;
1964 out
->maxDescriptorSetStorageBuffersDynamic
= in
->maxDescriptorSetStorageBuffersDynamic
;
1965 out
->maxDescriptorSetSampledImages
= in
->maxDescriptorSetSampledImages
;
1966 out
->maxDescriptorSetStorageImages
= in
->maxDescriptorSetStorageImages
;
1967 out
->maxDescriptorSetInputAttachments
= in
->maxDescriptorSetInputAttachments
;
1968 out
->maxVertexInputAttributes
= in
->maxVertexInputAttributes
;
1969 out
->maxVertexInputBindings
= in
->maxVertexInputBindings
;
1970 out
->maxVertexInputAttributeOffset
= in
->maxVertexInputAttributeOffset
;
1971 out
->maxVertexInputBindingStride
= in
->maxVertexInputBindingStride
;
1972 out
->maxVertexOutputComponents
= in
->maxVertexOutputComponents
;
1973 out
->maxTessellationGenerationLevel
= in
->maxTessellationGenerationLevel
;
1974 out
->maxTessellationPatchSize
= in
->maxTessellationPatchSize
;
1975 out
->maxTessellationControlPerVertexInputComponents
= in
->maxTessellationControlPerVertexInputComponents
;
1976 out
->maxTessellationControlPerVertexOutputComponents
= in
->maxTessellationControlPerVertexOutputComponents
;
1977 out
->maxTessellationControlPerPatchOutputComponents
= in
->maxTessellationControlPerPatchOutputComponents
;
1978 out
->maxTessellationControlTotalOutputComponents
= in
->maxTessellationControlTotalOutputComponents
;
1979 out
->maxTessellationEvaluationInputComponents
= in
->maxTessellationEvaluationInputComponents
;
1980 out
->maxTessellationEvaluationOutputComponents
= in
->maxTessellationEvaluationOutputComponents
;
1981 out
->maxGeometryShaderInvocations
= in
->maxGeometryShaderInvocations
;
1982 out
->maxGeometryInputComponents
= in
->maxGeometryInputComponents
;
1983 out
->maxGeometryOutputComponents
= in
->maxGeometryOutputComponents
;
1984 out
->maxGeometryOutputVertices
= in
->maxGeometryOutputVertices
;
1985 out
->maxGeometryTotalOutputComponents
= in
->maxGeometryTotalOutputComponents
;
1986 out
->maxFragmentInputComponents
= in
->maxFragmentInputComponents
;
1987 out
->maxFragmentOutputAttachments
= in
->maxFragmentOutputAttachments
;
1988 out
->maxFragmentDualSrcAttachments
= in
->maxFragmentDualSrcAttachments
;
1989 out
->maxFragmentCombinedOutputResources
= in
->maxFragmentCombinedOutputResources
;
1990 out
->maxComputeSharedMemorySize
= in
->maxComputeSharedMemorySize
;
1991 memcpy(out
->maxComputeWorkGroupCount
, in
->maxComputeWorkGroupCount
, 3 * sizeof(uint32_t));
1992 out
->maxComputeWorkGroupInvocations
= in
->maxComputeWorkGroupInvocations
;
1993 memcpy(out
->maxComputeWorkGroupSize
, in
->maxComputeWorkGroupSize
, 3 * sizeof(uint32_t));
1994 out
->subPixelPrecisionBits
= in
->subPixelPrecisionBits
;
1995 out
->subTexelPrecisionBits
= in
->subTexelPrecisionBits
;
1996 out
->mipmapPrecisionBits
= in
->mipmapPrecisionBits
;
1997 out
->maxDrawIndexedIndexValue
= in
->maxDrawIndexedIndexValue
;
1998 out
->maxDrawIndirectCount
= in
->maxDrawIndirectCount
;
1999 out
->maxSamplerLodBias
= in
->maxSamplerLodBias
;
2000 out
->maxSamplerAnisotropy
= in
->maxSamplerAnisotropy
;
2001 out
->maxViewports
= in
->maxViewports
;
2002 memcpy(out
->maxViewportDimensions
, in
->maxViewportDimensions
, 2 * sizeof(uint32_t));
2003 memcpy(out
->viewportBoundsRange
, in
->viewportBoundsRange
, 2 * sizeof(float));
2004 out
->viewportSubPixelBits
= in
->viewportSubPixelBits
;
2005 out
->minMemoryMapAlignment
= in
->minMemoryMapAlignment
;
2006 out
->minTexelBufferOffsetAlignment
= in
->minTexelBufferOffsetAlignment
;
2007 out
->minUniformBufferOffsetAlignment
= in
->minUniformBufferOffsetAlignment
;
2008 out
->minStorageBufferOffsetAlignment
= in
->minStorageBufferOffsetAlignment
;
2009 out
->minTexelOffset
= in
->minTexelOffset
;
2010 out
->maxTexelOffset
= in
->maxTexelOffset
;
2011 out
->minTexelGatherOffset
= in
->minTexelGatherOffset
;
2012 out
->maxTexelGatherOffset
= in
->maxTexelGatherOffset
;
2013 out
->minInterpolationOffset
= in
->minInterpolationOffset
;
2014 out
->maxInterpolationOffset
= in
->maxInterpolationOffset
;
2015 out
->subPixelInterpolationOffsetBits
= in
->subPixelInterpolationOffsetBits
;
2016 out
->maxFramebufferWidth
= in
->maxFramebufferWidth
;
2017 out
->maxFramebufferHeight
= in
->maxFramebufferHeight
;
2018 out
->maxFramebufferLayers
= in
->maxFramebufferLayers
;
2019 out
->framebufferColorSampleCounts
= in
->framebufferColorSampleCounts
;
2020 out
->framebufferDepthSampleCounts
= in
->framebufferDepthSampleCounts
;
2021 out
->framebufferStencilSampleCounts
= in
->framebufferStencilSampleCounts
;
2022 out
->framebufferNoAttachmentsSampleCounts
= in
->framebufferNoAttachmentsSampleCounts
;
2023 out
->maxColorAttachments
= in
->maxColorAttachments
;
2024 out
->sampledImageColorSampleCounts
= in
->sampledImageColorSampleCounts
;
2025 out
->sampledImageIntegerSampleCounts
= in
->sampledImageIntegerSampleCounts
;
2026 out
->sampledImageDepthSampleCounts
= in
->sampledImageDepthSampleCounts
;
2027 out
->sampledImageStencilSampleCounts
= in
->sampledImageStencilSampleCounts
;
2028 out
->storageImageSampleCounts
= in
->storageImageSampleCounts
;
2029 out
->maxSampleMaskWords
= in
->maxSampleMaskWords
;
2030 out
->timestampComputeAndGraphics
= in
->timestampComputeAndGraphics
;
2031 out
->timestampPeriod
= in
->timestampPeriod
;
2032 out
->maxClipDistances
= in
->maxClipDistances
;
2033 out
->maxCullDistances
= in
->maxCullDistances
;
2034 out
->maxCombinedClipAndCullDistances
= in
->maxCombinedClipAndCullDistances
;
2035 out
->discreteQueuePriorities
= in
->discreteQueuePriorities
;
2036 memcpy(out
->pointSizeRange
, in
->pointSizeRange
, 2 * sizeof(float));
2037 memcpy(out
->lineWidthRange
, in
->lineWidthRange
, 2 * sizeof(float));
2038 out
->pointSizeGranularity
= in
->pointSizeGranularity
;
2039 out
->lineWidthGranularity
= in
->lineWidthGranularity
;
2040 out
->strictLines
= in
->strictLines
;
2041 out
->standardSampleLocations
= in
->standardSampleLocations
;
2042 out
->optimalBufferCopyOffsetAlignment
= in
->optimalBufferCopyOffsetAlignment
;
2043 out
->optimalBufferCopyRowPitchAlignment
= in
->optimalBufferCopyRowPitchAlignment
;
2044 out
->nonCoherentAtomSize
= in
->nonCoherentAtomSize
;
2046 #endif /* USE_STRUCT_CONVERSION */
2048 #if defined(USE_STRUCT_CONVERSION)
2049 static inline void convert_VkPhysicalDeviceProperties_host_to_win(const VkPhysicalDeviceProperties_host
*in
, VkPhysicalDeviceProperties
*out
)
2053 out
->apiVersion
= in
->apiVersion
;
2054 out
->driverVersion
= in
->driverVersion
;
2055 out
->vendorID
= in
->vendorID
;
2056 out
->deviceID
= in
->deviceID
;
2057 out
->deviceType
= in
->deviceType
;
2058 memcpy(out
->deviceName
, in
->deviceName
, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
* sizeof(char));
2059 memcpy(out
->pipelineCacheUUID
, in
->pipelineCacheUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
2060 convert_VkPhysicalDeviceLimits_host_to_win(&in
->limits
, &out
->limits
);
2061 out
->sparseProperties
= in
->sparseProperties
;
2063 #endif /* USE_STRUCT_CONVERSION */
2065 #if defined(USE_STRUCT_CONVERSION)
2066 static inline void convert_VkPhysicalDeviceProperties2_win_to_host(const VkPhysicalDeviceProperties2
*in
, VkPhysicalDeviceProperties2_host
*out
)
2070 out
->pNext
= in
->pNext
;
2071 out
->sType
= in
->sType
;
2073 #endif /* USE_STRUCT_CONVERSION */
2075 #if defined(USE_STRUCT_CONVERSION)
2076 static inline void convert_VkPhysicalDeviceProperties2_host_to_win(const VkPhysicalDeviceProperties2_host
*in
, VkPhysicalDeviceProperties2
*out
)
2080 out
->sType
= in
->sType
;
2081 out
->pNext
= in
->pNext
;
2082 convert_VkPhysicalDeviceProperties_host_to_win(&in
->properties
, &out
->properties
);
2084 #endif /* USE_STRUCT_CONVERSION */
2086 #if defined(USE_STRUCT_CONVERSION)
2087 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(const VkPhysicalDeviceSurfaceInfo2KHR
*in
, VkPhysicalDeviceSurfaceInfo2KHR_host
*out
)
2089 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(const VkPhysicalDeviceSurfaceInfo2KHR
*in
, VkPhysicalDeviceSurfaceInfo2KHR
*out
)
2090 #endif /* USE_STRUCT_CONVERSION */
2094 out
->sType
= in
->sType
;
2095 out
->pNext
= in
->pNext
;
2096 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
2099 #if defined(USE_STRUCT_CONVERSION)
2100 static inline void convert_VkPipelineExecutableInfoKHR_win_to_host(const VkPipelineExecutableInfoKHR
*in
, VkPipelineExecutableInfoKHR_host
*out
)
2104 out
->sType
= in
->sType
;
2105 out
->pNext
= in
->pNext
;
2106 out
->pipeline
= in
->pipeline
;
2107 out
->executableIndex
= in
->executableIndex
;
2109 #endif /* USE_STRUCT_CONVERSION */
2111 #if defined(USE_STRUCT_CONVERSION)
2112 static inline void convert_VkPipelineInfoKHR_win_to_host(const VkPipelineInfoKHR
*in
, VkPipelineInfoKHR_host
*out
)
2116 out
->sType
= in
->sType
;
2117 out
->pNext
= in
->pNext
;
2118 out
->pipeline
= in
->pipeline
;
2120 #endif /* USE_STRUCT_CONVERSION */
2122 #if defined(USE_STRUCT_CONVERSION)
2123 static inline VkSparseMemoryBind_host
*convert_VkSparseMemoryBind_array_win_to_host(const VkSparseMemoryBind
*in
, uint32_t count
)
2125 VkSparseMemoryBind_host
*out
;
2128 if (!in
) return NULL
;
2130 out
= malloc(count
* sizeof(*out
));
2131 for (i
= 0; i
< count
; i
++)
2133 out
[i
].resourceOffset
= in
[i
].resourceOffset
;
2134 out
[i
].size
= in
[i
].size
;
2135 out
[i
].memory
= in
[i
].memory
;
2136 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
2137 out
[i
].flags
= in
[i
].flags
;
2142 #endif /* USE_STRUCT_CONVERSION */
2144 #if defined(USE_STRUCT_CONVERSION)
2145 static inline void free_VkSparseMemoryBind_array(VkSparseMemoryBind_host
*in
, uint32_t count
)
2151 #endif /* USE_STRUCT_CONVERSION */
2153 #if defined(USE_STRUCT_CONVERSION)
2154 static inline VkSparseBufferMemoryBindInfo_host
*convert_VkSparseBufferMemoryBindInfo_array_win_to_host(const VkSparseBufferMemoryBindInfo
*in
, uint32_t count
)
2156 VkSparseBufferMemoryBindInfo_host
*out
;
2159 if (!in
) return NULL
;
2161 out
= malloc(count
* sizeof(*out
));
2162 for (i
= 0; i
< count
; i
++)
2164 out
[i
].buffer
= in
[i
].buffer
;
2165 out
[i
].bindCount
= in
[i
].bindCount
;
2166 out
[i
].pBinds
= convert_VkSparseMemoryBind_array_win_to_host(in
[i
].pBinds
, in
[i
].bindCount
);
2171 #endif /* USE_STRUCT_CONVERSION */
2173 #if defined(USE_STRUCT_CONVERSION)
2174 static inline void free_VkSparseBufferMemoryBindInfo_array(VkSparseBufferMemoryBindInfo_host
*in
, uint32_t count
)
2180 for (i
= 0; i
< count
; i
++)
2182 free_VkSparseMemoryBind_array((VkSparseMemoryBind_host
*)in
[i
].pBinds
, in
[i
].bindCount
);
2186 #endif /* USE_STRUCT_CONVERSION */
2188 #if defined(USE_STRUCT_CONVERSION)
2189 static inline VkSparseImageOpaqueMemoryBindInfo_host
*convert_VkSparseImageOpaqueMemoryBindInfo_array_win_to_host(const VkSparseImageOpaqueMemoryBindInfo
*in
, uint32_t count
)
2191 VkSparseImageOpaqueMemoryBindInfo_host
*out
;
2194 if (!in
) return NULL
;
2196 out
= malloc(count
* sizeof(*out
));
2197 for (i
= 0; i
< count
; i
++)
2199 out
[i
].image
= in
[i
].image
;
2200 out
[i
].bindCount
= in
[i
].bindCount
;
2201 out
[i
].pBinds
= convert_VkSparseMemoryBind_array_win_to_host(in
[i
].pBinds
, in
[i
].bindCount
);
2206 #endif /* USE_STRUCT_CONVERSION */
2208 #if defined(USE_STRUCT_CONVERSION)
2209 static inline void free_VkSparseImageOpaqueMemoryBindInfo_array(VkSparseImageOpaqueMemoryBindInfo_host
*in
, uint32_t count
)
2215 for (i
= 0; i
< count
; i
++)
2217 free_VkSparseMemoryBind_array((VkSparseMemoryBind_host
*)in
[i
].pBinds
, in
[i
].bindCount
);
2221 #endif /* USE_STRUCT_CONVERSION */
2223 #if defined(USE_STRUCT_CONVERSION)
2224 static inline VkSparseImageMemoryBind_host
*convert_VkSparseImageMemoryBind_array_win_to_host(const VkSparseImageMemoryBind
*in
, uint32_t count
)
2226 VkSparseImageMemoryBind_host
*out
;
2229 if (!in
) return NULL
;
2231 out
= malloc(count
* sizeof(*out
));
2232 for (i
= 0; i
< count
; i
++)
2234 out
[i
].subresource
= in
[i
].subresource
;
2235 out
[i
].offset
= in
[i
].offset
;
2236 out
[i
].extent
= in
[i
].extent
;
2237 out
[i
].memory
= in
[i
].memory
;
2238 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
2239 out
[i
].flags
= in
[i
].flags
;
2244 #endif /* USE_STRUCT_CONVERSION */
2246 #if defined(USE_STRUCT_CONVERSION)
2247 static inline void free_VkSparseImageMemoryBind_array(VkSparseImageMemoryBind_host
*in
, uint32_t count
)
2253 #endif /* USE_STRUCT_CONVERSION */
2255 #if defined(USE_STRUCT_CONVERSION)
2256 static inline VkSparseImageMemoryBindInfo_host
*convert_VkSparseImageMemoryBindInfo_array_win_to_host(const VkSparseImageMemoryBindInfo
*in
, uint32_t count
)
2258 VkSparseImageMemoryBindInfo_host
*out
;
2261 if (!in
) return NULL
;
2263 out
= malloc(count
* sizeof(*out
));
2264 for (i
= 0; i
< count
; i
++)
2266 out
[i
].image
= in
[i
].image
;
2267 out
[i
].bindCount
= in
[i
].bindCount
;
2268 out
[i
].pBinds
= convert_VkSparseImageMemoryBind_array_win_to_host(in
[i
].pBinds
, in
[i
].bindCount
);
2273 #endif /* USE_STRUCT_CONVERSION */
2275 #if defined(USE_STRUCT_CONVERSION)
2276 static inline void free_VkSparseImageMemoryBindInfo_array(VkSparseImageMemoryBindInfo_host
*in
, uint32_t count
)
2282 for (i
= 0; i
< count
; i
++)
2284 free_VkSparseImageMemoryBind_array((VkSparseImageMemoryBind_host
*)in
[i
].pBinds
, in
[i
].bindCount
);
2288 #endif /* USE_STRUCT_CONVERSION */
2290 #if defined(USE_STRUCT_CONVERSION)
2291 static inline VkBindSparseInfo_host
*convert_VkBindSparseInfo_array_win_to_host(const VkBindSparseInfo
*in
, uint32_t count
)
2293 VkBindSparseInfo_host
*out
;
2296 if (!in
) return NULL
;
2298 out
= malloc(count
* sizeof(*out
));
2299 for (i
= 0; i
< count
; i
++)
2301 out
[i
].sType
= in
[i
].sType
;
2302 out
[i
].pNext
= in
[i
].pNext
;
2303 out
[i
].waitSemaphoreCount
= in
[i
].waitSemaphoreCount
;
2304 out
[i
].pWaitSemaphores
= in
[i
].pWaitSemaphores
;
2305 out
[i
].bufferBindCount
= in
[i
].bufferBindCount
;
2306 out
[i
].pBufferBinds
= convert_VkSparseBufferMemoryBindInfo_array_win_to_host(in
[i
].pBufferBinds
, in
[i
].bufferBindCount
);
2307 out
[i
].imageOpaqueBindCount
= in
[i
].imageOpaqueBindCount
;
2308 out
[i
].pImageOpaqueBinds
= convert_VkSparseImageOpaqueMemoryBindInfo_array_win_to_host(in
[i
].pImageOpaqueBinds
, in
[i
].imageOpaqueBindCount
);
2309 out
[i
].imageBindCount
= in
[i
].imageBindCount
;
2310 out
[i
].pImageBinds
= convert_VkSparseImageMemoryBindInfo_array_win_to_host(in
[i
].pImageBinds
, in
[i
].imageBindCount
);
2311 out
[i
].signalSemaphoreCount
= in
[i
].signalSemaphoreCount
;
2312 out
[i
].pSignalSemaphores
= in
[i
].pSignalSemaphores
;
2317 #endif /* USE_STRUCT_CONVERSION */
2319 #if defined(USE_STRUCT_CONVERSION)
2320 static inline void free_VkBindSparseInfo_array(VkBindSparseInfo_host
*in
, uint32_t count
)
2326 for (i
= 0; i
< count
; i
++)
2328 free_VkSparseBufferMemoryBindInfo_array((VkSparseBufferMemoryBindInfo_host
*)in
[i
].pBufferBinds
, in
[i
].bufferBindCount
);
2329 free_VkSparseImageOpaqueMemoryBindInfo_array((VkSparseImageOpaqueMemoryBindInfo_host
*)in
[i
].pImageOpaqueBinds
, in
[i
].imageOpaqueBindCount
);
2330 free_VkSparseImageMemoryBindInfo_array((VkSparseImageMemoryBindInfo_host
*)in
[i
].pImageBinds
, in
[i
].imageBindCount
);
2334 #endif /* USE_STRUCT_CONVERSION */
2336 static inline VkSubmitInfo
*convert_VkSubmitInfo_array_win_to_host(const VkSubmitInfo
*in
, uint32_t count
)
2341 if (!in
) return NULL
;
2343 out
= malloc(count
* sizeof(*out
));
2344 for (i
= 0; i
< count
; i
++)
2346 out
[i
].sType
= in
[i
].sType
;
2347 out
[i
].pNext
= in
[i
].pNext
;
2348 out
[i
].waitSemaphoreCount
= in
[i
].waitSemaphoreCount
;
2349 out
[i
].pWaitSemaphores
= in
[i
].pWaitSemaphores
;
2350 out
[i
].pWaitDstStageMask
= in
[i
].pWaitDstStageMask
;
2351 out
[i
].commandBufferCount
= in
[i
].commandBufferCount
;
2352 out
[i
].pCommandBuffers
= convert_VkCommandBuffer_array_win_to_host(in
[i
].pCommandBuffers
, in
[i
].commandBufferCount
);
2353 out
[i
].signalSemaphoreCount
= in
[i
].signalSemaphoreCount
;
2354 out
[i
].pSignalSemaphores
= in
[i
].pSignalSemaphores
;
2360 static inline void free_VkSubmitInfo_array(VkSubmitInfo
*in
, uint32_t count
)
2366 for (i
= 0; i
< count
; i
++)
2368 free_VkCommandBuffer_array((VkCommandBuffer
*)in
[i
].pCommandBuffers
, in
[i
].commandBufferCount
);
2373 #if defined(USE_STRUCT_CONVERSION)
2374 static inline VkSemaphoreSubmitInfoKHR_host
*convert_VkSemaphoreSubmitInfoKHR_array_win_to_host(const VkSemaphoreSubmitInfoKHR
*in
, uint32_t count
)
2376 VkSemaphoreSubmitInfoKHR_host
*out
;
2379 if (!in
) return NULL
;
2381 out
= malloc(count
* sizeof(*out
));
2382 for (i
= 0; i
< count
; i
++)
2384 out
[i
].sType
= in
[i
].sType
;
2385 out
[i
].pNext
= in
[i
].pNext
;
2386 out
[i
].semaphore
= in
[i
].semaphore
;
2387 out
[i
].value
= in
[i
].value
;
2388 out
[i
].stageMask
= in
[i
].stageMask
;
2389 out
[i
].deviceIndex
= in
[i
].deviceIndex
;
2394 #endif /* USE_STRUCT_CONVERSION */
2396 #if defined(USE_STRUCT_CONVERSION)
2397 static inline void free_VkSemaphoreSubmitInfoKHR_array(VkSemaphoreSubmitInfoKHR_host
*in
, uint32_t count
)
2403 #endif /* USE_STRUCT_CONVERSION */
2405 static inline VkCommandBufferSubmitInfoKHR
*convert_VkCommandBufferSubmitInfoKHR_array_win_to_host(const VkCommandBufferSubmitInfoKHR
*in
, uint32_t count
)
2407 VkCommandBufferSubmitInfoKHR
*out
;
2410 if (!in
) return NULL
;
2412 out
= malloc(count
* sizeof(*out
));
2413 for (i
= 0; i
< count
; i
++)
2415 out
[i
].sType
= in
[i
].sType
;
2416 out
[i
].pNext
= in
[i
].pNext
;
2417 out
[i
].commandBuffer
= in
[i
].commandBuffer
->command_buffer
;
2418 out
[i
].deviceMask
= in
[i
].deviceMask
;
2424 static inline void free_VkCommandBufferSubmitInfoKHR_array(VkCommandBufferSubmitInfoKHR
*in
, uint32_t count
)
2431 #if defined(USE_STRUCT_CONVERSION)
2432 static inline VkSubmitInfo2KHR_host
*convert_VkSubmitInfo2KHR_array_win_to_host(const VkSubmitInfo2KHR
*in
, uint32_t count
)
2434 VkSubmitInfo2KHR_host
*out
;
2436 static inline VkSubmitInfo2KHR
*convert_VkSubmitInfo2KHR_array_win_to_host(const VkSubmitInfo2KHR
*in
, uint32_t count
)
2438 VkSubmitInfo2KHR
*out
;
2439 #endif /* USE_STRUCT_CONVERSION */
2442 if (!in
) return NULL
;
2444 out
= malloc(count
* sizeof(*out
));
2445 for (i
= 0; i
< count
; i
++)
2447 out
[i
].sType
= in
[i
].sType
;
2448 out
[i
].pNext
= in
[i
].pNext
;
2449 out
[i
].flags
= in
[i
].flags
;
2450 out
[i
].waitSemaphoreInfoCount
= in
[i
].waitSemaphoreInfoCount
;
2451 #if defined(USE_STRUCT_CONVERSION)
2452 out
[i
].pWaitSemaphoreInfos
= convert_VkSemaphoreSubmitInfoKHR_array_win_to_host(in
[i
].pWaitSemaphoreInfos
, in
[i
].waitSemaphoreInfoCount
);
2454 out
[i
].pWaitSemaphoreInfos
= in
[i
].pWaitSemaphoreInfos
;
2455 #endif /* USE_STRUCT_CONVERSION */
2456 out
[i
].commandBufferInfoCount
= in
[i
].commandBufferInfoCount
;
2457 out
[i
].pCommandBufferInfos
= convert_VkCommandBufferSubmitInfoKHR_array_win_to_host(in
[i
].pCommandBufferInfos
, in
[i
].commandBufferInfoCount
);
2458 out
[i
].signalSemaphoreInfoCount
= in
[i
].signalSemaphoreInfoCount
;
2459 #if defined(USE_STRUCT_CONVERSION)
2460 out
[i
].pSignalSemaphoreInfos
= convert_VkSemaphoreSubmitInfoKHR_array_win_to_host(in
[i
].pSignalSemaphoreInfos
, in
[i
].signalSemaphoreInfoCount
);
2462 out
[i
].pSignalSemaphoreInfos
= in
[i
].pSignalSemaphoreInfos
;
2463 #endif /* USE_STRUCT_CONVERSION */
2469 #if defined(USE_STRUCT_CONVERSION)
2470 static inline void free_VkSubmitInfo2KHR_array(VkSubmitInfo2KHR_host
*in
, uint32_t count
)
2472 static inline void free_VkSubmitInfo2KHR_array(VkSubmitInfo2KHR
*in
, uint32_t count
)
2473 #endif /* USE_STRUCT_CONVERSION */
2479 for (i
= 0; i
< count
; i
++)
2481 #if defined(USE_STRUCT_CONVERSION)
2482 free_VkSemaphoreSubmitInfoKHR_array((VkSemaphoreSubmitInfoKHR_host
*)in
[i
].pWaitSemaphoreInfos
, in
[i
].waitSemaphoreInfoCount
);
2483 #endif /* USE_STRUCT_CONVERSION */
2484 free_VkCommandBufferSubmitInfoKHR_array((VkCommandBufferSubmitInfoKHR
*)in
[i
].pCommandBufferInfos
, in
[i
].commandBufferInfoCount
);
2485 #if defined(USE_STRUCT_CONVERSION)
2486 free_VkSemaphoreSubmitInfoKHR_array((VkSemaphoreSubmitInfoKHR_host
*)in
[i
].pSignalSemaphoreInfos
, in
[i
].signalSemaphoreInfoCount
);
2487 #endif /* USE_STRUCT_CONVERSION */
2492 #if defined(USE_STRUCT_CONVERSION)
2493 static inline void convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, VkDebugUtilsObjectNameInfoEXT_host
*out
)
2495 static inline void convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, VkDebugUtilsObjectNameInfoEXT
*out
)
2496 #endif /* USE_STRUCT_CONVERSION */
2500 out
->sType
= in
->sType
;
2501 out
->pNext
= in
->pNext
;
2502 out
->objectType
= in
->objectType
;
2503 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
2504 out
->pObjectName
= in
->pObjectName
;
2507 #if defined(USE_STRUCT_CONVERSION)
2508 static inline void convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(const VkDebugUtilsObjectTagInfoEXT
*in
, VkDebugUtilsObjectTagInfoEXT_host
*out
)
2510 static inline void convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(const VkDebugUtilsObjectTagInfoEXT
*in
, VkDebugUtilsObjectTagInfoEXT
*out
)
2511 #endif /* USE_STRUCT_CONVERSION */
2515 out
->sType
= in
->sType
;
2516 out
->pNext
= in
->pNext
;
2517 out
->objectType
= in
->objectType
;
2518 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
2519 out
->tagName
= in
->tagName
;
2520 out
->tagSize
= in
->tagSize
;
2521 out
->pTag
= in
->pTag
;
2524 #if defined(USE_STRUCT_CONVERSION)
2525 static inline void convert_VkSemaphoreSignalInfo_win_to_host(const VkSemaphoreSignalInfo
*in
, VkSemaphoreSignalInfo_host
*out
)
2529 out
->sType
= in
->sType
;
2530 out
->pNext
= in
->pNext
;
2531 out
->semaphore
= in
->semaphore
;
2532 out
->value
= in
->value
;
2534 #endif /* USE_STRUCT_CONVERSION */
2536 #if defined(USE_STRUCT_CONVERSION)
2537 static inline VkDebugUtilsObjectNameInfoEXT_host
*convert_VkDebugUtilsObjectNameInfoEXT_array_win_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, uint32_t count
)
2539 VkDebugUtilsObjectNameInfoEXT_host
*out
;
2541 static inline VkDebugUtilsObjectNameInfoEXT
*convert_VkDebugUtilsObjectNameInfoEXT_array_win_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, uint32_t count
)
2543 VkDebugUtilsObjectNameInfoEXT
*out
;
2544 #endif /* USE_STRUCT_CONVERSION */
2547 if (!in
) return NULL
;
2549 out
= malloc(count
* sizeof(*out
));
2550 for (i
= 0; i
< count
; i
++)
2552 out
[i
].sType
= in
[i
].sType
;
2553 out
[i
].pNext
= in
[i
].pNext
;
2554 out
[i
].objectType
= in
[i
].objectType
;
2555 out
[i
].objectHandle
= wine_vk_unwrap_handle(in
[i
].objectType
, in
[i
].objectHandle
);
2556 out
[i
].pObjectName
= in
[i
].pObjectName
;
2562 #if defined(USE_STRUCT_CONVERSION)
2563 static inline void free_VkDebugUtilsObjectNameInfoEXT_array(VkDebugUtilsObjectNameInfoEXT_host
*in
, uint32_t count
)
2565 static inline void free_VkDebugUtilsObjectNameInfoEXT_array(VkDebugUtilsObjectNameInfoEXT
*in
, uint32_t count
)
2566 #endif /* USE_STRUCT_CONVERSION */
2573 #if defined(USE_STRUCT_CONVERSION)
2574 static inline void convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(const VkDebugUtilsMessengerCallbackDataEXT
*in
, VkDebugUtilsMessengerCallbackDataEXT_host
*out
)
2576 static inline void convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(const VkDebugUtilsMessengerCallbackDataEXT
*in
, VkDebugUtilsMessengerCallbackDataEXT
*out
)
2577 #endif /* USE_STRUCT_CONVERSION */
2581 out
->sType
= in
->sType
;
2582 out
->pNext
= in
->pNext
;
2583 out
->flags
= in
->flags
;
2584 out
->pMessageIdName
= in
->pMessageIdName
;
2585 out
->messageIdNumber
= in
->messageIdNumber
;
2586 out
->pMessage
= in
->pMessage
;
2587 out
->queueLabelCount
= in
->queueLabelCount
;
2588 out
->pQueueLabels
= in
->pQueueLabels
;
2589 out
->cmdBufLabelCount
= in
->cmdBufLabelCount
;
2590 out
->pCmdBufLabels
= in
->pCmdBufLabels
;
2591 out
->objectCount
= in
->objectCount
;
2592 out
->pObjects
= convert_VkDebugUtilsObjectNameInfoEXT_array_win_to_host(in
->pObjects
, in
->objectCount
);
2595 #if defined(USE_STRUCT_CONVERSION)
2596 static inline void free_VkDebugUtilsMessengerCallbackDataEXT(VkDebugUtilsMessengerCallbackDataEXT_host
*in
)
2598 static inline void free_VkDebugUtilsMessengerCallbackDataEXT(VkDebugUtilsMessengerCallbackDataEXT
*in
)
2599 #endif /* USE_STRUCT_CONVERSION */
2601 #if defined(USE_STRUCT_CONVERSION)
2602 free_VkDebugUtilsObjectNameInfoEXT_array((VkDebugUtilsObjectNameInfoEXT_host
*)in
->pObjects
, in
->objectCount
);
2604 free_VkDebugUtilsObjectNameInfoEXT_array((VkDebugUtilsObjectNameInfoEXT
*)in
->pObjects
, in
->objectCount
);
2605 #endif /* USE_STRUCT_CONVERSION */
2608 #if defined(USE_STRUCT_CONVERSION)
2609 static inline VkCopyDescriptorSet_host
*convert_VkCopyDescriptorSet_array_win_to_host(const VkCopyDescriptorSet
*in
, uint32_t count
)
2611 VkCopyDescriptorSet_host
*out
;
2614 if (!in
) return NULL
;
2616 out
= malloc(count
* sizeof(*out
));
2617 for (i
= 0; i
< count
; i
++)
2619 out
[i
].sType
= in
[i
].sType
;
2620 out
[i
].pNext
= in
[i
].pNext
;
2621 out
[i
].srcSet
= in
[i
].srcSet
;
2622 out
[i
].srcBinding
= in
[i
].srcBinding
;
2623 out
[i
].srcArrayElement
= in
[i
].srcArrayElement
;
2624 out
[i
].dstSet
= in
[i
].dstSet
;
2625 out
[i
].dstBinding
= in
[i
].dstBinding
;
2626 out
[i
].dstArrayElement
= in
[i
].dstArrayElement
;
2627 out
[i
].descriptorCount
= in
[i
].descriptorCount
;
2632 #endif /* USE_STRUCT_CONVERSION */
2634 #if defined(USE_STRUCT_CONVERSION)
2635 static inline void free_VkCopyDescriptorSet_array(VkCopyDescriptorSet_host
*in
, uint32_t count
)
2641 #endif /* USE_STRUCT_CONVERSION */
2643 static inline VkPhysicalDevice
*convert_VkPhysicalDevice_array_win_to_host(const VkPhysicalDevice
*in
, uint32_t count
)
2645 VkPhysicalDevice
*out
;
2648 if (!in
) return NULL
;
2650 out
= malloc(count
* sizeof(*out
));
2651 for (i
= 0; i
< count
; i
++)
2653 out
[i
] = in
[i
]->phys_dev
;
2659 static inline void free_VkPhysicalDevice_array(VkPhysicalDevice
*in
, uint32_t count
)
2666 VkResult
convert_VkDeviceCreateInfo_struct_chain(const void *pNext
, VkDeviceCreateInfo
*out_struct
)
2668 VkBaseOutStructure
*out_header
= (VkBaseOutStructure
*)out_struct
;
2669 const VkBaseInStructure
*in_header
;
2671 out_header
->pNext
= NULL
;
2673 for (in_header
= pNext
; in_header
; in_header
= in_header
->pNext
)
2675 switch (in_header
->sType
)
2677 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
:
2680 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
:
2682 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*in
= (const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*)in_header
;
2683 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*out
;
2685 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2687 out
->sType
= in
->sType
;
2689 out
->deviceGeneratedCommands
= in
->deviceGeneratedCommands
;
2691 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2692 out_header
= out_header
->pNext
;
2696 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT
:
2698 const VkDevicePrivateDataCreateInfoEXT
*in
= (const VkDevicePrivateDataCreateInfoEXT
*)in_header
;
2699 VkDevicePrivateDataCreateInfoEXT
*out
;
2701 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2703 out
->sType
= in
->sType
;
2705 out
->privateDataSlotRequestCount
= in
->privateDataSlotRequestCount
;
2707 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2708 out_header
= out_header
->pNext
;
2712 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT
:
2714 const VkPhysicalDevicePrivateDataFeaturesEXT
*in
= (const VkPhysicalDevicePrivateDataFeaturesEXT
*)in_header
;
2715 VkPhysicalDevicePrivateDataFeaturesEXT
*out
;
2717 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2719 out
->sType
= in
->sType
;
2721 out
->privateData
= in
->privateData
;
2723 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2724 out_header
= out_header
->pNext
;
2728 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
:
2730 const VkPhysicalDeviceFeatures2
*in
= (const VkPhysicalDeviceFeatures2
*)in_header
;
2731 VkPhysicalDeviceFeatures2
*out
;
2733 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2735 out
->sType
= in
->sType
;
2737 out
->features
= in
->features
;
2739 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2740 out_header
= out_header
->pNext
;
2744 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
:
2746 const VkPhysicalDeviceVariablePointersFeatures
*in
= (const VkPhysicalDeviceVariablePointersFeatures
*)in_header
;
2747 VkPhysicalDeviceVariablePointersFeatures
*out
;
2749 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2751 out
->sType
= in
->sType
;
2753 out
->variablePointersStorageBuffer
= in
->variablePointersStorageBuffer
;
2754 out
->variablePointers
= in
->variablePointers
;
2756 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2757 out_header
= out_header
->pNext
;
2761 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
:
2763 const VkPhysicalDeviceMultiviewFeatures
*in
= (const VkPhysicalDeviceMultiviewFeatures
*)in_header
;
2764 VkPhysicalDeviceMultiviewFeatures
*out
;
2766 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2768 out
->sType
= in
->sType
;
2770 out
->multiview
= in
->multiview
;
2771 out
->multiviewGeometryShader
= in
->multiviewGeometryShader
;
2772 out
->multiviewTessellationShader
= in
->multiviewTessellationShader
;
2774 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2775 out_header
= out_header
->pNext
;
2779 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
:
2781 const VkDeviceGroupDeviceCreateInfo
*in
= (const VkDeviceGroupDeviceCreateInfo
*)in_header
;
2782 VkDeviceGroupDeviceCreateInfo
*out
;
2784 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2786 out
->sType
= in
->sType
;
2788 out
->physicalDeviceCount
= in
->physicalDeviceCount
;
2789 out
->pPhysicalDevices
= convert_VkPhysicalDevice_array_win_to_host(in
->pPhysicalDevices
, in
->physicalDeviceCount
);
2791 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2792 out_header
= out_header
->pNext
;
2796 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
:
2798 const VkPhysicalDevicePresentIdFeaturesKHR
*in
= (const VkPhysicalDevicePresentIdFeaturesKHR
*)in_header
;
2799 VkPhysicalDevicePresentIdFeaturesKHR
*out
;
2801 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2803 out
->sType
= in
->sType
;
2805 out
->presentId
= in
->presentId
;
2807 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2808 out_header
= out_header
->pNext
;
2812 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
:
2814 const VkPhysicalDevicePresentWaitFeaturesKHR
*in
= (const VkPhysicalDevicePresentWaitFeaturesKHR
*)in_header
;
2815 VkPhysicalDevicePresentWaitFeaturesKHR
*out
;
2817 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2819 out
->sType
= in
->sType
;
2821 out
->presentWait
= in
->presentWait
;
2823 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2824 out_header
= out_header
->pNext
;
2828 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
:
2830 const VkPhysicalDevice16BitStorageFeatures
*in
= (const VkPhysicalDevice16BitStorageFeatures
*)in_header
;
2831 VkPhysicalDevice16BitStorageFeatures
*out
;
2833 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2835 out
->sType
= in
->sType
;
2837 out
->storageBuffer16BitAccess
= in
->storageBuffer16BitAccess
;
2838 out
->uniformAndStorageBuffer16BitAccess
= in
->uniformAndStorageBuffer16BitAccess
;
2839 out
->storagePushConstant16
= in
->storagePushConstant16
;
2840 out
->storageInputOutput16
= in
->storageInputOutput16
;
2842 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2843 out_header
= out_header
->pNext
;
2847 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
:
2849 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*in
= (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*)in_header
;
2850 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*out
;
2852 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2854 out
->sType
= in
->sType
;
2856 out
->shaderSubgroupExtendedTypes
= in
->shaderSubgroupExtendedTypes
;
2858 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2859 out_header
= out_header
->pNext
;
2863 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
:
2865 const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*in
= (const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*)in_header
;
2866 VkPhysicalDeviceSamplerYcbcrConversionFeatures
*out
;
2868 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2870 out
->sType
= in
->sType
;
2872 out
->samplerYcbcrConversion
= in
->samplerYcbcrConversion
;
2874 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2875 out_header
= out_header
->pNext
;
2879 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
:
2881 const VkPhysicalDeviceProtectedMemoryFeatures
*in
= (const VkPhysicalDeviceProtectedMemoryFeatures
*)in_header
;
2882 VkPhysicalDeviceProtectedMemoryFeatures
*out
;
2884 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2886 out
->sType
= in
->sType
;
2888 out
->protectedMemory
= in
->protectedMemory
;
2890 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2891 out_header
= out_header
->pNext
;
2895 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
:
2897 const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*in
= (const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*)in_header
;
2898 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*out
;
2900 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2902 out
->sType
= in
->sType
;
2904 out
->advancedBlendCoherentOperations
= in
->advancedBlendCoherentOperations
;
2906 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2907 out_header
= out_header
->pNext
;
2911 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
:
2913 const VkPhysicalDeviceMultiDrawFeaturesEXT
*in
= (const VkPhysicalDeviceMultiDrawFeaturesEXT
*)in_header
;
2914 VkPhysicalDeviceMultiDrawFeaturesEXT
*out
;
2916 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2918 out
->sType
= in
->sType
;
2920 out
->multiDraw
= in
->multiDraw
;
2922 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2923 out_header
= out_header
->pNext
;
2927 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT
:
2929 const VkPhysicalDeviceInlineUniformBlockFeaturesEXT
*in
= (const VkPhysicalDeviceInlineUniformBlockFeaturesEXT
*)in_header
;
2930 VkPhysicalDeviceInlineUniformBlockFeaturesEXT
*out
;
2932 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2934 out
->sType
= in
->sType
;
2936 out
->inlineUniformBlock
= in
->inlineUniformBlock
;
2937 out
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
2939 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2940 out_header
= out_header
->pNext
;
2944 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
:
2946 const VkPhysicalDeviceShaderDrawParametersFeatures
*in
= (const VkPhysicalDeviceShaderDrawParametersFeatures
*)in_header
;
2947 VkPhysicalDeviceShaderDrawParametersFeatures
*out
;
2949 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2951 out
->sType
= in
->sType
;
2953 out
->shaderDrawParameters
= in
->shaderDrawParameters
;
2955 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2956 out_header
= out_header
->pNext
;
2960 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
:
2962 const VkPhysicalDeviceShaderFloat16Int8Features
*in
= (const VkPhysicalDeviceShaderFloat16Int8Features
*)in_header
;
2963 VkPhysicalDeviceShaderFloat16Int8Features
*out
;
2965 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2967 out
->sType
= in
->sType
;
2969 out
->shaderFloat16
= in
->shaderFloat16
;
2970 out
->shaderInt8
= in
->shaderInt8
;
2972 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2973 out_header
= out_header
->pNext
;
2977 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
:
2979 const VkPhysicalDeviceHostQueryResetFeatures
*in
= (const VkPhysicalDeviceHostQueryResetFeatures
*)in_header
;
2980 VkPhysicalDeviceHostQueryResetFeatures
*out
;
2982 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
2984 out
->sType
= in
->sType
;
2986 out
->hostQueryReset
= in
->hostQueryReset
;
2988 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2989 out_header
= out_header
->pNext
;
2993 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT
:
2995 const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT
*in
= (const VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT
*)in_header
;
2996 VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT
*out
;
2998 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3000 out
->sType
= in
->sType
;
3002 out
->globalPriorityQuery
= in
->globalPriorityQuery
;
3004 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3005 out_header
= out_header
->pNext
;
3009 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
:
3011 const VkPhysicalDeviceDescriptorIndexingFeatures
*in
= (const VkPhysicalDeviceDescriptorIndexingFeatures
*)in_header
;
3012 VkPhysicalDeviceDescriptorIndexingFeatures
*out
;
3014 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3016 out
->sType
= in
->sType
;
3018 out
->shaderInputAttachmentArrayDynamicIndexing
= in
->shaderInputAttachmentArrayDynamicIndexing
;
3019 out
->shaderUniformTexelBufferArrayDynamicIndexing
= in
->shaderUniformTexelBufferArrayDynamicIndexing
;
3020 out
->shaderStorageTexelBufferArrayDynamicIndexing
= in
->shaderStorageTexelBufferArrayDynamicIndexing
;
3021 out
->shaderUniformBufferArrayNonUniformIndexing
= in
->shaderUniformBufferArrayNonUniformIndexing
;
3022 out
->shaderSampledImageArrayNonUniformIndexing
= in
->shaderSampledImageArrayNonUniformIndexing
;
3023 out
->shaderStorageBufferArrayNonUniformIndexing
= in
->shaderStorageBufferArrayNonUniformIndexing
;
3024 out
->shaderStorageImageArrayNonUniformIndexing
= in
->shaderStorageImageArrayNonUniformIndexing
;
3025 out
->shaderInputAttachmentArrayNonUniformIndexing
= in
->shaderInputAttachmentArrayNonUniformIndexing
;
3026 out
->shaderUniformTexelBufferArrayNonUniformIndexing
= in
->shaderUniformTexelBufferArrayNonUniformIndexing
;
3027 out
->shaderStorageTexelBufferArrayNonUniformIndexing
= in
->shaderStorageTexelBufferArrayNonUniformIndexing
;
3028 out
->descriptorBindingUniformBufferUpdateAfterBind
= in
->descriptorBindingUniformBufferUpdateAfterBind
;
3029 out
->descriptorBindingSampledImageUpdateAfterBind
= in
->descriptorBindingSampledImageUpdateAfterBind
;
3030 out
->descriptorBindingStorageImageUpdateAfterBind
= in
->descriptorBindingStorageImageUpdateAfterBind
;
3031 out
->descriptorBindingStorageBufferUpdateAfterBind
= in
->descriptorBindingStorageBufferUpdateAfterBind
;
3032 out
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
3033 out
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
3034 out
->descriptorBindingUpdateUnusedWhilePending
= in
->descriptorBindingUpdateUnusedWhilePending
;
3035 out
->descriptorBindingPartiallyBound
= in
->descriptorBindingPartiallyBound
;
3036 out
->descriptorBindingVariableDescriptorCount
= in
->descriptorBindingVariableDescriptorCount
;
3037 out
->runtimeDescriptorArray
= in
->runtimeDescriptorArray
;
3039 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3040 out_header
= out_header
->pNext
;
3044 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
:
3046 const VkPhysicalDeviceTimelineSemaphoreFeatures
*in
= (const VkPhysicalDeviceTimelineSemaphoreFeatures
*)in_header
;
3047 VkPhysicalDeviceTimelineSemaphoreFeatures
*out
;
3049 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3051 out
->sType
= in
->sType
;
3053 out
->timelineSemaphore
= in
->timelineSemaphore
;
3055 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3056 out_header
= out_header
->pNext
;
3060 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
:
3062 const VkPhysicalDevice8BitStorageFeatures
*in
= (const VkPhysicalDevice8BitStorageFeatures
*)in_header
;
3063 VkPhysicalDevice8BitStorageFeatures
*out
;
3065 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3067 out
->sType
= in
->sType
;
3069 out
->storageBuffer8BitAccess
= in
->storageBuffer8BitAccess
;
3070 out
->uniformAndStorageBuffer8BitAccess
= in
->uniformAndStorageBuffer8BitAccess
;
3071 out
->storagePushConstant8
= in
->storagePushConstant8
;
3073 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3074 out_header
= out_header
->pNext
;
3078 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
:
3080 const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*in
= (const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*)in_header
;
3081 VkPhysicalDeviceConditionalRenderingFeaturesEXT
*out
;
3083 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3085 out
->sType
= in
->sType
;
3087 out
->conditionalRendering
= in
->conditionalRendering
;
3088 out
->inheritedConditionalRendering
= in
->inheritedConditionalRendering
;
3090 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3091 out_header
= out_header
->pNext
;
3095 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
:
3097 const VkPhysicalDeviceVulkanMemoryModelFeatures
*in
= (const VkPhysicalDeviceVulkanMemoryModelFeatures
*)in_header
;
3098 VkPhysicalDeviceVulkanMemoryModelFeatures
*out
;
3100 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3102 out
->sType
= in
->sType
;
3104 out
->vulkanMemoryModel
= in
->vulkanMemoryModel
;
3105 out
->vulkanMemoryModelDeviceScope
= in
->vulkanMemoryModelDeviceScope
;
3106 out
->vulkanMemoryModelAvailabilityVisibilityChains
= in
->vulkanMemoryModelAvailabilityVisibilityChains
;
3108 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3109 out_header
= out_header
->pNext
;
3113 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
:
3115 const VkPhysicalDeviceShaderAtomicInt64Features
*in
= (const VkPhysicalDeviceShaderAtomicInt64Features
*)in_header
;
3116 VkPhysicalDeviceShaderAtomicInt64Features
*out
;
3118 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3120 out
->sType
= in
->sType
;
3122 out
->shaderBufferInt64Atomics
= in
->shaderBufferInt64Atomics
;
3123 out
->shaderSharedInt64Atomics
= in
->shaderSharedInt64Atomics
;
3125 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3126 out_header
= out_header
->pNext
;
3130 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
:
3132 const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*in
= (const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*)in_header
;
3133 VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*out
;
3135 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3137 out
->sType
= in
->sType
;
3139 out
->shaderBufferFloat32Atomics
= in
->shaderBufferFloat32Atomics
;
3140 out
->shaderBufferFloat32AtomicAdd
= in
->shaderBufferFloat32AtomicAdd
;
3141 out
->shaderBufferFloat64Atomics
= in
->shaderBufferFloat64Atomics
;
3142 out
->shaderBufferFloat64AtomicAdd
= in
->shaderBufferFloat64AtomicAdd
;
3143 out
->shaderSharedFloat32Atomics
= in
->shaderSharedFloat32Atomics
;
3144 out
->shaderSharedFloat32AtomicAdd
= in
->shaderSharedFloat32AtomicAdd
;
3145 out
->shaderSharedFloat64Atomics
= in
->shaderSharedFloat64Atomics
;
3146 out
->shaderSharedFloat64AtomicAdd
= in
->shaderSharedFloat64AtomicAdd
;
3147 out
->shaderImageFloat32Atomics
= in
->shaderImageFloat32Atomics
;
3148 out
->shaderImageFloat32AtomicAdd
= in
->shaderImageFloat32AtomicAdd
;
3149 out
->sparseImageFloat32Atomics
= in
->sparseImageFloat32Atomics
;
3150 out
->sparseImageFloat32AtomicAdd
= in
->sparseImageFloat32AtomicAdd
;
3152 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3153 out_header
= out_header
->pNext
;
3157 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
:
3159 const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*in
= (const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*)in_header
;
3160 VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*out
;
3162 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3164 out
->sType
= in
->sType
;
3166 out
->shaderBufferFloat16Atomics
= in
->shaderBufferFloat16Atomics
;
3167 out
->shaderBufferFloat16AtomicAdd
= in
->shaderBufferFloat16AtomicAdd
;
3168 out
->shaderBufferFloat16AtomicMinMax
= in
->shaderBufferFloat16AtomicMinMax
;
3169 out
->shaderBufferFloat32AtomicMinMax
= in
->shaderBufferFloat32AtomicMinMax
;
3170 out
->shaderBufferFloat64AtomicMinMax
= in
->shaderBufferFloat64AtomicMinMax
;
3171 out
->shaderSharedFloat16Atomics
= in
->shaderSharedFloat16Atomics
;
3172 out
->shaderSharedFloat16AtomicAdd
= in
->shaderSharedFloat16AtomicAdd
;
3173 out
->shaderSharedFloat16AtomicMinMax
= in
->shaderSharedFloat16AtomicMinMax
;
3174 out
->shaderSharedFloat32AtomicMinMax
= in
->shaderSharedFloat32AtomicMinMax
;
3175 out
->shaderSharedFloat64AtomicMinMax
= in
->shaderSharedFloat64AtomicMinMax
;
3176 out
->shaderImageFloat32AtomicMinMax
= in
->shaderImageFloat32AtomicMinMax
;
3177 out
->sparseImageFloat32AtomicMinMax
= in
->sparseImageFloat32AtomicMinMax
;
3179 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3180 out_header
= out_header
->pNext
;
3184 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
:
3186 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*in
= (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*)in_header
;
3187 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*out
;
3189 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3191 out
->sType
= in
->sType
;
3193 out
->vertexAttributeInstanceRateDivisor
= in
->vertexAttributeInstanceRateDivisor
;
3194 out
->vertexAttributeInstanceRateZeroDivisor
= in
->vertexAttributeInstanceRateZeroDivisor
;
3196 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3197 out_header
= out_header
->pNext
;
3201 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
:
3203 const VkPhysicalDeviceASTCDecodeFeaturesEXT
*in
= (const VkPhysicalDeviceASTCDecodeFeaturesEXT
*)in_header
;
3204 VkPhysicalDeviceASTCDecodeFeaturesEXT
*out
;
3206 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3208 out
->sType
= in
->sType
;
3210 out
->decodeModeSharedExponent
= in
->decodeModeSharedExponent
;
3212 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3213 out_header
= out_header
->pNext
;
3217 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
:
3219 const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*in
= (const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*)in_header
;
3220 VkPhysicalDeviceTransformFeedbackFeaturesEXT
*out
;
3222 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3224 out
->sType
= in
->sType
;
3226 out
->transformFeedback
= in
->transformFeedback
;
3227 out
->geometryStreams
= in
->geometryStreams
;
3229 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3230 out_header
= out_header
->pNext
;
3234 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
:
3236 const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*in
= (const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*)in_header
;
3237 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*out
;
3239 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3241 out
->sType
= in
->sType
;
3243 out
->representativeFragmentTest
= in
->representativeFragmentTest
;
3245 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3246 out_header
= out_header
->pNext
;
3250 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
:
3252 const VkPhysicalDeviceExclusiveScissorFeaturesNV
*in
= (const VkPhysicalDeviceExclusiveScissorFeaturesNV
*)in_header
;
3253 VkPhysicalDeviceExclusiveScissorFeaturesNV
*out
;
3255 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3257 out
->sType
= in
->sType
;
3259 out
->exclusiveScissor
= in
->exclusiveScissor
;
3261 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3262 out_header
= out_header
->pNext
;
3266 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
:
3268 const VkPhysicalDeviceCornerSampledImageFeaturesNV
*in
= (const VkPhysicalDeviceCornerSampledImageFeaturesNV
*)in_header
;
3269 VkPhysicalDeviceCornerSampledImageFeaturesNV
*out
;
3271 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3273 out
->sType
= in
->sType
;
3275 out
->cornerSampledImage
= in
->cornerSampledImage
;
3277 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3278 out_header
= out_header
->pNext
;
3282 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
:
3284 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*in
= (const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*)in_header
;
3285 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*out
;
3287 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3289 out
->sType
= in
->sType
;
3291 out
->computeDerivativeGroupQuads
= in
->computeDerivativeGroupQuads
;
3292 out
->computeDerivativeGroupLinear
= in
->computeDerivativeGroupLinear
;
3294 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3295 out_header
= out_header
->pNext
;
3299 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV
:
3301 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
*in
= (const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
*)in_header
;
3302 VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
*out
;
3304 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3306 out
->sType
= in
->sType
;
3308 out
->fragmentShaderBarycentric
= in
->fragmentShaderBarycentric
;
3310 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3311 out_header
= out_header
->pNext
;
3315 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
:
3317 const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*in
= (const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*)in_header
;
3318 VkPhysicalDeviceShaderImageFootprintFeaturesNV
*out
;
3320 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3322 out
->sType
= in
->sType
;
3324 out
->imageFootprint
= in
->imageFootprint
;
3326 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3327 out_header
= out_header
->pNext
;
3331 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
:
3333 const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*in
= (const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*)in_header
;
3334 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*out
;
3336 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3338 out
->sType
= in
->sType
;
3340 out
->dedicatedAllocationImageAliasing
= in
->dedicatedAllocationImageAliasing
;
3342 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3343 out_header
= out_header
->pNext
;
3347 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
:
3349 const VkPhysicalDeviceShadingRateImageFeaturesNV
*in
= (const VkPhysicalDeviceShadingRateImageFeaturesNV
*)in_header
;
3350 VkPhysicalDeviceShadingRateImageFeaturesNV
*out
;
3352 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3354 out
->sType
= in
->sType
;
3356 out
->shadingRateImage
= in
->shadingRateImage
;
3357 out
->shadingRateCoarseSampleOrder
= in
->shadingRateCoarseSampleOrder
;
3359 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3360 out_header
= out_header
->pNext
;
3364 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
:
3366 const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*in
= (const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*)in_header
;
3367 VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*out
;
3369 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3371 out
->sType
= in
->sType
;
3373 out
->invocationMask
= in
->invocationMask
;
3375 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3376 out_header
= out_header
->pNext
;
3380 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
:
3382 const VkPhysicalDeviceMeshShaderFeaturesNV
*in
= (const VkPhysicalDeviceMeshShaderFeaturesNV
*)in_header
;
3383 VkPhysicalDeviceMeshShaderFeaturesNV
*out
;
3385 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3387 out
->sType
= in
->sType
;
3389 out
->taskShader
= in
->taskShader
;
3390 out
->meshShader
= in
->meshShader
;
3392 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3393 out_header
= out_header
->pNext
;
3397 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
:
3399 const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*in
= (const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*)in_header
;
3400 VkPhysicalDeviceAccelerationStructureFeaturesKHR
*out
;
3402 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3404 out
->sType
= in
->sType
;
3406 out
->accelerationStructure
= in
->accelerationStructure
;
3407 out
->accelerationStructureCaptureReplay
= in
->accelerationStructureCaptureReplay
;
3408 out
->accelerationStructureIndirectBuild
= in
->accelerationStructureIndirectBuild
;
3409 out
->accelerationStructureHostCommands
= in
->accelerationStructureHostCommands
;
3410 out
->descriptorBindingAccelerationStructureUpdateAfterBind
= in
->descriptorBindingAccelerationStructureUpdateAfterBind
;
3412 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3413 out_header
= out_header
->pNext
;
3417 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
:
3419 const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*in
= (const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*)in_header
;
3420 VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*out
;
3422 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3424 out
->sType
= in
->sType
;
3426 out
->rayTracingPipeline
= in
->rayTracingPipeline
;
3427 out
->rayTracingPipelineShaderGroupHandleCaptureReplay
= in
->rayTracingPipelineShaderGroupHandleCaptureReplay
;
3428 out
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
= in
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
;
3429 out
->rayTracingPipelineTraceRaysIndirect
= in
->rayTracingPipelineTraceRaysIndirect
;
3430 out
->rayTraversalPrimitiveCulling
= in
->rayTraversalPrimitiveCulling
;
3432 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3433 out_header
= out_header
->pNext
;
3437 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
:
3439 const VkPhysicalDeviceRayQueryFeaturesKHR
*in
= (const VkPhysicalDeviceRayQueryFeaturesKHR
*)in_header
;
3440 VkPhysicalDeviceRayQueryFeaturesKHR
*out
;
3442 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3444 out
->sType
= in
->sType
;
3446 out
->rayQuery
= in
->rayQuery
;
3448 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3449 out_header
= out_header
->pNext
;
3453 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
:
3455 const VkDeviceMemoryOverallocationCreateInfoAMD
*in
= (const VkDeviceMemoryOverallocationCreateInfoAMD
*)in_header
;
3456 VkDeviceMemoryOverallocationCreateInfoAMD
*out
;
3458 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3460 out
->sType
= in
->sType
;
3462 out
->overallocationBehavior
= in
->overallocationBehavior
;
3464 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3465 out_header
= out_header
->pNext
;
3469 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
:
3471 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*in
= (const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*)in_header
;
3472 VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*out
;
3474 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3476 out
->sType
= in
->sType
;
3478 out
->fragmentDensityMap
= in
->fragmentDensityMap
;
3479 out
->fragmentDensityMapDynamic
= in
->fragmentDensityMapDynamic
;
3480 out
->fragmentDensityMapNonSubsampledImages
= in
->fragmentDensityMapNonSubsampledImages
;
3482 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3483 out_header
= out_header
->pNext
;
3487 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
:
3489 const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*in
= (const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*)in_header
;
3490 VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*out
;
3492 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3494 out
->sType
= in
->sType
;
3496 out
->fragmentDensityMapDeferred
= in
->fragmentDensityMapDeferred
;
3498 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3499 out_header
= out_header
->pNext
;
3503 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
:
3505 const VkPhysicalDeviceScalarBlockLayoutFeatures
*in
= (const VkPhysicalDeviceScalarBlockLayoutFeatures
*)in_header
;
3506 VkPhysicalDeviceScalarBlockLayoutFeatures
*out
;
3508 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3510 out
->sType
= in
->sType
;
3512 out
->scalarBlockLayout
= in
->scalarBlockLayout
;
3514 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3515 out_header
= out_header
->pNext
;
3519 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
:
3521 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*in
= (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*)in_header
;
3522 VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*out
;
3524 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3526 out
->sType
= in
->sType
;
3528 out
->uniformBufferStandardLayout
= in
->uniformBufferStandardLayout
;
3530 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3531 out_header
= out_header
->pNext
;
3535 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
:
3537 const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*in
= (const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*)in_header
;
3538 VkPhysicalDeviceDepthClipEnableFeaturesEXT
*out
;
3540 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3542 out
->sType
= in
->sType
;
3544 out
->depthClipEnable
= in
->depthClipEnable
;
3546 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3547 out_header
= out_header
->pNext
;
3551 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
:
3553 const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*in
= (const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*)in_header
;
3554 VkPhysicalDeviceMemoryPriorityFeaturesEXT
*out
;
3556 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3558 out
->sType
= in
->sType
;
3560 out
->memoryPriority
= in
->memoryPriority
;
3562 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3563 out_header
= out_header
->pNext
;
3567 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
:
3569 const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*in
= (const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*)in_header
;
3570 VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*out
;
3572 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3574 out
->sType
= in
->sType
;
3576 out
->pageableDeviceLocalMemory
= in
->pageableDeviceLocalMemory
;
3578 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3579 out_header
= out_header
->pNext
;
3583 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
:
3585 const VkPhysicalDeviceBufferDeviceAddressFeatures
*in
= (const VkPhysicalDeviceBufferDeviceAddressFeatures
*)in_header
;
3586 VkPhysicalDeviceBufferDeviceAddressFeatures
*out
;
3588 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3590 out
->sType
= in
->sType
;
3592 out
->bufferDeviceAddress
= in
->bufferDeviceAddress
;
3593 out
->bufferDeviceAddressCaptureReplay
= in
->bufferDeviceAddressCaptureReplay
;
3594 out
->bufferDeviceAddressMultiDevice
= in
->bufferDeviceAddressMultiDevice
;
3596 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3597 out_header
= out_header
->pNext
;
3601 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
:
3603 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*in
= (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*)in_header
;
3604 VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*out
;
3606 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3608 out
->sType
= in
->sType
;
3610 out
->bufferDeviceAddress
= in
->bufferDeviceAddress
;
3611 out
->bufferDeviceAddressCaptureReplay
= in
->bufferDeviceAddressCaptureReplay
;
3612 out
->bufferDeviceAddressMultiDevice
= in
->bufferDeviceAddressMultiDevice
;
3614 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3615 out_header
= out_header
->pNext
;
3619 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
:
3621 const VkPhysicalDeviceImagelessFramebufferFeatures
*in
= (const VkPhysicalDeviceImagelessFramebufferFeatures
*)in_header
;
3622 VkPhysicalDeviceImagelessFramebufferFeatures
*out
;
3624 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3626 out
->sType
= in
->sType
;
3628 out
->imagelessFramebuffer
= in
->imagelessFramebuffer
;
3630 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3631 out_header
= out_header
->pNext
;
3635 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT
:
3637 const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
*in
= (const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
*)in_header
;
3638 VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
*out
;
3640 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3642 out
->sType
= in
->sType
;
3644 out
->textureCompressionASTC_HDR
= in
->textureCompressionASTC_HDR
;
3646 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3647 out_header
= out_header
->pNext
;
3651 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
:
3653 const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*in
= (const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*)in_header
;
3654 VkPhysicalDeviceCooperativeMatrixFeaturesNV
*out
;
3656 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3658 out
->sType
= in
->sType
;
3660 out
->cooperativeMatrix
= in
->cooperativeMatrix
;
3661 out
->cooperativeMatrixRobustBufferAccess
= in
->cooperativeMatrixRobustBufferAccess
;
3663 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3664 out_header
= out_header
->pNext
;
3668 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
:
3670 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*in
= (const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*)in_header
;
3671 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*out
;
3673 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3675 out
->sType
= in
->sType
;
3677 out
->ycbcrImageArrays
= in
->ycbcrImageArrays
;
3679 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3680 out_header
= out_header
->pNext
;
3684 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
:
3686 const VkPhysicalDevicePerformanceQueryFeaturesKHR
*in
= (const VkPhysicalDevicePerformanceQueryFeaturesKHR
*)in_header
;
3687 VkPhysicalDevicePerformanceQueryFeaturesKHR
*out
;
3689 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3691 out
->sType
= in
->sType
;
3693 out
->performanceCounterQueryPools
= in
->performanceCounterQueryPools
;
3694 out
->performanceCounterMultipleQueryPools
= in
->performanceCounterMultipleQueryPools
;
3696 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3697 out_header
= out_header
->pNext
;
3701 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
:
3703 const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*in
= (const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*)in_header
;
3704 VkPhysicalDeviceCoverageReductionModeFeaturesNV
*out
;
3706 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3708 out
->sType
= in
->sType
;
3710 out
->coverageReductionMode
= in
->coverageReductionMode
;
3712 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3713 out_header
= out_header
->pNext
;
3717 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
:
3719 const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*in
= (const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*)in_header
;
3720 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*out
;
3722 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3724 out
->sType
= in
->sType
;
3726 out
->shaderIntegerFunctions2
= in
->shaderIntegerFunctions2
;
3728 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3729 out_header
= out_header
->pNext
;
3733 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
:
3735 const VkPhysicalDeviceShaderClockFeaturesKHR
*in
= (const VkPhysicalDeviceShaderClockFeaturesKHR
*)in_header
;
3736 VkPhysicalDeviceShaderClockFeaturesKHR
*out
;
3738 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3740 out
->sType
= in
->sType
;
3742 out
->shaderSubgroupClock
= in
->shaderSubgroupClock
;
3743 out
->shaderDeviceClock
= in
->shaderDeviceClock
;
3745 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3746 out_header
= out_header
->pNext
;
3750 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
:
3752 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*in
= (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*)in_header
;
3753 VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*out
;
3755 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3757 out
->sType
= in
->sType
;
3759 out
->indexTypeUint8
= in
->indexTypeUint8
;
3761 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3762 out_header
= out_header
->pNext
;
3766 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
:
3768 const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*in
= (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*)in_header
;
3769 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*out
;
3771 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3773 out
->sType
= in
->sType
;
3775 out
->shaderSMBuiltins
= in
->shaderSMBuiltins
;
3777 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3778 out_header
= out_header
->pNext
;
3782 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
:
3784 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*in
= (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*)in_header
;
3785 VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*out
;
3787 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3789 out
->sType
= in
->sType
;
3791 out
->fragmentShaderSampleInterlock
= in
->fragmentShaderSampleInterlock
;
3792 out
->fragmentShaderPixelInterlock
= in
->fragmentShaderPixelInterlock
;
3793 out
->fragmentShaderShadingRateInterlock
= in
->fragmentShaderShadingRateInterlock
;
3795 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3796 out_header
= out_header
->pNext
;
3800 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
:
3802 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*in
= (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*)in_header
;
3803 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*out
;
3805 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3807 out
->sType
= in
->sType
;
3809 out
->separateDepthStencilLayouts
= in
->separateDepthStencilLayouts
;
3811 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3812 out_header
= out_header
->pNext
;
3816 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
:
3818 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*in
= (const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*)in_header
;
3819 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*out
;
3821 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3823 out
->sType
= in
->sType
;
3825 out
->primitiveTopologyListRestart
= in
->primitiveTopologyListRestart
;
3826 out
->primitiveTopologyPatchListRestart
= in
->primitiveTopologyPatchListRestart
;
3828 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3829 out_header
= out_header
->pNext
;
3833 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
:
3835 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*in
= (const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*)in_header
;
3836 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*out
;
3838 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3840 out
->sType
= in
->sType
;
3842 out
->pipelineExecutableInfo
= in
->pipelineExecutableInfo
;
3844 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3845 out_header
= out_header
->pNext
;
3849 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT
:
3851 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
*in
= (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
*)in_header
;
3852 VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
*out
;
3854 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3856 out
->sType
= in
->sType
;
3858 out
->shaderDemoteToHelperInvocation
= in
->shaderDemoteToHelperInvocation
;
3860 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3861 out_header
= out_header
->pNext
;
3865 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
:
3867 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*in
= (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*)in_header
;
3868 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*out
;
3870 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3872 out
->sType
= in
->sType
;
3874 out
->texelBufferAlignment
= in
->texelBufferAlignment
;
3876 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3877 out_header
= out_header
->pNext
;
3881 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT
:
3883 const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
*in
= (const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
*)in_header
;
3884 VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
*out
;
3886 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3888 out
->sType
= in
->sType
;
3890 out
->subgroupSizeControl
= in
->subgroupSizeControl
;
3891 out
->computeFullSubgroups
= in
->computeFullSubgroups
;
3893 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3894 out_header
= out_header
->pNext
;
3898 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
:
3900 const VkPhysicalDeviceLineRasterizationFeaturesEXT
*in
= (const VkPhysicalDeviceLineRasterizationFeaturesEXT
*)in_header
;
3901 VkPhysicalDeviceLineRasterizationFeaturesEXT
*out
;
3903 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3905 out
->sType
= in
->sType
;
3907 out
->rectangularLines
= in
->rectangularLines
;
3908 out
->bresenhamLines
= in
->bresenhamLines
;
3909 out
->smoothLines
= in
->smoothLines
;
3910 out
->stippledRectangularLines
= in
->stippledRectangularLines
;
3911 out
->stippledBresenhamLines
= in
->stippledBresenhamLines
;
3912 out
->stippledSmoothLines
= in
->stippledSmoothLines
;
3914 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3915 out_header
= out_header
->pNext
;
3919 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT
:
3921 const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
*in
= (const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
*)in_header
;
3922 VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
*out
;
3924 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3926 out
->sType
= in
->sType
;
3928 out
->pipelineCreationCacheControl
= in
->pipelineCreationCacheControl
;
3930 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3931 out_header
= out_header
->pNext
;
3935 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
:
3937 const VkPhysicalDeviceVulkan11Features
*in
= (const VkPhysicalDeviceVulkan11Features
*)in_header
;
3938 VkPhysicalDeviceVulkan11Features
*out
;
3940 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3942 out
->sType
= in
->sType
;
3944 out
->storageBuffer16BitAccess
= in
->storageBuffer16BitAccess
;
3945 out
->uniformAndStorageBuffer16BitAccess
= in
->uniformAndStorageBuffer16BitAccess
;
3946 out
->storagePushConstant16
= in
->storagePushConstant16
;
3947 out
->storageInputOutput16
= in
->storageInputOutput16
;
3948 out
->multiview
= in
->multiview
;
3949 out
->multiviewGeometryShader
= in
->multiviewGeometryShader
;
3950 out
->multiviewTessellationShader
= in
->multiviewTessellationShader
;
3951 out
->variablePointersStorageBuffer
= in
->variablePointersStorageBuffer
;
3952 out
->variablePointers
= in
->variablePointers
;
3953 out
->protectedMemory
= in
->protectedMemory
;
3954 out
->samplerYcbcrConversion
= in
->samplerYcbcrConversion
;
3955 out
->shaderDrawParameters
= in
->shaderDrawParameters
;
3957 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3958 out_header
= out_header
->pNext
;
3962 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
:
3964 const VkPhysicalDeviceVulkan12Features
*in
= (const VkPhysicalDeviceVulkan12Features
*)in_header
;
3965 VkPhysicalDeviceVulkan12Features
*out
;
3967 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
3969 out
->sType
= in
->sType
;
3971 out
->samplerMirrorClampToEdge
= in
->samplerMirrorClampToEdge
;
3972 out
->drawIndirectCount
= in
->drawIndirectCount
;
3973 out
->storageBuffer8BitAccess
= in
->storageBuffer8BitAccess
;
3974 out
->uniformAndStorageBuffer8BitAccess
= in
->uniformAndStorageBuffer8BitAccess
;
3975 out
->storagePushConstant8
= in
->storagePushConstant8
;
3976 out
->shaderBufferInt64Atomics
= in
->shaderBufferInt64Atomics
;
3977 out
->shaderSharedInt64Atomics
= in
->shaderSharedInt64Atomics
;
3978 out
->shaderFloat16
= in
->shaderFloat16
;
3979 out
->shaderInt8
= in
->shaderInt8
;
3980 out
->descriptorIndexing
= in
->descriptorIndexing
;
3981 out
->shaderInputAttachmentArrayDynamicIndexing
= in
->shaderInputAttachmentArrayDynamicIndexing
;
3982 out
->shaderUniformTexelBufferArrayDynamicIndexing
= in
->shaderUniformTexelBufferArrayDynamicIndexing
;
3983 out
->shaderStorageTexelBufferArrayDynamicIndexing
= in
->shaderStorageTexelBufferArrayDynamicIndexing
;
3984 out
->shaderUniformBufferArrayNonUniformIndexing
= in
->shaderUniformBufferArrayNonUniformIndexing
;
3985 out
->shaderSampledImageArrayNonUniformIndexing
= in
->shaderSampledImageArrayNonUniformIndexing
;
3986 out
->shaderStorageBufferArrayNonUniformIndexing
= in
->shaderStorageBufferArrayNonUniformIndexing
;
3987 out
->shaderStorageImageArrayNonUniformIndexing
= in
->shaderStorageImageArrayNonUniformIndexing
;
3988 out
->shaderInputAttachmentArrayNonUniformIndexing
= in
->shaderInputAttachmentArrayNonUniformIndexing
;
3989 out
->shaderUniformTexelBufferArrayNonUniformIndexing
= in
->shaderUniformTexelBufferArrayNonUniformIndexing
;
3990 out
->shaderStorageTexelBufferArrayNonUniformIndexing
= in
->shaderStorageTexelBufferArrayNonUniformIndexing
;
3991 out
->descriptorBindingUniformBufferUpdateAfterBind
= in
->descriptorBindingUniformBufferUpdateAfterBind
;
3992 out
->descriptorBindingSampledImageUpdateAfterBind
= in
->descriptorBindingSampledImageUpdateAfterBind
;
3993 out
->descriptorBindingStorageImageUpdateAfterBind
= in
->descriptorBindingStorageImageUpdateAfterBind
;
3994 out
->descriptorBindingStorageBufferUpdateAfterBind
= in
->descriptorBindingStorageBufferUpdateAfterBind
;
3995 out
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
3996 out
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
3997 out
->descriptorBindingUpdateUnusedWhilePending
= in
->descriptorBindingUpdateUnusedWhilePending
;
3998 out
->descriptorBindingPartiallyBound
= in
->descriptorBindingPartiallyBound
;
3999 out
->descriptorBindingVariableDescriptorCount
= in
->descriptorBindingVariableDescriptorCount
;
4000 out
->runtimeDescriptorArray
= in
->runtimeDescriptorArray
;
4001 out
->samplerFilterMinmax
= in
->samplerFilterMinmax
;
4002 out
->scalarBlockLayout
= in
->scalarBlockLayout
;
4003 out
->imagelessFramebuffer
= in
->imagelessFramebuffer
;
4004 out
->uniformBufferStandardLayout
= in
->uniformBufferStandardLayout
;
4005 out
->shaderSubgroupExtendedTypes
= in
->shaderSubgroupExtendedTypes
;
4006 out
->separateDepthStencilLayouts
= in
->separateDepthStencilLayouts
;
4007 out
->hostQueryReset
= in
->hostQueryReset
;
4008 out
->timelineSemaphore
= in
->timelineSemaphore
;
4009 out
->bufferDeviceAddress
= in
->bufferDeviceAddress
;
4010 out
->bufferDeviceAddressCaptureReplay
= in
->bufferDeviceAddressCaptureReplay
;
4011 out
->bufferDeviceAddressMultiDevice
= in
->bufferDeviceAddressMultiDevice
;
4012 out
->vulkanMemoryModel
= in
->vulkanMemoryModel
;
4013 out
->vulkanMemoryModelDeviceScope
= in
->vulkanMemoryModelDeviceScope
;
4014 out
->vulkanMemoryModelAvailabilityVisibilityChains
= in
->vulkanMemoryModelAvailabilityVisibilityChains
;
4015 out
->shaderOutputViewportIndex
= in
->shaderOutputViewportIndex
;
4016 out
->shaderOutputLayer
= in
->shaderOutputLayer
;
4017 out
->subgroupBroadcastDynamicId
= in
->subgroupBroadcastDynamicId
;
4019 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4020 out_header
= out_header
->pNext
;
4024 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
:
4026 const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*in
= (const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*)in_header
;
4027 VkPhysicalDeviceCoherentMemoryFeaturesAMD
*out
;
4029 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4031 out
->sType
= in
->sType
;
4033 out
->deviceCoherentMemory
= in
->deviceCoherentMemory
;
4035 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4036 out_header
= out_header
->pNext
;
4040 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
:
4042 const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*in
= (const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*)in_header
;
4043 VkPhysicalDeviceCustomBorderColorFeaturesEXT
*out
;
4045 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4047 out
->sType
= in
->sType
;
4049 out
->customBorderColors
= in
->customBorderColors
;
4050 out
->customBorderColorWithoutFormat
= in
->customBorderColorWithoutFormat
;
4052 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4053 out_header
= out_header
->pNext
;
4057 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
:
4059 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*in
= (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*)in_header
;
4060 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*out
;
4062 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4064 out
->sType
= in
->sType
;
4066 out
->extendedDynamicState
= in
->extendedDynamicState
;
4068 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4069 out_header
= out_header
->pNext
;
4073 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
:
4075 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*in
= (const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*)in_header
;
4076 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*out
;
4078 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4080 out
->sType
= in
->sType
;
4082 out
->extendedDynamicState2
= in
->extendedDynamicState2
;
4083 out
->extendedDynamicState2LogicOp
= in
->extendedDynamicState2LogicOp
;
4084 out
->extendedDynamicState2PatchControlPoints
= in
->extendedDynamicState2PatchControlPoints
;
4086 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4087 out_header
= out_header
->pNext
;
4091 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
:
4093 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*in
= (const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*)in_header
;
4094 VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*out
;
4096 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4098 out
->sType
= in
->sType
;
4100 out
->diagnosticsConfig
= in
->diagnosticsConfig
;
4102 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4103 out_header
= out_header
->pNext
;
4107 case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
:
4109 const VkDeviceDiagnosticsConfigCreateInfoNV
*in
= (const VkDeviceDiagnosticsConfigCreateInfoNV
*)in_header
;
4110 VkDeviceDiagnosticsConfigCreateInfoNV
*out
;
4112 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4114 out
->sType
= in
->sType
;
4116 out
->flags
= in
->flags
;
4118 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4119 out_header
= out_header
->pNext
;
4123 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR
:
4125 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
*in
= (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
*)in_header
;
4126 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
*out
;
4128 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4130 out
->sType
= in
->sType
;
4132 out
->shaderZeroInitializeWorkgroupMemory
= in
->shaderZeroInitializeWorkgroupMemory
;
4134 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4135 out_header
= out_header
->pNext
;
4139 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
:
4141 const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*in
= (const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*)in_header
;
4142 VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*out
;
4144 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4146 out
->sType
= in
->sType
;
4148 out
->shaderSubgroupUniformControlFlow
= in
->shaderSubgroupUniformControlFlow
;
4150 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4151 out_header
= out_header
->pNext
;
4155 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
:
4157 const VkPhysicalDeviceRobustness2FeaturesEXT
*in
= (const VkPhysicalDeviceRobustness2FeaturesEXT
*)in_header
;
4158 VkPhysicalDeviceRobustness2FeaturesEXT
*out
;
4160 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4162 out
->sType
= in
->sType
;
4164 out
->robustBufferAccess2
= in
->robustBufferAccess2
;
4165 out
->robustImageAccess2
= in
->robustImageAccess2
;
4166 out
->nullDescriptor
= in
->nullDescriptor
;
4168 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4169 out_header
= out_header
->pNext
;
4173 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT
:
4175 const VkPhysicalDeviceImageRobustnessFeaturesEXT
*in
= (const VkPhysicalDeviceImageRobustnessFeaturesEXT
*)in_header
;
4176 VkPhysicalDeviceImageRobustnessFeaturesEXT
*out
;
4178 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4180 out
->sType
= in
->sType
;
4182 out
->robustImageAccess
= in
->robustImageAccess
;
4184 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4185 out_header
= out_header
->pNext
;
4189 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
:
4191 const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*in
= (const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*)in_header
;
4192 VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*out
;
4194 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4196 out
->sType
= in
->sType
;
4198 out
->workgroupMemoryExplicitLayout
= in
->workgroupMemoryExplicitLayout
;
4199 out
->workgroupMemoryExplicitLayoutScalarBlockLayout
= in
->workgroupMemoryExplicitLayoutScalarBlockLayout
;
4200 out
->workgroupMemoryExplicitLayout8BitAccess
= in
->workgroupMemoryExplicitLayout8BitAccess
;
4201 out
->workgroupMemoryExplicitLayout16BitAccess
= in
->workgroupMemoryExplicitLayout16BitAccess
;
4203 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4204 out_header
= out_header
->pNext
;
4208 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
:
4210 const VkPhysicalDevice4444FormatsFeaturesEXT
*in
= (const VkPhysicalDevice4444FormatsFeaturesEXT
*)in_header
;
4211 VkPhysicalDevice4444FormatsFeaturesEXT
*out
;
4213 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4215 out
->sType
= in
->sType
;
4217 out
->formatA4R4G4B4
= in
->formatA4R4G4B4
;
4218 out
->formatA4B4G4R4
= in
->formatA4B4G4R4
;
4220 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4221 out_header
= out_header
->pNext
;
4225 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
:
4227 const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*in
= (const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*)in_header
;
4228 VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*out
;
4230 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4232 out
->sType
= in
->sType
;
4234 out
->subpassShading
= in
->subpassShading
;
4236 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4237 out_header
= out_header
->pNext
;
4241 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
:
4243 const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*in
= (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*)in_header
;
4244 VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*out
;
4246 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4248 out
->sType
= in
->sType
;
4250 out
->shaderImageInt64Atomics
= in
->shaderImageInt64Atomics
;
4251 out
->sparseImageInt64Atomics
= in
->sparseImageInt64Atomics
;
4253 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4254 out_header
= out_header
->pNext
;
4258 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
:
4260 const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*in
= (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*)in_header
;
4261 VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*out
;
4263 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4265 out
->sType
= in
->sType
;
4267 out
->pipelineFragmentShadingRate
= in
->pipelineFragmentShadingRate
;
4268 out
->primitiveFragmentShadingRate
= in
->primitiveFragmentShadingRate
;
4269 out
->attachmentFragmentShadingRate
= in
->attachmentFragmentShadingRate
;
4271 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4272 out_header
= out_header
->pNext
;
4276 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR
:
4278 const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
*in
= (const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
*)in_header
;
4279 VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
*out
;
4281 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4283 out
->sType
= in
->sType
;
4285 out
->shaderTerminateInvocation
= in
->shaderTerminateInvocation
;
4287 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4288 out_header
= out_header
->pNext
;
4292 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
:
4294 const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*in
= (const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*)in_header
;
4295 VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*out
;
4297 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4299 out
->sType
= in
->sType
;
4301 out
->fragmentShadingRateEnums
= in
->fragmentShadingRateEnums
;
4302 out
->supersampleFragmentShadingRates
= in
->supersampleFragmentShadingRates
;
4303 out
->noInvocationFragmentShadingRates
= in
->noInvocationFragmentShadingRates
;
4305 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4306 out_header
= out_header
->pNext
;
4310 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE
:
4312 const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE
*in
= (const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE
*)in_header
;
4313 VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE
*out
;
4315 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4317 out
->sType
= in
->sType
;
4319 out
->mutableDescriptorType
= in
->mutableDescriptorType
;
4321 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4322 out_header
= out_header
->pNext
;
4326 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
:
4328 const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*in
= (const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*)in_header
;
4329 VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*out
;
4331 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4333 out
->sType
= in
->sType
;
4335 out
->vertexInputDynamicState
= in
->vertexInputDynamicState
;
4337 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4338 out_header
= out_header
->pNext
;
4342 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
:
4344 const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*in
= (const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*)in_header
;
4345 VkPhysicalDeviceColorWriteEnableFeaturesEXT
*out
;
4347 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4349 out
->sType
= in
->sType
;
4351 out
->colorWriteEnable
= in
->colorWriteEnable
;
4353 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4354 out_header
= out_header
->pNext
;
4358 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR
:
4360 const VkPhysicalDeviceSynchronization2FeaturesKHR
*in
= (const VkPhysicalDeviceSynchronization2FeaturesKHR
*)in_header
;
4361 VkPhysicalDeviceSynchronization2FeaturesKHR
*out
;
4363 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4365 out
->sType
= in
->sType
;
4367 out
->synchronization2
= in
->synchronization2
;
4369 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4370 out_header
= out_header
->pNext
;
4374 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
:
4376 const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*in
= (const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*)in_header
;
4377 VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*out
;
4379 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4381 out
->sType
= in
->sType
;
4383 out
->inheritedViewportScissor2D
= in
->inheritedViewportScissor2D
;
4385 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4386 out_header
= out_header
->pNext
;
4390 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
:
4392 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*in
= (const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*)in_header
;
4393 VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*out
;
4395 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4397 out
->sType
= in
->sType
;
4399 out
->ycbcr2plane444Formats
= in
->ycbcr2plane444Formats
;
4401 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4402 out_header
= out_header
->pNext
;
4406 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
:
4408 const VkPhysicalDeviceProvokingVertexFeaturesEXT
*in
= (const VkPhysicalDeviceProvokingVertexFeaturesEXT
*)in_header
;
4409 VkPhysicalDeviceProvokingVertexFeaturesEXT
*out
;
4411 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4413 out
->sType
= in
->sType
;
4415 out
->provokingVertexLast
= in
->provokingVertexLast
;
4416 out
->transformFeedbackPreservesProvokingVertex
= in
->transformFeedbackPreservesProvokingVertex
;
4418 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4419 out_header
= out_header
->pNext
;
4423 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR
:
4425 const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR
*in
= (const VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR
*)in_header
;
4426 VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR
*out
;
4428 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4430 out
->sType
= in
->sType
;
4432 out
->shaderIntegerDotProduct
= in
->shaderIntegerDotProduct
;
4434 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4435 out_header
= out_header
->pNext
;
4439 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
:
4441 const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*in
= (const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*)in_header
;
4442 VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*out
;
4444 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4446 out
->sType
= in
->sType
;
4448 out
->rayTracingMotionBlur
= in
->rayTracingMotionBlur
;
4449 out
->rayTracingMotionBlurPipelineTraceRaysIndirect
= in
->rayTracingMotionBlurPipelineTraceRaysIndirect
;
4451 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4452 out_header
= out_header
->pNext
;
4457 FIXME("Application requested a linked structure of type %u.\n", in_header
->sType
);
4464 free_VkDeviceCreateInfo_struct_chain(out_struct
);
4465 return VK_ERROR_OUT_OF_HOST_MEMORY
;
4468 void free_VkDeviceCreateInfo_struct_chain(VkDeviceCreateInfo
*s
)
4470 VkBaseOutStructure
*header
= (void *)s
->pNext
;
4474 void *prev
= header
;
4476 switch (header
->sType
)
4478 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
:
4480 VkDeviceGroupDeviceCreateInfo
*structure
= (VkDeviceGroupDeviceCreateInfo
*) header
;
4481 free_VkPhysicalDevice_array((VkPhysicalDevice
*)structure
->pPhysicalDevices
, structure
->physicalDeviceCount
);
4487 header
= header
->pNext
;
4494 VkResult
convert_VkInstanceCreateInfo_struct_chain(const void *pNext
, VkInstanceCreateInfo
*out_struct
)
4496 VkBaseOutStructure
*out_header
= (VkBaseOutStructure
*)out_struct
;
4497 const VkBaseInStructure
*in_header
;
4499 out_header
->pNext
= NULL
;
4501 for (in_header
= pNext
; in_header
; in_header
= in_header
->pNext
)
4503 switch (in_header
->sType
)
4505 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
:
4508 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
:
4510 const VkDebugReportCallbackCreateInfoEXT
*in
= (const VkDebugReportCallbackCreateInfoEXT
*)in_header
;
4511 VkDebugReportCallbackCreateInfoEXT
*out
;
4513 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4515 out
->sType
= in
->sType
;
4517 out
->flags
= in
->flags
;
4518 out
->pfnCallback
= in
->pfnCallback
;
4519 out
->pUserData
= in
->pUserData
;
4521 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4522 out_header
= out_header
->pNext
;
4526 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
:
4528 const VkValidationFlagsEXT
*in
= (const VkValidationFlagsEXT
*)in_header
;
4529 VkValidationFlagsEXT
*out
;
4531 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4533 out
->sType
= in
->sType
;
4535 out
->disabledValidationCheckCount
= in
->disabledValidationCheckCount
;
4536 out
->pDisabledValidationChecks
= in
->pDisabledValidationChecks
;
4538 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4539 out_header
= out_header
->pNext
;
4543 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
:
4545 const VkValidationFeaturesEXT
*in
= (const VkValidationFeaturesEXT
*)in_header
;
4546 VkValidationFeaturesEXT
*out
;
4548 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4550 out
->sType
= in
->sType
;
4552 out
->enabledValidationFeatureCount
= in
->enabledValidationFeatureCount
;
4553 out
->pEnabledValidationFeatures
= in
->pEnabledValidationFeatures
;
4554 out
->disabledValidationFeatureCount
= in
->disabledValidationFeatureCount
;
4555 out
->pDisabledValidationFeatures
= in
->pDisabledValidationFeatures
;
4557 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4558 out_header
= out_header
->pNext
;
4562 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
:
4564 const VkDebugUtilsMessengerCreateInfoEXT
*in
= (const VkDebugUtilsMessengerCreateInfoEXT
*)in_header
;
4565 VkDebugUtilsMessengerCreateInfoEXT
*out
;
4567 if (!(out
= malloc(sizeof(*out
)))) goto out_of_memory
;
4569 out
->sType
= in
->sType
;
4571 out
->flags
= in
->flags
;
4572 out
->messageSeverity
= in
->messageSeverity
;
4573 out
->messageType
= in
->messageType
;
4574 out
->pfnUserCallback
= in
->pfnUserCallback
;
4575 out
->pUserData
= in
->pUserData
;
4577 out_header
->pNext
= (VkBaseOutStructure
*)out
;
4578 out_header
= out_header
->pNext
;
4583 FIXME("Application requested a linked structure of type %u.\n", in_header
->sType
);
4590 free_VkInstanceCreateInfo_struct_chain(out_struct
);
4591 return VK_ERROR_OUT_OF_HOST_MEMORY
;
4594 void free_VkInstanceCreateInfo_struct_chain(VkInstanceCreateInfo
*s
)
4596 VkBaseOutStructure
*header
= (void *)s
->pNext
;
4600 void *prev
= header
;
4602 switch (header
->sType
)
4607 header
= header
->pNext
;
4614 static VkResult WINAPI
wine_vkAcquireNextImage2KHR(VkDevice device
, const VkAcquireNextImageInfoKHR
*pAcquireInfo
, uint32_t *pImageIndex
)
4616 #if defined(USE_STRUCT_CONVERSION)
4618 VkAcquireNextImageInfoKHR_host pAcquireInfo_host
;
4619 TRACE("%p, %p, %p\n", device
, pAcquireInfo
, pImageIndex
);
4621 convert_VkAcquireNextImageInfoKHR_win_to_host(pAcquireInfo
, &pAcquireInfo_host
);
4622 result
= device
->funcs
.p_vkAcquireNextImage2KHR(device
->device
, &pAcquireInfo_host
, pImageIndex
);
4626 TRACE("%p, %p, %p\n", device
, pAcquireInfo
, pImageIndex
);
4627 return device
->funcs
.p_vkAcquireNextImage2KHR(device
->device
, pAcquireInfo
, pImageIndex
);
4631 static VkResult WINAPI
wine_vkAcquireNextImageKHR(VkDevice device
, VkSwapchainKHR swapchain
, uint64_t timeout
, VkSemaphore semaphore
, VkFence fence
, uint32_t *pImageIndex
)
4633 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
);
4634 return device
->funcs
.p_vkAcquireNextImageKHR(device
->device
, swapchain
, timeout
, semaphore
, fence
, pImageIndex
);
4637 static VkResult WINAPI
wine_vkAcquirePerformanceConfigurationINTEL(VkDevice device
, const VkPerformanceConfigurationAcquireInfoINTEL
*pAcquireInfo
, VkPerformanceConfigurationINTEL
*pConfiguration
)
4639 TRACE("%p, %p, %p\n", device
, pAcquireInfo
, pConfiguration
);
4640 return device
->funcs
.p_vkAcquirePerformanceConfigurationINTEL(device
->device
, pAcquireInfo
, pConfiguration
);
4643 static VkResult WINAPI
wine_vkAcquireProfilingLockKHR(VkDevice device
, const VkAcquireProfilingLockInfoKHR
*pInfo
)
4645 #if defined(USE_STRUCT_CONVERSION)
4647 VkAcquireProfilingLockInfoKHR_host pInfo_host
;
4648 TRACE("%p, %p\n", device
, pInfo
);
4650 convert_VkAcquireProfilingLockInfoKHR_win_to_host(pInfo
, &pInfo_host
);
4651 result
= device
->funcs
.p_vkAcquireProfilingLockKHR(device
->device
, &pInfo_host
);
4655 TRACE("%p, %p\n", device
, pInfo
);
4656 return device
->funcs
.p_vkAcquireProfilingLockKHR(device
->device
, pInfo
);
4660 static VkResult WINAPI
wine_vkAllocateDescriptorSets(VkDevice device
, const VkDescriptorSetAllocateInfo
*pAllocateInfo
, VkDescriptorSet
*pDescriptorSets
)
4662 #if defined(USE_STRUCT_CONVERSION)
4664 VkDescriptorSetAllocateInfo_host pAllocateInfo_host
;
4665 TRACE("%p, %p, %p\n", device
, pAllocateInfo
, pDescriptorSets
);
4667 convert_VkDescriptorSetAllocateInfo_win_to_host(pAllocateInfo
, &pAllocateInfo_host
);
4668 result
= device
->funcs
.p_vkAllocateDescriptorSets(device
->device
, &pAllocateInfo_host
, pDescriptorSets
);
4672 TRACE("%p, %p, %p\n", device
, pAllocateInfo
, pDescriptorSets
);
4673 return device
->funcs
.p_vkAllocateDescriptorSets(device
->device
, pAllocateInfo
, pDescriptorSets
);
4677 static VkResult WINAPI
wine_vkAllocateMemory(VkDevice device
, const VkMemoryAllocateInfo
*pAllocateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDeviceMemory
*pMemory
)
4679 #if defined(USE_STRUCT_CONVERSION)
4681 VkMemoryAllocateInfo_host pAllocateInfo_host
;
4682 TRACE("%p, %p, %p, %p\n", device
, pAllocateInfo
, pAllocator
, pMemory
);
4684 convert_VkMemoryAllocateInfo_win_to_host(pAllocateInfo
, &pAllocateInfo_host
);
4685 result
= device
->funcs
.p_vkAllocateMemory(device
->device
, &pAllocateInfo_host
, NULL
, pMemory
);
4689 TRACE("%p, %p, %p, %p\n", device
, pAllocateInfo
, pAllocator
, pMemory
);
4690 return device
->funcs
.p_vkAllocateMemory(device
->device
, pAllocateInfo
, NULL
, pMemory
);
4694 static VkResult WINAPI
wine_vkBeginCommandBuffer(VkCommandBuffer commandBuffer
, const VkCommandBufferBeginInfo
*pBeginInfo
)
4696 #if defined(USE_STRUCT_CONVERSION)
4698 VkCommandBufferBeginInfo_host pBeginInfo_host
;
4699 TRACE("%p, %p\n", commandBuffer
, pBeginInfo
);
4701 convert_VkCommandBufferBeginInfo_win_to_host(pBeginInfo
, &pBeginInfo_host
);
4702 result
= commandBuffer
->device
->funcs
.p_vkBeginCommandBuffer(commandBuffer
->command_buffer
, &pBeginInfo_host
);
4704 free_VkCommandBufferBeginInfo(&pBeginInfo_host
);
4707 TRACE("%p, %p\n", commandBuffer
, pBeginInfo
);
4708 return commandBuffer
->device
->funcs
.p_vkBeginCommandBuffer(commandBuffer
->command_buffer
, pBeginInfo
);
4712 static VkResult WINAPI
wine_vkBindAccelerationStructureMemoryNV(VkDevice device
, uint32_t bindInfoCount
, const VkBindAccelerationStructureMemoryInfoNV
*pBindInfos
)
4714 #if defined(USE_STRUCT_CONVERSION)
4716 VkBindAccelerationStructureMemoryInfoNV_host
*pBindInfos_host
;
4717 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4719 pBindInfos_host
= convert_VkBindAccelerationStructureMemoryInfoNV_array_win_to_host(pBindInfos
, bindInfoCount
);
4720 result
= device
->funcs
.p_vkBindAccelerationStructureMemoryNV(device
->device
, bindInfoCount
, pBindInfos_host
);
4722 free_VkBindAccelerationStructureMemoryInfoNV_array(pBindInfos_host
, bindInfoCount
);
4725 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4726 return device
->funcs
.p_vkBindAccelerationStructureMemoryNV(device
->device
, bindInfoCount
, pBindInfos
);
4730 static VkResult WINAPI
wine_vkBindBufferMemory(VkDevice device
, VkBuffer buffer
, VkDeviceMemory memory
, VkDeviceSize memoryOffset
)
4732 TRACE("%p, 0x%s, 0x%s, 0x%s\n", device
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(memory
), wine_dbgstr_longlong(memoryOffset
));
4733 return device
->funcs
.p_vkBindBufferMemory(device
->device
, buffer
, memory
, memoryOffset
);
4736 static VkResult WINAPI
wine_vkBindBufferMemory2(VkDevice device
, uint32_t bindInfoCount
, const VkBindBufferMemoryInfo
*pBindInfos
)
4738 #if defined(USE_STRUCT_CONVERSION)
4740 VkBindBufferMemoryInfo_host
*pBindInfos_host
;
4741 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4743 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
4744 result
= device
->funcs
.p_vkBindBufferMemory2(device
->device
, bindInfoCount
, pBindInfos_host
);
4746 free_VkBindBufferMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
4749 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4750 return device
->funcs
.p_vkBindBufferMemory2(device
->device
, bindInfoCount
, pBindInfos
);
4754 static VkResult WINAPI
wine_vkBindBufferMemory2KHR(VkDevice device
, uint32_t bindInfoCount
, const VkBindBufferMemoryInfo
*pBindInfos
)
4756 #if defined(USE_STRUCT_CONVERSION)
4758 VkBindBufferMemoryInfo_host
*pBindInfos_host
;
4759 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4761 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
4762 result
= device
->funcs
.p_vkBindBufferMemory2KHR(device
->device
, bindInfoCount
, pBindInfos_host
);
4764 free_VkBindBufferMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
4767 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4768 return device
->funcs
.p_vkBindBufferMemory2KHR(device
->device
, bindInfoCount
, pBindInfos
);
4772 static VkResult WINAPI
wine_vkBindImageMemory(VkDevice device
, VkImage image
, VkDeviceMemory memory
, VkDeviceSize memoryOffset
)
4774 TRACE("%p, 0x%s, 0x%s, 0x%s\n", device
, wine_dbgstr_longlong(image
), wine_dbgstr_longlong(memory
), wine_dbgstr_longlong(memoryOffset
));
4775 return device
->funcs
.p_vkBindImageMemory(device
->device
, image
, memory
, memoryOffset
);
4778 static VkResult WINAPI
wine_vkBindImageMemory2(VkDevice device
, uint32_t bindInfoCount
, const VkBindImageMemoryInfo
*pBindInfos
)
4780 #if defined(USE_STRUCT_CONVERSION)
4782 VkBindImageMemoryInfo_host
*pBindInfos_host
;
4783 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4785 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
4786 result
= device
->funcs
.p_vkBindImageMemory2(device
->device
, bindInfoCount
, pBindInfos_host
);
4788 free_VkBindImageMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
4791 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4792 return device
->funcs
.p_vkBindImageMemory2(device
->device
, bindInfoCount
, pBindInfos
);
4796 static VkResult WINAPI
wine_vkBindImageMemory2KHR(VkDevice device
, uint32_t bindInfoCount
, const VkBindImageMemoryInfo
*pBindInfos
)
4798 #if defined(USE_STRUCT_CONVERSION)
4800 VkBindImageMemoryInfo_host
*pBindInfos_host
;
4801 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4803 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
4804 result
= device
->funcs
.p_vkBindImageMemory2KHR(device
->device
, bindInfoCount
, pBindInfos_host
);
4806 free_VkBindImageMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
4809 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
4810 return device
->funcs
.p_vkBindImageMemory2KHR(device
->device
, bindInfoCount
, pBindInfos
);
4814 static VkResult WINAPI
wine_vkBuildAccelerationStructuresKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, uint32_t infoCount
, const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos
, const VkAccelerationStructureBuildRangeInfoKHR
* const*ppBuildRangeInfos
)
4816 #if defined(USE_STRUCT_CONVERSION)
4818 VkAccelerationStructureBuildGeometryInfoKHR_host
*pInfos_host
;
4819 TRACE("%p, 0x%s, %u, %p, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), infoCount
, pInfos
, ppBuildRangeInfos
);
4821 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win_to_host(pInfos
, infoCount
);
4822 result
= device
->funcs
.p_vkBuildAccelerationStructuresKHR(device
->device
, deferredOperation
, infoCount
, pInfos_host
, ppBuildRangeInfos
);
4824 free_VkAccelerationStructureBuildGeometryInfoKHR_array(pInfos_host
, infoCount
);
4827 TRACE("%p, 0x%s, %u, %p, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), infoCount
, pInfos
, ppBuildRangeInfos
);
4828 return device
->funcs
.p_vkBuildAccelerationStructuresKHR(device
->device
, deferredOperation
, infoCount
, pInfos
, ppBuildRangeInfos
);
4832 static void WINAPI
wine_vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer
, const VkConditionalRenderingBeginInfoEXT
*pConditionalRenderingBegin
)
4834 #if defined(USE_STRUCT_CONVERSION)
4835 VkConditionalRenderingBeginInfoEXT_host pConditionalRenderingBegin_host
;
4836 TRACE("%p, %p\n", commandBuffer
, pConditionalRenderingBegin
);
4838 convert_VkConditionalRenderingBeginInfoEXT_win_to_host(pConditionalRenderingBegin
, &pConditionalRenderingBegin_host
);
4839 commandBuffer
->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(commandBuffer
->command_buffer
, &pConditionalRenderingBegin_host
);
4842 TRACE("%p, %p\n", commandBuffer
, pConditionalRenderingBegin
);
4843 commandBuffer
->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(commandBuffer
->command_buffer
, pConditionalRenderingBegin
);
4847 static void WINAPI
wine_vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
4849 TRACE("%p, %p\n", commandBuffer
, pLabelInfo
);
4850 commandBuffer
->device
->funcs
.p_vkCmdBeginDebugUtilsLabelEXT(commandBuffer
->command_buffer
, pLabelInfo
);
4853 static void WINAPI
wine_vkCmdBeginQuery(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
, VkQueryControlFlags flags
)
4855 TRACE("%p, 0x%s, %u, %#x\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
, flags
);
4856 commandBuffer
->device
->funcs
.p_vkCmdBeginQuery(commandBuffer
->command_buffer
, queryPool
, query
, flags
);
4859 static void WINAPI
wine_vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
, VkQueryControlFlags flags
, uint32_t index
)
4861 TRACE("%p, 0x%s, %u, %#x, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
, flags
, index
);
4862 commandBuffer
->device
->funcs
.p_vkCmdBeginQueryIndexedEXT(commandBuffer
->command_buffer
, queryPool
, query
, flags
, index
);
4865 static void WINAPI
wine_vkCmdBeginRenderPass(VkCommandBuffer commandBuffer
, const VkRenderPassBeginInfo
*pRenderPassBegin
, VkSubpassContents contents
)
4867 #if defined(USE_STRUCT_CONVERSION)
4868 VkRenderPassBeginInfo_host pRenderPassBegin_host
;
4869 TRACE("%p, %p, %#x\n", commandBuffer
, pRenderPassBegin
, contents
);
4871 convert_VkRenderPassBeginInfo_win_to_host(pRenderPassBegin
, &pRenderPassBegin_host
);
4872 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass(commandBuffer
->command_buffer
, &pRenderPassBegin_host
, contents
);
4875 TRACE("%p, %p, %#x\n", commandBuffer
, pRenderPassBegin
, contents
);
4876 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass(commandBuffer
->command_buffer
, pRenderPassBegin
, contents
);
4880 static void WINAPI
wine_vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer
, const VkRenderPassBeginInfo
*pRenderPassBegin
, const VkSubpassBeginInfo
*pSubpassBeginInfo
)
4882 #if defined(USE_STRUCT_CONVERSION)
4883 VkRenderPassBeginInfo_host pRenderPassBegin_host
;
4884 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4886 convert_VkRenderPassBeginInfo_win_to_host(pRenderPassBegin
, &pRenderPassBegin_host
);
4887 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2(commandBuffer
->command_buffer
, &pRenderPassBegin_host
, pSubpassBeginInfo
);
4890 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4891 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2(commandBuffer
->command_buffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4895 static void WINAPI
wine_vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer
, const VkRenderPassBeginInfo
*pRenderPassBegin
, const VkSubpassBeginInfo
*pSubpassBeginInfo
)
4897 #if defined(USE_STRUCT_CONVERSION)
4898 VkRenderPassBeginInfo_host pRenderPassBegin_host
;
4899 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4901 convert_VkRenderPassBeginInfo_win_to_host(pRenderPassBegin
, &pRenderPassBegin_host
);
4902 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2KHR(commandBuffer
->command_buffer
, &pRenderPassBegin_host
, pSubpassBeginInfo
);
4905 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4906 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2KHR(commandBuffer
->command_buffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4910 static void WINAPI
wine_vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer
, uint32_t firstCounterBuffer
, uint32_t counterBufferCount
, const VkBuffer
*pCounterBuffers
, const VkDeviceSize
*pCounterBufferOffsets
)
4912 TRACE("%p, %u, %u, %p, %p\n", commandBuffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
4913 commandBuffer
->device
->funcs
.p_vkCmdBeginTransformFeedbackEXT(commandBuffer
->command_buffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
4916 static 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
)
4918 TRACE("%p, %#x, 0x%s, %u, %u, %p, %u, %p\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(layout
), firstSet
, descriptorSetCount
, pDescriptorSets
, dynamicOffsetCount
, pDynamicOffsets
);
4919 commandBuffer
->device
->funcs
.p_vkCmdBindDescriptorSets(commandBuffer
->command_buffer
, pipelineBindPoint
, layout
, firstSet
, descriptorSetCount
, pDescriptorSets
, dynamicOffsetCount
, pDynamicOffsets
);
4922 static void WINAPI
wine_vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkIndexType indexType
)
4924 TRACE("%p, 0x%s, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), indexType
);
4925 commandBuffer
->device
->funcs
.p_vkCmdBindIndexBuffer(commandBuffer
->command_buffer
, buffer
, offset
, indexType
);
4928 static void WINAPI
wine_vkCmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer
, VkImageView imageView
, VkImageLayout imageLayout
)
4930 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(imageView
), imageLayout
);
4931 commandBuffer
->device
->funcs
.p_vkCmdBindInvocationMaskHUAWEI(commandBuffer
->command_buffer
, imageView
, imageLayout
);
4934 static void WINAPI
wine_vkCmdBindPipeline(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipeline pipeline
)
4936 TRACE("%p, %#x, 0x%s\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(pipeline
));
4937 commandBuffer
->device
->funcs
.p_vkCmdBindPipeline(commandBuffer
->command_buffer
, pipelineBindPoint
, pipeline
);
4940 static void WINAPI
wine_vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipeline pipeline
, uint32_t groupIndex
)
4942 TRACE("%p, %#x, 0x%s, %u\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(pipeline
), groupIndex
);
4943 commandBuffer
->device
->funcs
.p_vkCmdBindPipelineShaderGroupNV(commandBuffer
->command_buffer
, pipelineBindPoint
, pipeline
, groupIndex
);
4946 static void WINAPI
wine_vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer
, VkImageView imageView
, VkImageLayout imageLayout
)
4948 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(imageView
), imageLayout
);
4949 commandBuffer
->device
->funcs
.p_vkCmdBindShadingRateImageNV(commandBuffer
->command_buffer
, imageView
, imageLayout
);
4952 static void WINAPI
wine_vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer
, uint32_t firstBinding
, uint32_t bindingCount
, const VkBuffer
*pBuffers
, const VkDeviceSize
*pOffsets
, const VkDeviceSize
*pSizes
)
4954 TRACE("%p, %u, %u, %p, %p, %p\n", commandBuffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
);
4955 commandBuffer
->device
->funcs
.p_vkCmdBindTransformFeedbackBuffersEXT(commandBuffer
->command_buffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
);
4958 static void WINAPI
wine_vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer
, uint32_t firstBinding
, uint32_t bindingCount
, const VkBuffer
*pBuffers
, const VkDeviceSize
*pOffsets
)
4960 TRACE("%p, %u, %u, %p, %p\n", commandBuffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
);
4961 commandBuffer
->device
->funcs
.p_vkCmdBindVertexBuffers(commandBuffer
->command_buffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
);
4964 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
)
4966 TRACE("%p, %u, %u, %p, %p, %p, %p\n", commandBuffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
, pStrides
);
4967 commandBuffer
->device
->funcs
.p_vkCmdBindVertexBuffers2EXT(commandBuffer
->command_buffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
, pStrides
);
4970 static void WINAPI
wine_vkCmdBlitImage(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkImageBlit
*pRegions
, VkFilter filter
)
4972 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
);
4973 commandBuffer
->device
->funcs
.p_vkCmdBlitImage(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstImage
, dstImageLayout
, regionCount
, pRegions
, filter
);
4976 static void WINAPI
wine_vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer
, const VkBlitImageInfo2KHR
*pBlitImageInfo
)
4978 #if defined(USE_STRUCT_CONVERSION)
4979 VkBlitImageInfo2KHR_host pBlitImageInfo_host
;
4980 TRACE("%p, %p\n", commandBuffer
, pBlitImageInfo
);
4982 convert_VkBlitImageInfo2KHR_win_to_host(pBlitImageInfo
, &pBlitImageInfo_host
);
4983 commandBuffer
->device
->funcs
.p_vkCmdBlitImage2KHR(commandBuffer
->command_buffer
, &pBlitImageInfo_host
);
4986 TRACE("%p, %p\n", commandBuffer
, pBlitImageInfo
);
4987 commandBuffer
->device
->funcs
.p_vkCmdBlitImage2KHR(commandBuffer
->command_buffer
, pBlitImageInfo
);
4991 static void WINAPI
wine_vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer
, const VkAccelerationStructureInfoNV
*pInfo
, VkBuffer instanceData
, VkDeviceSize instanceOffset
, VkBool32 update
, VkAccelerationStructureNV dst
, VkAccelerationStructureNV src
, VkBuffer scratch
, VkDeviceSize scratchOffset
)
4993 #if defined(USE_STRUCT_CONVERSION)
4994 VkAccelerationStructureInfoNV_host pInfo_host
;
4995 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
));
4997 convert_VkAccelerationStructureInfoNV_win_to_host(pInfo
, &pInfo_host
);
4998 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructureNV(commandBuffer
->command_buffer
, &pInfo_host
, instanceData
, instanceOffset
, update
, dst
, src
, scratch
, scratchOffset
);
5000 free_VkAccelerationStructureInfoNV(&pInfo_host
);
5002 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
));
5003 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructureNV(commandBuffer
->command_buffer
, pInfo
, instanceData
, instanceOffset
, update
, dst
, src
, scratch
, scratchOffset
);
5007 static void WINAPI
wine_vkCmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer
, uint32_t infoCount
, const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos
, const VkDeviceAddress
*pIndirectDeviceAddresses
, const uint32_t *pIndirectStrides
, const uint32_t * const*ppMaxPrimitiveCounts
)
5009 #if defined(USE_STRUCT_CONVERSION)
5010 VkAccelerationStructureBuildGeometryInfoKHR_host
*pInfos_host
;
5011 TRACE("%p, %u, %p, %p, %p, %p\n", commandBuffer
, infoCount
, pInfos
, pIndirectDeviceAddresses
, pIndirectStrides
, ppMaxPrimitiveCounts
);
5013 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win_to_host(pInfos
, infoCount
);
5014 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructuresIndirectKHR(commandBuffer
->command_buffer
, infoCount
, pInfos_host
, pIndirectDeviceAddresses
, pIndirectStrides
, ppMaxPrimitiveCounts
);
5016 free_VkAccelerationStructureBuildGeometryInfoKHR_array(pInfos_host
, infoCount
);
5018 TRACE("%p, %u, %p, %p, %p, %p\n", commandBuffer
, infoCount
, pInfos
, pIndirectDeviceAddresses
, pIndirectStrides
, ppMaxPrimitiveCounts
);
5019 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructuresIndirectKHR(commandBuffer
->command_buffer
, infoCount
, pInfos
, pIndirectDeviceAddresses
, pIndirectStrides
, ppMaxPrimitiveCounts
);
5023 static void WINAPI
wine_vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer
, uint32_t infoCount
, const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos
, const VkAccelerationStructureBuildRangeInfoKHR
* const*ppBuildRangeInfos
)
5025 #if defined(USE_STRUCT_CONVERSION)
5026 VkAccelerationStructureBuildGeometryInfoKHR_host
*pInfos_host
;
5027 TRACE("%p, %u, %p, %p\n", commandBuffer
, infoCount
, pInfos
, ppBuildRangeInfos
);
5029 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win_to_host(pInfos
, infoCount
);
5030 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructuresKHR(commandBuffer
->command_buffer
, infoCount
, pInfos_host
, ppBuildRangeInfos
);
5032 free_VkAccelerationStructureBuildGeometryInfoKHR_array(pInfos_host
, infoCount
);
5034 TRACE("%p, %u, %p, %p\n", commandBuffer
, infoCount
, pInfos
, ppBuildRangeInfos
);
5035 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructuresKHR(commandBuffer
->command_buffer
, infoCount
, pInfos
, ppBuildRangeInfos
);
5039 static void WINAPI
wine_vkCmdClearAttachments(VkCommandBuffer commandBuffer
, uint32_t attachmentCount
, const VkClearAttachment
*pAttachments
, uint32_t rectCount
, const VkClearRect
*pRects
)
5041 TRACE("%p, %u, %p, %u, %p\n", commandBuffer
, attachmentCount
, pAttachments
, rectCount
, pRects
);
5042 commandBuffer
->device
->funcs
.p_vkCmdClearAttachments(commandBuffer
->command_buffer
, attachmentCount
, pAttachments
, rectCount
, pRects
);
5045 static void WINAPI
wine_vkCmdClearColorImage(VkCommandBuffer commandBuffer
, VkImage image
, VkImageLayout imageLayout
, const VkClearColorValue
*pColor
, uint32_t rangeCount
, const VkImageSubresourceRange
*pRanges
)
5047 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(image
), imageLayout
, pColor
, rangeCount
, pRanges
);
5048 commandBuffer
->device
->funcs
.p_vkCmdClearColorImage(commandBuffer
->command_buffer
, image
, imageLayout
, pColor
, rangeCount
, pRanges
);
5051 static void WINAPI
wine_vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer
, VkImage image
, VkImageLayout imageLayout
, const VkClearDepthStencilValue
*pDepthStencil
, uint32_t rangeCount
, const VkImageSubresourceRange
*pRanges
)
5053 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(image
), imageLayout
, pDepthStencil
, rangeCount
, pRanges
);
5054 commandBuffer
->device
->funcs
.p_vkCmdClearDepthStencilImage(commandBuffer
->command_buffer
, image
, imageLayout
, pDepthStencil
, rangeCount
, pRanges
);
5057 static void WINAPI
wine_vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer
, const VkCopyAccelerationStructureInfoKHR
*pInfo
)
5059 #if defined(USE_STRUCT_CONVERSION)
5060 VkCopyAccelerationStructureInfoKHR_host pInfo_host
;
5061 TRACE("%p, %p\n", commandBuffer
, pInfo
);
5063 convert_VkCopyAccelerationStructureInfoKHR_win_to_host(pInfo
, &pInfo_host
);
5064 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureKHR(commandBuffer
->command_buffer
, &pInfo_host
);
5067 TRACE("%p, %p\n", commandBuffer
, pInfo
);
5068 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureKHR(commandBuffer
->command_buffer
, pInfo
);
5072 static void WINAPI
wine_vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer
, VkAccelerationStructureNV dst
, VkAccelerationStructureNV src
, VkCopyAccelerationStructureModeKHR mode
)
5074 TRACE("%p, 0x%s, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(dst
), wine_dbgstr_longlong(src
), mode
);
5075 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureNV(commandBuffer
->command_buffer
, dst
, src
, mode
);
5078 static void WINAPI
wine_vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer
, const VkCopyAccelerationStructureToMemoryInfoKHR
*pInfo
)
5080 #if defined(USE_STRUCT_CONVERSION)
5081 VkCopyAccelerationStructureToMemoryInfoKHR_host pInfo_host
;
5082 TRACE("%p, %p\n", commandBuffer
, pInfo
);
5084 convert_VkCopyAccelerationStructureToMemoryInfoKHR_win_to_host(pInfo
, &pInfo_host
);
5085 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureToMemoryKHR(commandBuffer
->command_buffer
, &pInfo_host
);
5088 TRACE("%p, %p\n", commandBuffer
, pInfo
);
5089 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureToMemoryKHR(commandBuffer
->command_buffer
, pInfo
);
5093 static void WINAPI
wine_vkCmdCopyBuffer(VkCommandBuffer commandBuffer
, VkBuffer srcBuffer
, VkBuffer dstBuffer
, uint32_t regionCount
, const VkBufferCopy
*pRegions
)
5095 #if defined(USE_STRUCT_CONVERSION)
5096 VkBufferCopy_host
*pRegions_host
;
5097 TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
5099 pRegions_host
= convert_VkBufferCopy_array_win_to_host(pRegions
, regionCount
);
5100 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer(commandBuffer
->command_buffer
, srcBuffer
, dstBuffer
, regionCount
, pRegions_host
);
5102 free_VkBufferCopy_array(pRegions_host
, regionCount
);
5104 TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
5105 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer(commandBuffer
->command_buffer
, srcBuffer
, dstBuffer
, regionCount
, pRegions
);
5109 static void WINAPI
wine_vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer
, const VkCopyBufferInfo2KHR
*pCopyBufferInfo
)
5111 #if defined(USE_STRUCT_CONVERSION)
5112 VkCopyBufferInfo2KHR_host pCopyBufferInfo_host
;
5113 TRACE("%p, %p\n", commandBuffer
, pCopyBufferInfo
);
5115 convert_VkCopyBufferInfo2KHR_win_to_host(pCopyBufferInfo
, &pCopyBufferInfo_host
);
5116 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer2KHR(commandBuffer
->command_buffer
, &pCopyBufferInfo_host
);
5118 free_VkCopyBufferInfo2KHR(&pCopyBufferInfo_host
);
5120 TRACE("%p, %p\n", commandBuffer
, pCopyBufferInfo
);
5121 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer2KHR(commandBuffer
->command_buffer
, pCopyBufferInfo
);
5125 static void WINAPI
wine_vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer
, VkBuffer srcBuffer
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkBufferImageCopy
*pRegions
)
5127 #if defined(USE_STRUCT_CONVERSION)
5128 VkBufferImageCopy_host
*pRegions_host
;
5129 TRACE("%p, 0x%s, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
5131 pRegions_host
= convert_VkBufferImageCopy_array_win_to_host(pRegions
, regionCount
);
5132 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage(commandBuffer
->command_buffer
, srcBuffer
, dstImage
, dstImageLayout
, regionCount
, pRegions_host
);
5134 free_VkBufferImageCopy_array(pRegions_host
, regionCount
);
5136 TRACE("%p, 0x%s, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
5137 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage(commandBuffer
->command_buffer
, srcBuffer
, dstImage
, dstImageLayout
, regionCount
, pRegions
);
5141 static void WINAPI
wine_vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer
, const VkCopyBufferToImageInfo2KHR
*pCopyBufferToImageInfo
)
5143 #if defined(USE_STRUCT_CONVERSION)
5144 VkCopyBufferToImageInfo2KHR_host pCopyBufferToImageInfo_host
;
5145 TRACE("%p, %p\n", commandBuffer
, pCopyBufferToImageInfo
);
5147 convert_VkCopyBufferToImageInfo2KHR_win_to_host(pCopyBufferToImageInfo
, &pCopyBufferToImageInfo_host
);
5148 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(commandBuffer
->command_buffer
, &pCopyBufferToImageInfo_host
);
5150 free_VkCopyBufferToImageInfo2KHR(&pCopyBufferToImageInfo_host
);
5152 TRACE("%p, %p\n", commandBuffer
, pCopyBufferToImageInfo
);
5153 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(commandBuffer
->command_buffer
, pCopyBufferToImageInfo
);
5157 static void WINAPI
wine_vkCmdCopyImage(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkImageCopy
*pRegions
)
5159 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
5160 commandBuffer
->device
->funcs
.p_vkCmdCopyImage(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstImage
, dstImageLayout
, regionCount
, pRegions
);
5163 static void WINAPI
wine_vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer
, const VkCopyImageInfo2KHR
*pCopyImageInfo
)
5165 #if defined(USE_STRUCT_CONVERSION)
5166 VkCopyImageInfo2KHR_host pCopyImageInfo_host
;
5167 TRACE("%p, %p\n", commandBuffer
, pCopyImageInfo
);
5169 convert_VkCopyImageInfo2KHR_win_to_host(pCopyImageInfo
, &pCopyImageInfo_host
);
5170 commandBuffer
->device
->funcs
.p_vkCmdCopyImage2KHR(commandBuffer
->command_buffer
, &pCopyImageInfo_host
);
5173 TRACE("%p, %p\n", commandBuffer
, pCopyImageInfo
);
5174 commandBuffer
->device
->funcs
.p_vkCmdCopyImage2KHR(commandBuffer
->command_buffer
, pCopyImageInfo
);
5178 static void WINAPI
wine_vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkBuffer dstBuffer
, uint32_t regionCount
, const VkBufferImageCopy
*pRegions
)
5180 #if defined(USE_STRUCT_CONVERSION)
5181 VkBufferImageCopy_host
*pRegions_host
;
5182 TRACE("%p, 0x%s, %#x, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
5184 pRegions_host
= convert_VkBufferImageCopy_array_win_to_host(pRegions
, regionCount
);
5185 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstBuffer
, regionCount
, pRegions_host
);
5187 free_VkBufferImageCopy_array(pRegions_host
, regionCount
);
5189 TRACE("%p, 0x%s, %#x, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
5190 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstBuffer
, regionCount
, pRegions
);
5194 static void WINAPI
wine_vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer
, const VkCopyImageToBufferInfo2KHR
*pCopyImageToBufferInfo
)
5196 #if defined(USE_STRUCT_CONVERSION)
5197 VkCopyImageToBufferInfo2KHR_host pCopyImageToBufferInfo_host
;
5198 TRACE("%p, %p\n", commandBuffer
, pCopyImageToBufferInfo
);
5200 convert_VkCopyImageToBufferInfo2KHR_win_to_host(pCopyImageToBufferInfo
, &pCopyImageToBufferInfo_host
);
5201 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(commandBuffer
->command_buffer
, &pCopyImageToBufferInfo_host
);
5203 free_VkCopyImageToBufferInfo2KHR(&pCopyImageToBufferInfo_host
);
5205 TRACE("%p, %p\n", commandBuffer
, pCopyImageToBufferInfo
);
5206 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(commandBuffer
->command_buffer
, pCopyImageToBufferInfo
);
5210 static void WINAPI
wine_vkCmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer
, const VkCopyMemoryToAccelerationStructureInfoKHR
*pInfo
)
5212 #if defined(USE_STRUCT_CONVERSION)
5213 VkCopyMemoryToAccelerationStructureInfoKHR_host pInfo_host
;
5214 TRACE("%p, %p\n", commandBuffer
, pInfo
);
5216 convert_VkCopyMemoryToAccelerationStructureInfoKHR_win_to_host(pInfo
, &pInfo_host
);
5217 commandBuffer
->device
->funcs
.p_vkCmdCopyMemoryToAccelerationStructureKHR(commandBuffer
->command_buffer
, &pInfo_host
);
5220 TRACE("%p, %p\n", commandBuffer
, pInfo
);
5221 commandBuffer
->device
->funcs
.p_vkCmdCopyMemoryToAccelerationStructureKHR(commandBuffer
->command_buffer
, pInfo
);
5225 static void WINAPI
wine_vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, VkDeviceSize stride
, VkQueryResultFlags flags
)
5227 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
);
5228 commandBuffer
->device
->funcs
.p_vkCmdCopyQueryPoolResults(commandBuffer
->command_buffer
, queryPool
, firstQuery
, queryCount
, dstBuffer
, dstOffset
, stride
, flags
);
5231 static void WINAPI
wine_vkCmdCuLaunchKernelNVX(VkCommandBuffer commandBuffer
, const VkCuLaunchInfoNVX
*pLaunchInfo
)
5233 #if defined(USE_STRUCT_CONVERSION)
5234 VkCuLaunchInfoNVX_host pLaunchInfo_host
;
5235 TRACE("%p, %p\n", commandBuffer
, pLaunchInfo
);
5237 convert_VkCuLaunchInfoNVX_win_to_host(pLaunchInfo
, &pLaunchInfo_host
);
5238 commandBuffer
->device
->funcs
.p_vkCmdCuLaunchKernelNVX(commandBuffer
->command_buffer
, &pLaunchInfo_host
);
5241 TRACE("%p, %p\n", commandBuffer
, pLaunchInfo
);
5242 commandBuffer
->device
->funcs
.p_vkCmdCuLaunchKernelNVX(commandBuffer
->command_buffer
, pLaunchInfo
);
5246 static void WINAPI
wine_vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer
, const VkDebugMarkerMarkerInfoEXT
*pMarkerInfo
)
5248 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
5249 commandBuffer
->device
->funcs
.p_vkCmdDebugMarkerBeginEXT(commandBuffer
->command_buffer
, pMarkerInfo
);
5252 static void WINAPI
wine_vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer
)
5254 TRACE("%p\n", commandBuffer
);
5255 commandBuffer
->device
->funcs
.p_vkCmdDebugMarkerEndEXT(commandBuffer
->command_buffer
);
5258 static void WINAPI
wine_vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer
, const VkDebugMarkerMarkerInfoEXT
*pMarkerInfo
)
5260 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
5261 commandBuffer
->device
->funcs
.p_vkCmdDebugMarkerInsertEXT(commandBuffer
->command_buffer
, pMarkerInfo
);
5264 static void WINAPI
wine_vkCmdDispatch(VkCommandBuffer commandBuffer
, uint32_t groupCountX
, uint32_t groupCountY
, uint32_t groupCountZ
)
5266 TRACE("%p, %u, %u, %u\n", commandBuffer
, groupCountX
, groupCountY
, groupCountZ
);
5267 commandBuffer
->device
->funcs
.p_vkCmdDispatch(commandBuffer
->command_buffer
, groupCountX
, groupCountY
, groupCountZ
);
5270 static void WINAPI
wine_vkCmdDispatchBase(VkCommandBuffer commandBuffer
, uint32_t baseGroupX
, uint32_t baseGroupY
, uint32_t baseGroupZ
, uint32_t groupCountX
, uint32_t groupCountY
, uint32_t groupCountZ
)
5272 TRACE("%p, %u, %u, %u, %u, %u, %u\n", commandBuffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
5273 commandBuffer
->device
->funcs
.p_vkCmdDispatchBase(commandBuffer
->command_buffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
5276 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
)
5278 TRACE("%p, %u, %u, %u, %u, %u, %u\n", commandBuffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
5279 commandBuffer
->device
->funcs
.p_vkCmdDispatchBaseKHR(commandBuffer
->command_buffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
5282 static void WINAPI
wine_vkCmdDispatchIndirect(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
)
5284 TRACE("%p, 0x%s, 0x%s\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
));
5285 commandBuffer
->device
->funcs
.p_vkCmdDispatchIndirect(commandBuffer
->command_buffer
, buffer
, offset
);
5288 static void WINAPI
wine_vkCmdDraw(VkCommandBuffer commandBuffer
, uint32_t vertexCount
, uint32_t instanceCount
, uint32_t firstVertex
, uint32_t firstInstance
)
5290 TRACE("%p, %u, %u, %u, %u\n", commandBuffer
, vertexCount
, instanceCount
, firstVertex
, firstInstance
);
5291 commandBuffer
->device
->funcs
.p_vkCmdDraw(commandBuffer
->command_buffer
, vertexCount
, instanceCount
, firstVertex
, firstInstance
);
5294 static void WINAPI
wine_vkCmdDrawIndexed(VkCommandBuffer commandBuffer
, uint32_t indexCount
, uint32_t instanceCount
, uint32_t firstIndex
, int32_t vertexOffset
, uint32_t firstInstance
)
5296 TRACE("%p, %u, %u, %u, %d, %u\n", commandBuffer
, indexCount
, instanceCount
, firstIndex
, vertexOffset
, firstInstance
);
5297 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexed(commandBuffer
->command_buffer
, indexCount
, instanceCount
, firstIndex
, vertexOffset
, firstInstance
);
5300 static void WINAPI
wine_vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, uint32_t drawCount
, uint32_t stride
)
5302 TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), drawCount
, stride
);
5303 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirect(commandBuffer
->command_buffer
, buffer
, offset
, drawCount
, stride
);
5306 static void WINAPI
wine_vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
5308 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
);
5309 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirectCount(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
5312 static void WINAPI
wine_vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
5314 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
);
5315 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirectCountAMD(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
5318 static void WINAPI
wine_vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
5320 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
);
5321 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirectCountKHR(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
5324 static void WINAPI
wine_vkCmdDrawIndirect(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, uint32_t drawCount
, uint32_t stride
)
5326 TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), drawCount
, stride
);
5327 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirect(commandBuffer
->command_buffer
, buffer
, offset
, drawCount
, stride
);
5330 static void WINAPI
wine_vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer
, uint32_t instanceCount
, uint32_t firstInstance
, VkBuffer counterBuffer
, VkDeviceSize counterBufferOffset
, uint32_t counterOffset
, uint32_t vertexStride
)
5332 TRACE("%p, %u, %u, 0x%s, 0x%s, %u, %u\n", commandBuffer
, instanceCount
, firstInstance
, wine_dbgstr_longlong(counterBuffer
), wine_dbgstr_longlong(counterBufferOffset
), counterOffset
, vertexStride
);
5333 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectByteCountEXT(commandBuffer
->command_buffer
, instanceCount
, firstInstance
, counterBuffer
, counterBufferOffset
, counterOffset
, vertexStride
);
5336 static void WINAPI
wine_vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
5338 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
);
5339 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectCount(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
5342 static void WINAPI
wine_vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
5344 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
);
5345 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectCountAMD(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
5348 static void WINAPI
wine_vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
5350 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
);
5351 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectCountKHR(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
5354 static void WINAPI
wine_vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
5356 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
);
5357 commandBuffer
->device
->funcs
.p_vkCmdDrawMeshTasksIndirectCountNV(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
5360 static void WINAPI
wine_vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, uint32_t drawCount
, uint32_t stride
)
5362 TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), drawCount
, stride
);
5363 commandBuffer
->device
->funcs
.p_vkCmdDrawMeshTasksIndirectNV(commandBuffer
->command_buffer
, buffer
, offset
, drawCount
, stride
);
5366 static void WINAPI
wine_vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer
, uint32_t taskCount
, uint32_t firstTask
)
5368 TRACE("%p, %u, %u\n", commandBuffer
, taskCount
, firstTask
);
5369 commandBuffer
->device
->funcs
.p_vkCmdDrawMeshTasksNV(commandBuffer
->command_buffer
, taskCount
, firstTask
);
5372 static void WINAPI
wine_vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer
, uint32_t drawCount
, const VkMultiDrawInfoEXT
*pVertexInfo
, uint32_t instanceCount
, uint32_t firstInstance
, uint32_t stride
)
5374 TRACE("%p, %u, %p, %u, %u, %u\n", commandBuffer
, drawCount
, pVertexInfo
, instanceCount
, firstInstance
, stride
);
5375 commandBuffer
->device
->funcs
.p_vkCmdDrawMultiEXT(commandBuffer
->command_buffer
, drawCount
, pVertexInfo
, instanceCount
, firstInstance
, stride
);
5378 static void WINAPI
wine_vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer
, uint32_t drawCount
, const VkMultiDrawIndexedInfoEXT
*pIndexInfo
, uint32_t instanceCount
, uint32_t firstInstance
, uint32_t stride
, const int32_t *pVertexOffset
)
5380 TRACE("%p, %u, %p, %u, %u, %u, %p\n", commandBuffer
, drawCount
, pIndexInfo
, instanceCount
, firstInstance
, stride
, pVertexOffset
);
5381 commandBuffer
->device
->funcs
.p_vkCmdDrawMultiIndexedEXT(commandBuffer
->command_buffer
, drawCount
, pIndexInfo
, instanceCount
, firstInstance
, stride
, pVertexOffset
);
5384 static void WINAPI
wine_vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer
)
5386 TRACE("%p\n", commandBuffer
);
5387 commandBuffer
->device
->funcs
.p_vkCmdEndConditionalRenderingEXT(commandBuffer
->command_buffer
);
5390 static void WINAPI
wine_vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer
)
5392 TRACE("%p\n", commandBuffer
);
5393 commandBuffer
->device
->funcs
.p_vkCmdEndDebugUtilsLabelEXT(commandBuffer
->command_buffer
);
5396 static void WINAPI
wine_vkCmdEndQuery(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
)
5398 TRACE("%p, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
);
5399 commandBuffer
->device
->funcs
.p_vkCmdEndQuery(commandBuffer
->command_buffer
, queryPool
, query
);
5402 static void WINAPI
wine_vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
, uint32_t index
)
5404 TRACE("%p, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
, index
);
5405 commandBuffer
->device
->funcs
.p_vkCmdEndQueryIndexedEXT(commandBuffer
->command_buffer
, queryPool
, query
, index
);
5408 static void WINAPI
wine_vkCmdEndRenderPass(VkCommandBuffer commandBuffer
)
5410 TRACE("%p\n", commandBuffer
);
5411 commandBuffer
->device
->funcs
.p_vkCmdEndRenderPass(commandBuffer
->command_buffer
);
5414 static void WINAPI
wine_vkCmdEndRenderPass2(VkCommandBuffer commandBuffer
, const VkSubpassEndInfo
*pSubpassEndInfo
)
5416 TRACE("%p, %p\n", commandBuffer
, pSubpassEndInfo
);
5417 commandBuffer
->device
->funcs
.p_vkCmdEndRenderPass2(commandBuffer
->command_buffer
, pSubpassEndInfo
);
5420 static void WINAPI
wine_vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer
, const VkSubpassEndInfo
*pSubpassEndInfo
)
5422 TRACE("%p, %p\n", commandBuffer
, pSubpassEndInfo
);
5423 commandBuffer
->device
->funcs
.p_vkCmdEndRenderPass2KHR(commandBuffer
->command_buffer
, pSubpassEndInfo
);
5426 static void WINAPI
wine_vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer
, uint32_t firstCounterBuffer
, uint32_t counterBufferCount
, const VkBuffer
*pCounterBuffers
, const VkDeviceSize
*pCounterBufferOffsets
)
5428 TRACE("%p, %u, %u, %p, %p\n", commandBuffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
5429 commandBuffer
->device
->funcs
.p_vkCmdEndTransformFeedbackEXT(commandBuffer
->command_buffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
5432 static void WINAPI
wine_vkCmdExecuteCommands(VkCommandBuffer commandBuffer
, uint32_t commandBufferCount
, const VkCommandBuffer
*pCommandBuffers
)
5434 VkCommandBuffer
*pCommandBuffers_host
;
5435 TRACE("%p, %u, %p\n", commandBuffer
, commandBufferCount
, pCommandBuffers
);
5437 pCommandBuffers_host
= convert_VkCommandBuffer_array_win_to_host(pCommandBuffers
, commandBufferCount
);
5438 commandBuffer
->device
->funcs
.p_vkCmdExecuteCommands(commandBuffer
->command_buffer
, commandBufferCount
, pCommandBuffers_host
);
5440 free_VkCommandBuffer_array(pCommandBuffers_host
, commandBufferCount
);
5443 static void WINAPI
wine_vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer
, VkBool32 isPreprocessed
, const VkGeneratedCommandsInfoNV
*pGeneratedCommandsInfo
)
5445 #if defined(USE_STRUCT_CONVERSION)
5446 VkGeneratedCommandsInfoNV_host pGeneratedCommandsInfo_host
;
5447 TRACE("%p, %u, %p\n", commandBuffer
, isPreprocessed
, pGeneratedCommandsInfo
);
5449 convert_VkGeneratedCommandsInfoNV_win_to_host(pGeneratedCommandsInfo
, &pGeneratedCommandsInfo_host
);
5450 commandBuffer
->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(commandBuffer
->command_buffer
, isPreprocessed
, &pGeneratedCommandsInfo_host
);
5452 free_VkGeneratedCommandsInfoNV(&pGeneratedCommandsInfo_host
);
5454 TRACE("%p, %u, %p\n", commandBuffer
, isPreprocessed
, pGeneratedCommandsInfo
);
5455 commandBuffer
->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(commandBuffer
->command_buffer
, isPreprocessed
, pGeneratedCommandsInfo
);
5459 static void WINAPI
wine_vkCmdFillBuffer(VkCommandBuffer commandBuffer
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, VkDeviceSize size
, uint32_t data
)
5461 TRACE("%p, 0x%s, 0x%s, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), wine_dbgstr_longlong(size
), data
);
5462 commandBuffer
->device
->funcs
.p_vkCmdFillBuffer(commandBuffer
->command_buffer
, dstBuffer
, dstOffset
, size
, data
);
5465 static void WINAPI
wine_vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
5467 TRACE("%p, %p\n", commandBuffer
, pLabelInfo
);
5468 commandBuffer
->device
->funcs
.p_vkCmdInsertDebugUtilsLabelEXT(commandBuffer
->command_buffer
, pLabelInfo
);
5471 static void WINAPI
wine_vkCmdNextSubpass(VkCommandBuffer commandBuffer
, VkSubpassContents contents
)
5473 TRACE("%p, %#x\n", commandBuffer
, contents
);
5474 commandBuffer
->device
->funcs
.p_vkCmdNextSubpass(commandBuffer
->command_buffer
, contents
);
5477 static void WINAPI
wine_vkCmdNextSubpass2(VkCommandBuffer commandBuffer
, const VkSubpassBeginInfo
*pSubpassBeginInfo
, const VkSubpassEndInfo
*pSubpassEndInfo
)
5479 TRACE("%p, %p, %p\n", commandBuffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
5480 commandBuffer
->device
->funcs
.p_vkCmdNextSubpass2(commandBuffer
->command_buffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
5483 static void WINAPI
wine_vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer
, const VkSubpassBeginInfo
*pSubpassBeginInfo
, const VkSubpassEndInfo
*pSubpassEndInfo
)
5485 TRACE("%p, %p, %p\n", commandBuffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
5486 commandBuffer
->device
->funcs
.p_vkCmdNextSubpass2KHR(commandBuffer
->command_buffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
5489 static 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
)
5491 #if defined(USE_STRUCT_CONVERSION)
5492 VkBufferMemoryBarrier_host
*pBufferMemoryBarriers_host
;
5493 VkImageMemoryBarrier_host
*pImageMemoryBarriers_host
;
5494 TRACE("%p, %#x, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
5496 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win_to_host(pBufferMemoryBarriers
, bufferMemoryBarrierCount
);
5497 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win_to_host(pImageMemoryBarriers
, imageMemoryBarrierCount
);
5498 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier(commandBuffer
->command_buffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
5500 free_VkBufferMemoryBarrier_array(pBufferMemoryBarriers_host
, bufferMemoryBarrierCount
);
5501 free_VkImageMemoryBarrier_array(pImageMemoryBarriers_host
, imageMemoryBarrierCount
);
5503 TRACE("%p, %#x, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
5504 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier(commandBuffer
->command_buffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
5508 static void WINAPI
wine_vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer
, const VkDependencyInfoKHR
*pDependencyInfo
)
5510 #if defined(USE_STRUCT_CONVERSION)
5511 VkDependencyInfoKHR_host pDependencyInfo_host
;
5512 TRACE("%p, %p\n", commandBuffer
, pDependencyInfo
);
5514 convert_VkDependencyInfoKHR_win_to_host(pDependencyInfo
, &pDependencyInfo_host
);
5515 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier2KHR(commandBuffer
->command_buffer
, &pDependencyInfo_host
);
5517 free_VkDependencyInfoKHR(&pDependencyInfo_host
);
5519 TRACE("%p, %p\n", commandBuffer
, pDependencyInfo
);
5520 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier2KHR(commandBuffer
->command_buffer
, pDependencyInfo
);
5524 static void WINAPI
wine_vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer
, const VkGeneratedCommandsInfoNV
*pGeneratedCommandsInfo
)
5526 #if defined(USE_STRUCT_CONVERSION)
5527 VkGeneratedCommandsInfoNV_host pGeneratedCommandsInfo_host
;
5528 TRACE("%p, %p\n", commandBuffer
, pGeneratedCommandsInfo
);
5530 convert_VkGeneratedCommandsInfoNV_win_to_host(pGeneratedCommandsInfo
, &pGeneratedCommandsInfo_host
);
5531 commandBuffer
->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(commandBuffer
->command_buffer
, &pGeneratedCommandsInfo_host
);
5533 free_VkGeneratedCommandsInfoNV(&pGeneratedCommandsInfo_host
);
5535 TRACE("%p, %p\n", commandBuffer
, pGeneratedCommandsInfo
);
5536 commandBuffer
->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(commandBuffer
->command_buffer
, pGeneratedCommandsInfo
);
5540 static void WINAPI
wine_vkCmdPushConstants(VkCommandBuffer commandBuffer
, VkPipelineLayout layout
, VkShaderStageFlags stageFlags
, uint32_t offset
, uint32_t size
, const void *pValues
)
5542 TRACE("%p, 0x%s, %#x, %u, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(layout
), stageFlags
, offset
, size
, pValues
);
5543 commandBuffer
->device
->funcs
.p_vkCmdPushConstants(commandBuffer
->command_buffer
, layout
, stageFlags
, offset
, size
, pValues
);
5546 static void WINAPI
wine_vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipelineLayout layout
, uint32_t set
, uint32_t descriptorWriteCount
, const VkWriteDescriptorSet
*pDescriptorWrites
)
5548 #if defined(USE_STRUCT_CONVERSION)
5549 VkWriteDescriptorSet_host
*pDescriptorWrites_host
;
5550 TRACE("%p, %#x, 0x%s, %u, %u, %p\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(layout
), set
, descriptorWriteCount
, pDescriptorWrites
);
5552 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win_to_host(pDescriptorWrites
, descriptorWriteCount
);
5553 commandBuffer
->device
->funcs
.p_vkCmdPushDescriptorSetKHR(commandBuffer
->command_buffer
, pipelineBindPoint
, layout
, set
, descriptorWriteCount
, pDescriptorWrites_host
);
5555 free_VkWriteDescriptorSet_array(pDescriptorWrites_host
, descriptorWriteCount
);
5557 TRACE("%p, %#x, 0x%s, %u, %u, %p\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(layout
), set
, descriptorWriteCount
, pDescriptorWrites
);
5558 commandBuffer
->device
->funcs
.p_vkCmdPushDescriptorSetKHR(commandBuffer
->command_buffer
, pipelineBindPoint
, layout
, set
, descriptorWriteCount
, pDescriptorWrites
);
5562 static void WINAPI
wine_vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, VkPipelineLayout layout
, uint32_t set
, const void *pData
)
5564 TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(descriptorUpdateTemplate
), wine_dbgstr_longlong(layout
), set
, pData
);
5565 commandBuffer
->device
->funcs
.p_vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer
->command_buffer
, descriptorUpdateTemplate
, layout
, set
, pData
);
5568 static void WINAPI
wine_vkCmdResetEvent(VkCommandBuffer commandBuffer
, VkEvent event
, VkPipelineStageFlags stageMask
)
5570 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(event
), stageMask
);
5571 commandBuffer
->device
->funcs
.p_vkCmdResetEvent(commandBuffer
->command_buffer
, event
, stageMask
);
5574 static void WINAPI
wine_vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer
, VkEvent event
, VkPipelineStageFlags2KHR stageMask
)
5576 TRACE("%p, 0x%s, 0x%s\n", commandBuffer
, wine_dbgstr_longlong(event
), wine_dbgstr_longlong(stageMask
));
5577 commandBuffer
->device
->funcs
.p_vkCmdResetEvent2KHR(commandBuffer
->command_buffer
, event
, stageMask
);
5580 static void WINAPI
wine_vkCmdResetQueryPool(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
)
5582 TRACE("%p, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
);
5583 commandBuffer
->device
->funcs
.p_vkCmdResetQueryPool(commandBuffer
->command_buffer
, queryPool
, firstQuery
, queryCount
);
5586 static void WINAPI
wine_vkCmdResolveImage(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkImageResolve
*pRegions
)
5588 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
5589 commandBuffer
->device
->funcs
.p_vkCmdResolveImage(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstImage
, dstImageLayout
, regionCount
, pRegions
);
5592 static void WINAPI
wine_vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer
, const VkResolveImageInfo2KHR
*pResolveImageInfo
)
5594 #if defined(USE_STRUCT_CONVERSION)
5595 VkResolveImageInfo2KHR_host pResolveImageInfo_host
;
5596 TRACE("%p, %p\n", commandBuffer
, pResolveImageInfo
);
5598 convert_VkResolveImageInfo2KHR_win_to_host(pResolveImageInfo
, &pResolveImageInfo_host
);
5599 commandBuffer
->device
->funcs
.p_vkCmdResolveImage2KHR(commandBuffer
->command_buffer
, &pResolveImageInfo_host
);
5602 TRACE("%p, %p\n", commandBuffer
, pResolveImageInfo
);
5603 commandBuffer
->device
->funcs
.p_vkCmdResolveImage2KHR(commandBuffer
->command_buffer
, pResolveImageInfo
);
5607 static void WINAPI
wine_vkCmdSetBlendConstants(VkCommandBuffer commandBuffer
, const float blendConstants
[4])
5609 TRACE("%p, %p\n", commandBuffer
, blendConstants
);
5610 commandBuffer
->device
->funcs
.p_vkCmdSetBlendConstants(commandBuffer
->command_buffer
, blendConstants
);
5613 static void WINAPI
wine_vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer
, const void *pCheckpointMarker
)
5615 TRACE("%p, %p\n", commandBuffer
, pCheckpointMarker
);
5616 commandBuffer
->device
->funcs
.p_vkCmdSetCheckpointNV(commandBuffer
->command_buffer
, pCheckpointMarker
);
5619 static void WINAPI
wine_vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer
, VkCoarseSampleOrderTypeNV sampleOrderType
, uint32_t customSampleOrderCount
, const VkCoarseSampleOrderCustomNV
*pCustomSampleOrders
)
5621 TRACE("%p, %#x, %u, %p\n", commandBuffer
, sampleOrderType
, customSampleOrderCount
, pCustomSampleOrders
);
5622 commandBuffer
->device
->funcs
.p_vkCmdSetCoarseSampleOrderNV(commandBuffer
->command_buffer
, sampleOrderType
, customSampleOrderCount
, pCustomSampleOrders
);
5625 static void WINAPI
wine_vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer
, uint32_t attachmentCount
, const VkBool32
*pColorWriteEnables
)
5627 TRACE("%p, %u, %p\n", commandBuffer
, attachmentCount
, pColorWriteEnables
);
5628 commandBuffer
->device
->funcs
.p_vkCmdSetColorWriteEnableEXT(commandBuffer
->command_buffer
, attachmentCount
, pColorWriteEnables
);
5631 static void WINAPI
wine_vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer
, VkCullModeFlags cullMode
)
5633 TRACE("%p, %#x\n", commandBuffer
, cullMode
);
5634 commandBuffer
->device
->funcs
.p_vkCmdSetCullModeEXT(commandBuffer
->command_buffer
, cullMode
);
5637 static void WINAPI
wine_vkCmdSetDepthBias(VkCommandBuffer commandBuffer
, float depthBiasConstantFactor
, float depthBiasClamp
, float depthBiasSlopeFactor
)
5639 TRACE("%p, %f, %f, %f\n", commandBuffer
, depthBiasConstantFactor
, depthBiasClamp
, depthBiasSlopeFactor
);
5640 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBias(commandBuffer
->command_buffer
, depthBiasConstantFactor
, depthBiasClamp
, depthBiasSlopeFactor
);
5643 static void WINAPI
wine_vkCmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthBiasEnable
)
5645 TRACE("%p, %u\n", commandBuffer
, depthBiasEnable
);
5646 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBiasEnableEXT(commandBuffer
->command_buffer
, depthBiasEnable
);
5649 static void WINAPI
wine_vkCmdSetDepthBounds(VkCommandBuffer commandBuffer
, float minDepthBounds
, float maxDepthBounds
)
5651 TRACE("%p, %f, %f\n", commandBuffer
, minDepthBounds
, maxDepthBounds
);
5652 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBounds(commandBuffer
->command_buffer
, minDepthBounds
, maxDepthBounds
);
5655 static void WINAPI
wine_vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthBoundsTestEnable
)
5657 TRACE("%p, %u\n", commandBuffer
, depthBoundsTestEnable
);
5658 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBoundsTestEnableEXT(commandBuffer
->command_buffer
, depthBoundsTestEnable
);
5661 static void WINAPI
wine_vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer
, VkCompareOp depthCompareOp
)
5663 TRACE("%p, %#x\n", commandBuffer
, depthCompareOp
);
5664 commandBuffer
->device
->funcs
.p_vkCmdSetDepthCompareOpEXT(commandBuffer
->command_buffer
, depthCompareOp
);
5667 static void WINAPI
wine_vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthTestEnable
)
5669 TRACE("%p, %u\n", commandBuffer
, depthTestEnable
);
5670 commandBuffer
->device
->funcs
.p_vkCmdSetDepthTestEnableEXT(commandBuffer
->command_buffer
, depthTestEnable
);
5673 static void WINAPI
wine_vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthWriteEnable
)
5675 TRACE("%p, %u\n", commandBuffer
, depthWriteEnable
);
5676 commandBuffer
->device
->funcs
.p_vkCmdSetDepthWriteEnableEXT(commandBuffer
->command_buffer
, depthWriteEnable
);
5679 static void WINAPI
wine_vkCmdSetDeviceMask(VkCommandBuffer commandBuffer
, uint32_t deviceMask
)
5681 TRACE("%p, %u\n", commandBuffer
, deviceMask
);
5682 commandBuffer
->device
->funcs
.p_vkCmdSetDeviceMask(commandBuffer
->command_buffer
, deviceMask
);
5685 static void WINAPI
wine_vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer
, uint32_t deviceMask
)
5687 TRACE("%p, %u\n", commandBuffer
, deviceMask
);
5688 commandBuffer
->device
->funcs
.p_vkCmdSetDeviceMaskKHR(commandBuffer
->command_buffer
, deviceMask
);
5691 static void WINAPI
wine_vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer
, uint32_t firstDiscardRectangle
, uint32_t discardRectangleCount
, const VkRect2D
*pDiscardRectangles
)
5693 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstDiscardRectangle
, discardRectangleCount
, pDiscardRectangles
);
5694 commandBuffer
->device
->funcs
.p_vkCmdSetDiscardRectangleEXT(commandBuffer
->command_buffer
, firstDiscardRectangle
, discardRectangleCount
, pDiscardRectangles
);
5697 static void WINAPI
wine_vkCmdSetEvent(VkCommandBuffer commandBuffer
, VkEvent event
, VkPipelineStageFlags stageMask
)
5699 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(event
), stageMask
);
5700 commandBuffer
->device
->funcs
.p_vkCmdSetEvent(commandBuffer
->command_buffer
, event
, stageMask
);
5703 static void WINAPI
wine_vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer
, VkEvent event
, const VkDependencyInfoKHR
*pDependencyInfo
)
5705 #if defined(USE_STRUCT_CONVERSION)
5706 VkDependencyInfoKHR_host pDependencyInfo_host
;
5707 TRACE("%p, 0x%s, %p\n", commandBuffer
, wine_dbgstr_longlong(event
), pDependencyInfo
);
5709 convert_VkDependencyInfoKHR_win_to_host(pDependencyInfo
, &pDependencyInfo_host
);
5710 commandBuffer
->device
->funcs
.p_vkCmdSetEvent2KHR(commandBuffer
->command_buffer
, event
, &pDependencyInfo_host
);
5712 free_VkDependencyInfoKHR(&pDependencyInfo_host
);
5714 TRACE("%p, 0x%s, %p\n", commandBuffer
, wine_dbgstr_longlong(event
), pDependencyInfo
);
5715 commandBuffer
->device
->funcs
.p_vkCmdSetEvent2KHR(commandBuffer
->command_buffer
, event
, pDependencyInfo
);
5719 static void WINAPI
wine_vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer
, uint32_t firstExclusiveScissor
, uint32_t exclusiveScissorCount
, const VkRect2D
*pExclusiveScissors
)
5721 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstExclusiveScissor
, exclusiveScissorCount
, pExclusiveScissors
);
5722 commandBuffer
->device
->funcs
.p_vkCmdSetExclusiveScissorNV(commandBuffer
->command_buffer
, firstExclusiveScissor
, exclusiveScissorCount
, pExclusiveScissors
);
5725 static void WINAPI
wine_vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer
, VkFragmentShadingRateNV shadingRate
, const VkFragmentShadingRateCombinerOpKHR combinerOps
[2])
5727 TRACE("%p, %#x, %p\n", commandBuffer
, shadingRate
, combinerOps
);
5728 commandBuffer
->device
->funcs
.p_vkCmdSetFragmentShadingRateEnumNV(commandBuffer
->command_buffer
, shadingRate
, combinerOps
);
5731 static void WINAPI
wine_vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer
, const VkExtent2D
*pFragmentSize
, const VkFragmentShadingRateCombinerOpKHR combinerOps
[2])
5733 TRACE("%p, %p, %p\n", commandBuffer
, pFragmentSize
, combinerOps
);
5734 commandBuffer
->device
->funcs
.p_vkCmdSetFragmentShadingRateKHR(commandBuffer
->command_buffer
, pFragmentSize
, combinerOps
);
5737 static void WINAPI
wine_vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer
, VkFrontFace frontFace
)
5739 TRACE("%p, %#x\n", commandBuffer
, frontFace
);
5740 commandBuffer
->device
->funcs
.p_vkCmdSetFrontFaceEXT(commandBuffer
->command_buffer
, frontFace
);
5743 static void WINAPI
wine_vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer
, uint32_t lineStippleFactor
, uint16_t lineStipplePattern
)
5745 TRACE("%p, %u, %u\n", commandBuffer
, lineStippleFactor
, lineStipplePattern
);
5746 commandBuffer
->device
->funcs
.p_vkCmdSetLineStippleEXT(commandBuffer
->command_buffer
, lineStippleFactor
, lineStipplePattern
);
5749 static void WINAPI
wine_vkCmdSetLineWidth(VkCommandBuffer commandBuffer
, float lineWidth
)
5751 TRACE("%p, %f\n", commandBuffer
, lineWidth
);
5752 commandBuffer
->device
->funcs
.p_vkCmdSetLineWidth(commandBuffer
->command_buffer
, lineWidth
);
5755 static void WINAPI
wine_vkCmdSetLogicOpEXT(VkCommandBuffer commandBuffer
, VkLogicOp logicOp
)
5757 TRACE("%p, %#x\n", commandBuffer
, logicOp
);
5758 commandBuffer
->device
->funcs
.p_vkCmdSetLogicOpEXT(commandBuffer
->command_buffer
, logicOp
);
5761 static void WINAPI
wine_vkCmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer
, uint32_t patchControlPoints
)
5763 TRACE("%p, %u\n", commandBuffer
, patchControlPoints
);
5764 commandBuffer
->device
->funcs
.p_vkCmdSetPatchControlPointsEXT(commandBuffer
->command_buffer
, patchControlPoints
);
5767 static VkResult WINAPI
wine_vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer
, const VkPerformanceMarkerInfoINTEL
*pMarkerInfo
)
5769 #if defined(USE_STRUCT_CONVERSION)
5771 VkPerformanceMarkerInfoINTEL_host pMarkerInfo_host
;
5772 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
5774 convert_VkPerformanceMarkerInfoINTEL_win_to_host(pMarkerInfo
, &pMarkerInfo_host
);
5775 result
= commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(commandBuffer
->command_buffer
, &pMarkerInfo_host
);
5779 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
5780 return commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(commandBuffer
->command_buffer
, pMarkerInfo
);
5784 static VkResult WINAPI
wine_vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer
, const VkPerformanceOverrideInfoINTEL
*pOverrideInfo
)
5786 #if defined(USE_STRUCT_CONVERSION)
5788 VkPerformanceOverrideInfoINTEL_host pOverrideInfo_host
;
5789 TRACE("%p, %p\n", commandBuffer
, pOverrideInfo
);
5791 convert_VkPerformanceOverrideInfoINTEL_win_to_host(pOverrideInfo
, &pOverrideInfo_host
);
5792 result
= commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(commandBuffer
->command_buffer
, &pOverrideInfo_host
);
5796 TRACE("%p, %p\n", commandBuffer
, pOverrideInfo
);
5797 return commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(commandBuffer
->command_buffer
, pOverrideInfo
);
5801 static VkResult WINAPI
wine_vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer
, const VkPerformanceStreamMarkerInfoINTEL
*pMarkerInfo
)
5803 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
5804 return commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceStreamMarkerINTEL(commandBuffer
->command_buffer
, pMarkerInfo
);
5807 static void WINAPI
wine_vkCmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 primitiveRestartEnable
)
5809 TRACE("%p, %u\n", commandBuffer
, primitiveRestartEnable
);
5810 commandBuffer
->device
->funcs
.p_vkCmdSetPrimitiveRestartEnableEXT(commandBuffer
->command_buffer
, primitiveRestartEnable
);
5813 static void WINAPI
wine_vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer
, VkPrimitiveTopology primitiveTopology
)
5815 TRACE("%p, %#x\n", commandBuffer
, primitiveTopology
);
5816 commandBuffer
->device
->funcs
.p_vkCmdSetPrimitiveTopologyEXT(commandBuffer
->command_buffer
, primitiveTopology
);
5819 static void WINAPI
wine_vkCmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 rasterizerDiscardEnable
)
5821 TRACE("%p, %u\n", commandBuffer
, rasterizerDiscardEnable
);
5822 commandBuffer
->device
->funcs
.p_vkCmdSetRasterizerDiscardEnableEXT(commandBuffer
->command_buffer
, rasterizerDiscardEnable
);
5825 static void WINAPI
wine_vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer
, uint32_t pipelineStackSize
)
5827 TRACE("%p, %u\n", commandBuffer
, pipelineStackSize
);
5828 commandBuffer
->device
->funcs
.p_vkCmdSetRayTracingPipelineStackSizeKHR(commandBuffer
->command_buffer
, pipelineStackSize
);
5831 static void WINAPI
wine_vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer
, const VkSampleLocationsInfoEXT
*pSampleLocationsInfo
)
5833 TRACE("%p, %p\n", commandBuffer
, pSampleLocationsInfo
);
5834 commandBuffer
->device
->funcs
.p_vkCmdSetSampleLocationsEXT(commandBuffer
->command_buffer
, pSampleLocationsInfo
);
5837 static void WINAPI
wine_vkCmdSetScissor(VkCommandBuffer commandBuffer
, uint32_t firstScissor
, uint32_t scissorCount
, const VkRect2D
*pScissors
)
5839 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstScissor
, scissorCount
, pScissors
);
5840 commandBuffer
->device
->funcs
.p_vkCmdSetScissor(commandBuffer
->command_buffer
, firstScissor
, scissorCount
, pScissors
);
5843 static void WINAPI
wine_vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer
, uint32_t scissorCount
, const VkRect2D
*pScissors
)
5845 TRACE("%p, %u, %p\n", commandBuffer
, scissorCount
, pScissors
);
5846 commandBuffer
->device
->funcs
.p_vkCmdSetScissorWithCountEXT(commandBuffer
->command_buffer
, scissorCount
, pScissors
);
5849 static void WINAPI
wine_vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, uint32_t compareMask
)
5851 TRACE("%p, %#x, %u\n", commandBuffer
, faceMask
, compareMask
);
5852 commandBuffer
->device
->funcs
.p_vkCmdSetStencilCompareMask(commandBuffer
->command_buffer
, faceMask
, compareMask
);
5855 static void WINAPI
wine_vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, VkStencilOp failOp
, VkStencilOp passOp
, VkStencilOp depthFailOp
, VkCompareOp compareOp
)
5857 TRACE("%p, %#x, %#x, %#x, %#x, %#x\n", commandBuffer
, faceMask
, failOp
, passOp
, depthFailOp
, compareOp
);
5858 commandBuffer
->device
->funcs
.p_vkCmdSetStencilOpEXT(commandBuffer
->command_buffer
, faceMask
, failOp
, passOp
, depthFailOp
, compareOp
);
5861 static void WINAPI
wine_vkCmdSetStencilReference(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, uint32_t reference
)
5863 TRACE("%p, %#x, %u\n", commandBuffer
, faceMask
, reference
);
5864 commandBuffer
->device
->funcs
.p_vkCmdSetStencilReference(commandBuffer
->command_buffer
, faceMask
, reference
);
5867 static void WINAPI
wine_vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 stencilTestEnable
)
5869 TRACE("%p, %u\n", commandBuffer
, stencilTestEnable
);
5870 commandBuffer
->device
->funcs
.p_vkCmdSetStencilTestEnableEXT(commandBuffer
->command_buffer
, stencilTestEnable
);
5873 static void WINAPI
wine_vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, uint32_t writeMask
)
5875 TRACE("%p, %#x, %u\n", commandBuffer
, faceMask
, writeMask
);
5876 commandBuffer
->device
->funcs
.p_vkCmdSetStencilWriteMask(commandBuffer
->command_buffer
, faceMask
, writeMask
);
5879 static void WINAPI
wine_vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer
, uint32_t vertexBindingDescriptionCount
, const VkVertexInputBindingDescription2EXT
*pVertexBindingDescriptions
, uint32_t vertexAttributeDescriptionCount
, const VkVertexInputAttributeDescription2EXT
*pVertexAttributeDescriptions
)
5881 TRACE("%p, %u, %p, %u, %p\n", commandBuffer
, vertexBindingDescriptionCount
, pVertexBindingDescriptions
, vertexAttributeDescriptionCount
, pVertexAttributeDescriptions
);
5882 commandBuffer
->device
->funcs
.p_vkCmdSetVertexInputEXT(commandBuffer
->command_buffer
, vertexBindingDescriptionCount
, pVertexBindingDescriptions
, vertexAttributeDescriptionCount
, pVertexAttributeDescriptions
);
5885 static void WINAPI
wine_vkCmdSetViewport(VkCommandBuffer commandBuffer
, uint32_t firstViewport
, uint32_t viewportCount
, const VkViewport
*pViewports
)
5887 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstViewport
, viewportCount
, pViewports
);
5888 commandBuffer
->device
->funcs
.p_vkCmdSetViewport(commandBuffer
->command_buffer
, firstViewport
, viewportCount
, pViewports
);
5891 static void WINAPI
wine_vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer
, uint32_t firstViewport
, uint32_t viewportCount
, const VkShadingRatePaletteNV
*pShadingRatePalettes
)
5893 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstViewport
, viewportCount
, pShadingRatePalettes
);
5894 commandBuffer
->device
->funcs
.p_vkCmdSetViewportShadingRatePaletteNV(commandBuffer
->command_buffer
, firstViewport
, viewportCount
, pShadingRatePalettes
);
5897 static void WINAPI
wine_vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer
, uint32_t firstViewport
, uint32_t viewportCount
, const VkViewportWScalingNV
*pViewportWScalings
)
5899 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstViewport
, viewportCount
, pViewportWScalings
);
5900 commandBuffer
->device
->funcs
.p_vkCmdSetViewportWScalingNV(commandBuffer
->command_buffer
, firstViewport
, viewportCount
, pViewportWScalings
);
5903 static void WINAPI
wine_vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer
, uint32_t viewportCount
, const VkViewport
*pViewports
)
5905 TRACE("%p, %u, %p\n", commandBuffer
, viewportCount
, pViewports
);
5906 commandBuffer
->device
->funcs
.p_vkCmdSetViewportWithCountEXT(commandBuffer
->command_buffer
, viewportCount
, pViewports
);
5909 static void WINAPI
wine_vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer
)
5911 TRACE("%p\n", commandBuffer
);
5912 commandBuffer
->device
->funcs
.p_vkCmdSubpassShadingHUAWEI(commandBuffer
->command_buffer
);
5915 static void WINAPI
wine_vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer
, const VkStridedDeviceAddressRegionKHR
*pRaygenShaderBindingTable
, const VkStridedDeviceAddressRegionKHR
*pMissShaderBindingTable
, const VkStridedDeviceAddressRegionKHR
*pHitShaderBindingTable
, const VkStridedDeviceAddressRegionKHR
*pCallableShaderBindingTable
, VkDeviceAddress indirectDeviceAddress
)
5917 #if defined(USE_STRUCT_CONVERSION)
5918 VkStridedDeviceAddressRegionKHR_host pRaygenShaderBindingTable_host
;
5919 VkStridedDeviceAddressRegionKHR_host pMissShaderBindingTable_host
;
5920 VkStridedDeviceAddressRegionKHR_host pHitShaderBindingTable_host
;
5921 VkStridedDeviceAddressRegionKHR_host pCallableShaderBindingTable_host
;
5922 TRACE("%p, %p, %p, %p, %p, 0x%s\n", commandBuffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, wine_dbgstr_longlong(indirectDeviceAddress
));
5924 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pRaygenShaderBindingTable
, &pRaygenShaderBindingTable_host
);
5925 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pMissShaderBindingTable
, &pMissShaderBindingTable_host
);
5926 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pHitShaderBindingTable
, &pHitShaderBindingTable_host
);
5927 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pCallableShaderBindingTable
, &pCallableShaderBindingTable_host
);
5928 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysIndirectKHR(commandBuffer
->command_buffer
, &pRaygenShaderBindingTable_host
, &pMissShaderBindingTable_host
, &pHitShaderBindingTable_host
, &pCallableShaderBindingTable_host
, indirectDeviceAddress
);
5931 TRACE("%p, %p, %p, %p, %p, 0x%s\n", commandBuffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, wine_dbgstr_longlong(indirectDeviceAddress
));
5932 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysIndirectKHR(commandBuffer
->command_buffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, indirectDeviceAddress
);
5936 static void WINAPI
wine_vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer
, const VkStridedDeviceAddressRegionKHR
*pRaygenShaderBindingTable
, const VkStridedDeviceAddressRegionKHR
*pMissShaderBindingTable
, const VkStridedDeviceAddressRegionKHR
*pHitShaderBindingTable
, const VkStridedDeviceAddressRegionKHR
*pCallableShaderBindingTable
, uint32_t width
, uint32_t height
, uint32_t depth
)
5938 #if defined(USE_STRUCT_CONVERSION)
5939 VkStridedDeviceAddressRegionKHR_host pRaygenShaderBindingTable_host
;
5940 VkStridedDeviceAddressRegionKHR_host pMissShaderBindingTable_host
;
5941 VkStridedDeviceAddressRegionKHR_host pHitShaderBindingTable_host
;
5942 VkStridedDeviceAddressRegionKHR_host pCallableShaderBindingTable_host
;
5943 TRACE("%p, %p, %p, %p, %p, %u, %u, %u\n", commandBuffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, width
, height
, depth
);
5945 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pRaygenShaderBindingTable
, &pRaygenShaderBindingTable_host
);
5946 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pMissShaderBindingTable
, &pMissShaderBindingTable_host
);
5947 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pHitShaderBindingTable
, &pHitShaderBindingTable_host
);
5948 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pCallableShaderBindingTable
, &pCallableShaderBindingTable_host
);
5949 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysKHR(commandBuffer
->command_buffer
, &pRaygenShaderBindingTable_host
, &pMissShaderBindingTable_host
, &pHitShaderBindingTable_host
, &pCallableShaderBindingTable_host
, width
, height
, depth
);
5952 TRACE("%p, %p, %p, %p, %p, %u, %u, %u\n", commandBuffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, width
, height
, depth
);
5953 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysKHR(commandBuffer
->command_buffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, width
, height
, depth
);
5957 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
)
5959 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
);
5960 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysNV(commandBuffer
->command_buffer
, raygenShaderBindingTableBuffer
, raygenShaderBindingOffset
, missShaderBindingTableBuffer
, missShaderBindingOffset
, missShaderBindingStride
, hitShaderBindingTableBuffer
, hitShaderBindingOffset
, hitShaderBindingStride
, callableShaderBindingTableBuffer
, callableShaderBindingOffset
, callableShaderBindingStride
, width
, height
, depth
);
5963 static void WINAPI
wine_vkCmdUpdateBuffer(VkCommandBuffer commandBuffer
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, VkDeviceSize dataSize
, const void *pData
)
5965 TRACE("%p, 0x%s, 0x%s, 0x%s, %p\n", commandBuffer
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), wine_dbgstr_longlong(dataSize
), pData
);
5966 commandBuffer
->device
->funcs
.p_vkCmdUpdateBuffer(commandBuffer
->command_buffer
, dstBuffer
, dstOffset
, dataSize
, pData
);
5969 static 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
)
5971 #if defined(USE_STRUCT_CONVERSION)
5972 VkBufferMemoryBarrier_host
*pBufferMemoryBarriers_host
;
5973 VkImageMemoryBarrier_host
*pImageMemoryBarriers_host
;
5974 TRACE("%p, %u, %p, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
5976 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win_to_host(pBufferMemoryBarriers
, bufferMemoryBarrierCount
);
5977 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win_to_host(pImageMemoryBarriers
, imageMemoryBarrierCount
);
5978 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents(commandBuffer
->command_buffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
5980 free_VkBufferMemoryBarrier_array(pBufferMemoryBarriers_host
, bufferMemoryBarrierCount
);
5981 free_VkImageMemoryBarrier_array(pImageMemoryBarriers_host
, imageMemoryBarrierCount
);
5983 TRACE("%p, %u, %p, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
5984 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents(commandBuffer
->command_buffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
5988 static void WINAPI
wine_vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer
, uint32_t eventCount
, const VkEvent
*pEvents
, const VkDependencyInfoKHR
*pDependencyInfos
)
5990 #if defined(USE_STRUCT_CONVERSION)
5991 VkDependencyInfoKHR_host
*pDependencyInfos_host
;
5992 TRACE("%p, %u, %p, %p\n", commandBuffer
, eventCount
, pEvents
, pDependencyInfos
);
5994 pDependencyInfos_host
= convert_VkDependencyInfoKHR_array_win_to_host(pDependencyInfos
, eventCount
);
5995 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents2KHR(commandBuffer
->command_buffer
, eventCount
, pEvents
, pDependencyInfos_host
);
5997 free_VkDependencyInfoKHR_array(pDependencyInfos_host
, eventCount
);
5999 TRACE("%p, %u, %p, %p\n", commandBuffer
, eventCount
, pEvents
, pDependencyInfos
);
6000 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents2KHR(commandBuffer
->command_buffer
, eventCount
, pEvents
, pDependencyInfos
);
6004 static void WINAPI
wine_vkCmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer
, uint32_t accelerationStructureCount
, const VkAccelerationStructureKHR
*pAccelerationStructures
, VkQueryType queryType
, VkQueryPool queryPool
, uint32_t firstQuery
)
6006 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", commandBuffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, wine_dbgstr_longlong(queryPool
), firstQuery
);
6007 commandBuffer
->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesKHR(commandBuffer
->command_buffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, queryPool
, firstQuery
);
6010 static void WINAPI
wine_vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer
, uint32_t accelerationStructureCount
, const VkAccelerationStructureNV
*pAccelerationStructures
, VkQueryType queryType
, VkQueryPool queryPool
, uint32_t firstQuery
)
6012 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", commandBuffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, wine_dbgstr_longlong(queryPool
), firstQuery
);
6013 commandBuffer
->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesNV(commandBuffer
->command_buffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, queryPool
, firstQuery
);
6016 static void WINAPI
wine_vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer
, VkPipelineStageFlags2KHR stage
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, uint32_t marker
)
6018 TRACE("%p, 0x%s, 0x%s, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(stage
), wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), marker
);
6019 commandBuffer
->device
->funcs
.p_vkCmdWriteBufferMarker2AMD(commandBuffer
->command_buffer
, stage
, dstBuffer
, dstOffset
, marker
);
6022 static void WINAPI
wine_vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer
, VkPipelineStageFlagBits pipelineStage
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, uint32_t marker
)
6024 TRACE("%p, %#x, 0x%s, 0x%s, %u\n", commandBuffer
, pipelineStage
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), marker
);
6025 commandBuffer
->device
->funcs
.p_vkCmdWriteBufferMarkerAMD(commandBuffer
->command_buffer
, pipelineStage
, dstBuffer
, dstOffset
, marker
);
6028 static void WINAPI
wine_vkCmdWriteTimestamp(VkCommandBuffer commandBuffer
, VkPipelineStageFlagBits pipelineStage
, VkQueryPool queryPool
, uint32_t query
)
6030 TRACE("%p, %#x, 0x%s, %u\n", commandBuffer
, pipelineStage
, wine_dbgstr_longlong(queryPool
), query
);
6031 commandBuffer
->device
->funcs
.p_vkCmdWriteTimestamp(commandBuffer
->command_buffer
, pipelineStage
, queryPool
, query
);
6034 static void WINAPI
wine_vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer
, VkPipelineStageFlags2KHR stage
, VkQueryPool queryPool
, uint32_t query
)
6036 TRACE("%p, 0x%s, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(stage
), wine_dbgstr_longlong(queryPool
), query
);
6037 commandBuffer
->device
->funcs
.p_vkCmdWriteTimestamp2KHR(commandBuffer
->command_buffer
, stage
, queryPool
, query
);
6040 static VkResult WINAPI
wine_vkCompileDeferredNV(VkDevice device
, VkPipeline pipeline
, uint32_t shader
)
6042 TRACE("%p, 0x%s, %u\n", device
, wine_dbgstr_longlong(pipeline
), shader
);
6043 return device
->funcs
.p_vkCompileDeferredNV(device
->device
, pipeline
, shader
);
6046 static VkResult WINAPI
wine_vkCopyAccelerationStructureKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, const VkCopyAccelerationStructureInfoKHR
*pInfo
)
6048 #if defined(USE_STRUCT_CONVERSION)
6050 VkCopyAccelerationStructureInfoKHR_host pInfo_host
;
6051 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
6053 convert_VkCopyAccelerationStructureInfoKHR_win_to_host(pInfo
, &pInfo_host
);
6054 result
= device
->funcs
.p_vkCopyAccelerationStructureKHR(device
->device
, deferredOperation
, &pInfo_host
);
6058 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
6059 return device
->funcs
.p_vkCopyAccelerationStructureKHR(device
->device
, deferredOperation
, pInfo
);
6063 static VkResult WINAPI
wine_vkCopyAccelerationStructureToMemoryKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, const VkCopyAccelerationStructureToMemoryInfoKHR
*pInfo
)
6065 #if defined(USE_STRUCT_CONVERSION)
6067 VkCopyAccelerationStructureToMemoryInfoKHR_host pInfo_host
;
6068 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
6070 convert_VkCopyAccelerationStructureToMemoryInfoKHR_win_to_host(pInfo
, &pInfo_host
);
6071 result
= device
->funcs
.p_vkCopyAccelerationStructureToMemoryKHR(device
->device
, deferredOperation
, &pInfo_host
);
6075 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
6076 return device
->funcs
.p_vkCopyAccelerationStructureToMemoryKHR(device
->device
, deferredOperation
, pInfo
);
6080 static VkResult WINAPI
wine_vkCopyMemoryToAccelerationStructureKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, const VkCopyMemoryToAccelerationStructureInfoKHR
*pInfo
)
6082 #if defined(USE_STRUCT_CONVERSION)
6084 VkCopyMemoryToAccelerationStructureInfoKHR_host pInfo_host
;
6085 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
6087 convert_VkCopyMemoryToAccelerationStructureInfoKHR_win_to_host(pInfo
, &pInfo_host
);
6088 result
= device
->funcs
.p_vkCopyMemoryToAccelerationStructureKHR(device
->device
, deferredOperation
, &pInfo_host
);
6092 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
6093 return device
->funcs
.p_vkCopyMemoryToAccelerationStructureKHR(device
->device
, deferredOperation
, pInfo
);
6097 static VkResult WINAPI
wine_vkCreateAccelerationStructureKHR(VkDevice device
, const VkAccelerationStructureCreateInfoKHR
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkAccelerationStructureKHR
*pAccelerationStructure
)
6099 #if defined(USE_STRUCT_CONVERSION)
6101 VkAccelerationStructureCreateInfoKHR_host pCreateInfo_host
;
6102 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
6104 convert_VkAccelerationStructureCreateInfoKHR_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6105 result
= device
->funcs
.p_vkCreateAccelerationStructureKHR(device
->device
, &pCreateInfo_host
, NULL
, pAccelerationStructure
);
6109 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
6110 return device
->funcs
.p_vkCreateAccelerationStructureKHR(device
->device
, pCreateInfo
, NULL
, pAccelerationStructure
);
6114 static VkResult WINAPI
wine_vkCreateAccelerationStructureNV(VkDevice device
, const VkAccelerationStructureCreateInfoNV
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkAccelerationStructureNV
*pAccelerationStructure
)
6116 #if defined(USE_STRUCT_CONVERSION)
6118 VkAccelerationStructureCreateInfoNV_host pCreateInfo_host
;
6119 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
6121 convert_VkAccelerationStructureCreateInfoNV_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6122 result
= device
->funcs
.p_vkCreateAccelerationStructureNV(device
->device
, &pCreateInfo_host
, NULL
, pAccelerationStructure
);
6126 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
6127 return device
->funcs
.p_vkCreateAccelerationStructureNV(device
->device
, pCreateInfo
, NULL
, pAccelerationStructure
);
6131 static VkResult WINAPI
wine_vkCreateBuffer(VkDevice device
, const VkBufferCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkBuffer
*pBuffer
)
6133 #if defined(USE_STRUCT_CONVERSION)
6135 VkBufferCreateInfo_host pCreateInfo_host
;
6136 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pBuffer
);
6138 convert_VkBufferCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6139 result
= device
->funcs
.p_vkCreateBuffer(device
->device
, &pCreateInfo_host
, NULL
, pBuffer
);
6143 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pBuffer
);
6144 return device
->funcs
.p_vkCreateBuffer(device
->device
, pCreateInfo
, NULL
, pBuffer
);
6148 static VkResult WINAPI
wine_vkCreateBufferView(VkDevice device
, const VkBufferViewCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkBufferView
*pView
)
6150 #if defined(USE_STRUCT_CONVERSION)
6152 VkBufferViewCreateInfo_host pCreateInfo_host
;
6153 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
6155 convert_VkBufferViewCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6156 result
= device
->funcs
.p_vkCreateBufferView(device
->device
, &pCreateInfo_host
, NULL
, pView
);
6160 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
6161 return device
->funcs
.p_vkCreateBufferView(device
->device
, pCreateInfo
, NULL
, pView
);
6165 static VkResult WINAPI
wine_vkCreateComputePipelines(VkDevice device
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkComputePipelineCreateInfo
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
6167 #if defined(USE_STRUCT_CONVERSION)
6169 VkComputePipelineCreateInfo_host
*pCreateInfos_host
;
6170 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
6172 pCreateInfos_host
= convert_VkComputePipelineCreateInfo_array_win_to_host(pCreateInfos
, createInfoCount
);
6173 result
= device
->funcs
.p_vkCreateComputePipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
6175 free_VkComputePipelineCreateInfo_array(pCreateInfos_host
, createInfoCount
);
6178 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
6179 return device
->funcs
.p_vkCreateComputePipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
6183 static VkResult WINAPI
wine_vkCreateCuFunctionNVX(VkDevice device
, const VkCuFunctionCreateInfoNVX
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkCuFunctionNVX
*pFunction
)
6185 #if defined(USE_STRUCT_CONVERSION)
6187 VkCuFunctionCreateInfoNVX_host pCreateInfo_host
;
6188 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFunction
);
6190 convert_VkCuFunctionCreateInfoNVX_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6191 result
= device
->funcs
.p_vkCreateCuFunctionNVX(device
->device
, &pCreateInfo_host
, NULL
, pFunction
);
6195 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFunction
);
6196 return device
->funcs
.p_vkCreateCuFunctionNVX(device
->device
, pCreateInfo
, NULL
, pFunction
);
6200 static VkResult WINAPI
wine_vkCreateCuModuleNVX(VkDevice device
, const VkCuModuleCreateInfoNVX
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkCuModuleNVX
*pModule
)
6202 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pModule
);
6203 return device
->funcs
.p_vkCreateCuModuleNVX(device
->device
, pCreateInfo
, NULL
, pModule
);
6206 static VkResult WINAPI
wine_vkCreateDeferredOperationKHR(VkDevice device
, const VkAllocationCallbacks
*pAllocator
, VkDeferredOperationKHR
*pDeferredOperation
)
6208 TRACE("%p, %p, %p\n", device
, pAllocator
, pDeferredOperation
);
6209 return device
->funcs
.p_vkCreateDeferredOperationKHR(device
->device
, NULL
, pDeferredOperation
);
6212 static VkResult WINAPI
wine_vkCreateDescriptorPool(VkDevice device
, const VkDescriptorPoolCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorPool
*pDescriptorPool
)
6214 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorPool
);
6215 return device
->funcs
.p_vkCreateDescriptorPool(device
->device
, pCreateInfo
, NULL
, pDescriptorPool
);
6218 static VkResult WINAPI
wine_vkCreateDescriptorSetLayout(VkDevice device
, const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorSetLayout
*pSetLayout
)
6220 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSetLayout
);
6221 return device
->funcs
.p_vkCreateDescriptorSetLayout(device
->device
, pCreateInfo
, NULL
, pSetLayout
);
6224 static VkResult WINAPI
wine_vkCreateDescriptorUpdateTemplate(VkDevice device
, const VkDescriptorUpdateTemplateCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorUpdateTemplate
*pDescriptorUpdateTemplate
)
6226 #if defined(USE_STRUCT_CONVERSION)
6228 VkDescriptorUpdateTemplateCreateInfo_host pCreateInfo_host
;
6229 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
6231 convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6232 result
= device
->funcs
.p_vkCreateDescriptorUpdateTemplate(device
->device
, &pCreateInfo_host
, NULL
, pDescriptorUpdateTemplate
);
6236 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
6237 return device
->funcs
.p_vkCreateDescriptorUpdateTemplate(device
->device
, pCreateInfo
, NULL
, pDescriptorUpdateTemplate
);
6241 static VkResult WINAPI
wine_vkCreateDescriptorUpdateTemplateKHR(VkDevice device
, const VkDescriptorUpdateTemplateCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorUpdateTemplate
*pDescriptorUpdateTemplate
)
6243 #if defined(USE_STRUCT_CONVERSION)
6245 VkDescriptorUpdateTemplateCreateInfo_host pCreateInfo_host
;
6246 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
6248 convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6249 result
= device
->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(device
->device
, &pCreateInfo_host
, NULL
, pDescriptorUpdateTemplate
);
6253 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
6254 return device
->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(device
->device
, pCreateInfo
, NULL
, pDescriptorUpdateTemplate
);
6258 static VkResult WINAPI
wine_vkCreateEvent(VkDevice device
, const VkEventCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkEvent
*pEvent
)
6260 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pEvent
);
6261 return device
->funcs
.p_vkCreateEvent(device
->device
, pCreateInfo
, NULL
, pEvent
);
6264 static VkResult WINAPI
wine_vkCreateFence(VkDevice device
, const VkFenceCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkFence
*pFence
)
6266 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFence
);
6267 return device
->funcs
.p_vkCreateFence(device
->device
, pCreateInfo
, NULL
, pFence
);
6270 static VkResult WINAPI
wine_vkCreateFramebuffer(VkDevice device
, const VkFramebufferCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkFramebuffer
*pFramebuffer
)
6272 #if defined(USE_STRUCT_CONVERSION)
6274 VkFramebufferCreateInfo_host pCreateInfo_host
;
6275 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFramebuffer
);
6277 convert_VkFramebufferCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6278 result
= device
->funcs
.p_vkCreateFramebuffer(device
->device
, &pCreateInfo_host
, NULL
, pFramebuffer
);
6282 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFramebuffer
);
6283 return device
->funcs
.p_vkCreateFramebuffer(device
->device
, pCreateInfo
, NULL
, pFramebuffer
);
6287 static VkResult WINAPI
wine_vkCreateGraphicsPipelines(VkDevice device
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkGraphicsPipelineCreateInfo
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
6289 #if defined(USE_STRUCT_CONVERSION)
6291 VkGraphicsPipelineCreateInfo_host
*pCreateInfos_host
;
6292 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
6294 pCreateInfos_host
= convert_VkGraphicsPipelineCreateInfo_array_win_to_host(pCreateInfos
, createInfoCount
);
6295 result
= device
->funcs
.p_vkCreateGraphicsPipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
6297 free_VkGraphicsPipelineCreateInfo_array(pCreateInfos_host
, createInfoCount
);
6300 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
6301 return device
->funcs
.p_vkCreateGraphicsPipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
6305 static VkResult WINAPI
wine_vkCreateImage(VkDevice device
, const VkImageCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkImage
*pImage
)
6307 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pImage
);
6308 return device
->funcs
.p_vkCreateImage(device
->device
, pCreateInfo
, NULL
, pImage
);
6311 static VkResult WINAPI
wine_vkCreateImageView(VkDevice device
, const VkImageViewCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkImageView
*pView
)
6313 #if defined(USE_STRUCT_CONVERSION)
6315 VkImageViewCreateInfo_host pCreateInfo_host
;
6316 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
6318 convert_VkImageViewCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6319 result
= device
->funcs
.p_vkCreateImageView(device
->device
, &pCreateInfo_host
, NULL
, pView
);
6323 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
6324 return device
->funcs
.p_vkCreateImageView(device
->device
, pCreateInfo
, NULL
, pView
);
6328 static VkResult WINAPI
wine_vkCreateIndirectCommandsLayoutNV(VkDevice device
, const VkIndirectCommandsLayoutCreateInfoNV
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkIndirectCommandsLayoutNV
*pIndirectCommandsLayout
)
6330 #if defined(USE_STRUCT_CONVERSION)
6332 VkIndirectCommandsLayoutCreateInfoNV_host pCreateInfo_host
;
6333 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pIndirectCommandsLayout
);
6335 convert_VkIndirectCommandsLayoutCreateInfoNV_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6336 result
= device
->funcs
.p_vkCreateIndirectCommandsLayoutNV(device
->device
, &pCreateInfo_host
, NULL
, pIndirectCommandsLayout
);
6338 free_VkIndirectCommandsLayoutCreateInfoNV(&pCreateInfo_host
);
6341 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pIndirectCommandsLayout
);
6342 return device
->funcs
.p_vkCreateIndirectCommandsLayoutNV(device
->device
, pCreateInfo
, NULL
, pIndirectCommandsLayout
);
6346 static VkResult WINAPI
wine_vkCreatePipelineCache(VkDevice device
, const VkPipelineCacheCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkPipelineCache
*pPipelineCache
)
6348 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pPipelineCache
);
6349 return device
->funcs
.p_vkCreatePipelineCache(device
->device
, pCreateInfo
, NULL
, pPipelineCache
);
6352 static VkResult WINAPI
wine_vkCreatePipelineLayout(VkDevice device
, const VkPipelineLayoutCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkPipelineLayout
*pPipelineLayout
)
6354 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pPipelineLayout
);
6355 return device
->funcs
.p_vkCreatePipelineLayout(device
->device
, pCreateInfo
, NULL
, pPipelineLayout
);
6358 static VkResult WINAPI
wine_vkCreatePrivateDataSlotEXT(VkDevice device
, const VkPrivateDataSlotCreateInfoEXT
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkPrivateDataSlotEXT
*pPrivateDataSlot
)
6360 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pPrivateDataSlot
);
6361 return device
->funcs
.p_vkCreatePrivateDataSlotEXT(device
->device
, pCreateInfo
, NULL
, pPrivateDataSlot
);
6364 static VkResult WINAPI
wine_vkCreateQueryPool(VkDevice device
, const VkQueryPoolCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkQueryPool
*pQueryPool
)
6366 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pQueryPool
);
6367 return device
->funcs
.p_vkCreateQueryPool(device
->device
, pCreateInfo
, NULL
, pQueryPool
);
6370 static VkResult WINAPI
wine_vkCreateRayTracingPipelinesKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkRayTracingPipelineCreateInfoKHR
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
6372 #if defined(USE_STRUCT_CONVERSION)
6374 VkRayTracingPipelineCreateInfoKHR_host
*pCreateInfos_host
;
6375 TRACE("%p, 0x%s, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
6377 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoKHR_array_win_to_host(pCreateInfos
, createInfoCount
);
6378 result
= device
->funcs
.p_vkCreateRayTracingPipelinesKHR(device
->device
, deferredOperation
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
6380 free_VkRayTracingPipelineCreateInfoKHR_array(pCreateInfos_host
, createInfoCount
);
6383 TRACE("%p, 0x%s, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
6384 return device
->funcs
.p_vkCreateRayTracingPipelinesKHR(device
->device
, deferredOperation
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
6388 static VkResult WINAPI
wine_vkCreateRayTracingPipelinesNV(VkDevice device
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkRayTracingPipelineCreateInfoNV
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
6390 #if defined(USE_STRUCT_CONVERSION)
6392 VkRayTracingPipelineCreateInfoNV_host
*pCreateInfos_host
;
6393 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
6395 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoNV_array_win_to_host(pCreateInfos
, createInfoCount
);
6396 result
= device
->funcs
.p_vkCreateRayTracingPipelinesNV(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
6398 free_VkRayTracingPipelineCreateInfoNV_array(pCreateInfos_host
, createInfoCount
);
6401 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
6402 return device
->funcs
.p_vkCreateRayTracingPipelinesNV(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
6406 static VkResult WINAPI
wine_vkCreateRenderPass(VkDevice device
, const VkRenderPassCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkRenderPass
*pRenderPass
)
6408 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pRenderPass
);
6409 return device
->funcs
.p_vkCreateRenderPass(device
->device
, pCreateInfo
, NULL
, pRenderPass
);
6412 static VkResult WINAPI
wine_vkCreateRenderPass2(VkDevice device
, const VkRenderPassCreateInfo2
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkRenderPass
*pRenderPass
)
6414 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pRenderPass
);
6415 return device
->funcs
.p_vkCreateRenderPass2(device
->device
, pCreateInfo
, NULL
, pRenderPass
);
6418 static VkResult WINAPI
wine_vkCreateRenderPass2KHR(VkDevice device
, const VkRenderPassCreateInfo2
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkRenderPass
*pRenderPass
)
6420 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pRenderPass
);
6421 return device
->funcs
.p_vkCreateRenderPass2KHR(device
->device
, pCreateInfo
, NULL
, pRenderPass
);
6424 static VkResult WINAPI
wine_vkCreateSampler(VkDevice device
, const VkSamplerCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSampler
*pSampler
)
6426 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSampler
);
6427 return device
->funcs
.p_vkCreateSampler(device
->device
, pCreateInfo
, NULL
, pSampler
);
6430 static VkResult WINAPI
wine_vkCreateSamplerYcbcrConversion(VkDevice device
, const VkSamplerYcbcrConversionCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSamplerYcbcrConversion
*pYcbcrConversion
)
6432 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pYcbcrConversion
);
6433 return device
->funcs
.p_vkCreateSamplerYcbcrConversion(device
->device
, pCreateInfo
, NULL
, pYcbcrConversion
);
6436 static VkResult WINAPI
wine_vkCreateSamplerYcbcrConversionKHR(VkDevice device
, const VkSamplerYcbcrConversionCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSamplerYcbcrConversion
*pYcbcrConversion
)
6438 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pYcbcrConversion
);
6439 return device
->funcs
.p_vkCreateSamplerYcbcrConversionKHR(device
->device
, pCreateInfo
, NULL
, pYcbcrConversion
);
6442 static VkResult WINAPI
wine_vkCreateSemaphore(VkDevice device
, const VkSemaphoreCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSemaphore
*pSemaphore
)
6444 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSemaphore
);
6445 return device
->funcs
.p_vkCreateSemaphore(device
->device
, pCreateInfo
, NULL
, pSemaphore
);
6448 static VkResult WINAPI
wine_vkCreateShaderModule(VkDevice device
, const VkShaderModuleCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkShaderModule
*pShaderModule
)
6450 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pShaderModule
);
6451 return device
->funcs
.p_vkCreateShaderModule(device
->device
, pCreateInfo
, NULL
, pShaderModule
);
6454 static VkResult WINAPI
wine_vkCreateSwapchainKHR(VkDevice device
, const VkSwapchainCreateInfoKHR
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSwapchainKHR
*pSwapchain
)
6456 #if defined(USE_STRUCT_CONVERSION)
6458 VkSwapchainCreateInfoKHR_host pCreateInfo_host
;
6459 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSwapchain
);
6461 convert_VkSwapchainCreateInfoKHR_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6462 result
= device
->funcs
.p_vkCreateSwapchainKHR(device
->device
, &pCreateInfo_host
, NULL
, pSwapchain
);
6467 VkSwapchainCreateInfoKHR pCreateInfo_host
;
6468 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSwapchain
);
6470 convert_VkSwapchainCreateInfoKHR_win_to_host(pCreateInfo
, &pCreateInfo_host
);
6471 result
= device
->funcs
.p_vkCreateSwapchainKHR(device
->device
, &pCreateInfo_host
, NULL
, pSwapchain
);
6477 static VkResult WINAPI
wine_vkCreateValidationCacheEXT(VkDevice device
, const VkValidationCacheCreateInfoEXT
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkValidationCacheEXT
*pValidationCache
)
6479 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pValidationCache
);
6480 return device
->funcs
.p_vkCreateValidationCacheEXT(device
->device
, pCreateInfo
, NULL
, pValidationCache
);
6483 static VkResult WINAPI
wine_vkDebugMarkerSetObjectNameEXT(VkDevice device
, const VkDebugMarkerObjectNameInfoEXT
*pNameInfo
)
6485 #if defined(USE_STRUCT_CONVERSION)
6487 VkDebugMarkerObjectNameInfoEXT_host pNameInfo_host
;
6488 TRACE("%p, %p\n", device
, pNameInfo
);
6490 convert_VkDebugMarkerObjectNameInfoEXT_win_to_host(pNameInfo
, &pNameInfo_host
);
6491 result
= device
->funcs
.p_vkDebugMarkerSetObjectNameEXT(device
->device
, &pNameInfo_host
);
6496 VkDebugMarkerObjectNameInfoEXT pNameInfo_host
;
6497 TRACE("%p, %p\n", device
, pNameInfo
);
6499 convert_VkDebugMarkerObjectNameInfoEXT_win_to_host(pNameInfo
, &pNameInfo_host
);
6500 result
= device
->funcs
.p_vkDebugMarkerSetObjectNameEXT(device
->device
, &pNameInfo_host
);
6506 static VkResult WINAPI
wine_vkDebugMarkerSetObjectTagEXT(VkDevice device
, const VkDebugMarkerObjectTagInfoEXT
*pTagInfo
)
6508 #if defined(USE_STRUCT_CONVERSION)
6510 VkDebugMarkerObjectTagInfoEXT_host pTagInfo_host
;
6511 TRACE("%p, %p\n", device
, pTagInfo
);
6513 convert_VkDebugMarkerObjectTagInfoEXT_win_to_host(pTagInfo
, &pTagInfo_host
);
6514 result
= device
->funcs
.p_vkDebugMarkerSetObjectTagEXT(device
->device
, &pTagInfo_host
);
6519 VkDebugMarkerObjectTagInfoEXT pTagInfo_host
;
6520 TRACE("%p, %p\n", device
, pTagInfo
);
6522 convert_VkDebugMarkerObjectTagInfoEXT_win_to_host(pTagInfo
, &pTagInfo_host
);
6523 result
= device
->funcs
.p_vkDebugMarkerSetObjectTagEXT(device
->device
, &pTagInfo_host
);
6529 static void WINAPI
wine_vkDebugReportMessageEXT(VkInstance instance
, VkDebugReportFlagsEXT flags
, VkDebugReportObjectTypeEXT objectType
, uint64_t object
, size_t location
, int32_t messageCode
, const char *pLayerPrefix
, const char *pMessage
)
6531 TRACE("%p, %#x, %#x, 0x%s, 0x%s, %d, %p, %p\n", instance
, flags
, objectType
, wine_dbgstr_longlong(object
), wine_dbgstr_longlong(location
), messageCode
, pLayerPrefix
, pMessage
);
6532 instance
->funcs
.p_vkDebugReportMessageEXT(instance
->instance
, flags
, objectType
, wine_vk_unwrap_handle(objectType
, object
), location
, messageCode
, pLayerPrefix
, pMessage
);
6535 static VkResult WINAPI
wine_vkDeferredOperationJoinKHR(VkDevice device
, VkDeferredOperationKHR operation
)
6537 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(operation
));
6538 return device
->funcs
.p_vkDeferredOperationJoinKHR(device
->device
, operation
);
6541 static void WINAPI
wine_vkDestroyAccelerationStructureKHR(VkDevice device
, VkAccelerationStructureKHR accelerationStructure
, const VkAllocationCallbacks
*pAllocator
)
6543 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(accelerationStructure
), pAllocator
);
6544 device
->funcs
.p_vkDestroyAccelerationStructureKHR(device
->device
, accelerationStructure
, NULL
);
6547 static void WINAPI
wine_vkDestroyAccelerationStructureNV(VkDevice device
, VkAccelerationStructureNV accelerationStructure
, const VkAllocationCallbacks
*pAllocator
)
6549 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(accelerationStructure
), pAllocator
);
6550 device
->funcs
.p_vkDestroyAccelerationStructureNV(device
->device
, accelerationStructure
, NULL
);
6553 static void WINAPI
wine_vkDestroyBuffer(VkDevice device
, VkBuffer buffer
, const VkAllocationCallbacks
*pAllocator
)
6555 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(buffer
), pAllocator
);
6556 device
->funcs
.p_vkDestroyBuffer(device
->device
, buffer
, NULL
);
6559 static void WINAPI
wine_vkDestroyBufferView(VkDevice device
, VkBufferView bufferView
, const VkAllocationCallbacks
*pAllocator
)
6561 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(bufferView
), pAllocator
);
6562 device
->funcs
.p_vkDestroyBufferView(device
->device
, bufferView
, NULL
);
6565 static void WINAPI
wine_vkDestroyCuFunctionNVX(VkDevice device
, VkCuFunctionNVX function
, const VkAllocationCallbacks
*pAllocator
)
6567 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(function
), pAllocator
);
6568 device
->funcs
.p_vkDestroyCuFunctionNVX(device
->device
, function
, NULL
);
6571 static void WINAPI
wine_vkDestroyCuModuleNVX(VkDevice device
, VkCuModuleNVX module
, const VkAllocationCallbacks
*pAllocator
)
6573 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(module
), pAllocator
);
6574 device
->funcs
.p_vkDestroyCuModuleNVX(device
->device
, module
, NULL
);
6577 static void WINAPI
wine_vkDestroyDeferredOperationKHR(VkDevice device
, VkDeferredOperationKHR operation
, const VkAllocationCallbacks
*pAllocator
)
6579 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(operation
), pAllocator
);
6580 device
->funcs
.p_vkDestroyDeferredOperationKHR(device
->device
, operation
, NULL
);
6583 static void WINAPI
wine_vkDestroyDescriptorPool(VkDevice device
, VkDescriptorPool descriptorPool
, const VkAllocationCallbacks
*pAllocator
)
6585 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorPool
), pAllocator
);
6586 device
->funcs
.p_vkDestroyDescriptorPool(device
->device
, descriptorPool
, NULL
);
6589 static void WINAPI
wine_vkDestroyDescriptorSetLayout(VkDevice device
, VkDescriptorSetLayout descriptorSetLayout
, const VkAllocationCallbacks
*pAllocator
)
6591 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorSetLayout
), pAllocator
);
6592 device
->funcs
.p_vkDestroyDescriptorSetLayout(device
->device
, descriptorSetLayout
, NULL
);
6595 static void WINAPI
wine_vkDestroyDescriptorUpdateTemplate(VkDevice device
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const VkAllocationCallbacks
*pAllocator
)
6597 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorUpdateTemplate
), pAllocator
);
6598 device
->funcs
.p_vkDestroyDescriptorUpdateTemplate(device
->device
, descriptorUpdateTemplate
, NULL
);
6601 static void WINAPI
wine_vkDestroyDescriptorUpdateTemplateKHR(VkDevice device
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const VkAllocationCallbacks
*pAllocator
)
6603 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorUpdateTemplate
), pAllocator
);
6604 device
->funcs
.p_vkDestroyDescriptorUpdateTemplateKHR(device
->device
, descriptorUpdateTemplate
, NULL
);
6607 static void WINAPI
wine_vkDestroyEvent(VkDevice device
, VkEvent event
, const VkAllocationCallbacks
*pAllocator
)
6609 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(event
), pAllocator
);
6610 device
->funcs
.p_vkDestroyEvent(device
->device
, event
, NULL
);
6613 static void WINAPI
wine_vkDestroyFence(VkDevice device
, VkFence fence
, const VkAllocationCallbacks
*pAllocator
)
6615 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(fence
), pAllocator
);
6616 device
->funcs
.p_vkDestroyFence(device
->device
, fence
, NULL
);
6619 static void WINAPI
wine_vkDestroyFramebuffer(VkDevice device
, VkFramebuffer framebuffer
, const VkAllocationCallbacks
*pAllocator
)
6621 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(framebuffer
), pAllocator
);
6622 device
->funcs
.p_vkDestroyFramebuffer(device
->device
, framebuffer
, NULL
);
6625 static void WINAPI
wine_vkDestroyImage(VkDevice device
, VkImage image
, const VkAllocationCallbacks
*pAllocator
)
6627 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(image
), pAllocator
);
6628 device
->funcs
.p_vkDestroyImage(device
->device
, image
, NULL
);
6631 static void WINAPI
wine_vkDestroyImageView(VkDevice device
, VkImageView imageView
, const VkAllocationCallbacks
*pAllocator
)
6633 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(imageView
), pAllocator
);
6634 device
->funcs
.p_vkDestroyImageView(device
->device
, imageView
, NULL
);
6637 static void WINAPI
wine_vkDestroyIndirectCommandsLayoutNV(VkDevice device
, VkIndirectCommandsLayoutNV indirectCommandsLayout
, const VkAllocationCallbacks
*pAllocator
)
6639 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(indirectCommandsLayout
), pAllocator
);
6640 device
->funcs
.p_vkDestroyIndirectCommandsLayoutNV(device
->device
, indirectCommandsLayout
, NULL
);
6643 static void WINAPI
wine_vkDestroyPipeline(VkDevice device
, VkPipeline pipeline
, const VkAllocationCallbacks
*pAllocator
)
6645 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), pAllocator
);
6646 device
->funcs
.p_vkDestroyPipeline(device
->device
, pipeline
, NULL
);
6649 static void WINAPI
wine_vkDestroyPipelineCache(VkDevice device
, VkPipelineCache pipelineCache
, const VkAllocationCallbacks
*pAllocator
)
6651 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), pAllocator
);
6652 device
->funcs
.p_vkDestroyPipelineCache(device
->device
, pipelineCache
, NULL
);
6655 static void WINAPI
wine_vkDestroyPipelineLayout(VkDevice device
, VkPipelineLayout pipelineLayout
, const VkAllocationCallbacks
*pAllocator
)
6657 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipelineLayout
), pAllocator
);
6658 device
->funcs
.p_vkDestroyPipelineLayout(device
->device
, pipelineLayout
, NULL
);
6661 static void WINAPI
wine_vkDestroyPrivateDataSlotEXT(VkDevice device
, VkPrivateDataSlotEXT privateDataSlot
, const VkAllocationCallbacks
*pAllocator
)
6663 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(privateDataSlot
), pAllocator
);
6664 device
->funcs
.p_vkDestroyPrivateDataSlotEXT(device
->device
, privateDataSlot
, NULL
);
6667 static void WINAPI
wine_vkDestroyQueryPool(VkDevice device
, VkQueryPool queryPool
, const VkAllocationCallbacks
*pAllocator
)
6669 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(queryPool
), pAllocator
);
6670 device
->funcs
.p_vkDestroyQueryPool(device
->device
, queryPool
, NULL
);
6673 static void WINAPI
wine_vkDestroyRenderPass(VkDevice device
, VkRenderPass renderPass
, const VkAllocationCallbacks
*pAllocator
)
6675 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(renderPass
), pAllocator
);
6676 device
->funcs
.p_vkDestroyRenderPass(device
->device
, renderPass
, NULL
);
6679 static void WINAPI
wine_vkDestroySampler(VkDevice device
, VkSampler sampler
, const VkAllocationCallbacks
*pAllocator
)
6681 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(sampler
), pAllocator
);
6682 device
->funcs
.p_vkDestroySampler(device
->device
, sampler
, NULL
);
6685 static void WINAPI
wine_vkDestroySamplerYcbcrConversion(VkDevice device
, VkSamplerYcbcrConversion ycbcrConversion
, const VkAllocationCallbacks
*pAllocator
)
6687 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(ycbcrConversion
), pAllocator
);
6688 device
->funcs
.p_vkDestroySamplerYcbcrConversion(device
->device
, ycbcrConversion
, NULL
);
6691 static void WINAPI
wine_vkDestroySamplerYcbcrConversionKHR(VkDevice device
, VkSamplerYcbcrConversion ycbcrConversion
, const VkAllocationCallbacks
*pAllocator
)
6693 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(ycbcrConversion
), pAllocator
);
6694 device
->funcs
.p_vkDestroySamplerYcbcrConversionKHR(device
->device
, ycbcrConversion
, NULL
);
6697 static void WINAPI
wine_vkDestroySemaphore(VkDevice device
, VkSemaphore semaphore
, const VkAllocationCallbacks
*pAllocator
)
6699 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(semaphore
), pAllocator
);
6700 device
->funcs
.p_vkDestroySemaphore(device
->device
, semaphore
, NULL
);
6703 static void WINAPI
wine_vkDestroyShaderModule(VkDevice device
, VkShaderModule shaderModule
, const VkAllocationCallbacks
*pAllocator
)
6705 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(shaderModule
), pAllocator
);
6706 device
->funcs
.p_vkDestroyShaderModule(device
->device
, shaderModule
, NULL
);
6709 static void WINAPI
wine_vkDestroySwapchainKHR(VkDevice device
, VkSwapchainKHR swapchain
, const VkAllocationCallbacks
*pAllocator
)
6711 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(swapchain
), pAllocator
);
6712 device
->funcs
.p_vkDestroySwapchainKHR(device
->device
, swapchain
, NULL
);
6715 static void WINAPI
wine_vkDestroyValidationCacheEXT(VkDevice device
, VkValidationCacheEXT validationCache
, const VkAllocationCallbacks
*pAllocator
)
6717 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(validationCache
), pAllocator
);
6718 device
->funcs
.p_vkDestroyValidationCacheEXT(device
->device
, validationCache
, NULL
);
6721 static VkResult WINAPI
wine_vkDeviceWaitIdle(VkDevice device
)
6723 TRACE("%p\n", device
);
6724 return device
->funcs
.p_vkDeviceWaitIdle(device
->device
);
6727 static VkResult WINAPI
wine_vkEndCommandBuffer(VkCommandBuffer commandBuffer
)
6729 TRACE("%p\n", commandBuffer
);
6730 return commandBuffer
->device
->funcs
.p_vkEndCommandBuffer(commandBuffer
->command_buffer
);
6733 static VkResult WINAPI
wine_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
, uint32_t *pCounterCount
, VkPerformanceCounterKHR
*pCounters
, VkPerformanceCounterDescriptionKHR
*pCounterDescriptions
)
6735 TRACE("%p, %u, %p, %p, %p\n", physicalDevice
, queueFamilyIndex
, pCounterCount
, pCounters
, pCounterDescriptions
);
6736 return physicalDevice
->instance
->funcs
.p_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(physicalDevice
->phys_dev
, queueFamilyIndex
, pCounterCount
, pCounters
, pCounterDescriptions
);
6739 static VkResult WINAPI
wine_vkFlushMappedMemoryRanges(VkDevice device
, uint32_t memoryRangeCount
, const VkMappedMemoryRange
*pMemoryRanges
)
6741 #if defined(USE_STRUCT_CONVERSION)
6743 VkMappedMemoryRange_host
*pMemoryRanges_host
;
6744 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
6746 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win_to_host(pMemoryRanges
, memoryRangeCount
);
6747 result
= device
->funcs
.p_vkFlushMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges_host
);
6749 free_VkMappedMemoryRange_array(pMemoryRanges_host
, memoryRangeCount
);
6752 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
6753 return device
->funcs
.p_vkFlushMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges
);
6757 static VkResult WINAPI
wine_vkFreeDescriptorSets(VkDevice device
, VkDescriptorPool descriptorPool
, uint32_t descriptorSetCount
, const VkDescriptorSet
*pDescriptorSets
)
6759 TRACE("%p, 0x%s, %u, %p\n", device
, wine_dbgstr_longlong(descriptorPool
), descriptorSetCount
, pDescriptorSets
);
6760 return device
->funcs
.p_vkFreeDescriptorSets(device
->device
, descriptorPool
, descriptorSetCount
, pDescriptorSets
);
6763 static void WINAPI
wine_vkFreeMemory(VkDevice device
, VkDeviceMemory memory
, const VkAllocationCallbacks
*pAllocator
)
6765 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(memory
), pAllocator
);
6766 device
->funcs
.p_vkFreeMemory(device
->device
, memory
, NULL
);
6769 static void WINAPI
wine_vkGetAccelerationStructureBuildSizesKHR(VkDevice device
, VkAccelerationStructureBuildTypeKHR buildType
, const VkAccelerationStructureBuildGeometryInfoKHR
*pBuildInfo
, const uint32_t *pMaxPrimitiveCounts
, VkAccelerationStructureBuildSizesInfoKHR
*pSizeInfo
)
6771 #if defined(USE_STRUCT_CONVERSION)
6772 VkAccelerationStructureBuildGeometryInfoKHR_host pBuildInfo_host
;
6773 VkAccelerationStructureBuildSizesInfoKHR_host pSizeInfo_host
;
6774 TRACE("%p, %#x, %p, %p, %p\n", device
, buildType
, pBuildInfo
, pMaxPrimitiveCounts
, pSizeInfo
);
6776 convert_VkAccelerationStructureBuildGeometryInfoKHR_win_to_host(pBuildInfo
, &pBuildInfo_host
);
6777 convert_VkAccelerationStructureBuildSizesInfoKHR_win_to_host(pSizeInfo
, &pSizeInfo_host
);
6778 device
->funcs
.p_vkGetAccelerationStructureBuildSizesKHR(device
->device
, buildType
, &pBuildInfo_host
, pMaxPrimitiveCounts
, &pSizeInfo_host
);
6781 TRACE("%p, %#x, %p, %p, %p\n", device
, buildType
, pBuildInfo
, pMaxPrimitiveCounts
, pSizeInfo
);
6782 device
->funcs
.p_vkGetAccelerationStructureBuildSizesKHR(device
->device
, buildType
, pBuildInfo
, pMaxPrimitiveCounts
, pSizeInfo
);
6786 static VkDeviceAddress WINAPI
wine_vkGetAccelerationStructureDeviceAddressKHR(VkDevice device
, const VkAccelerationStructureDeviceAddressInfoKHR
*pInfo
)
6788 #if defined(USE_STRUCT_CONVERSION)
6789 VkDeviceAddress result
;
6790 VkAccelerationStructureDeviceAddressInfoKHR_host pInfo_host
;
6791 TRACE("%p, %p\n", device
, pInfo
);
6793 convert_VkAccelerationStructureDeviceAddressInfoKHR_win_to_host(pInfo
, &pInfo_host
);
6794 result
= device
->funcs
.p_vkGetAccelerationStructureDeviceAddressKHR(device
->device
, &pInfo_host
);
6798 TRACE("%p, %p\n", device
, pInfo
);
6799 return device
->funcs
.p_vkGetAccelerationStructureDeviceAddressKHR(device
->device
, pInfo
);
6803 static VkResult WINAPI
wine_vkGetAccelerationStructureHandleNV(VkDevice device
, VkAccelerationStructureNV accelerationStructure
, size_t dataSize
, void *pData
)
6805 TRACE("%p, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(accelerationStructure
), wine_dbgstr_longlong(dataSize
), pData
);
6806 return device
->funcs
.p_vkGetAccelerationStructureHandleNV(device
->device
, accelerationStructure
, dataSize
, pData
);
6809 static void WINAPI
wine_vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device
, const VkAccelerationStructureMemoryRequirementsInfoNV
*pInfo
, VkMemoryRequirements2KHR
*pMemoryRequirements
)
6811 #if defined(USE_STRUCT_CONVERSION)
6812 VkAccelerationStructureMemoryRequirementsInfoNV_host pInfo_host
;
6813 VkMemoryRequirements2KHR_host pMemoryRequirements_host
;
6814 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6816 convert_VkAccelerationStructureMemoryRequirementsInfoNV_win_to_host(pInfo
, &pInfo_host
);
6817 convert_VkMemoryRequirements2KHR_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
6818 device
->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
6820 convert_VkMemoryRequirements2KHR_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
6822 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6823 device
->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(device
->device
, pInfo
, pMemoryRequirements
);
6827 static VkDeviceAddress WINAPI
wine_vkGetBufferDeviceAddress(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
6829 #if defined(USE_STRUCT_CONVERSION)
6830 VkDeviceAddress result
;
6831 VkBufferDeviceAddressInfo_host pInfo_host
;
6832 TRACE("%p, %p\n", device
, pInfo
);
6834 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
6835 result
= device
->funcs
.p_vkGetBufferDeviceAddress(device
->device
, &pInfo_host
);
6839 TRACE("%p, %p\n", device
, pInfo
);
6840 return device
->funcs
.p_vkGetBufferDeviceAddress(device
->device
, pInfo
);
6844 static VkDeviceAddress WINAPI
wine_vkGetBufferDeviceAddressEXT(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
6846 #if defined(USE_STRUCT_CONVERSION)
6847 VkDeviceAddress result
;
6848 VkBufferDeviceAddressInfo_host pInfo_host
;
6849 TRACE("%p, %p\n", device
, pInfo
);
6851 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
6852 result
= device
->funcs
.p_vkGetBufferDeviceAddressEXT(device
->device
, &pInfo_host
);
6856 TRACE("%p, %p\n", device
, pInfo
);
6857 return device
->funcs
.p_vkGetBufferDeviceAddressEXT(device
->device
, pInfo
);
6861 static VkDeviceAddress WINAPI
wine_vkGetBufferDeviceAddressKHR(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
6863 #if defined(USE_STRUCT_CONVERSION)
6864 VkDeviceAddress result
;
6865 VkBufferDeviceAddressInfo_host pInfo_host
;
6866 TRACE("%p, %p\n", device
, pInfo
);
6868 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
6869 result
= device
->funcs
.p_vkGetBufferDeviceAddressKHR(device
->device
, &pInfo_host
);
6873 TRACE("%p, %p\n", device
, pInfo
);
6874 return device
->funcs
.p_vkGetBufferDeviceAddressKHR(device
->device
, pInfo
);
6878 static void WINAPI
wine_vkGetBufferMemoryRequirements(VkDevice device
, VkBuffer buffer
, VkMemoryRequirements
*pMemoryRequirements
)
6880 #if defined(USE_STRUCT_CONVERSION)
6881 VkMemoryRequirements_host pMemoryRequirements_host
;
6882 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(buffer
), pMemoryRequirements
);
6884 device
->funcs
.p_vkGetBufferMemoryRequirements(device
->device
, buffer
, &pMemoryRequirements_host
);
6886 convert_VkMemoryRequirements_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
6888 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(buffer
), pMemoryRequirements
);
6889 device
->funcs
.p_vkGetBufferMemoryRequirements(device
->device
, buffer
, pMemoryRequirements
);
6893 static void WINAPI
wine_vkGetBufferMemoryRequirements2(VkDevice device
, const VkBufferMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
6895 #if defined(USE_STRUCT_CONVERSION)
6896 VkBufferMemoryRequirementsInfo2_host pInfo_host
;
6897 VkMemoryRequirements2_host pMemoryRequirements_host
;
6898 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6900 convert_VkBufferMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
6901 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
6902 device
->funcs
.p_vkGetBufferMemoryRequirements2(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
6904 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
6906 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6907 device
->funcs
.p_vkGetBufferMemoryRequirements2(device
->device
, pInfo
, pMemoryRequirements
);
6911 static void WINAPI
wine_vkGetBufferMemoryRequirements2KHR(VkDevice device
, const VkBufferMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
6913 #if defined(USE_STRUCT_CONVERSION)
6914 VkBufferMemoryRequirementsInfo2_host pInfo_host
;
6915 VkMemoryRequirements2_host pMemoryRequirements_host
;
6916 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6918 convert_VkBufferMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
6919 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
6920 device
->funcs
.p_vkGetBufferMemoryRequirements2KHR(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
6922 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
6924 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6925 device
->funcs
.p_vkGetBufferMemoryRequirements2KHR(device
->device
, pInfo
, pMemoryRequirements
);
6929 static uint64_t WINAPI
wine_vkGetBufferOpaqueCaptureAddress(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
6931 #if defined(USE_STRUCT_CONVERSION)
6933 VkBufferDeviceAddressInfo_host pInfo_host
;
6934 TRACE("%p, %p\n", device
, pInfo
);
6936 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
6937 result
= device
->funcs
.p_vkGetBufferOpaqueCaptureAddress(device
->device
, &pInfo_host
);
6941 TRACE("%p, %p\n", device
, pInfo
);
6942 return device
->funcs
.p_vkGetBufferOpaqueCaptureAddress(device
->device
, pInfo
);
6946 static uint64_t WINAPI
wine_vkGetBufferOpaqueCaptureAddressKHR(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
6948 #if defined(USE_STRUCT_CONVERSION)
6950 VkBufferDeviceAddressInfo_host pInfo_host
;
6951 TRACE("%p, %p\n", device
, pInfo
);
6953 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
6954 result
= device
->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(device
->device
, &pInfo_host
);
6958 TRACE("%p, %p\n", device
, pInfo
);
6959 return device
->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(device
->device
, pInfo
);
6963 static uint32_t WINAPI
wine_vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device
, VkDeferredOperationKHR operation
)
6965 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(operation
));
6966 return device
->funcs
.p_vkGetDeferredOperationMaxConcurrencyKHR(device
->device
, operation
);
6969 static VkResult WINAPI
wine_vkGetDeferredOperationResultKHR(VkDevice device
, VkDeferredOperationKHR operation
)
6971 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(operation
));
6972 return device
->funcs
.p_vkGetDeferredOperationResultKHR(device
->device
, operation
);
6975 static void WINAPI
wine_vkGetDescriptorSetLayoutSupport(VkDevice device
, const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
, VkDescriptorSetLayoutSupport
*pSupport
)
6977 TRACE("%p, %p, %p\n", device
, pCreateInfo
, pSupport
);
6978 device
->funcs
.p_vkGetDescriptorSetLayoutSupport(device
->device
, pCreateInfo
, pSupport
);
6981 static void WINAPI
wine_vkGetDescriptorSetLayoutSupportKHR(VkDevice device
, const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
, VkDescriptorSetLayoutSupport
*pSupport
)
6983 TRACE("%p, %p, %p\n", device
, pCreateInfo
, pSupport
);
6984 device
->funcs
.p_vkGetDescriptorSetLayoutSupportKHR(device
->device
, pCreateInfo
, pSupport
);
6987 static void WINAPI
wine_vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device
, const VkAccelerationStructureVersionInfoKHR
*pVersionInfo
, VkAccelerationStructureCompatibilityKHR
*pCompatibility
)
6989 TRACE("%p, %p, %p\n", device
, pVersionInfo
, pCompatibility
);
6990 device
->funcs
.p_vkGetDeviceAccelerationStructureCompatibilityKHR(device
->device
, pVersionInfo
, pCompatibility
);
6993 static void WINAPI
wine_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device
, uint32_t heapIndex
, uint32_t localDeviceIndex
, uint32_t remoteDeviceIndex
, VkPeerMemoryFeatureFlags
*pPeerMemoryFeatures
)
6995 TRACE("%p, %u, %u, %u, %p\n", device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
6996 device
->funcs
.p_vkGetDeviceGroupPeerMemoryFeatures(device
->device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
6999 static void WINAPI
wine_vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device
, uint32_t heapIndex
, uint32_t localDeviceIndex
, uint32_t remoteDeviceIndex
, VkPeerMemoryFeatureFlags
*pPeerMemoryFeatures
)
7001 TRACE("%p, %u, %u, %u, %p\n", device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
7002 device
->funcs
.p_vkGetDeviceGroupPeerMemoryFeaturesKHR(device
->device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
7005 static VkResult WINAPI
wine_vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device
, VkDeviceGroupPresentCapabilitiesKHR
*pDeviceGroupPresentCapabilities
)
7007 TRACE("%p, %p\n", device
, pDeviceGroupPresentCapabilities
);
7008 return device
->funcs
.p_vkGetDeviceGroupPresentCapabilitiesKHR(device
->device
, pDeviceGroupPresentCapabilities
);
7011 static VkResult WINAPI
wine_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device
, VkSurfaceKHR surface
, VkDeviceGroupPresentModeFlagsKHR
*pModes
)
7013 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(surface
), pModes
);
7014 return device
->funcs
.p_vkGetDeviceGroupSurfacePresentModesKHR(device
->device
, wine_surface_from_handle(surface
)->driver_surface
, pModes
);
7017 static void WINAPI
wine_vkGetDeviceMemoryCommitment(VkDevice device
, VkDeviceMemory memory
, VkDeviceSize
*pCommittedMemoryInBytes
)
7019 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(memory
), pCommittedMemoryInBytes
);
7020 device
->funcs
.p_vkGetDeviceMemoryCommitment(device
->device
, memory
, pCommittedMemoryInBytes
);
7023 static uint64_t WINAPI
wine_vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device
, const VkDeviceMemoryOpaqueCaptureAddressInfo
*pInfo
)
7025 #if defined(USE_STRUCT_CONVERSION)
7027 VkDeviceMemoryOpaqueCaptureAddressInfo_host pInfo_host
;
7028 TRACE("%p, %p\n", device
, pInfo
);
7030 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(pInfo
, &pInfo_host
);
7031 result
= device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(device
->device
, &pInfo_host
);
7035 TRACE("%p, %p\n", device
, pInfo
);
7036 return device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(device
->device
, pInfo
);
7040 static uint64_t WINAPI
wine_vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device
, const VkDeviceMemoryOpaqueCaptureAddressInfo
*pInfo
)
7042 #if defined(USE_STRUCT_CONVERSION)
7044 VkDeviceMemoryOpaqueCaptureAddressInfo_host pInfo_host
;
7045 TRACE("%p, %p\n", device
, pInfo
);
7047 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(pInfo
, &pInfo_host
);
7048 result
= device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(device
->device
, &pInfo_host
);
7052 TRACE("%p, %p\n", device
, pInfo
);
7053 return device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(device
->device
, pInfo
);
7057 static VkResult WINAPI
wine_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(VkDevice device
, VkRenderPass renderpass
, VkExtent2D
*pMaxWorkgroupSize
)
7059 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(renderpass
), pMaxWorkgroupSize
);
7060 return device
->funcs
.p_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device
->device
, renderpass
, pMaxWorkgroupSize
);
7063 static VkResult WINAPI
wine_vkGetEventStatus(VkDevice device
, VkEvent event
)
7065 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(event
));
7066 return device
->funcs
.p_vkGetEventStatus(device
->device
, event
);
7069 static VkResult WINAPI
wine_vkGetFenceStatus(VkDevice device
, VkFence fence
)
7071 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(fence
));
7072 return device
->funcs
.p_vkGetFenceStatus(device
->device
, fence
);
7075 static void WINAPI
wine_vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device
, const VkGeneratedCommandsMemoryRequirementsInfoNV
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
7077 #if defined(USE_STRUCT_CONVERSION)
7078 VkGeneratedCommandsMemoryRequirementsInfoNV_host pInfo_host
;
7079 VkMemoryRequirements2_host pMemoryRequirements_host
;
7080 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
7082 convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win_to_host(pInfo
, &pInfo_host
);
7083 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
7084 device
->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
7086 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
7088 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
7089 device
->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(device
->device
, pInfo
, pMemoryRequirements
);
7093 static void WINAPI
wine_vkGetImageMemoryRequirements(VkDevice device
, VkImage image
, VkMemoryRequirements
*pMemoryRequirements
)
7095 #if defined(USE_STRUCT_CONVERSION)
7096 VkMemoryRequirements_host pMemoryRequirements_host
;
7097 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(image
), pMemoryRequirements
);
7099 device
->funcs
.p_vkGetImageMemoryRequirements(device
->device
, image
, &pMemoryRequirements_host
);
7101 convert_VkMemoryRequirements_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
7103 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(image
), pMemoryRequirements
);
7104 device
->funcs
.p_vkGetImageMemoryRequirements(device
->device
, image
, pMemoryRequirements
);
7108 static void WINAPI
wine_vkGetImageMemoryRequirements2(VkDevice device
, const VkImageMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
7110 #if defined(USE_STRUCT_CONVERSION)
7111 VkImageMemoryRequirementsInfo2_host pInfo_host
;
7112 VkMemoryRequirements2_host pMemoryRequirements_host
;
7113 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
7115 convert_VkImageMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
7116 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
7117 device
->funcs
.p_vkGetImageMemoryRequirements2(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
7119 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
7121 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
7122 device
->funcs
.p_vkGetImageMemoryRequirements2(device
->device
, pInfo
, pMemoryRequirements
);
7126 static void WINAPI
wine_vkGetImageMemoryRequirements2KHR(VkDevice device
, const VkImageMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
7128 #if defined(USE_STRUCT_CONVERSION)
7129 VkImageMemoryRequirementsInfo2_host pInfo_host
;
7130 VkMemoryRequirements2_host pMemoryRequirements_host
;
7131 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
7133 convert_VkImageMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
7134 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
7135 device
->funcs
.p_vkGetImageMemoryRequirements2KHR(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
7137 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
7139 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
7140 device
->funcs
.p_vkGetImageMemoryRequirements2KHR(device
->device
, pInfo
, pMemoryRequirements
);
7144 static void WINAPI
wine_vkGetImageSparseMemoryRequirements(VkDevice device
, VkImage image
, uint32_t *pSparseMemoryRequirementCount
, VkSparseImageMemoryRequirements
*pSparseMemoryRequirements
)
7146 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(image
), pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7147 device
->funcs
.p_vkGetImageSparseMemoryRequirements(device
->device
, image
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7150 static void WINAPI
wine_vkGetImageSparseMemoryRequirements2(VkDevice device
, const VkImageSparseMemoryRequirementsInfo2
*pInfo
, uint32_t *pSparseMemoryRequirementCount
, VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements
)
7152 #if defined(USE_STRUCT_CONVERSION)
7153 VkImageSparseMemoryRequirementsInfo2_host pInfo_host
;
7154 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7156 convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
7157 device
->funcs
.p_vkGetImageSparseMemoryRequirements2(device
->device
, &pInfo_host
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7160 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7161 device
->funcs
.p_vkGetImageSparseMemoryRequirements2(device
->device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7165 static void WINAPI
wine_vkGetImageSparseMemoryRequirements2KHR(VkDevice device
, const VkImageSparseMemoryRequirementsInfo2
*pInfo
, uint32_t *pSparseMemoryRequirementCount
, VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements
)
7167 #if defined(USE_STRUCT_CONVERSION)
7168 VkImageSparseMemoryRequirementsInfo2_host pInfo_host
;
7169 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7171 convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
7172 device
->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(device
->device
, &pInfo_host
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7175 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7176 device
->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(device
->device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
7180 static void WINAPI
wine_vkGetImageSubresourceLayout(VkDevice device
, VkImage image
, const VkImageSubresource
*pSubresource
, VkSubresourceLayout
*pLayout
)
7182 #if defined(USE_STRUCT_CONVERSION)
7183 VkSubresourceLayout_host pLayout_host
;
7184 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(image
), pSubresource
, pLayout
);
7186 device
->funcs
.p_vkGetImageSubresourceLayout(device
->device
, image
, pSubresource
, &pLayout_host
);
7188 convert_VkSubresourceLayout_host_to_win(&pLayout_host
, pLayout
);
7190 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(image
), pSubresource
, pLayout
);
7191 device
->funcs
.p_vkGetImageSubresourceLayout(device
->device
, image
, pSubresource
, pLayout
);
7195 static VkResult WINAPI
wine_vkGetImageViewAddressNVX(VkDevice device
, VkImageView imageView
, VkImageViewAddressPropertiesNVX
*pProperties
)
7197 #if defined(USE_STRUCT_CONVERSION)
7199 VkImageViewAddressPropertiesNVX_host pProperties_host
;
7200 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(imageView
), pProperties
);
7202 convert_VkImageViewAddressPropertiesNVX_win_to_host(pProperties
, &pProperties_host
);
7203 result
= device
->funcs
.p_vkGetImageViewAddressNVX(device
->device
, imageView
, &pProperties_host
);
7205 convert_VkImageViewAddressPropertiesNVX_host_to_win(&pProperties_host
, pProperties
);
7208 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(imageView
), pProperties
);
7209 return device
->funcs
.p_vkGetImageViewAddressNVX(device
->device
, imageView
, pProperties
);
7213 static uint32_t WINAPI
wine_vkGetImageViewHandleNVX(VkDevice device
, const VkImageViewHandleInfoNVX
*pInfo
)
7215 #if defined(USE_STRUCT_CONVERSION)
7217 VkImageViewHandleInfoNVX_host pInfo_host
;
7218 TRACE("%p, %p\n", device
, pInfo
);
7220 convert_VkImageViewHandleInfoNVX_win_to_host(pInfo
, &pInfo_host
);
7221 result
= device
->funcs
.p_vkGetImageViewHandleNVX(device
->device
, &pInfo_host
);
7225 TRACE("%p, %p\n", device
, pInfo
);
7226 return device
->funcs
.p_vkGetImageViewHandleNVX(device
->device
, pInfo
);
7230 static VkResult WINAPI
wine_vkGetMemoryHostPointerPropertiesEXT(VkDevice device
, VkExternalMemoryHandleTypeFlagBits handleType
, const void *pHostPointer
, VkMemoryHostPointerPropertiesEXT
*pMemoryHostPointerProperties
)
7232 TRACE("%p, %#x, %p, %p\n", device
, handleType
, pHostPointer
, pMemoryHostPointerProperties
);
7233 return device
->funcs
.p_vkGetMemoryHostPointerPropertiesEXT(device
->device
, handleType
, pHostPointer
, pMemoryHostPointerProperties
);
7236 static VkResult WINAPI
wine_vkGetPerformanceParameterINTEL(VkDevice device
, VkPerformanceParameterTypeINTEL parameter
, VkPerformanceValueINTEL
*pValue
)
7238 TRACE("%p, %#x, %p\n", device
, parameter
, pValue
);
7239 return device
->funcs
.p_vkGetPerformanceParameterINTEL(device
->device
, parameter
, pValue
);
7242 static VkResult WINAPI
wine_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice
, uint32_t *pPropertyCount
, VkCooperativeMatrixPropertiesNV
*pProperties
)
7244 TRACE("%p, %p, %p\n", physicalDevice
, pPropertyCount
, pProperties
);
7245 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(physicalDevice
->phys_dev
, pPropertyCount
, pProperties
);
7248 static void WINAPI
wine_vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceFeatures
*pFeatures
)
7250 TRACE("%p, %p\n", physicalDevice
, pFeatures
);
7251 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFeatures(physicalDevice
->phys_dev
, pFeatures
);
7254 static void WINAPI
wine_vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceFeatures2
*pFeatures
)
7256 TRACE("%p, %p\n", physicalDevice
, pFeatures
);
7257 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2(physicalDevice
->phys_dev
, pFeatures
);
7260 static void WINAPI
wine_vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceFeatures2
*pFeatures
)
7262 TRACE("%p, %p\n", physicalDevice
, pFeatures
);
7263 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2KHR(physicalDevice
->phys_dev
, pFeatures
);
7266 static void WINAPI
wine_vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice
, VkFormat format
, VkFormatProperties
*pFormatProperties
)
7268 TRACE("%p, %#x, %p\n", physicalDevice
, format
, pFormatProperties
);
7269 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties(physicalDevice
->phys_dev
, format
, pFormatProperties
);
7272 static void WINAPI
wine_vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice
, VkFormat format
, VkFormatProperties2
*pFormatProperties
)
7274 TRACE("%p, %#x, %p\n", physicalDevice
, format
, pFormatProperties
);
7275 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2(physicalDevice
->phys_dev
, format
, pFormatProperties
);
7278 static void WINAPI
wine_vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice
, VkFormat format
, VkFormatProperties2
*pFormatProperties
)
7280 TRACE("%p, %#x, %p\n", physicalDevice
, format
, pFormatProperties
);
7281 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice
->phys_dev
, format
, pFormatProperties
);
7284 static VkResult WINAPI
wine_vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice
, uint32_t *pFragmentShadingRateCount
, VkPhysicalDeviceFragmentShadingRateKHR
*pFragmentShadingRates
)
7286 TRACE("%p, %p, %p\n", physicalDevice
, pFragmentShadingRateCount
, pFragmentShadingRates
);
7287 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFragmentShadingRatesKHR(physicalDevice
->phys_dev
, pFragmentShadingRateCount
, pFragmentShadingRates
);
7290 static VkResult WINAPI
wine_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice
, VkFormat format
, VkImageType type
, VkImageTiling tiling
, VkImageUsageFlags usage
, VkImageCreateFlags flags
, VkImageFormatProperties
*pImageFormatProperties
)
7292 #if defined(USE_STRUCT_CONVERSION)
7294 VkImageFormatProperties_host pImageFormatProperties_host
;
7295 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p\n", physicalDevice
, format
, type
, tiling
, usage
, flags
, pImageFormatProperties
);
7297 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties(physicalDevice
->phys_dev
, format
, type
, tiling
, usage
, flags
, &pImageFormatProperties_host
);
7299 convert_VkImageFormatProperties_host_to_win(&pImageFormatProperties_host
, pImageFormatProperties
);
7302 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p\n", physicalDevice
, format
, type
, tiling
, usage
, flags
, pImageFormatProperties
);
7303 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties(physicalDevice
->phys_dev
, format
, type
, tiling
, usage
, flags
, pImageFormatProperties
);
7307 VkResult
thunk_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceImageFormatInfo2
*pImageFormatInfo
, VkImageFormatProperties2
*pImageFormatProperties
)
7309 #if defined(USE_STRUCT_CONVERSION)
7311 VkImageFormatProperties2_host pImageFormatProperties_host
;
7312 convert_VkImageFormatProperties2_win_to_host(pImageFormatProperties
, &pImageFormatProperties_host
);
7313 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice
->phys_dev
, pImageFormatInfo
, &pImageFormatProperties_host
);
7315 convert_VkImageFormatProperties2_host_to_win(&pImageFormatProperties_host
, pImageFormatProperties
);
7318 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice
->phys_dev
, pImageFormatInfo
, pImageFormatProperties
);
7322 VkResult
thunk_vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceImageFormatInfo2
*pImageFormatInfo
, VkImageFormatProperties2
*pImageFormatProperties
)
7324 #if defined(USE_STRUCT_CONVERSION)
7326 VkImageFormatProperties2_host pImageFormatProperties_host
;
7327 convert_VkImageFormatProperties2_win_to_host(pImageFormatProperties
, &pImageFormatProperties_host
);
7328 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice
->phys_dev
, pImageFormatInfo
, &pImageFormatProperties_host
);
7330 convert_VkImageFormatProperties2_host_to_win(&pImageFormatProperties_host
, pImageFormatProperties
);
7333 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice
->phys_dev
, pImageFormatInfo
, pImageFormatProperties
);
7337 static void WINAPI
wine_vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceMemoryProperties
*pMemoryProperties
)
7339 #if defined(USE_STRUCT_CONVERSION)
7340 VkPhysicalDeviceMemoryProperties_host pMemoryProperties_host
;
7341 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
7343 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(physicalDevice
->phys_dev
, &pMemoryProperties_host
);
7345 convert_VkPhysicalDeviceMemoryProperties_host_to_win(&pMemoryProperties_host
, pMemoryProperties
);
7347 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
7348 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(physicalDevice
->phys_dev
, pMemoryProperties
);
7352 static void WINAPI
wine_vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceMemoryProperties2
*pMemoryProperties
)
7354 #if defined(USE_STRUCT_CONVERSION)
7355 VkPhysicalDeviceMemoryProperties2_host pMemoryProperties_host
;
7356 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
7358 convert_VkPhysicalDeviceMemoryProperties2_win_to_host(pMemoryProperties
, &pMemoryProperties_host
);
7359 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(physicalDevice
->phys_dev
, &pMemoryProperties_host
);
7361 convert_VkPhysicalDeviceMemoryProperties2_host_to_win(&pMemoryProperties_host
, pMemoryProperties
);
7363 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
7364 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(physicalDevice
->phys_dev
, pMemoryProperties
);
7368 static void WINAPI
wine_vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceMemoryProperties2
*pMemoryProperties
)
7370 #if defined(USE_STRUCT_CONVERSION)
7371 VkPhysicalDeviceMemoryProperties2_host pMemoryProperties_host
;
7372 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
7374 convert_VkPhysicalDeviceMemoryProperties2_win_to_host(pMemoryProperties
, &pMemoryProperties_host
);
7375 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice
->phys_dev
, &pMemoryProperties_host
);
7377 convert_VkPhysicalDeviceMemoryProperties2_host_to_win(&pMemoryProperties_host
, pMemoryProperties
);
7379 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
7380 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice
->phys_dev
, pMemoryProperties
);
7384 static void WINAPI
wine_vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice
, VkSampleCountFlagBits samples
, VkMultisamplePropertiesEXT
*pMultisampleProperties
)
7386 TRACE("%p, %#x, %p\n", physicalDevice
, samples
, pMultisampleProperties
);
7387 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMultisamplePropertiesEXT(physicalDevice
->phys_dev
, samples
, pMultisampleProperties
);
7390 static VkResult WINAPI
wine_vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pRectCount
, VkRect2D
*pRects
)
7392 TRACE("%p, 0x%s, %p, %p\n", physicalDevice
, wine_dbgstr_longlong(surface
), pRectCount
, pRects
);
7393 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDevicePresentRectanglesKHR(physicalDevice
->phys_dev
, wine_surface_from_handle(surface
)->driver_surface
, pRectCount
, pRects
);
7396 static void WINAPI
wine_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceProperties
*pProperties
)
7398 #if defined(USE_STRUCT_CONVERSION)
7399 VkPhysicalDeviceProperties_host pProperties_host
;
7400 TRACE("%p, %p\n", physicalDevice
, pProperties
);
7402 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties(physicalDevice
->phys_dev
, &pProperties_host
);
7404 convert_VkPhysicalDeviceProperties_host_to_win(&pProperties_host
, pProperties
);
7406 TRACE("%p, %p\n", physicalDevice
, pProperties
);
7407 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties(physicalDevice
->phys_dev
, pProperties
);
7411 static void WINAPI
wine_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceProperties2
*pProperties
)
7413 #if defined(USE_STRUCT_CONVERSION)
7414 VkPhysicalDeviceProperties2_host pProperties_host
;
7415 TRACE("%p, %p\n", physicalDevice
, pProperties
);
7417 convert_VkPhysicalDeviceProperties2_win_to_host(pProperties
, &pProperties_host
);
7418 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(physicalDevice
->phys_dev
, &pProperties_host
);
7420 convert_VkPhysicalDeviceProperties2_host_to_win(&pProperties_host
, pProperties
);
7422 TRACE("%p, %p\n", physicalDevice
, pProperties
);
7423 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(physicalDevice
->phys_dev
, pProperties
);
7427 static void WINAPI
wine_vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceProperties2
*pProperties
)
7429 #if defined(USE_STRUCT_CONVERSION)
7430 VkPhysicalDeviceProperties2_host pProperties_host
;
7431 TRACE("%p, %p\n", physicalDevice
, pProperties
);
7433 convert_VkPhysicalDeviceProperties2_win_to_host(pProperties
, &pProperties_host
);
7434 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(physicalDevice
->phys_dev
, &pProperties_host
);
7436 convert_VkPhysicalDeviceProperties2_host_to_win(&pProperties_host
, pProperties
);
7438 TRACE("%p, %p\n", physicalDevice
, pProperties
);
7439 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(physicalDevice
->phys_dev
, pProperties
);
7443 static void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice
, const VkQueryPoolPerformanceCreateInfoKHR
*pPerformanceQueryCreateInfo
, uint32_t *pNumPasses
)
7445 TRACE("%p, %p, %p\n", physicalDevice
, pPerformanceQueryCreateInfo
, pNumPasses
);
7446 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(physicalDevice
->phys_dev
, pPerformanceQueryCreateInfo
, pNumPasses
);
7449 static void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice
, uint32_t *pQueueFamilyPropertyCount
, VkQueueFamilyProperties
*pQueueFamilyProperties
)
7451 TRACE("%p, %p, %p\n", physicalDevice
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
7452 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice
->phys_dev
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
7455 static void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice
, uint32_t *pQueueFamilyPropertyCount
, VkQueueFamilyProperties2
*pQueueFamilyProperties
)
7457 TRACE("%p, %p, %p\n", physicalDevice
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
7458 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice
->phys_dev
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
7461 static void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice
, uint32_t *pQueueFamilyPropertyCount
, VkQueueFamilyProperties2
*pQueueFamilyProperties
)
7463 TRACE("%p, %p, %p\n", physicalDevice
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
7464 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice
->phys_dev
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
7467 static void WINAPI
wine_vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice
, VkFormat format
, VkImageType type
, VkSampleCountFlagBits samples
, VkImageUsageFlags usage
, VkImageTiling tiling
, uint32_t *pPropertyCount
, VkSparseImageFormatProperties
*pProperties
)
7469 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p, %p\n", physicalDevice
, format
, type
, samples
, usage
, tiling
, pPropertyCount
, pProperties
);
7470 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice
->phys_dev
, format
, type
, samples
, usage
, tiling
, pPropertyCount
, pProperties
);
7473 static void WINAPI
wine_vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSparseImageFormatInfo2
*pFormatInfo
, uint32_t *pPropertyCount
, VkSparseImageFormatProperties2
*pProperties
)
7475 TRACE("%p, %p, %p, %p\n", physicalDevice
, pFormatInfo
, pPropertyCount
, pProperties
);
7476 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice
->phys_dev
, pFormatInfo
, pPropertyCount
, pProperties
);
7479 static void WINAPI
wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSparseImageFormatInfo2
*pFormatInfo
, uint32_t *pPropertyCount
, VkSparseImageFormatProperties2
*pProperties
)
7481 TRACE("%p, %p, %p, %p\n", physicalDevice
, pFormatInfo
, pPropertyCount
, pProperties
);
7482 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice
->phys_dev
, pFormatInfo
, pPropertyCount
, pProperties
);
7485 static VkResult WINAPI
wine_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice
, uint32_t *pCombinationCount
, VkFramebufferMixedSamplesCombinationNV
*pCombinations
)
7487 TRACE("%p, %p, %p\n", physicalDevice
, pCombinationCount
, pCombinations
);
7488 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(physicalDevice
->phys_dev
, pCombinationCount
, pCombinations
);
7491 VkResult
thunk_vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSurfaceInfo2KHR
*pSurfaceInfo
, VkSurfaceCapabilities2KHR
*pSurfaceCapabilities
)
7493 #if defined(USE_STRUCT_CONVERSION)
7495 VkPhysicalDeviceSurfaceInfo2KHR_host pSurfaceInfo_host
;
7496 convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(pSurfaceInfo
, &pSurfaceInfo_host
);
7497 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice
->phys_dev
, &pSurfaceInfo_host
, pSurfaceCapabilities
);
7502 VkPhysicalDeviceSurfaceInfo2KHR pSurfaceInfo_host
;
7503 convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(pSurfaceInfo
, &pSurfaceInfo_host
);
7504 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice
->phys_dev
, &pSurfaceInfo_host
, pSurfaceCapabilities
);
7510 VkResult
thunk_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, VkSurfaceCapabilitiesKHR
*pSurfaceCapabilities
)
7512 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice
->phys_dev
, wine_surface_from_handle(surface
)->driver_surface
, pSurfaceCapabilities
);
7515 static VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSurfaceInfo2KHR
*pSurfaceInfo
, uint32_t *pSurfaceFormatCount
, VkSurfaceFormat2KHR
*pSurfaceFormats
)
7517 #if defined(USE_STRUCT_CONVERSION)
7519 VkPhysicalDeviceSurfaceInfo2KHR_host pSurfaceInfo_host
;
7520 TRACE("%p, %p, %p, %p\n", physicalDevice
, pSurfaceInfo
, pSurfaceFormatCount
, pSurfaceFormats
);
7522 convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(pSurfaceInfo
, &pSurfaceInfo_host
);
7523 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormats2KHR(physicalDevice
->phys_dev
, &pSurfaceInfo_host
, pSurfaceFormatCount
, pSurfaceFormats
);
7528 VkPhysicalDeviceSurfaceInfo2KHR pSurfaceInfo_host
;
7529 TRACE("%p, %p, %p, %p\n", physicalDevice
, pSurfaceInfo
, pSurfaceFormatCount
, pSurfaceFormats
);
7531 convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(pSurfaceInfo
, &pSurfaceInfo_host
);
7532 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormats2KHR(physicalDevice
->phys_dev
, &pSurfaceInfo_host
, pSurfaceFormatCount
, pSurfaceFormats
);
7538 static VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pSurfaceFormatCount
, VkSurfaceFormatKHR
*pSurfaceFormats
)
7540 TRACE("%p, 0x%s, %p, %p\n", physicalDevice
, wine_dbgstr_longlong(surface
), pSurfaceFormatCount
, pSurfaceFormats
);
7541 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormatsKHR(physicalDevice
->phys_dev
, wine_surface_from_handle(surface
)->driver_surface
, pSurfaceFormatCount
, pSurfaceFormats
);
7544 static VkResult WINAPI
wine_vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pPresentModeCount
, VkPresentModeKHR
*pPresentModes
)
7546 TRACE("%p, 0x%s, %p, %p\n", physicalDevice
, wine_dbgstr_longlong(surface
), pPresentModeCount
, pPresentModes
);
7547 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfacePresentModesKHR(physicalDevice
->phys_dev
, wine_surface_from_handle(surface
)->driver_surface
, pPresentModeCount
, pPresentModes
);
7550 static VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
, VkSurfaceKHR surface
, VkBool32
*pSupported
)
7552 TRACE("%p, %u, 0x%s, %p\n", physicalDevice
, queueFamilyIndex
, wine_dbgstr_longlong(surface
), pSupported
);
7553 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice
->phys_dev
, queueFamilyIndex
, wine_surface_from_handle(surface
)->driver_surface
, pSupported
);
7556 static VkResult WINAPI
wine_vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice
, uint32_t *pToolCount
, VkPhysicalDeviceToolPropertiesEXT
*pToolProperties
)
7558 TRACE("%p, %p, %p\n", physicalDevice
, pToolCount
, pToolProperties
);
7559 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice
->phys_dev
, pToolCount
, pToolProperties
);
7562 static VkBool32 WINAPI
wine_vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
)
7564 TRACE("%p, %u\n", physicalDevice
, queueFamilyIndex
);
7565 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice
->phys_dev
, queueFamilyIndex
);
7568 static VkResult WINAPI
wine_vkGetPipelineCacheData(VkDevice device
, VkPipelineCache pipelineCache
, size_t *pDataSize
, void *pData
)
7570 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), pDataSize
, pData
);
7571 return device
->funcs
.p_vkGetPipelineCacheData(device
->device
, pipelineCache
, pDataSize
, pData
);
7574 static VkResult WINAPI
wine_vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device
, const VkPipelineExecutableInfoKHR
*pExecutableInfo
, uint32_t *pInternalRepresentationCount
, VkPipelineExecutableInternalRepresentationKHR
*pInternalRepresentations
)
7576 #if defined(USE_STRUCT_CONVERSION)
7578 VkPipelineExecutableInfoKHR_host pExecutableInfo_host
;
7579 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pInternalRepresentationCount
, pInternalRepresentations
);
7581 convert_VkPipelineExecutableInfoKHR_win_to_host(pExecutableInfo
, &pExecutableInfo_host
);
7582 result
= device
->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(device
->device
, &pExecutableInfo_host
, pInternalRepresentationCount
, pInternalRepresentations
);
7586 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pInternalRepresentationCount
, pInternalRepresentations
);
7587 return device
->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(device
->device
, pExecutableInfo
, pInternalRepresentationCount
, pInternalRepresentations
);
7591 static VkResult WINAPI
wine_vkGetPipelineExecutablePropertiesKHR(VkDevice device
, const VkPipelineInfoKHR
*pPipelineInfo
, uint32_t *pExecutableCount
, VkPipelineExecutablePropertiesKHR
*pProperties
)
7593 #if defined(USE_STRUCT_CONVERSION)
7595 VkPipelineInfoKHR_host pPipelineInfo_host
;
7596 TRACE("%p, %p, %p, %p\n", device
, pPipelineInfo
, pExecutableCount
, pProperties
);
7598 convert_VkPipelineInfoKHR_win_to_host(pPipelineInfo
, &pPipelineInfo_host
);
7599 result
= device
->funcs
.p_vkGetPipelineExecutablePropertiesKHR(device
->device
, &pPipelineInfo_host
, pExecutableCount
, pProperties
);
7603 TRACE("%p, %p, %p, %p\n", device
, pPipelineInfo
, pExecutableCount
, pProperties
);
7604 return device
->funcs
.p_vkGetPipelineExecutablePropertiesKHR(device
->device
, pPipelineInfo
, pExecutableCount
, pProperties
);
7608 static VkResult WINAPI
wine_vkGetPipelineExecutableStatisticsKHR(VkDevice device
, const VkPipelineExecutableInfoKHR
*pExecutableInfo
, uint32_t *pStatisticCount
, VkPipelineExecutableStatisticKHR
*pStatistics
)
7610 #if defined(USE_STRUCT_CONVERSION)
7612 VkPipelineExecutableInfoKHR_host pExecutableInfo_host
;
7613 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pStatisticCount
, pStatistics
);
7615 convert_VkPipelineExecutableInfoKHR_win_to_host(pExecutableInfo
, &pExecutableInfo_host
);
7616 result
= device
->funcs
.p_vkGetPipelineExecutableStatisticsKHR(device
->device
, &pExecutableInfo_host
, pStatisticCount
, pStatistics
);
7620 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pStatisticCount
, pStatistics
);
7621 return device
->funcs
.p_vkGetPipelineExecutableStatisticsKHR(device
->device
, pExecutableInfo
, pStatisticCount
, pStatistics
);
7625 static void WINAPI
wine_vkGetPrivateDataEXT(VkDevice device
, VkObjectType objectType
, uint64_t objectHandle
, VkPrivateDataSlotEXT privateDataSlot
, uint64_t *pData
)
7627 TRACE("%p, %#x, 0x%s, 0x%s, %p\n", device
, objectType
, wine_dbgstr_longlong(objectHandle
), wine_dbgstr_longlong(privateDataSlot
), pData
);
7628 device
->funcs
.p_vkGetPrivateDataEXT(device
->device
, objectType
, wine_vk_unwrap_handle(objectType
, objectHandle
), privateDataSlot
, pData
);
7631 static VkResult WINAPI
wine_vkGetQueryPoolResults(VkDevice device
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
, size_t dataSize
, void *pData
, VkDeviceSize stride
, VkQueryResultFlags flags
)
7633 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
);
7634 return device
->funcs
.p_vkGetQueryPoolResults(device
->device
, queryPool
, firstQuery
, queryCount
, dataSize
, pData
, stride
, flags
);
7637 static void WINAPI
wine_vkGetQueueCheckpointData2NV(VkQueue queue
, uint32_t *pCheckpointDataCount
, VkCheckpointData2NV
*pCheckpointData
)
7639 TRACE("%p, %p, %p\n", queue
, pCheckpointDataCount
, pCheckpointData
);
7640 queue
->device
->funcs
.p_vkGetQueueCheckpointData2NV(queue
->queue
, pCheckpointDataCount
, pCheckpointData
);
7643 static void WINAPI
wine_vkGetQueueCheckpointDataNV(VkQueue queue
, uint32_t *pCheckpointDataCount
, VkCheckpointDataNV
*pCheckpointData
)
7645 TRACE("%p, %p, %p\n", queue
, pCheckpointDataCount
, pCheckpointData
);
7646 queue
->device
->funcs
.p_vkGetQueueCheckpointDataNV(queue
->queue
, pCheckpointDataCount
, pCheckpointData
);
7649 static VkResult WINAPI
wine_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device
, VkPipeline pipeline
, uint32_t firstGroup
, uint32_t groupCount
, size_t dataSize
, void *pData
)
7651 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), firstGroup
, groupCount
, wine_dbgstr_longlong(dataSize
), pData
);
7652 return device
->funcs
.p_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(device
->device
, pipeline
, firstGroup
, groupCount
, dataSize
, pData
);
7655 static VkResult WINAPI
wine_vkGetRayTracingShaderGroupHandlesKHR(VkDevice device
, VkPipeline pipeline
, uint32_t firstGroup
, uint32_t groupCount
, size_t dataSize
, void *pData
)
7657 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), firstGroup
, groupCount
, wine_dbgstr_longlong(dataSize
), pData
);
7658 return device
->funcs
.p_vkGetRayTracingShaderGroupHandlesKHR(device
->device
, pipeline
, firstGroup
, groupCount
, dataSize
, pData
);
7661 static VkResult WINAPI
wine_vkGetRayTracingShaderGroupHandlesNV(VkDevice device
, VkPipeline pipeline
, uint32_t firstGroup
, uint32_t groupCount
, size_t dataSize
, void *pData
)
7663 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), firstGroup
, groupCount
, wine_dbgstr_longlong(dataSize
), pData
);
7664 return device
->funcs
.p_vkGetRayTracingShaderGroupHandlesNV(device
->device
, pipeline
, firstGroup
, groupCount
, dataSize
, pData
);
7667 static VkDeviceSize WINAPI
wine_vkGetRayTracingShaderGroupStackSizeKHR(VkDevice device
, VkPipeline pipeline
, uint32_t group
, VkShaderGroupShaderKHR groupShader
)
7669 TRACE("%p, 0x%s, %u, %#x\n", device
, wine_dbgstr_longlong(pipeline
), group
, groupShader
);
7670 return device
->funcs
.p_vkGetRayTracingShaderGroupStackSizeKHR(device
->device
, pipeline
, group
, groupShader
);
7673 static void WINAPI
wine_vkGetRenderAreaGranularity(VkDevice device
, VkRenderPass renderPass
, VkExtent2D
*pGranularity
)
7675 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(renderPass
), pGranularity
);
7676 device
->funcs
.p_vkGetRenderAreaGranularity(device
->device
, renderPass
, pGranularity
);
7679 static VkResult WINAPI
wine_vkGetSemaphoreCounterValue(VkDevice device
, VkSemaphore semaphore
, uint64_t *pValue
)
7681 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(semaphore
), pValue
);
7682 return device
->funcs
.p_vkGetSemaphoreCounterValue(device
->device
, semaphore
, pValue
);
7685 static VkResult WINAPI
wine_vkGetSemaphoreCounterValueKHR(VkDevice device
, VkSemaphore semaphore
, uint64_t *pValue
)
7687 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(semaphore
), pValue
);
7688 return device
->funcs
.p_vkGetSemaphoreCounterValueKHR(device
->device
, semaphore
, pValue
);
7691 static VkResult WINAPI
wine_vkGetShaderInfoAMD(VkDevice device
, VkPipeline pipeline
, VkShaderStageFlagBits shaderStage
, VkShaderInfoTypeAMD infoType
, size_t *pInfoSize
, void *pInfo
)
7693 TRACE("%p, 0x%s, %#x, %#x, %p, %p\n", device
, wine_dbgstr_longlong(pipeline
), shaderStage
, infoType
, pInfoSize
, pInfo
);
7694 return device
->funcs
.p_vkGetShaderInfoAMD(device
->device
, pipeline
, shaderStage
, infoType
, pInfoSize
, pInfo
);
7697 static VkResult WINAPI
wine_vkGetSwapchainImagesKHR(VkDevice device
, VkSwapchainKHR swapchain
, uint32_t *pSwapchainImageCount
, VkImage
*pSwapchainImages
)
7699 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(swapchain
), pSwapchainImageCount
, pSwapchainImages
);
7700 return device
->funcs
.p_vkGetSwapchainImagesKHR(device
->device
, swapchain
, pSwapchainImageCount
, pSwapchainImages
);
7703 static VkResult WINAPI
wine_vkGetValidationCacheDataEXT(VkDevice device
, VkValidationCacheEXT validationCache
, size_t *pDataSize
, void *pData
)
7705 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(validationCache
), pDataSize
, pData
);
7706 return device
->funcs
.p_vkGetValidationCacheDataEXT(device
->device
, validationCache
, pDataSize
, pData
);
7709 static VkResult WINAPI
wine_vkInitializePerformanceApiINTEL(VkDevice device
, const VkInitializePerformanceApiInfoINTEL
*pInitializeInfo
)
7711 TRACE("%p, %p\n", device
, pInitializeInfo
);
7712 return device
->funcs
.p_vkInitializePerformanceApiINTEL(device
->device
, pInitializeInfo
);
7715 static VkResult WINAPI
wine_vkInvalidateMappedMemoryRanges(VkDevice device
, uint32_t memoryRangeCount
, const VkMappedMemoryRange
*pMemoryRanges
)
7717 #if defined(USE_STRUCT_CONVERSION)
7719 VkMappedMemoryRange_host
*pMemoryRanges_host
;
7720 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
7722 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win_to_host(pMemoryRanges
, memoryRangeCount
);
7723 result
= device
->funcs
.p_vkInvalidateMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges_host
);
7725 free_VkMappedMemoryRange_array(pMemoryRanges_host
, memoryRangeCount
);
7728 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
7729 return device
->funcs
.p_vkInvalidateMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges
);
7733 static VkResult WINAPI
wine_vkMapMemory(VkDevice device
, VkDeviceMemory memory
, VkDeviceSize offset
, VkDeviceSize size
, VkMemoryMapFlags flags
, void **ppData
)
7735 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
);
7736 return device
->funcs
.p_vkMapMemory(device
->device
, memory
, offset
, size
, flags
, ppData
);
7739 static VkResult WINAPI
wine_vkMergePipelineCaches(VkDevice device
, VkPipelineCache dstCache
, uint32_t srcCacheCount
, const VkPipelineCache
*pSrcCaches
)
7741 TRACE("%p, 0x%s, %u, %p\n", device
, wine_dbgstr_longlong(dstCache
), srcCacheCount
, pSrcCaches
);
7742 return device
->funcs
.p_vkMergePipelineCaches(device
->device
, dstCache
, srcCacheCount
, pSrcCaches
);
7745 static VkResult WINAPI
wine_vkMergeValidationCachesEXT(VkDevice device
, VkValidationCacheEXT dstCache
, uint32_t srcCacheCount
, const VkValidationCacheEXT
*pSrcCaches
)
7747 TRACE("%p, 0x%s, %u, %p\n", device
, wine_dbgstr_longlong(dstCache
), srcCacheCount
, pSrcCaches
);
7748 return device
->funcs
.p_vkMergeValidationCachesEXT(device
->device
, dstCache
, srcCacheCount
, pSrcCaches
);
7751 static void WINAPI
wine_vkQueueBeginDebugUtilsLabelEXT(VkQueue queue
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
7753 TRACE("%p, %p\n", queue
, pLabelInfo
);
7754 queue
->device
->funcs
.p_vkQueueBeginDebugUtilsLabelEXT(queue
->queue
, pLabelInfo
);
7757 static VkResult WINAPI
wine_vkQueueBindSparse(VkQueue queue
, uint32_t bindInfoCount
, const VkBindSparseInfo
*pBindInfo
, VkFence fence
)
7759 #if defined(USE_STRUCT_CONVERSION)
7761 VkBindSparseInfo_host
*pBindInfo_host
;
7762 TRACE("%p, %u, %p, 0x%s\n", queue
, bindInfoCount
, pBindInfo
, wine_dbgstr_longlong(fence
));
7764 pBindInfo_host
= convert_VkBindSparseInfo_array_win_to_host(pBindInfo
, bindInfoCount
);
7765 result
= queue
->device
->funcs
.p_vkQueueBindSparse(queue
->queue
, bindInfoCount
, pBindInfo_host
, fence
);
7767 free_VkBindSparseInfo_array(pBindInfo_host
, bindInfoCount
);
7770 TRACE("%p, %u, %p, 0x%s\n", queue
, bindInfoCount
, pBindInfo
, wine_dbgstr_longlong(fence
));
7771 return queue
->device
->funcs
.p_vkQueueBindSparse(queue
->queue
, bindInfoCount
, pBindInfo
, fence
);
7775 static void WINAPI
wine_vkQueueEndDebugUtilsLabelEXT(VkQueue queue
)
7777 TRACE("%p\n", queue
);
7778 queue
->device
->funcs
.p_vkQueueEndDebugUtilsLabelEXT(queue
->queue
);
7781 static void WINAPI
wine_vkQueueInsertDebugUtilsLabelEXT(VkQueue queue
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
7783 TRACE("%p, %p\n", queue
, pLabelInfo
);
7784 queue
->device
->funcs
.p_vkQueueInsertDebugUtilsLabelEXT(queue
->queue
, pLabelInfo
);
7787 static VkResult WINAPI
wine_vkQueuePresentKHR(VkQueue queue
, const VkPresentInfoKHR
*pPresentInfo
)
7789 TRACE("%p, %p\n", queue
, pPresentInfo
);
7790 return queue
->device
->funcs
.p_vkQueuePresentKHR(queue
->queue
, pPresentInfo
);
7793 static VkResult WINAPI
wine_vkQueueSetPerformanceConfigurationINTEL(VkQueue queue
, VkPerformanceConfigurationINTEL configuration
)
7795 TRACE("%p, 0x%s\n", queue
, wine_dbgstr_longlong(configuration
));
7796 return queue
->device
->funcs
.p_vkQueueSetPerformanceConfigurationINTEL(queue
->queue
, configuration
);
7799 static VkResult WINAPI
wine_vkQueueSubmit(VkQueue queue
, uint32_t submitCount
, const VkSubmitInfo
*pSubmits
, VkFence fence
)
7802 VkSubmitInfo
*pSubmits_host
;
7803 TRACE("%p, %u, %p, 0x%s\n", queue
, submitCount
, pSubmits
, wine_dbgstr_longlong(fence
));
7805 pSubmits_host
= convert_VkSubmitInfo_array_win_to_host(pSubmits
, submitCount
);
7806 result
= queue
->device
->funcs
.p_vkQueueSubmit(queue
->queue
, submitCount
, pSubmits_host
, fence
);
7808 free_VkSubmitInfo_array(pSubmits_host
, submitCount
);
7812 static VkResult WINAPI
wine_vkQueueSubmit2KHR(VkQueue queue
, uint32_t submitCount
, const VkSubmitInfo2KHR
*pSubmits
, VkFence fence
)
7814 #if defined(USE_STRUCT_CONVERSION)
7816 VkSubmitInfo2KHR_host
*pSubmits_host
;
7817 TRACE("%p, %u, %p, 0x%s\n", queue
, submitCount
, pSubmits
, wine_dbgstr_longlong(fence
));
7819 pSubmits_host
= convert_VkSubmitInfo2KHR_array_win_to_host(pSubmits
, submitCount
);
7820 result
= queue
->device
->funcs
.p_vkQueueSubmit2KHR(queue
->queue
, submitCount
, pSubmits_host
, fence
);
7822 free_VkSubmitInfo2KHR_array(pSubmits_host
, submitCount
);
7826 VkSubmitInfo2KHR
*pSubmits_host
;
7827 TRACE("%p, %u, %p, 0x%s\n", queue
, submitCount
, pSubmits
, wine_dbgstr_longlong(fence
));
7829 pSubmits_host
= convert_VkSubmitInfo2KHR_array_win_to_host(pSubmits
, submitCount
);
7830 result
= queue
->device
->funcs
.p_vkQueueSubmit2KHR(queue
->queue
, submitCount
, pSubmits_host
, fence
);
7832 free_VkSubmitInfo2KHR_array(pSubmits_host
, submitCount
);
7837 static VkResult WINAPI
wine_vkQueueWaitIdle(VkQueue queue
)
7839 TRACE("%p\n", queue
);
7840 return queue
->device
->funcs
.p_vkQueueWaitIdle(queue
->queue
);
7843 static VkResult WINAPI
wine_vkReleasePerformanceConfigurationINTEL(VkDevice device
, VkPerformanceConfigurationINTEL configuration
)
7845 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(configuration
));
7846 return device
->funcs
.p_vkReleasePerformanceConfigurationINTEL(device
->device
, configuration
);
7849 static void WINAPI
wine_vkReleaseProfilingLockKHR(VkDevice device
)
7851 TRACE("%p\n", device
);
7852 device
->funcs
.p_vkReleaseProfilingLockKHR(device
->device
);
7855 static VkResult WINAPI
wine_vkResetCommandBuffer(VkCommandBuffer commandBuffer
, VkCommandBufferResetFlags flags
)
7857 TRACE("%p, %#x\n", commandBuffer
, flags
);
7858 return commandBuffer
->device
->funcs
.p_vkResetCommandBuffer(commandBuffer
->command_buffer
, flags
);
7861 static VkResult WINAPI
wine_vkResetCommandPool(VkDevice device
, VkCommandPool commandPool
, VkCommandPoolResetFlags flags
)
7863 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(commandPool
), flags
);
7864 return device
->funcs
.p_vkResetCommandPool(device
->device
, wine_cmd_pool_from_handle(commandPool
)->command_pool
, flags
);
7867 static VkResult WINAPI
wine_vkResetDescriptorPool(VkDevice device
, VkDescriptorPool descriptorPool
, VkDescriptorPoolResetFlags flags
)
7869 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(descriptorPool
), flags
);
7870 return device
->funcs
.p_vkResetDescriptorPool(device
->device
, descriptorPool
, flags
);
7873 static VkResult WINAPI
wine_vkResetEvent(VkDevice device
, VkEvent event
)
7875 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(event
));
7876 return device
->funcs
.p_vkResetEvent(device
->device
, event
);
7879 static VkResult WINAPI
wine_vkResetFences(VkDevice device
, uint32_t fenceCount
, const VkFence
*pFences
)
7881 TRACE("%p, %u, %p\n", device
, fenceCount
, pFences
);
7882 return device
->funcs
.p_vkResetFences(device
->device
, fenceCount
, pFences
);
7885 static void WINAPI
wine_vkResetQueryPool(VkDevice device
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
)
7887 TRACE("%p, 0x%s, %u, %u\n", device
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
);
7888 device
->funcs
.p_vkResetQueryPool(device
->device
, queryPool
, firstQuery
, queryCount
);
7891 static void WINAPI
wine_vkResetQueryPoolEXT(VkDevice device
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
)
7893 TRACE("%p, 0x%s, %u, %u\n", device
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
);
7894 device
->funcs
.p_vkResetQueryPoolEXT(device
->device
, queryPool
, firstQuery
, queryCount
);
7897 static VkResult WINAPI
wine_vkSetDebugUtilsObjectNameEXT(VkDevice device
, const VkDebugUtilsObjectNameInfoEXT
*pNameInfo
)
7899 #if defined(USE_STRUCT_CONVERSION)
7901 VkDebugUtilsObjectNameInfoEXT_host pNameInfo_host
;
7902 TRACE("%p, %p\n", device
, pNameInfo
);
7904 convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(pNameInfo
, &pNameInfo_host
);
7905 result
= device
->funcs
.p_vkSetDebugUtilsObjectNameEXT(device
->device
, &pNameInfo_host
);
7910 VkDebugUtilsObjectNameInfoEXT pNameInfo_host
;
7911 TRACE("%p, %p\n", device
, pNameInfo
);
7913 convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(pNameInfo
, &pNameInfo_host
);
7914 result
= device
->funcs
.p_vkSetDebugUtilsObjectNameEXT(device
->device
, &pNameInfo_host
);
7920 static VkResult WINAPI
wine_vkSetDebugUtilsObjectTagEXT(VkDevice device
, const VkDebugUtilsObjectTagInfoEXT
*pTagInfo
)
7922 #if defined(USE_STRUCT_CONVERSION)
7924 VkDebugUtilsObjectTagInfoEXT_host pTagInfo_host
;
7925 TRACE("%p, %p\n", device
, pTagInfo
);
7927 convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(pTagInfo
, &pTagInfo_host
);
7928 result
= device
->funcs
.p_vkSetDebugUtilsObjectTagEXT(device
->device
, &pTagInfo_host
);
7933 VkDebugUtilsObjectTagInfoEXT pTagInfo_host
;
7934 TRACE("%p, %p\n", device
, pTagInfo
);
7936 convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(pTagInfo
, &pTagInfo_host
);
7937 result
= device
->funcs
.p_vkSetDebugUtilsObjectTagEXT(device
->device
, &pTagInfo_host
);
7943 static void WINAPI
wine_vkSetDeviceMemoryPriorityEXT(VkDevice device
, VkDeviceMemory memory
, float priority
)
7945 TRACE("%p, 0x%s, %f\n", device
, wine_dbgstr_longlong(memory
), priority
);
7946 device
->funcs
.p_vkSetDeviceMemoryPriorityEXT(device
->device
, memory
, priority
);
7949 static VkResult WINAPI
wine_vkSetEvent(VkDevice device
, VkEvent event
)
7951 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(event
));
7952 return device
->funcs
.p_vkSetEvent(device
->device
, event
);
7955 static VkResult WINAPI
wine_vkSetPrivateDataEXT(VkDevice device
, VkObjectType objectType
, uint64_t objectHandle
, VkPrivateDataSlotEXT privateDataSlot
, uint64_t data
)
7957 TRACE("%p, %#x, 0x%s, 0x%s, 0x%s\n", device
, objectType
, wine_dbgstr_longlong(objectHandle
), wine_dbgstr_longlong(privateDataSlot
), wine_dbgstr_longlong(data
));
7958 return device
->funcs
.p_vkSetPrivateDataEXT(device
->device
, objectType
, wine_vk_unwrap_handle(objectType
, objectHandle
), privateDataSlot
, data
);
7961 static VkResult WINAPI
wine_vkSignalSemaphore(VkDevice device
, const VkSemaphoreSignalInfo
*pSignalInfo
)
7963 #if defined(USE_STRUCT_CONVERSION)
7965 VkSemaphoreSignalInfo_host pSignalInfo_host
;
7966 TRACE("%p, %p\n", device
, pSignalInfo
);
7968 convert_VkSemaphoreSignalInfo_win_to_host(pSignalInfo
, &pSignalInfo_host
);
7969 result
= device
->funcs
.p_vkSignalSemaphore(device
->device
, &pSignalInfo_host
);
7973 TRACE("%p, %p\n", device
, pSignalInfo
);
7974 return device
->funcs
.p_vkSignalSemaphore(device
->device
, pSignalInfo
);
7978 static VkResult WINAPI
wine_vkSignalSemaphoreKHR(VkDevice device
, const VkSemaphoreSignalInfo
*pSignalInfo
)
7980 #if defined(USE_STRUCT_CONVERSION)
7982 VkSemaphoreSignalInfo_host pSignalInfo_host
;
7983 TRACE("%p, %p\n", device
, pSignalInfo
);
7985 convert_VkSemaphoreSignalInfo_win_to_host(pSignalInfo
, &pSignalInfo_host
);
7986 result
= device
->funcs
.p_vkSignalSemaphoreKHR(device
->device
, &pSignalInfo_host
);
7990 TRACE("%p, %p\n", device
, pSignalInfo
);
7991 return device
->funcs
.p_vkSignalSemaphoreKHR(device
->device
, pSignalInfo
);
7995 static void WINAPI
wine_vkSubmitDebugUtilsMessageEXT(VkInstance instance
, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity
, VkDebugUtilsMessageTypeFlagsEXT messageTypes
, const VkDebugUtilsMessengerCallbackDataEXT
*pCallbackData
)
7997 #if defined(USE_STRUCT_CONVERSION)
7998 VkDebugUtilsMessengerCallbackDataEXT_host pCallbackData_host
;
7999 TRACE("%p, %#x, %#x, %p\n", instance
, messageSeverity
, messageTypes
, pCallbackData
);
8001 convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(pCallbackData
, &pCallbackData_host
);
8002 instance
->funcs
.p_vkSubmitDebugUtilsMessageEXT(instance
->instance
, messageSeverity
, messageTypes
, &pCallbackData_host
);
8004 free_VkDebugUtilsMessengerCallbackDataEXT(&pCallbackData_host
);
8006 VkDebugUtilsMessengerCallbackDataEXT pCallbackData_host
;
8007 TRACE("%p, %#x, %#x, %p\n", instance
, messageSeverity
, messageTypes
, pCallbackData
);
8009 convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(pCallbackData
, &pCallbackData_host
);
8010 instance
->funcs
.p_vkSubmitDebugUtilsMessageEXT(instance
->instance
, messageSeverity
, messageTypes
, &pCallbackData_host
);
8012 free_VkDebugUtilsMessengerCallbackDataEXT(&pCallbackData_host
);
8016 static void WINAPI
wine_vkTrimCommandPool(VkDevice device
, VkCommandPool commandPool
, VkCommandPoolTrimFlags flags
)
8018 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(commandPool
), flags
);
8019 device
->funcs
.p_vkTrimCommandPool(device
->device
, wine_cmd_pool_from_handle(commandPool
)->command_pool
, flags
);
8022 static void WINAPI
wine_vkTrimCommandPoolKHR(VkDevice device
, VkCommandPool commandPool
, VkCommandPoolTrimFlags flags
)
8024 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(commandPool
), flags
);
8025 device
->funcs
.p_vkTrimCommandPoolKHR(device
->device
, wine_cmd_pool_from_handle(commandPool
)->command_pool
, flags
);
8028 static void WINAPI
wine_vkUninitializePerformanceApiINTEL(VkDevice device
)
8030 TRACE("%p\n", device
);
8031 device
->funcs
.p_vkUninitializePerformanceApiINTEL(device
->device
);
8034 static void WINAPI
wine_vkUnmapMemory(VkDevice device
, VkDeviceMemory memory
)
8036 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(memory
));
8037 device
->funcs
.p_vkUnmapMemory(device
->device
, memory
);
8040 static void WINAPI
wine_vkUpdateDescriptorSetWithTemplate(VkDevice device
, VkDescriptorSet descriptorSet
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const void *pData
)
8042 TRACE("%p, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorSet
), wine_dbgstr_longlong(descriptorUpdateTemplate
), pData
);
8043 device
->funcs
.p_vkUpdateDescriptorSetWithTemplate(device
->device
, descriptorSet
, descriptorUpdateTemplate
, pData
);
8046 static void WINAPI
wine_vkUpdateDescriptorSetWithTemplateKHR(VkDevice device
, VkDescriptorSet descriptorSet
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const void *pData
)
8048 TRACE("%p, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorSet
), wine_dbgstr_longlong(descriptorUpdateTemplate
), pData
);
8049 device
->funcs
.p_vkUpdateDescriptorSetWithTemplateKHR(device
->device
, descriptorSet
, descriptorUpdateTemplate
, pData
);
8052 static void WINAPI
wine_vkUpdateDescriptorSets(VkDevice device
, uint32_t descriptorWriteCount
, const VkWriteDescriptorSet
*pDescriptorWrites
, uint32_t descriptorCopyCount
, const VkCopyDescriptorSet
*pDescriptorCopies
)
8054 #if defined(USE_STRUCT_CONVERSION)
8055 VkWriteDescriptorSet_host
*pDescriptorWrites_host
;
8056 VkCopyDescriptorSet_host
*pDescriptorCopies_host
;
8057 TRACE("%p, %u, %p, %u, %p\n", device
, descriptorWriteCount
, pDescriptorWrites
, descriptorCopyCount
, pDescriptorCopies
);
8059 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win_to_host(pDescriptorWrites
, descriptorWriteCount
);
8060 pDescriptorCopies_host
= convert_VkCopyDescriptorSet_array_win_to_host(pDescriptorCopies
, descriptorCopyCount
);
8061 device
->funcs
.p_vkUpdateDescriptorSets(device
->device
, descriptorWriteCount
, pDescriptorWrites_host
, descriptorCopyCount
, pDescriptorCopies_host
);
8063 free_VkWriteDescriptorSet_array(pDescriptorWrites_host
, descriptorWriteCount
);
8064 free_VkCopyDescriptorSet_array(pDescriptorCopies_host
, descriptorCopyCount
);
8066 TRACE("%p, %u, %p, %u, %p\n", device
, descriptorWriteCount
, pDescriptorWrites
, descriptorCopyCount
, pDescriptorCopies
);
8067 device
->funcs
.p_vkUpdateDescriptorSets(device
->device
, descriptorWriteCount
, pDescriptorWrites
, descriptorCopyCount
, pDescriptorCopies
);
8071 static VkResult WINAPI
wine_vkWaitForFences(VkDevice device
, uint32_t fenceCount
, const VkFence
*pFences
, VkBool32 waitAll
, uint64_t timeout
)
8073 TRACE("%p, %u, %p, %u, 0x%s\n", device
, fenceCount
, pFences
, waitAll
, wine_dbgstr_longlong(timeout
));
8074 return device
->funcs
.p_vkWaitForFences(device
->device
, fenceCount
, pFences
, waitAll
, timeout
);
8077 static VkResult WINAPI
wine_vkWaitForPresentKHR(VkDevice device
, VkSwapchainKHR swapchain
, uint64_t presentId
, uint64_t timeout
)
8079 TRACE("%p, 0x%s, 0x%s, 0x%s\n", device
, wine_dbgstr_longlong(swapchain
), wine_dbgstr_longlong(presentId
), wine_dbgstr_longlong(timeout
));
8080 return device
->funcs
.p_vkWaitForPresentKHR(device
->device
, swapchain
, presentId
, timeout
);
8083 static VkResult WINAPI
wine_vkWaitSemaphores(VkDevice device
, const VkSemaphoreWaitInfo
*pWaitInfo
, uint64_t timeout
)
8085 TRACE("%p, %p, 0x%s\n", device
, pWaitInfo
, wine_dbgstr_longlong(timeout
));
8086 return device
->funcs
.p_vkWaitSemaphores(device
->device
, pWaitInfo
, timeout
);
8089 static VkResult WINAPI
wine_vkWaitSemaphoresKHR(VkDevice device
, const VkSemaphoreWaitInfo
*pWaitInfo
, uint64_t timeout
)
8091 TRACE("%p, %p, 0x%s\n", device
, pWaitInfo
, wine_dbgstr_longlong(timeout
));
8092 return device
->funcs
.p_vkWaitSemaphoresKHR(device
->device
, pWaitInfo
, timeout
);
8095 static VkResult WINAPI
wine_vkWriteAccelerationStructuresPropertiesKHR(VkDevice device
, uint32_t accelerationStructureCount
, const VkAccelerationStructureKHR
*pAccelerationStructures
, VkQueryType queryType
, size_t dataSize
, void *pData
, size_t stride
)
8097 TRACE("%p, %u, %p, %#x, 0x%s, %p, 0x%s\n", device
, accelerationStructureCount
, pAccelerationStructures
, queryType
, wine_dbgstr_longlong(dataSize
), pData
, wine_dbgstr_longlong(stride
));
8098 return device
->funcs
.p_vkWriteAccelerationStructuresPropertiesKHR(device
->device
, accelerationStructureCount
, pAccelerationStructures
, queryType
, dataSize
, pData
, stride
);
8101 static const char * const vk_device_extensions
[] =
8103 "VK_AMD_buffer_marker",
8104 "VK_AMD_device_coherent_memory",
8105 "VK_AMD_draw_indirect_count",
8106 "VK_AMD_gcn_shader",
8107 "VK_AMD_gpu_shader_half_float",
8108 "VK_AMD_gpu_shader_int16",
8109 "VK_AMD_memory_overallocation_behavior",
8110 "VK_AMD_mixed_attachment_samples",
8111 "VK_AMD_negative_viewport_height",
8112 "VK_AMD_pipeline_compiler_control",
8113 "VK_AMD_rasterization_order",
8114 "VK_AMD_shader_ballot",
8115 "VK_AMD_shader_core_properties",
8116 "VK_AMD_shader_core_properties2",
8117 "VK_AMD_shader_explicit_vertex_parameter",
8118 "VK_AMD_shader_fragment_mask",
8119 "VK_AMD_shader_image_load_store_lod",
8120 "VK_AMD_shader_info",
8121 "VK_AMD_shader_trinary_minmax",
8122 "VK_AMD_texture_gather_bias_lod",
8123 "VK_EXT_4444_formats",
8124 "VK_EXT_astc_decode_mode",
8125 "VK_EXT_blend_operation_advanced",
8126 "VK_EXT_buffer_device_address",
8127 "VK_EXT_calibrated_timestamps",
8128 "VK_EXT_color_write_enable",
8129 "VK_EXT_conditional_rendering",
8130 "VK_EXT_conservative_rasterization",
8131 "VK_EXT_custom_border_color",
8132 "VK_EXT_debug_marker",
8133 "VK_EXT_depth_clip_enable",
8134 "VK_EXT_depth_range_unrestricted",
8135 "VK_EXT_descriptor_indexing",
8136 "VK_EXT_discard_rectangles",
8137 "VK_EXT_extended_dynamic_state",
8138 "VK_EXT_extended_dynamic_state2",
8139 "VK_EXT_external_memory_host",
8140 "VK_EXT_filter_cubic",
8141 "VK_EXT_fragment_density_map",
8142 "VK_EXT_fragment_density_map2",
8143 "VK_EXT_fragment_shader_interlock",
8144 "VK_EXT_global_priority",
8145 "VK_EXT_global_priority_query",
8146 "VK_EXT_host_query_reset",
8147 "VK_EXT_image_robustness",
8148 "VK_EXT_index_type_uint8",
8149 "VK_EXT_inline_uniform_block",
8150 "VK_EXT_line_rasterization",
8151 "VK_EXT_load_store_op_none",
8152 "VK_EXT_memory_budget",
8153 "VK_EXT_memory_priority",
8154 "VK_EXT_multi_draw",
8155 "VK_EXT_pageable_device_local_memory",
8156 "VK_EXT_pci_bus_info",
8157 "VK_EXT_pipeline_creation_cache_control",
8158 "VK_EXT_post_depth_coverage",
8159 "VK_EXT_primitive_topology_list_restart",
8160 "VK_EXT_private_data",
8161 "VK_EXT_provoking_vertex",
8162 "VK_EXT_queue_family_foreign",
8163 "VK_EXT_robustness2",
8164 "VK_EXT_sample_locations",
8165 "VK_EXT_sampler_filter_minmax",
8166 "VK_EXT_scalar_block_layout",
8167 "VK_EXT_separate_stencil_usage",
8168 "VK_EXT_shader_atomic_float",
8169 "VK_EXT_shader_atomic_float2",
8170 "VK_EXT_shader_demote_to_helper_invocation",
8171 "VK_EXT_shader_image_atomic_int64",
8172 "VK_EXT_shader_stencil_export",
8173 "VK_EXT_shader_subgroup_ballot",
8174 "VK_EXT_shader_subgroup_vote",
8175 "VK_EXT_shader_viewport_index_layer",
8176 "VK_EXT_subgroup_size_control",
8177 "VK_EXT_texel_buffer_alignment",
8178 "VK_EXT_texture_compression_astc_hdr",
8179 "VK_EXT_tooling_info",
8180 "VK_EXT_transform_feedback",
8181 "VK_EXT_validation_cache",
8182 "VK_EXT_vertex_attribute_divisor",
8183 "VK_EXT_vertex_input_dynamic_state",
8184 "VK_EXT_ycbcr_2plane_444_formats",
8185 "VK_EXT_ycbcr_image_arrays",
8186 "VK_GOOGLE_decorate_string",
8187 "VK_GOOGLE_hlsl_functionality1",
8188 "VK_GOOGLE_user_type",
8189 "VK_HUAWEI_invocation_mask",
8190 "VK_HUAWEI_subpass_shading",
8191 "VK_IMG_filter_cubic",
8192 "VK_IMG_format_pvrtc",
8193 "VK_INTEL_performance_query",
8194 "VK_INTEL_shader_integer_functions2",
8195 "VK_KHR_16bit_storage",
8196 "VK_KHR_8bit_storage",
8197 "VK_KHR_acceleration_structure",
8198 "VK_KHR_bind_memory2",
8199 "VK_KHR_buffer_device_address",
8200 "VK_KHR_copy_commands2",
8201 "VK_KHR_create_renderpass2",
8202 "VK_KHR_dedicated_allocation",
8203 "VK_KHR_deferred_host_operations",
8204 "VK_KHR_depth_stencil_resolve",
8205 "VK_KHR_descriptor_update_template",
8206 "VK_KHR_device_group",
8207 "VK_KHR_draw_indirect_count",
8208 "VK_KHR_driver_properties",
8209 "VK_KHR_external_fence",
8210 "VK_KHR_external_memory",
8211 "VK_KHR_external_semaphore",
8212 "VK_KHR_fragment_shading_rate",
8213 "VK_KHR_get_memory_requirements2",
8214 "VK_KHR_image_format_list",
8215 "VK_KHR_imageless_framebuffer",
8216 "VK_KHR_incremental_present",
8217 "VK_KHR_maintenance1",
8218 "VK_KHR_maintenance2",
8219 "VK_KHR_maintenance3",
8221 "VK_KHR_performance_query",
8222 "VK_KHR_pipeline_executable_properties",
8223 "VK_KHR_pipeline_library",
8224 "VK_KHR_present_id",
8225 "VK_KHR_present_wait",
8226 "VK_KHR_push_descriptor",
8228 "VK_KHR_ray_tracing_pipeline",
8229 "VK_KHR_relaxed_block_layout",
8230 "VK_KHR_sampler_mirror_clamp_to_edge",
8231 "VK_KHR_sampler_ycbcr_conversion",
8232 "VK_KHR_separate_depth_stencil_layouts",
8233 "VK_KHR_shader_atomic_int64",
8234 "VK_KHR_shader_clock",
8235 "VK_KHR_shader_draw_parameters",
8236 "VK_KHR_shader_float16_int8",
8237 "VK_KHR_shader_float_controls",
8238 "VK_KHR_shader_integer_dot_product",
8239 "VK_KHR_shader_non_semantic_info",
8240 "VK_KHR_shader_subgroup_extended_types",
8241 "VK_KHR_shader_subgroup_uniform_control_flow",
8242 "VK_KHR_shader_terminate_invocation",
8244 "VK_KHR_storage_buffer_storage_class",
8246 "VK_KHR_swapchain_mutable_format",
8247 "VK_KHR_synchronization2",
8248 "VK_KHR_timeline_semaphore",
8249 "VK_KHR_uniform_buffer_standard_layout",
8250 "VK_KHR_variable_pointers",
8251 "VK_KHR_vulkan_memory_model",
8252 "VK_KHR_workgroup_memory_explicit_layout",
8253 "VK_KHR_zero_initialize_workgroup_memory",
8254 "VK_NVX_binary_import",
8255 "VK_NVX_image_view_handle",
8256 "VK_NV_clip_space_w_scaling",
8257 "VK_NV_compute_shader_derivatives",
8258 "VK_NV_cooperative_matrix",
8259 "VK_NV_corner_sampled_image",
8260 "VK_NV_coverage_reduction_mode",
8261 "VK_NV_dedicated_allocation",
8262 "VK_NV_dedicated_allocation_image_aliasing",
8263 "VK_NV_device_diagnostic_checkpoints",
8264 "VK_NV_device_diagnostics_config",
8265 "VK_NV_device_generated_commands",
8266 "VK_NV_fill_rectangle",
8267 "VK_NV_fragment_coverage_to_color",
8268 "VK_NV_fragment_shader_barycentric",
8269 "VK_NV_fragment_shading_rate_enums",
8270 "VK_NV_framebuffer_mixed_samples",
8271 "VK_NV_geometry_shader_passthrough",
8272 "VK_NV_glsl_shader",
8273 "VK_NV_inherited_viewport_scissor",
8274 "VK_NV_mesh_shader",
8275 "VK_NV_ray_tracing",
8276 "VK_NV_ray_tracing_motion_blur",
8277 "VK_NV_representative_fragment_test",
8278 "VK_NV_sample_mask_override_coverage",
8279 "VK_NV_scissor_exclusive",
8280 "VK_NV_shader_image_footprint",
8281 "VK_NV_shader_sm_builtins",
8282 "VK_NV_shader_subgroup_partitioned",
8283 "VK_NV_shading_rate_image",
8284 "VK_NV_viewport_array2",
8285 "VK_NV_viewport_swizzle",
8286 "VK_QCOM_render_pass_shader_resolve",
8287 "VK_QCOM_render_pass_store_ops",
8288 "VK_QCOM_render_pass_transform",
8289 "VK_QCOM_rotated_copy_commands",
8290 "VK_VALVE_mutable_descriptor_type",
8293 static const char * const vk_instance_extensions
[] =
8295 "VK_EXT_debug_report",
8296 "VK_EXT_debug_utils",
8297 "VK_EXT_swapchain_colorspace",
8298 "VK_EXT_validation_features",
8299 "VK_EXT_validation_flags",
8300 "VK_KHR_device_group_creation",
8301 "VK_KHR_external_fence_capabilities",
8302 "VK_KHR_external_memory_capabilities",
8303 "VK_KHR_external_semaphore_capabilities",
8304 "VK_KHR_get_physical_device_properties2",
8305 "VK_KHR_get_surface_capabilities2",
8307 "VK_KHR_win32_surface",
8310 BOOL
wine_vk_device_extension_supported(const char *name
)
8313 for (i
= 0; i
< ARRAY_SIZE(vk_device_extensions
); i
++)
8315 if (strcmp(vk_device_extensions
[i
], name
) == 0)
8321 BOOL
wine_vk_instance_extension_supported(const char *name
)
8324 for (i
= 0; i
< ARRAY_SIZE(vk_instance_extensions
); i
++)
8326 if (strcmp(vk_instance_extensions
[i
], name
) == 0)
8332 BOOL
wine_vk_is_type_wrapped(VkObjectType type
)
8335 type
== VK_OBJECT_TYPE_COMMAND_BUFFER
||
8336 type
== VK_OBJECT_TYPE_COMMAND_POOL
||
8337 type
== VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
||
8338 type
== VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
||
8339 type
== VK_OBJECT_TYPE_DEVICE
||
8340 type
== VK_OBJECT_TYPE_INSTANCE
||
8341 type
== VK_OBJECT_TYPE_PHYSICAL_DEVICE
||
8342 type
== VK_OBJECT_TYPE_QUEUE
||
8343 type
== VK_OBJECT_TYPE_SURFACE_KHR
;
8346 uint64_t wine_vk_unwrap_handle(VkObjectType type
, uint64_t handle
)
8350 case VK_OBJECT_TYPE_COMMAND_BUFFER
:
8351 return (uint64_t) (uintptr_t) ((VkCommandBuffer
) (uintptr_t) handle
)->command_buffer
;
8352 case VK_OBJECT_TYPE_COMMAND_POOL
:
8353 return (uint64_t) wine_cmd_pool_from_handle(handle
)->command_pool
;
8354 case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
:
8355 return (uint64_t) wine_debug_report_callback_from_handle(handle
)->debug_callback
;
8356 case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
:
8357 return (uint64_t) wine_debug_utils_messenger_from_handle(handle
)->debug_messenger
;
8358 case VK_OBJECT_TYPE_DEVICE
:
8359 return (uint64_t) (uintptr_t) ((VkDevice
) (uintptr_t) handle
)->device
;
8360 case VK_OBJECT_TYPE_INSTANCE
:
8361 return (uint64_t) (uintptr_t) ((VkInstance
) (uintptr_t) handle
)->instance
;
8362 case VK_OBJECT_TYPE_PHYSICAL_DEVICE
:
8363 return (uint64_t) (uintptr_t) ((VkPhysicalDevice
) (uintptr_t) handle
)->phys_dev
;
8364 case VK_OBJECT_TYPE_QUEUE
:
8365 return (uint64_t) (uintptr_t) ((VkQueue
) (uintptr_t) handle
)->queue
;
8366 case VK_OBJECT_TYPE_SURFACE_KHR
:
8367 return (uint64_t) wine_surface_from_handle(handle
)->surface
;
8373 const struct unix_funcs loader_funcs
=
8375 &wine_vkAcquireNextImage2KHR
,
8376 &wine_vkAcquireNextImageKHR
,
8377 &wine_vkAcquirePerformanceConfigurationINTEL
,
8378 &wine_vkAcquireProfilingLockKHR
,
8379 &wine_vkAllocateCommandBuffers
,
8380 &wine_vkAllocateDescriptorSets
,
8381 &wine_vkAllocateMemory
,
8382 &wine_vkBeginCommandBuffer
,
8383 &wine_vkBindAccelerationStructureMemoryNV
,
8384 &wine_vkBindBufferMemory
,
8385 &wine_vkBindBufferMemory2
,
8386 &wine_vkBindBufferMemory2KHR
,
8387 &wine_vkBindImageMemory
,
8388 &wine_vkBindImageMemory2
,
8389 &wine_vkBindImageMemory2KHR
,
8390 &wine_vkBuildAccelerationStructuresKHR
,
8391 &wine_vkCmdBeginConditionalRenderingEXT
,
8392 &wine_vkCmdBeginDebugUtilsLabelEXT
,
8393 &wine_vkCmdBeginQuery
,
8394 &wine_vkCmdBeginQueryIndexedEXT
,
8395 &wine_vkCmdBeginRenderPass
,
8396 &wine_vkCmdBeginRenderPass2
,
8397 &wine_vkCmdBeginRenderPass2KHR
,
8398 &wine_vkCmdBeginTransformFeedbackEXT
,
8399 &wine_vkCmdBindDescriptorSets
,
8400 &wine_vkCmdBindIndexBuffer
,
8401 &wine_vkCmdBindInvocationMaskHUAWEI
,
8402 &wine_vkCmdBindPipeline
,
8403 &wine_vkCmdBindPipelineShaderGroupNV
,
8404 &wine_vkCmdBindShadingRateImageNV
,
8405 &wine_vkCmdBindTransformFeedbackBuffersEXT
,
8406 &wine_vkCmdBindVertexBuffers
,
8407 &wine_vkCmdBindVertexBuffers2EXT
,
8408 &wine_vkCmdBlitImage
,
8409 &wine_vkCmdBlitImage2KHR
,
8410 &wine_vkCmdBuildAccelerationStructureNV
,
8411 &wine_vkCmdBuildAccelerationStructuresIndirectKHR
,
8412 &wine_vkCmdBuildAccelerationStructuresKHR
,
8413 &wine_vkCmdClearAttachments
,
8414 &wine_vkCmdClearColorImage
,
8415 &wine_vkCmdClearDepthStencilImage
,
8416 &wine_vkCmdCopyAccelerationStructureKHR
,
8417 &wine_vkCmdCopyAccelerationStructureNV
,
8418 &wine_vkCmdCopyAccelerationStructureToMemoryKHR
,
8419 &wine_vkCmdCopyBuffer
,
8420 &wine_vkCmdCopyBuffer2KHR
,
8421 &wine_vkCmdCopyBufferToImage
,
8422 &wine_vkCmdCopyBufferToImage2KHR
,
8423 &wine_vkCmdCopyImage
,
8424 &wine_vkCmdCopyImage2KHR
,
8425 &wine_vkCmdCopyImageToBuffer
,
8426 &wine_vkCmdCopyImageToBuffer2KHR
,
8427 &wine_vkCmdCopyMemoryToAccelerationStructureKHR
,
8428 &wine_vkCmdCopyQueryPoolResults
,
8429 &wine_vkCmdCuLaunchKernelNVX
,
8430 &wine_vkCmdDebugMarkerBeginEXT
,
8431 &wine_vkCmdDebugMarkerEndEXT
,
8432 &wine_vkCmdDebugMarkerInsertEXT
,
8433 &wine_vkCmdDispatch
,
8434 &wine_vkCmdDispatchBase
,
8435 &wine_vkCmdDispatchBaseKHR
,
8436 &wine_vkCmdDispatchIndirect
,
8438 &wine_vkCmdDrawIndexed
,
8439 &wine_vkCmdDrawIndexedIndirect
,
8440 &wine_vkCmdDrawIndexedIndirectCount
,
8441 &wine_vkCmdDrawIndexedIndirectCountAMD
,
8442 &wine_vkCmdDrawIndexedIndirectCountKHR
,
8443 &wine_vkCmdDrawIndirect
,
8444 &wine_vkCmdDrawIndirectByteCountEXT
,
8445 &wine_vkCmdDrawIndirectCount
,
8446 &wine_vkCmdDrawIndirectCountAMD
,
8447 &wine_vkCmdDrawIndirectCountKHR
,
8448 &wine_vkCmdDrawMeshTasksIndirectCountNV
,
8449 &wine_vkCmdDrawMeshTasksIndirectNV
,
8450 &wine_vkCmdDrawMeshTasksNV
,
8451 &wine_vkCmdDrawMultiEXT
,
8452 &wine_vkCmdDrawMultiIndexedEXT
,
8453 &wine_vkCmdEndConditionalRenderingEXT
,
8454 &wine_vkCmdEndDebugUtilsLabelEXT
,
8455 &wine_vkCmdEndQuery
,
8456 &wine_vkCmdEndQueryIndexedEXT
,
8457 &wine_vkCmdEndRenderPass
,
8458 &wine_vkCmdEndRenderPass2
,
8459 &wine_vkCmdEndRenderPass2KHR
,
8460 &wine_vkCmdEndTransformFeedbackEXT
,
8461 &wine_vkCmdExecuteCommands
,
8462 &wine_vkCmdExecuteGeneratedCommandsNV
,
8463 &wine_vkCmdFillBuffer
,
8464 &wine_vkCmdInsertDebugUtilsLabelEXT
,
8465 &wine_vkCmdNextSubpass
,
8466 &wine_vkCmdNextSubpass2
,
8467 &wine_vkCmdNextSubpass2KHR
,
8468 &wine_vkCmdPipelineBarrier
,
8469 &wine_vkCmdPipelineBarrier2KHR
,
8470 &wine_vkCmdPreprocessGeneratedCommandsNV
,
8471 &wine_vkCmdPushConstants
,
8472 &wine_vkCmdPushDescriptorSetKHR
,
8473 &wine_vkCmdPushDescriptorSetWithTemplateKHR
,
8474 &wine_vkCmdResetEvent
,
8475 &wine_vkCmdResetEvent2KHR
,
8476 &wine_vkCmdResetQueryPool
,
8477 &wine_vkCmdResolveImage
,
8478 &wine_vkCmdResolveImage2KHR
,
8479 &wine_vkCmdSetBlendConstants
,
8480 &wine_vkCmdSetCheckpointNV
,
8481 &wine_vkCmdSetCoarseSampleOrderNV
,
8482 &wine_vkCmdSetColorWriteEnableEXT
,
8483 &wine_vkCmdSetCullModeEXT
,
8484 &wine_vkCmdSetDepthBias
,
8485 &wine_vkCmdSetDepthBiasEnableEXT
,
8486 &wine_vkCmdSetDepthBounds
,
8487 &wine_vkCmdSetDepthBoundsTestEnableEXT
,
8488 &wine_vkCmdSetDepthCompareOpEXT
,
8489 &wine_vkCmdSetDepthTestEnableEXT
,
8490 &wine_vkCmdSetDepthWriteEnableEXT
,
8491 &wine_vkCmdSetDeviceMask
,
8492 &wine_vkCmdSetDeviceMaskKHR
,
8493 &wine_vkCmdSetDiscardRectangleEXT
,
8494 &wine_vkCmdSetEvent
,
8495 &wine_vkCmdSetEvent2KHR
,
8496 &wine_vkCmdSetExclusiveScissorNV
,
8497 &wine_vkCmdSetFragmentShadingRateEnumNV
,
8498 &wine_vkCmdSetFragmentShadingRateKHR
,
8499 &wine_vkCmdSetFrontFaceEXT
,
8500 &wine_vkCmdSetLineStippleEXT
,
8501 &wine_vkCmdSetLineWidth
,
8502 &wine_vkCmdSetLogicOpEXT
,
8503 &wine_vkCmdSetPatchControlPointsEXT
,
8504 &wine_vkCmdSetPerformanceMarkerINTEL
,
8505 &wine_vkCmdSetPerformanceOverrideINTEL
,
8506 &wine_vkCmdSetPerformanceStreamMarkerINTEL
,
8507 &wine_vkCmdSetPrimitiveRestartEnableEXT
,
8508 &wine_vkCmdSetPrimitiveTopologyEXT
,
8509 &wine_vkCmdSetRasterizerDiscardEnableEXT
,
8510 &wine_vkCmdSetRayTracingPipelineStackSizeKHR
,
8511 &wine_vkCmdSetSampleLocationsEXT
,
8512 &wine_vkCmdSetScissor
,
8513 &wine_vkCmdSetScissorWithCountEXT
,
8514 &wine_vkCmdSetStencilCompareMask
,
8515 &wine_vkCmdSetStencilOpEXT
,
8516 &wine_vkCmdSetStencilReference
,
8517 &wine_vkCmdSetStencilTestEnableEXT
,
8518 &wine_vkCmdSetStencilWriteMask
,
8519 &wine_vkCmdSetVertexInputEXT
,
8520 &wine_vkCmdSetViewport
,
8521 &wine_vkCmdSetViewportShadingRatePaletteNV
,
8522 &wine_vkCmdSetViewportWScalingNV
,
8523 &wine_vkCmdSetViewportWithCountEXT
,
8524 &wine_vkCmdSubpassShadingHUAWEI
,
8525 &wine_vkCmdTraceRaysIndirectKHR
,
8526 &wine_vkCmdTraceRaysKHR
,
8527 &wine_vkCmdTraceRaysNV
,
8528 &wine_vkCmdUpdateBuffer
,
8529 &wine_vkCmdWaitEvents
,
8530 &wine_vkCmdWaitEvents2KHR
,
8531 &wine_vkCmdWriteAccelerationStructuresPropertiesKHR
,
8532 &wine_vkCmdWriteAccelerationStructuresPropertiesNV
,
8533 &wine_vkCmdWriteBufferMarker2AMD
,
8534 &wine_vkCmdWriteBufferMarkerAMD
,
8535 &wine_vkCmdWriteTimestamp
,
8536 &wine_vkCmdWriteTimestamp2KHR
,
8537 &wine_vkCompileDeferredNV
,
8538 &wine_vkCopyAccelerationStructureKHR
,
8539 &wine_vkCopyAccelerationStructureToMemoryKHR
,
8540 &wine_vkCopyMemoryToAccelerationStructureKHR
,
8541 &wine_vkCreateAccelerationStructureKHR
,
8542 &wine_vkCreateAccelerationStructureNV
,
8543 &wine_vkCreateBuffer
,
8544 &wine_vkCreateBufferView
,
8545 &wine_vkCreateCommandPool
,
8546 &wine_vkCreateComputePipelines
,
8547 &wine_vkCreateCuFunctionNVX
,
8548 &wine_vkCreateCuModuleNVX
,
8549 &wine_vkCreateDebugReportCallbackEXT
,
8550 &wine_vkCreateDebugUtilsMessengerEXT
,
8551 &wine_vkCreateDeferredOperationKHR
,
8552 &wine_vkCreateDescriptorPool
,
8553 &wine_vkCreateDescriptorSetLayout
,
8554 &wine_vkCreateDescriptorUpdateTemplate
,
8555 &wine_vkCreateDescriptorUpdateTemplateKHR
,
8556 &wine_vkCreateDevice
,
8557 &wine_vkCreateEvent
,
8558 &wine_vkCreateFence
,
8559 &wine_vkCreateFramebuffer
,
8560 &wine_vkCreateGraphicsPipelines
,
8561 &wine_vkCreateImage
,
8562 &wine_vkCreateImageView
,
8563 &wine_vkCreateIndirectCommandsLayoutNV
,
8564 &wine_vkCreateInstance
,
8565 &wine_vkCreatePipelineCache
,
8566 &wine_vkCreatePipelineLayout
,
8567 &wine_vkCreatePrivateDataSlotEXT
,
8568 &wine_vkCreateQueryPool
,
8569 &wine_vkCreateRayTracingPipelinesKHR
,
8570 &wine_vkCreateRayTracingPipelinesNV
,
8571 &wine_vkCreateRenderPass
,
8572 &wine_vkCreateRenderPass2
,
8573 &wine_vkCreateRenderPass2KHR
,
8574 &wine_vkCreateSampler
,
8575 &wine_vkCreateSamplerYcbcrConversion
,
8576 &wine_vkCreateSamplerYcbcrConversionKHR
,
8577 &wine_vkCreateSemaphore
,
8578 &wine_vkCreateShaderModule
,
8579 &wine_vkCreateSwapchainKHR
,
8580 &wine_vkCreateValidationCacheEXT
,
8581 &wine_vkCreateWin32SurfaceKHR
,
8582 &wine_vkDebugMarkerSetObjectNameEXT
,
8583 &wine_vkDebugMarkerSetObjectTagEXT
,
8584 &wine_vkDebugReportMessageEXT
,
8585 &wine_vkDeferredOperationJoinKHR
,
8586 &wine_vkDestroyAccelerationStructureKHR
,
8587 &wine_vkDestroyAccelerationStructureNV
,
8588 &wine_vkDestroyBuffer
,
8589 &wine_vkDestroyBufferView
,
8590 &wine_vkDestroyCommandPool
,
8591 &wine_vkDestroyCuFunctionNVX
,
8592 &wine_vkDestroyCuModuleNVX
,
8593 &wine_vkDestroyDebugReportCallbackEXT
,
8594 &wine_vkDestroyDebugUtilsMessengerEXT
,
8595 &wine_vkDestroyDeferredOperationKHR
,
8596 &wine_vkDestroyDescriptorPool
,
8597 &wine_vkDestroyDescriptorSetLayout
,
8598 &wine_vkDestroyDescriptorUpdateTemplate
,
8599 &wine_vkDestroyDescriptorUpdateTemplateKHR
,
8600 &wine_vkDestroyDevice
,
8601 &wine_vkDestroyEvent
,
8602 &wine_vkDestroyFence
,
8603 &wine_vkDestroyFramebuffer
,
8604 &wine_vkDestroyImage
,
8605 &wine_vkDestroyImageView
,
8606 &wine_vkDestroyIndirectCommandsLayoutNV
,
8607 &wine_vkDestroyInstance
,
8608 &wine_vkDestroyPipeline
,
8609 &wine_vkDestroyPipelineCache
,
8610 &wine_vkDestroyPipelineLayout
,
8611 &wine_vkDestroyPrivateDataSlotEXT
,
8612 &wine_vkDestroyQueryPool
,
8613 &wine_vkDestroyRenderPass
,
8614 &wine_vkDestroySampler
,
8615 &wine_vkDestroySamplerYcbcrConversion
,
8616 &wine_vkDestroySamplerYcbcrConversionKHR
,
8617 &wine_vkDestroySemaphore
,
8618 &wine_vkDestroyShaderModule
,
8619 &wine_vkDestroySurfaceKHR
,
8620 &wine_vkDestroySwapchainKHR
,
8621 &wine_vkDestroyValidationCacheEXT
,
8622 &wine_vkDeviceWaitIdle
,
8623 &wine_vkEndCommandBuffer
,
8624 &wine_vkEnumerateDeviceExtensionProperties
,
8625 &wine_vkEnumerateDeviceLayerProperties
,
8626 &wine_vkEnumerateInstanceExtensionProperties
,
8627 &wine_vkEnumerateInstanceVersion
,
8628 &wine_vkEnumeratePhysicalDeviceGroups
,
8629 &wine_vkEnumeratePhysicalDeviceGroupsKHR
,
8630 &wine_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
,
8631 &wine_vkEnumeratePhysicalDevices
,
8632 &wine_vkFlushMappedMemoryRanges
,
8633 &wine_vkFreeCommandBuffers
,
8634 &wine_vkFreeDescriptorSets
,
8636 &wine_vkGetAccelerationStructureBuildSizesKHR
,
8637 &wine_vkGetAccelerationStructureDeviceAddressKHR
,
8638 &wine_vkGetAccelerationStructureHandleNV
,
8639 &wine_vkGetAccelerationStructureMemoryRequirementsNV
,
8640 &wine_vkGetBufferDeviceAddress
,
8641 &wine_vkGetBufferDeviceAddressEXT
,
8642 &wine_vkGetBufferDeviceAddressKHR
,
8643 &wine_vkGetBufferMemoryRequirements
,
8644 &wine_vkGetBufferMemoryRequirements2
,
8645 &wine_vkGetBufferMemoryRequirements2KHR
,
8646 &wine_vkGetBufferOpaqueCaptureAddress
,
8647 &wine_vkGetBufferOpaqueCaptureAddressKHR
,
8648 &wine_vkGetCalibratedTimestampsEXT
,
8649 &wine_vkGetDeferredOperationMaxConcurrencyKHR
,
8650 &wine_vkGetDeferredOperationResultKHR
,
8651 &wine_vkGetDescriptorSetLayoutSupport
,
8652 &wine_vkGetDescriptorSetLayoutSupportKHR
,
8653 &wine_vkGetDeviceAccelerationStructureCompatibilityKHR
,
8654 &wine_vkGetDeviceGroupPeerMemoryFeatures
,
8655 &wine_vkGetDeviceGroupPeerMemoryFeaturesKHR
,
8656 &wine_vkGetDeviceGroupPresentCapabilitiesKHR
,
8657 &wine_vkGetDeviceGroupSurfacePresentModesKHR
,
8658 &wine_vkGetDeviceMemoryCommitment
,
8659 &wine_vkGetDeviceMemoryOpaqueCaptureAddress
,
8660 &wine_vkGetDeviceMemoryOpaqueCaptureAddressKHR
,
8661 &wine_vkGetDeviceQueue
,
8662 &wine_vkGetDeviceQueue2
,
8663 &wine_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
,
8664 &wine_vkGetEventStatus
,
8665 &wine_vkGetFenceStatus
,
8666 &wine_vkGetGeneratedCommandsMemoryRequirementsNV
,
8667 &wine_vkGetImageMemoryRequirements
,
8668 &wine_vkGetImageMemoryRequirements2
,
8669 &wine_vkGetImageMemoryRequirements2KHR
,
8670 &wine_vkGetImageSparseMemoryRequirements
,
8671 &wine_vkGetImageSparseMemoryRequirements2
,
8672 &wine_vkGetImageSparseMemoryRequirements2KHR
,
8673 &wine_vkGetImageSubresourceLayout
,
8674 &wine_vkGetImageViewAddressNVX
,
8675 &wine_vkGetImageViewHandleNVX
,
8676 &wine_vkGetMemoryHostPointerPropertiesEXT
,
8677 &wine_vkGetPerformanceParameterINTEL
,
8678 &wine_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
,
8679 &wine_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
,
8680 &wine_vkGetPhysicalDeviceExternalBufferProperties
,
8681 &wine_vkGetPhysicalDeviceExternalBufferPropertiesKHR
,
8682 &wine_vkGetPhysicalDeviceExternalFenceProperties
,
8683 &wine_vkGetPhysicalDeviceExternalFencePropertiesKHR
,
8684 &wine_vkGetPhysicalDeviceExternalSemaphoreProperties
,
8685 &wine_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
,
8686 &wine_vkGetPhysicalDeviceFeatures
,
8687 &wine_vkGetPhysicalDeviceFeatures2
,
8688 &wine_vkGetPhysicalDeviceFeatures2KHR
,
8689 &wine_vkGetPhysicalDeviceFormatProperties
,
8690 &wine_vkGetPhysicalDeviceFormatProperties2
,
8691 &wine_vkGetPhysicalDeviceFormatProperties2KHR
,
8692 &wine_vkGetPhysicalDeviceFragmentShadingRatesKHR
,
8693 &wine_vkGetPhysicalDeviceImageFormatProperties
,
8694 &wine_vkGetPhysicalDeviceImageFormatProperties2
,
8695 &wine_vkGetPhysicalDeviceImageFormatProperties2KHR
,
8696 &wine_vkGetPhysicalDeviceMemoryProperties
,
8697 &wine_vkGetPhysicalDeviceMemoryProperties2
,
8698 &wine_vkGetPhysicalDeviceMemoryProperties2KHR
,
8699 &wine_vkGetPhysicalDeviceMultisamplePropertiesEXT
,
8700 &wine_vkGetPhysicalDevicePresentRectanglesKHR
,
8701 &wine_vkGetPhysicalDeviceProperties
,
8702 &wine_vkGetPhysicalDeviceProperties2
,
8703 &wine_vkGetPhysicalDeviceProperties2KHR
,
8704 &wine_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
,
8705 &wine_vkGetPhysicalDeviceQueueFamilyProperties
,
8706 &wine_vkGetPhysicalDeviceQueueFamilyProperties2
,
8707 &wine_vkGetPhysicalDeviceQueueFamilyProperties2KHR
,
8708 &wine_vkGetPhysicalDeviceSparseImageFormatProperties
,
8709 &wine_vkGetPhysicalDeviceSparseImageFormatProperties2
,
8710 &wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
,
8711 &wine_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
,
8712 &wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR
,
8713 &wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
,
8714 &wine_vkGetPhysicalDeviceSurfaceFormats2KHR
,
8715 &wine_vkGetPhysicalDeviceSurfaceFormatsKHR
,
8716 &wine_vkGetPhysicalDeviceSurfacePresentModesKHR
,
8717 &wine_vkGetPhysicalDeviceSurfaceSupportKHR
,
8718 &wine_vkGetPhysicalDeviceToolPropertiesEXT
,
8719 &wine_vkGetPhysicalDeviceWin32PresentationSupportKHR
,
8720 &wine_vkGetPipelineCacheData
,
8721 &wine_vkGetPipelineExecutableInternalRepresentationsKHR
,
8722 &wine_vkGetPipelineExecutablePropertiesKHR
,
8723 &wine_vkGetPipelineExecutableStatisticsKHR
,
8724 &wine_vkGetPrivateDataEXT
,
8725 &wine_vkGetQueryPoolResults
,
8726 &wine_vkGetQueueCheckpointData2NV
,
8727 &wine_vkGetQueueCheckpointDataNV
,
8728 &wine_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR
,
8729 &wine_vkGetRayTracingShaderGroupHandlesKHR
,
8730 &wine_vkGetRayTracingShaderGroupHandlesNV
,
8731 &wine_vkGetRayTracingShaderGroupStackSizeKHR
,
8732 &wine_vkGetRenderAreaGranularity
,
8733 &wine_vkGetSemaphoreCounterValue
,
8734 &wine_vkGetSemaphoreCounterValueKHR
,
8735 &wine_vkGetShaderInfoAMD
,
8736 &wine_vkGetSwapchainImagesKHR
,
8737 &wine_vkGetValidationCacheDataEXT
,
8738 &wine_vkInitializePerformanceApiINTEL
,
8739 &wine_vkInvalidateMappedMemoryRanges
,
8741 &wine_vkMergePipelineCaches
,
8742 &wine_vkMergeValidationCachesEXT
,
8743 &wine_vkQueueBeginDebugUtilsLabelEXT
,
8744 &wine_vkQueueBindSparse
,
8745 &wine_vkQueueEndDebugUtilsLabelEXT
,
8746 &wine_vkQueueInsertDebugUtilsLabelEXT
,
8747 &wine_vkQueuePresentKHR
,
8748 &wine_vkQueueSetPerformanceConfigurationINTEL
,
8749 &wine_vkQueueSubmit
,
8750 &wine_vkQueueSubmit2KHR
,
8751 &wine_vkQueueWaitIdle
,
8752 &wine_vkReleasePerformanceConfigurationINTEL
,
8753 &wine_vkReleaseProfilingLockKHR
,
8754 &wine_vkResetCommandBuffer
,
8755 &wine_vkResetCommandPool
,
8756 &wine_vkResetDescriptorPool
,
8758 &wine_vkResetFences
,
8759 &wine_vkResetQueryPool
,
8760 &wine_vkResetQueryPoolEXT
,
8761 &wine_vkSetDebugUtilsObjectNameEXT
,
8762 &wine_vkSetDebugUtilsObjectTagEXT
,
8763 &wine_vkSetDeviceMemoryPriorityEXT
,
8765 &wine_vkSetPrivateDataEXT
,
8766 &wine_vkSignalSemaphore
,
8767 &wine_vkSignalSemaphoreKHR
,
8768 &wine_vkSubmitDebugUtilsMessageEXT
,
8769 &wine_vkTrimCommandPool
,
8770 &wine_vkTrimCommandPoolKHR
,
8771 &wine_vkUninitializePerformanceApiINTEL
,
8772 &wine_vkUnmapMemory
,
8773 &wine_vkUpdateDescriptorSetWithTemplate
,
8774 &wine_vkUpdateDescriptorSetWithTemplateKHR
,
8775 &wine_vkUpdateDescriptorSets
,
8776 &wine_vkWaitForFences
,
8777 &wine_vkWaitForPresentKHR
,
8778 &wine_vkWaitSemaphores
,
8779 &wine_vkWaitSemaphoresKHR
,
8780 &wine_vkWriteAccelerationStructuresPropertiesKHR
,
8781 &wine_vk_is_available_instance_function
,
8782 &wine_vk_is_available_device_function
,