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
13 #include "wine/port.h"
15 #include "vulkan_private.h"
17 WINE_DEFAULT_DEBUG_CHANNEL(vulkan
);
19 #if defined(USE_STRUCT_CONVERSION)
20 static inline void convert_VkAcquireNextImageInfoKHR_win_to_host(const VkAcquireNextImageInfoKHR
*in
, VkAcquireNextImageInfoKHR_host
*out
)
24 out
->sType
= in
->sType
;
25 out
->pNext
= in
->pNext
;
26 out
->swapchain
= in
->swapchain
;
27 out
->timeout
= in
->timeout
;
28 out
->semaphore
= in
->semaphore
;
29 out
->fence
= in
->fence
;
30 out
->deviceMask
= in
->deviceMask
;
33 static inline void convert_VkAcquireProfilingLockInfoKHR_win_to_host(const VkAcquireProfilingLockInfoKHR
*in
, VkAcquireProfilingLockInfoKHR_host
*out
)
37 out
->sType
= in
->sType
;
38 out
->pNext
= in
->pNext
;
39 out
->flags
= in
->flags
;
40 out
->timeout
= in
->timeout
;
43 static inline void convert_VkDescriptorSetAllocateInfo_win_to_host(const VkDescriptorSetAllocateInfo
*in
, VkDescriptorSetAllocateInfo_host
*out
)
47 out
->sType
= in
->sType
;
48 out
->pNext
= in
->pNext
;
49 out
->descriptorPool
= in
->descriptorPool
;
50 out
->descriptorSetCount
= in
->descriptorSetCount
;
51 out
->pSetLayouts
= in
->pSetLayouts
;
54 static inline void convert_VkMemoryAllocateInfo_win_to_host(const VkMemoryAllocateInfo
*in
, VkMemoryAllocateInfo_host
*out
)
58 out
->sType
= in
->sType
;
59 out
->pNext
= in
->pNext
;
60 out
->allocationSize
= in
->allocationSize
;
61 out
->memoryTypeIndex
= in
->memoryTypeIndex
;
64 static inline VkCommandBufferInheritanceInfo_host
*convert_VkCommandBufferInheritanceInfo_array_win_to_host(const VkCommandBufferInheritanceInfo
*in
, uint32_t count
)
66 VkCommandBufferInheritanceInfo_host
*out
;
71 out
= heap_alloc(count
* sizeof(*out
));
72 for (i
= 0; i
< count
; i
++)
74 out
[i
].sType
= in
[i
].sType
;
75 out
[i
].pNext
= in
[i
].pNext
;
76 out
[i
].renderPass
= in
[i
].renderPass
;
77 out
[i
].subpass
= in
[i
].subpass
;
78 out
[i
].framebuffer
= in
[i
].framebuffer
;
79 out
[i
].occlusionQueryEnable
= in
[i
].occlusionQueryEnable
;
80 out
[i
].queryFlags
= in
[i
].queryFlags
;
81 out
[i
].pipelineStatistics
= in
[i
].pipelineStatistics
;
87 static inline void free_VkCommandBufferInheritanceInfo_array(VkCommandBufferInheritanceInfo_host
*in
, uint32_t count
)
94 static inline void convert_VkCommandBufferBeginInfo_win_to_host(const VkCommandBufferBeginInfo
*in
, VkCommandBufferBeginInfo_host
*out
)
98 out
->sType
= in
->sType
;
99 out
->pNext
= in
->pNext
;
100 out
->flags
= in
->flags
;
101 out
->pInheritanceInfo
= convert_VkCommandBufferInheritanceInfo_array_win_to_host(in
->pInheritanceInfo
, 1);
104 static inline void free_VkCommandBufferBeginInfo(VkCommandBufferBeginInfo_host
*in
)
106 free_VkCommandBufferInheritanceInfo_array((VkCommandBufferInheritanceInfo_host
*)in
->pInheritanceInfo
, 1);
109 static inline VkBindAccelerationStructureMemoryInfoNV_host
*convert_VkBindAccelerationStructureMemoryInfoNV_array_win_to_host(const VkBindAccelerationStructureMemoryInfoNV
*in
, uint32_t count
)
111 VkBindAccelerationStructureMemoryInfoNV_host
*out
;
114 if (!in
) return NULL
;
116 out
= heap_alloc(count
* sizeof(*out
));
117 for (i
= 0; i
< count
; i
++)
119 out
[i
].sType
= in
[i
].sType
;
120 out
[i
].pNext
= in
[i
].pNext
;
121 out
[i
].accelerationStructure
= in
[i
].accelerationStructure
;
122 out
[i
].memory
= in
[i
].memory
;
123 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
124 out
[i
].deviceIndexCount
= in
[i
].deviceIndexCount
;
125 out
[i
].pDeviceIndices
= in
[i
].pDeviceIndices
;
131 static inline void free_VkBindAccelerationStructureMemoryInfoNV_array(VkBindAccelerationStructureMemoryInfoNV_host
*in
, uint32_t count
)
138 static inline VkBindBufferMemoryInfo_host
*convert_VkBindBufferMemoryInfo_array_win_to_host(const VkBindBufferMemoryInfo
*in
, uint32_t count
)
140 VkBindBufferMemoryInfo_host
*out
;
143 if (!in
) return NULL
;
145 out
= heap_alloc(count
* sizeof(*out
));
146 for (i
= 0; i
< count
; i
++)
148 out
[i
].sType
= in
[i
].sType
;
149 out
[i
].pNext
= in
[i
].pNext
;
150 out
[i
].buffer
= in
[i
].buffer
;
151 out
[i
].memory
= in
[i
].memory
;
152 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
158 static inline void free_VkBindBufferMemoryInfo_array(VkBindBufferMemoryInfo_host
*in
, uint32_t count
)
165 static inline VkBindImageMemoryInfo_host
*convert_VkBindImageMemoryInfo_array_win_to_host(const VkBindImageMemoryInfo
*in
, uint32_t count
)
167 VkBindImageMemoryInfo_host
*out
;
170 if (!in
) return NULL
;
172 out
= heap_alloc(count
* sizeof(*out
));
173 for (i
= 0; i
< count
; i
++)
175 out
[i
].sType
= in
[i
].sType
;
176 out
[i
].pNext
= in
[i
].pNext
;
177 out
[i
].image
= in
[i
].image
;
178 out
[i
].memory
= in
[i
].memory
;
179 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
185 static inline void free_VkBindImageMemoryInfo_array(VkBindImageMemoryInfo_host
*in
, uint32_t count
)
192 static inline VkAccelerationStructureBuildGeometryInfoKHR_host
*convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win_to_host(const VkAccelerationStructureBuildGeometryInfoKHR
*in
, uint32_t count
)
194 VkAccelerationStructureBuildGeometryInfoKHR_host
*out
;
197 if (!in
) return NULL
;
199 out
= heap_alloc(count
* sizeof(*out
));
200 for (i
= 0; i
< count
; i
++)
202 out
[i
].sType
= in
[i
].sType
;
203 out
[i
].pNext
= in
[i
].pNext
;
204 out
[i
].type
= in
[i
].type
;
205 out
[i
].flags
= in
[i
].flags
;
206 out
[i
].mode
= in
[i
].mode
;
207 out
[i
].srcAccelerationStructure
= in
[i
].srcAccelerationStructure
;
208 out
[i
].dstAccelerationStructure
= in
[i
].dstAccelerationStructure
;
209 out
[i
].geometryCount
= in
[i
].geometryCount
;
210 out
[i
].pGeometries
= in
[i
].pGeometries
;
211 out
[i
].ppGeometries
= in
[i
].ppGeometries
;
212 out
[i
].scratchData
= in
[i
].scratchData
;
218 static inline void free_VkAccelerationStructureBuildGeometryInfoKHR_array(VkAccelerationStructureBuildGeometryInfoKHR_host
*in
, uint32_t count
)
225 static inline void convert_VkConditionalRenderingBeginInfoEXT_win_to_host(const VkConditionalRenderingBeginInfoEXT
*in
, VkConditionalRenderingBeginInfoEXT_host
*out
)
229 out
->sType
= in
->sType
;
230 out
->pNext
= in
->pNext
;
231 out
->buffer
= in
->buffer
;
232 out
->offset
= in
->offset
;
233 out
->flags
= in
->flags
;
236 static inline void convert_VkRenderPassBeginInfo_win_to_host(const VkRenderPassBeginInfo
*in
, VkRenderPassBeginInfo_host
*out
)
240 out
->sType
= in
->sType
;
241 out
->pNext
= in
->pNext
;
242 out
->renderPass
= in
->renderPass
;
243 out
->framebuffer
= in
->framebuffer
;
244 out
->renderArea
= in
->renderArea
;
245 out
->clearValueCount
= in
->clearValueCount
;
246 out
->pClearValues
= in
->pClearValues
;
249 static inline void convert_VkBlitImageInfo2KHR_win_to_host(const VkBlitImageInfo2KHR
*in
, VkBlitImageInfo2KHR_host
*out
)
253 out
->sType
= in
->sType
;
254 out
->pNext
= in
->pNext
;
255 out
->srcImage
= in
->srcImage
;
256 out
->srcImageLayout
= in
->srcImageLayout
;
257 out
->dstImage
= in
->dstImage
;
258 out
->dstImageLayout
= in
->dstImageLayout
;
259 out
->regionCount
= in
->regionCount
;
260 out
->pRegions
= in
->pRegions
;
261 out
->filter
= in
->filter
;
264 static inline void convert_VkGeometryTrianglesNV_win_to_host(const VkGeometryTrianglesNV
*in
, VkGeometryTrianglesNV_host
*out
)
268 out
->sType
= in
->sType
;
269 out
->pNext
= in
->pNext
;
270 out
->vertexData
= in
->vertexData
;
271 out
->vertexOffset
= in
->vertexOffset
;
272 out
->vertexCount
= in
->vertexCount
;
273 out
->vertexStride
= in
->vertexStride
;
274 out
->vertexFormat
= in
->vertexFormat
;
275 out
->indexData
= in
->indexData
;
276 out
->indexOffset
= in
->indexOffset
;
277 out
->indexCount
= in
->indexCount
;
278 out
->indexType
= in
->indexType
;
279 out
->transformData
= in
->transformData
;
280 out
->transformOffset
= in
->transformOffset
;
283 static inline void convert_VkGeometryAABBNV_win_to_host(const VkGeometryAABBNV
*in
, VkGeometryAABBNV_host
*out
)
287 out
->sType
= in
->sType
;
288 out
->pNext
= in
->pNext
;
289 out
->aabbData
= in
->aabbData
;
290 out
->numAABBs
= in
->numAABBs
;
291 out
->stride
= in
->stride
;
292 out
->offset
= in
->offset
;
295 static inline void convert_VkGeometryDataNV_win_to_host(const VkGeometryDataNV
*in
, VkGeometryDataNV_host
*out
)
299 convert_VkGeometryTrianglesNV_win_to_host(&in
->triangles
, &out
->triangles
);
300 convert_VkGeometryAABBNV_win_to_host(&in
->aabbs
, &out
->aabbs
);
303 static inline VkGeometryNV_host
*convert_VkGeometryNV_array_win_to_host(const VkGeometryNV
*in
, uint32_t count
)
305 VkGeometryNV_host
*out
;
308 if (!in
) return NULL
;
310 out
= heap_alloc(count
* sizeof(*out
));
311 for (i
= 0; i
< count
; i
++)
313 out
[i
].sType
= in
[i
].sType
;
314 out
[i
].pNext
= in
[i
].pNext
;
315 out
[i
].geometryType
= in
[i
].geometryType
;
316 convert_VkGeometryDataNV_win_to_host(&in
[i
].geometry
, &out
[i
].geometry
);
317 out
[i
].flags
= in
[i
].flags
;
323 static inline void free_VkGeometryNV_array(VkGeometryNV_host
*in
, uint32_t count
)
330 static inline void convert_VkAccelerationStructureInfoNV_win_to_host(const VkAccelerationStructureInfoNV
*in
, VkAccelerationStructureInfoNV_host
*out
)
334 out
->sType
= in
->sType
;
335 out
->pNext
= in
->pNext
;
336 out
->type
= in
->type
;
337 out
->flags
= in
->flags
;
338 out
->instanceCount
= in
->instanceCount
;
339 out
->geometryCount
= in
->geometryCount
;
340 out
->pGeometries
= convert_VkGeometryNV_array_win_to_host(in
->pGeometries
, in
->geometryCount
);
343 static inline void free_VkAccelerationStructureInfoNV(VkAccelerationStructureInfoNV_host
*in
)
345 free_VkGeometryNV_array((VkGeometryNV_host
*)in
->pGeometries
, in
->geometryCount
);
348 static inline void convert_VkCopyAccelerationStructureInfoKHR_win_to_host(const VkCopyAccelerationStructureInfoKHR
*in
, VkCopyAccelerationStructureInfoKHR_host
*out
)
352 out
->sType
= in
->sType
;
353 out
->pNext
= in
->pNext
;
356 out
->mode
= in
->mode
;
359 static inline void convert_VkCopyAccelerationStructureToMemoryInfoKHR_win_to_host(const VkCopyAccelerationStructureToMemoryInfoKHR
*in
, VkCopyAccelerationStructureToMemoryInfoKHR_host
*out
)
363 out
->sType
= in
->sType
;
364 out
->pNext
= in
->pNext
;
367 out
->mode
= in
->mode
;
370 static inline VkBufferCopy_host
*convert_VkBufferCopy_array_win_to_host(const VkBufferCopy
*in
, uint32_t count
)
372 VkBufferCopy_host
*out
;
375 if (!in
) return NULL
;
377 out
= heap_alloc(count
* sizeof(*out
));
378 for (i
= 0; i
< count
; i
++)
380 out
[i
].srcOffset
= in
[i
].srcOffset
;
381 out
[i
].dstOffset
= in
[i
].dstOffset
;
382 out
[i
].size
= in
[i
].size
;
388 static inline void free_VkBufferCopy_array(VkBufferCopy_host
*in
, uint32_t count
)
395 static inline VkBufferCopy2KHR_host
*convert_VkBufferCopy2KHR_array_win_to_host(const VkBufferCopy2KHR
*in
, uint32_t count
)
397 VkBufferCopy2KHR_host
*out
;
400 if (!in
) return NULL
;
402 out
= heap_alloc(count
* sizeof(*out
));
403 for (i
= 0; i
< count
; i
++)
405 out
[i
].sType
= in
[i
].sType
;
406 out
[i
].pNext
= in
[i
].pNext
;
407 out
[i
].srcOffset
= in
[i
].srcOffset
;
408 out
[i
].dstOffset
= in
[i
].dstOffset
;
409 out
[i
].size
= in
[i
].size
;
415 static inline void free_VkBufferCopy2KHR_array(VkBufferCopy2KHR_host
*in
, uint32_t count
)
422 static inline void convert_VkCopyBufferInfo2KHR_win_to_host(const VkCopyBufferInfo2KHR
*in
, VkCopyBufferInfo2KHR_host
*out
)
426 out
->sType
= in
->sType
;
427 out
->pNext
= in
->pNext
;
428 out
->srcBuffer
= in
->srcBuffer
;
429 out
->dstBuffer
= in
->dstBuffer
;
430 out
->regionCount
= in
->regionCount
;
431 out
->pRegions
= convert_VkBufferCopy2KHR_array_win_to_host(in
->pRegions
, in
->regionCount
);
434 static inline void free_VkCopyBufferInfo2KHR(VkCopyBufferInfo2KHR_host
*in
)
436 free_VkBufferCopy2KHR_array((VkBufferCopy2KHR_host
*)in
->pRegions
, in
->regionCount
);
439 static inline VkBufferImageCopy_host
*convert_VkBufferImageCopy_array_win_to_host(const VkBufferImageCopy
*in
, uint32_t count
)
441 VkBufferImageCopy_host
*out
;
444 if (!in
) return NULL
;
446 out
= heap_alloc(count
* sizeof(*out
));
447 for (i
= 0; i
< count
; i
++)
449 out
[i
].bufferOffset
= in
[i
].bufferOffset
;
450 out
[i
].bufferRowLength
= in
[i
].bufferRowLength
;
451 out
[i
].bufferImageHeight
= in
[i
].bufferImageHeight
;
452 out
[i
].imageSubresource
= in
[i
].imageSubresource
;
453 out
[i
].imageOffset
= in
[i
].imageOffset
;
454 out
[i
].imageExtent
= in
[i
].imageExtent
;
460 static inline void free_VkBufferImageCopy_array(VkBufferImageCopy_host
*in
, uint32_t count
)
467 static inline VkBufferImageCopy2KHR_host
*convert_VkBufferImageCopy2KHR_array_win_to_host(const VkBufferImageCopy2KHR
*in
, uint32_t count
)
469 VkBufferImageCopy2KHR_host
*out
;
472 if (!in
) return NULL
;
474 out
= heap_alloc(count
* sizeof(*out
));
475 for (i
= 0; i
< count
; i
++)
477 out
[i
].sType
= in
[i
].sType
;
478 out
[i
].pNext
= in
[i
].pNext
;
479 out
[i
].bufferOffset
= in
[i
].bufferOffset
;
480 out
[i
].bufferRowLength
= in
[i
].bufferRowLength
;
481 out
[i
].bufferImageHeight
= in
[i
].bufferImageHeight
;
482 out
[i
].imageSubresource
= in
[i
].imageSubresource
;
483 out
[i
].imageOffset
= in
[i
].imageOffset
;
484 out
[i
].imageExtent
= in
[i
].imageExtent
;
490 static inline void free_VkBufferImageCopy2KHR_array(VkBufferImageCopy2KHR_host
*in
, uint32_t count
)
497 static inline void convert_VkCopyBufferToImageInfo2KHR_win_to_host(const VkCopyBufferToImageInfo2KHR
*in
, VkCopyBufferToImageInfo2KHR_host
*out
)
501 out
->sType
= in
->sType
;
502 out
->pNext
= in
->pNext
;
503 out
->srcBuffer
= in
->srcBuffer
;
504 out
->dstImage
= in
->dstImage
;
505 out
->dstImageLayout
= in
->dstImageLayout
;
506 out
->regionCount
= in
->regionCount
;
507 out
->pRegions
= convert_VkBufferImageCopy2KHR_array_win_to_host(in
->pRegions
, in
->regionCount
);
510 static inline void free_VkCopyBufferToImageInfo2KHR(VkCopyBufferToImageInfo2KHR_host
*in
)
512 free_VkBufferImageCopy2KHR_array((VkBufferImageCopy2KHR_host
*)in
->pRegions
, in
->regionCount
);
515 static inline void convert_VkCopyImageInfo2KHR_win_to_host(const VkCopyImageInfo2KHR
*in
, VkCopyImageInfo2KHR_host
*out
)
519 out
->sType
= in
->sType
;
520 out
->pNext
= in
->pNext
;
521 out
->srcImage
= in
->srcImage
;
522 out
->srcImageLayout
= in
->srcImageLayout
;
523 out
->dstImage
= in
->dstImage
;
524 out
->dstImageLayout
= in
->dstImageLayout
;
525 out
->regionCount
= in
->regionCount
;
526 out
->pRegions
= in
->pRegions
;
529 static inline void convert_VkCopyImageToBufferInfo2KHR_win_to_host(const VkCopyImageToBufferInfo2KHR
*in
, VkCopyImageToBufferInfo2KHR_host
*out
)
533 out
->sType
= in
->sType
;
534 out
->pNext
= in
->pNext
;
535 out
->srcImage
= in
->srcImage
;
536 out
->srcImageLayout
= in
->srcImageLayout
;
537 out
->dstBuffer
= in
->dstBuffer
;
538 out
->regionCount
= in
->regionCount
;
539 out
->pRegions
= convert_VkBufferImageCopy2KHR_array_win_to_host(in
->pRegions
, in
->regionCount
);
542 static inline void free_VkCopyImageToBufferInfo2KHR(VkCopyImageToBufferInfo2KHR_host
*in
)
544 free_VkBufferImageCopy2KHR_array((VkBufferImageCopy2KHR_host
*)in
->pRegions
, in
->regionCount
);
547 static inline void convert_VkCopyMemoryToAccelerationStructureInfoKHR_win_to_host(const VkCopyMemoryToAccelerationStructureInfoKHR
*in
, VkCopyMemoryToAccelerationStructureInfoKHR_host
*out
)
551 out
->sType
= in
->sType
;
552 out
->pNext
= in
->pNext
;
555 out
->mode
= in
->mode
;
558 static inline VkIndirectCommandsStreamNV_host
*convert_VkIndirectCommandsStreamNV_array_win_to_host(const VkIndirectCommandsStreamNV
*in
, uint32_t count
)
560 VkIndirectCommandsStreamNV_host
*out
;
563 if (!in
) return NULL
;
565 out
= heap_alloc(count
* sizeof(*out
));
566 for (i
= 0; i
< count
; i
++)
568 out
[i
].buffer
= in
[i
].buffer
;
569 out
[i
].offset
= in
[i
].offset
;
575 static inline void free_VkIndirectCommandsStreamNV_array(VkIndirectCommandsStreamNV_host
*in
, uint32_t count
)
582 static inline void convert_VkGeneratedCommandsInfoNV_win_to_host(const VkGeneratedCommandsInfoNV
*in
, VkGeneratedCommandsInfoNV_host
*out
)
586 out
->sType
= in
->sType
;
587 out
->pNext
= in
->pNext
;
588 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
589 out
->pipeline
= in
->pipeline
;
590 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
591 out
->streamCount
= in
->streamCount
;
592 out
->pStreams
= convert_VkIndirectCommandsStreamNV_array_win_to_host(in
->pStreams
, in
->streamCount
);
593 out
->sequencesCount
= in
->sequencesCount
;
594 out
->preprocessBuffer
= in
->preprocessBuffer
;
595 out
->preprocessOffset
= in
->preprocessOffset
;
596 out
->preprocessSize
= in
->preprocessSize
;
597 out
->sequencesCountBuffer
= in
->sequencesCountBuffer
;
598 out
->sequencesCountOffset
= in
->sequencesCountOffset
;
599 out
->sequencesIndexBuffer
= in
->sequencesIndexBuffer
;
600 out
->sequencesIndexOffset
= in
->sequencesIndexOffset
;
603 static inline void free_VkGeneratedCommandsInfoNV(VkGeneratedCommandsInfoNV_host
*in
)
605 free_VkIndirectCommandsStreamNV_array((VkIndirectCommandsStreamNV_host
*)in
->pStreams
, in
->streamCount
);
608 static inline VkBufferMemoryBarrier_host
*convert_VkBufferMemoryBarrier_array_win_to_host(const VkBufferMemoryBarrier
*in
, uint32_t count
)
610 VkBufferMemoryBarrier_host
*out
;
613 if (!in
) return NULL
;
615 out
= heap_alloc(count
* sizeof(*out
));
616 for (i
= 0; i
< count
; i
++)
618 out
[i
].sType
= in
[i
].sType
;
619 out
[i
].pNext
= in
[i
].pNext
;
620 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
621 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
622 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
623 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
624 out
[i
].buffer
= in
[i
].buffer
;
625 out
[i
].offset
= in
[i
].offset
;
626 out
[i
].size
= in
[i
].size
;
632 static inline void free_VkBufferMemoryBarrier_array(VkBufferMemoryBarrier_host
*in
, uint32_t count
)
639 static inline VkImageMemoryBarrier_host
*convert_VkImageMemoryBarrier_array_win_to_host(const VkImageMemoryBarrier
*in
, uint32_t count
)
641 VkImageMemoryBarrier_host
*out
;
644 if (!in
) return NULL
;
646 out
= heap_alloc(count
* sizeof(*out
));
647 for (i
= 0; i
< count
; i
++)
649 out
[i
].sType
= in
[i
].sType
;
650 out
[i
].pNext
= in
[i
].pNext
;
651 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
652 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
653 out
[i
].oldLayout
= in
[i
].oldLayout
;
654 out
[i
].newLayout
= in
[i
].newLayout
;
655 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
656 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
657 out
[i
].image
= in
[i
].image
;
658 out
[i
].subresourceRange
= in
[i
].subresourceRange
;
664 static inline void free_VkImageMemoryBarrier_array(VkImageMemoryBarrier_host
*in
, uint32_t count
)
671 static inline VkBufferMemoryBarrier2KHR_host
*convert_VkBufferMemoryBarrier2KHR_array_win_to_host(const VkBufferMemoryBarrier2KHR
*in
, uint32_t count
)
673 VkBufferMemoryBarrier2KHR_host
*out
;
676 if (!in
) return NULL
;
678 out
= heap_alloc(count
* sizeof(*out
));
679 for (i
= 0; i
< count
; i
++)
681 out
[i
].sType
= in
[i
].sType
;
682 out
[i
].pNext
= in
[i
].pNext
;
683 out
[i
].srcStageMask
= in
[i
].srcStageMask
;
684 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
685 out
[i
].dstStageMask
= in
[i
].dstStageMask
;
686 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
687 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
688 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
689 out
[i
].buffer
= in
[i
].buffer
;
690 out
[i
].offset
= in
[i
].offset
;
691 out
[i
].size
= in
[i
].size
;
697 static inline void free_VkBufferMemoryBarrier2KHR_array(VkBufferMemoryBarrier2KHR_host
*in
, uint32_t count
)
704 static inline VkImageMemoryBarrier2KHR_host
*convert_VkImageMemoryBarrier2KHR_array_win_to_host(const VkImageMemoryBarrier2KHR
*in
, uint32_t count
)
706 VkImageMemoryBarrier2KHR_host
*out
;
709 if (!in
) return NULL
;
711 out
= heap_alloc(count
* sizeof(*out
));
712 for (i
= 0; i
< count
; i
++)
714 out
[i
].sType
= in
[i
].sType
;
715 out
[i
].pNext
= in
[i
].pNext
;
716 out
[i
].srcStageMask
= in
[i
].srcStageMask
;
717 out
[i
].srcAccessMask
= in
[i
].srcAccessMask
;
718 out
[i
].dstStageMask
= in
[i
].dstStageMask
;
719 out
[i
].dstAccessMask
= in
[i
].dstAccessMask
;
720 out
[i
].oldLayout
= in
[i
].oldLayout
;
721 out
[i
].newLayout
= in
[i
].newLayout
;
722 out
[i
].srcQueueFamilyIndex
= in
[i
].srcQueueFamilyIndex
;
723 out
[i
].dstQueueFamilyIndex
= in
[i
].dstQueueFamilyIndex
;
724 out
[i
].image
= in
[i
].image
;
725 out
[i
].subresourceRange
= in
[i
].subresourceRange
;
731 static inline void free_VkImageMemoryBarrier2KHR_array(VkImageMemoryBarrier2KHR_host
*in
, uint32_t count
)
738 static inline void convert_VkDependencyInfoKHR_win_to_host(const VkDependencyInfoKHR
*in
, VkDependencyInfoKHR_host
*out
)
742 out
->sType
= in
->sType
;
743 out
->pNext
= in
->pNext
;
744 out
->dependencyFlags
= in
->dependencyFlags
;
745 out
->memoryBarrierCount
= in
->memoryBarrierCount
;
746 out
->pMemoryBarriers
= in
->pMemoryBarriers
;
747 out
->bufferMemoryBarrierCount
= in
->bufferMemoryBarrierCount
;
748 out
->pBufferMemoryBarriers
= convert_VkBufferMemoryBarrier2KHR_array_win_to_host(in
->pBufferMemoryBarriers
, in
->bufferMemoryBarrierCount
);
749 out
->imageMemoryBarrierCount
= in
->imageMemoryBarrierCount
;
750 out
->pImageMemoryBarriers
= convert_VkImageMemoryBarrier2KHR_array_win_to_host(in
->pImageMemoryBarriers
, in
->imageMemoryBarrierCount
);
753 static inline void free_VkDependencyInfoKHR(VkDependencyInfoKHR_host
*in
)
755 free_VkBufferMemoryBarrier2KHR_array((VkBufferMemoryBarrier2KHR_host
*)in
->pBufferMemoryBarriers
, in
->bufferMemoryBarrierCount
);
756 free_VkImageMemoryBarrier2KHR_array((VkImageMemoryBarrier2KHR_host
*)in
->pImageMemoryBarriers
, in
->imageMemoryBarrierCount
);
759 static inline VkDescriptorImageInfo_host
*convert_VkDescriptorImageInfo_array_win_to_host(const VkDescriptorImageInfo
*in
, uint32_t count
)
761 VkDescriptorImageInfo_host
*out
;
764 if (!in
) return NULL
;
766 out
= heap_alloc(count
* sizeof(*out
));
767 for (i
= 0; i
< count
; i
++)
769 out
[i
].sampler
= in
[i
].sampler
;
770 out
[i
].imageView
= in
[i
].imageView
;
771 out
[i
].imageLayout
= in
[i
].imageLayout
;
777 static inline void free_VkDescriptorImageInfo_array(VkDescriptorImageInfo_host
*in
, uint32_t count
)
784 static inline VkDescriptorBufferInfo_host
*convert_VkDescriptorBufferInfo_array_win_to_host(const VkDescriptorBufferInfo
*in
, uint32_t count
)
786 VkDescriptorBufferInfo_host
*out
;
789 if (!in
) return NULL
;
791 out
= heap_alloc(count
* sizeof(*out
));
792 for (i
= 0; i
< count
; i
++)
794 out
[i
].buffer
= in
[i
].buffer
;
795 out
[i
].offset
= in
[i
].offset
;
796 out
[i
].range
= in
[i
].range
;
802 static inline void free_VkDescriptorBufferInfo_array(VkDescriptorBufferInfo_host
*in
, uint32_t count
)
809 static inline VkWriteDescriptorSet_host
*convert_VkWriteDescriptorSet_array_win_to_host(const VkWriteDescriptorSet
*in
, uint32_t count
)
811 VkWriteDescriptorSet_host
*out
;
814 if (!in
) return NULL
;
816 out
= heap_alloc(count
* sizeof(*out
));
817 for (i
= 0; i
< count
; i
++)
819 out
[i
].sType
= in
[i
].sType
;
820 out
[i
].pNext
= in
[i
].pNext
;
821 out
[i
].dstSet
= in
[i
].dstSet
;
822 out
[i
].dstBinding
= in
[i
].dstBinding
;
823 out
[i
].dstArrayElement
= in
[i
].dstArrayElement
;
824 out
[i
].descriptorCount
= in
[i
].descriptorCount
;
825 out
[i
].descriptorType
= in
[i
].descriptorType
;
826 out
[i
].pImageInfo
= convert_VkDescriptorImageInfo_array_win_to_host(in
[i
].pImageInfo
, in
[i
].descriptorCount
);
827 out
[i
].pBufferInfo
= convert_VkDescriptorBufferInfo_array_win_to_host(in
[i
].pBufferInfo
, in
[i
].descriptorCount
);
828 out
[i
].pTexelBufferView
= in
[i
].pTexelBufferView
;
834 static inline void free_VkWriteDescriptorSet_array(VkWriteDescriptorSet_host
*in
, uint32_t count
)
840 for (i
= 0; i
< count
; i
++)
842 free_VkDescriptorImageInfo_array((VkDescriptorImageInfo_host
*)in
[i
].pImageInfo
, in
[i
].descriptorCount
);
843 free_VkDescriptorBufferInfo_array((VkDescriptorBufferInfo_host
*)in
[i
].pBufferInfo
, in
[i
].descriptorCount
);
848 static inline void convert_VkResolveImageInfo2KHR_win_to_host(const VkResolveImageInfo2KHR
*in
, VkResolveImageInfo2KHR_host
*out
)
852 out
->sType
= in
->sType
;
853 out
->pNext
= in
->pNext
;
854 out
->srcImage
= in
->srcImage
;
855 out
->srcImageLayout
= in
->srcImageLayout
;
856 out
->dstImage
= in
->dstImage
;
857 out
->dstImageLayout
= in
->dstImageLayout
;
858 out
->regionCount
= in
->regionCount
;
859 out
->pRegions
= in
->pRegions
;
862 static inline void convert_VkPerformanceMarkerInfoINTEL_win_to_host(const VkPerformanceMarkerInfoINTEL
*in
, VkPerformanceMarkerInfoINTEL_host
*out
)
866 out
->sType
= in
->sType
;
867 out
->pNext
= in
->pNext
;
868 out
->marker
= in
->marker
;
871 static inline void convert_VkPerformanceOverrideInfoINTEL_win_to_host(const VkPerformanceOverrideInfoINTEL
*in
, VkPerformanceOverrideInfoINTEL_host
*out
)
875 out
->sType
= in
->sType
;
876 out
->pNext
= in
->pNext
;
877 out
->type
= in
->type
;
878 out
->enable
= in
->enable
;
879 out
->parameter
= in
->parameter
;
882 static inline void convert_VkStridedDeviceAddressRegionKHR_win_to_host(const VkStridedDeviceAddressRegionKHR
*in
, VkStridedDeviceAddressRegionKHR_host
*out
)
886 out
->deviceAddress
= in
->deviceAddress
;
887 out
->stride
= in
->stride
;
888 out
->size
= in
->size
;
891 static inline VkDependencyInfoKHR_host
*convert_VkDependencyInfoKHR_array_win_to_host(const VkDependencyInfoKHR
*in
, uint32_t count
)
893 VkDependencyInfoKHR_host
*out
;
896 if (!in
) return NULL
;
898 out
= heap_alloc(count
* sizeof(*out
));
899 for (i
= 0; i
< count
; i
++)
901 out
[i
].sType
= in
[i
].sType
;
902 out
[i
].pNext
= in
[i
].pNext
;
903 out
[i
].dependencyFlags
= in
[i
].dependencyFlags
;
904 out
[i
].memoryBarrierCount
= in
[i
].memoryBarrierCount
;
905 out
[i
].pMemoryBarriers
= in
[i
].pMemoryBarriers
;
906 out
[i
].bufferMemoryBarrierCount
= in
[i
].bufferMemoryBarrierCount
;
907 out
[i
].pBufferMemoryBarriers
= convert_VkBufferMemoryBarrier2KHR_array_win_to_host(in
[i
].pBufferMemoryBarriers
, in
[i
].bufferMemoryBarrierCount
);
908 out
[i
].imageMemoryBarrierCount
= in
[i
].imageMemoryBarrierCount
;
909 out
[i
].pImageMemoryBarriers
= convert_VkImageMemoryBarrier2KHR_array_win_to_host(in
[i
].pImageMemoryBarriers
, in
[i
].imageMemoryBarrierCount
);
915 static inline void free_VkDependencyInfoKHR_array(VkDependencyInfoKHR_host
*in
, uint32_t count
)
921 for (i
= 0; i
< count
; i
++)
923 free_VkBufferMemoryBarrier2KHR_array((VkBufferMemoryBarrier2KHR_host
*)in
[i
].pBufferMemoryBarriers
, in
[i
].bufferMemoryBarrierCount
);
924 free_VkImageMemoryBarrier2KHR_array((VkImageMemoryBarrier2KHR_host
*)in
[i
].pImageMemoryBarriers
, in
[i
].imageMemoryBarrierCount
);
929 static inline void convert_VkAccelerationStructureCreateInfoKHR_win_to_host(const VkAccelerationStructureCreateInfoKHR
*in
, VkAccelerationStructureCreateInfoKHR_host
*out
)
933 out
->sType
= in
->sType
;
934 out
->pNext
= in
->pNext
;
935 out
->createFlags
= in
->createFlags
;
936 out
->buffer
= in
->buffer
;
937 out
->offset
= in
->offset
;
938 out
->size
= in
->size
;
939 out
->type
= in
->type
;
940 out
->deviceAddress
= in
->deviceAddress
;
943 static inline void convert_VkAccelerationStructureCreateInfoNV_win_to_host(const VkAccelerationStructureCreateInfoNV
*in
, VkAccelerationStructureCreateInfoNV_host
*out
)
947 out
->sType
= in
->sType
;
948 out
->pNext
= in
->pNext
;
949 out
->compactedSize
= in
->compactedSize
;
950 convert_VkAccelerationStructureInfoNV_win_to_host(&in
->info
, &out
->info
);
953 static inline void convert_VkBufferCreateInfo_win_to_host(const VkBufferCreateInfo
*in
, VkBufferCreateInfo_host
*out
)
957 out
->sType
= in
->sType
;
958 out
->pNext
= in
->pNext
;
959 out
->flags
= in
->flags
;
960 out
->size
= in
->size
;
961 out
->usage
= in
->usage
;
962 out
->sharingMode
= in
->sharingMode
;
963 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
964 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
967 static inline void convert_VkBufferViewCreateInfo_win_to_host(const VkBufferViewCreateInfo
*in
, VkBufferViewCreateInfo_host
*out
)
971 out
->sType
= in
->sType
;
972 out
->pNext
= in
->pNext
;
973 out
->flags
= in
->flags
;
974 out
->buffer
= in
->buffer
;
975 out
->format
= in
->format
;
976 out
->offset
= in
->offset
;
977 out
->range
= in
->range
;
980 static inline void convert_VkPipelineShaderStageCreateInfo_win_to_host(const VkPipelineShaderStageCreateInfo
*in
, VkPipelineShaderStageCreateInfo_host
*out
)
984 out
->sType
= in
->sType
;
985 out
->pNext
= in
->pNext
;
986 out
->flags
= in
->flags
;
987 out
->stage
= in
->stage
;
988 out
->module
= in
->module
;
989 out
->pName
= in
->pName
;
990 out
->pSpecializationInfo
= in
->pSpecializationInfo
;
993 static inline VkComputePipelineCreateInfo_host
*convert_VkComputePipelineCreateInfo_array_win_to_host(const VkComputePipelineCreateInfo
*in
, uint32_t count
)
995 VkComputePipelineCreateInfo_host
*out
;
998 if (!in
) return NULL
;
1000 out
= heap_alloc(count
* sizeof(*out
));
1001 for (i
= 0; i
< count
; i
++)
1003 out
[i
].sType
= in
[i
].sType
;
1004 out
[i
].pNext
= in
[i
].pNext
;
1005 out
[i
].flags
= in
[i
].flags
;
1006 convert_VkPipelineShaderStageCreateInfo_win_to_host(&in
[i
].stage
, &out
[i
].stage
);
1007 out
[i
].layout
= in
[i
].layout
;
1008 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
1009 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
1015 static inline void free_VkComputePipelineCreateInfo_array(VkComputePipelineCreateInfo_host
*in
, uint32_t count
)
1022 static inline void convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(const VkDescriptorUpdateTemplateCreateInfo
*in
, VkDescriptorUpdateTemplateCreateInfo_host
*out
)
1026 out
->sType
= in
->sType
;
1027 out
->pNext
= in
->pNext
;
1028 out
->flags
= in
->flags
;
1029 out
->descriptorUpdateEntryCount
= in
->descriptorUpdateEntryCount
;
1030 out
->pDescriptorUpdateEntries
= in
->pDescriptorUpdateEntries
;
1031 out
->templateType
= in
->templateType
;
1032 out
->descriptorSetLayout
= in
->descriptorSetLayout
;
1033 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
1034 out
->pipelineLayout
= in
->pipelineLayout
;
1038 static inline void convert_VkFramebufferCreateInfo_win_to_host(const VkFramebufferCreateInfo
*in
, VkFramebufferCreateInfo_host
*out
)
1042 out
->sType
= in
->sType
;
1043 out
->pNext
= in
->pNext
;
1044 out
->flags
= in
->flags
;
1045 out
->renderPass
= in
->renderPass
;
1046 out
->attachmentCount
= in
->attachmentCount
;
1047 out
->pAttachments
= in
->pAttachments
;
1048 out
->width
= in
->width
;
1049 out
->height
= in
->height
;
1050 out
->layers
= in
->layers
;
1053 static inline VkPipelineShaderStageCreateInfo_host
*convert_VkPipelineShaderStageCreateInfo_array_win_to_host(const VkPipelineShaderStageCreateInfo
*in
, uint32_t count
)
1055 VkPipelineShaderStageCreateInfo_host
*out
;
1058 if (!in
) return NULL
;
1060 out
= heap_alloc(count
* sizeof(*out
));
1061 for (i
= 0; i
< count
; i
++)
1063 out
[i
].sType
= in
[i
].sType
;
1064 out
[i
].pNext
= in
[i
].pNext
;
1065 out
[i
].flags
= in
[i
].flags
;
1066 out
[i
].stage
= in
[i
].stage
;
1067 out
[i
].module
= in
[i
].module
;
1068 out
[i
].pName
= in
[i
].pName
;
1069 out
[i
].pSpecializationInfo
= in
[i
].pSpecializationInfo
;
1075 static inline void free_VkPipelineShaderStageCreateInfo_array(VkPipelineShaderStageCreateInfo_host
*in
, uint32_t count
)
1082 static inline VkGraphicsPipelineCreateInfo_host
*convert_VkGraphicsPipelineCreateInfo_array_win_to_host(const VkGraphicsPipelineCreateInfo
*in
, uint32_t count
)
1084 VkGraphicsPipelineCreateInfo_host
*out
;
1087 if (!in
) return NULL
;
1089 out
= heap_alloc(count
* sizeof(*out
));
1090 for (i
= 0; i
< count
; i
++)
1092 out
[i
].sType
= in
[i
].sType
;
1093 out
[i
].pNext
= in
[i
].pNext
;
1094 out
[i
].flags
= in
[i
].flags
;
1095 out
[i
].stageCount
= in
[i
].stageCount
;
1096 out
[i
].pStages
= convert_VkPipelineShaderStageCreateInfo_array_win_to_host(in
[i
].pStages
, in
[i
].stageCount
);
1097 out
[i
].pVertexInputState
= in
[i
].pVertexInputState
;
1098 out
[i
].pInputAssemblyState
= in
[i
].pInputAssemblyState
;
1099 out
[i
].pTessellationState
= in
[i
].pTessellationState
;
1100 out
[i
].pViewportState
= in
[i
].pViewportState
;
1101 out
[i
].pRasterizationState
= in
[i
].pRasterizationState
;
1102 out
[i
].pMultisampleState
= in
[i
].pMultisampleState
;
1103 out
[i
].pDepthStencilState
= in
[i
].pDepthStencilState
;
1104 out
[i
].pColorBlendState
= in
[i
].pColorBlendState
;
1105 out
[i
].pDynamicState
= in
[i
].pDynamicState
;
1106 out
[i
].layout
= in
[i
].layout
;
1107 out
[i
].renderPass
= in
[i
].renderPass
;
1108 out
[i
].subpass
= in
[i
].subpass
;
1109 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
1110 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
1116 static inline void free_VkGraphicsPipelineCreateInfo_array(VkGraphicsPipelineCreateInfo_host
*in
, uint32_t count
)
1122 for (i
= 0; i
< count
; i
++)
1124 free_VkPipelineShaderStageCreateInfo_array((VkPipelineShaderStageCreateInfo_host
*)in
[i
].pStages
, in
[i
].stageCount
);
1129 static inline void convert_VkImageViewCreateInfo_win_to_host(const VkImageViewCreateInfo
*in
, VkImageViewCreateInfo_host
*out
)
1133 out
->sType
= in
->sType
;
1134 out
->pNext
= in
->pNext
;
1135 out
->flags
= in
->flags
;
1136 out
->image
= in
->image
;
1137 out
->viewType
= in
->viewType
;
1138 out
->format
= in
->format
;
1139 out
->components
= in
->components
;
1140 out
->subresourceRange
= in
->subresourceRange
;
1143 static inline VkIndirectCommandsLayoutTokenNV_host
*convert_VkIndirectCommandsLayoutTokenNV_array_win_to_host(const VkIndirectCommandsLayoutTokenNV
*in
, uint32_t count
)
1145 VkIndirectCommandsLayoutTokenNV_host
*out
;
1148 if (!in
) return NULL
;
1150 out
= heap_alloc(count
* sizeof(*out
));
1151 for (i
= 0; i
< count
; i
++)
1153 out
[i
].sType
= in
[i
].sType
;
1154 out
[i
].pNext
= in
[i
].pNext
;
1155 out
[i
].tokenType
= in
[i
].tokenType
;
1156 out
[i
].stream
= in
[i
].stream
;
1157 out
[i
].offset
= in
[i
].offset
;
1158 out
[i
].vertexBindingUnit
= in
[i
].vertexBindingUnit
;
1159 out
[i
].vertexDynamicStride
= in
[i
].vertexDynamicStride
;
1160 out
[i
].pushconstantPipelineLayout
= in
[i
].pushconstantPipelineLayout
;
1161 out
[i
].pushconstantShaderStageFlags
= in
[i
].pushconstantShaderStageFlags
;
1162 out
[i
].pushconstantOffset
= in
[i
].pushconstantOffset
;
1163 out
[i
].pushconstantSize
= in
[i
].pushconstantSize
;
1164 out
[i
].indirectStateFlags
= in
[i
].indirectStateFlags
;
1165 out
[i
].indexTypeCount
= in
[i
].indexTypeCount
;
1166 out
[i
].pIndexTypes
= in
[i
].pIndexTypes
;
1167 out
[i
].pIndexTypeValues
= in
[i
].pIndexTypeValues
;
1173 static inline void free_VkIndirectCommandsLayoutTokenNV_array(VkIndirectCommandsLayoutTokenNV_host
*in
, uint32_t count
)
1180 static inline void convert_VkIndirectCommandsLayoutCreateInfoNV_win_to_host(const VkIndirectCommandsLayoutCreateInfoNV
*in
, VkIndirectCommandsLayoutCreateInfoNV_host
*out
)
1184 out
->sType
= in
->sType
;
1185 out
->pNext
= in
->pNext
;
1186 out
->flags
= in
->flags
;
1187 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
1188 out
->tokenCount
= in
->tokenCount
;
1189 out
->pTokens
= convert_VkIndirectCommandsLayoutTokenNV_array_win_to_host(in
->pTokens
, in
->tokenCount
);
1190 out
->streamCount
= in
->streamCount
;
1191 out
->pStreamStrides
= in
->pStreamStrides
;
1194 static inline void free_VkIndirectCommandsLayoutCreateInfoNV(VkIndirectCommandsLayoutCreateInfoNV_host
*in
)
1196 free_VkIndirectCommandsLayoutTokenNV_array((VkIndirectCommandsLayoutTokenNV_host
*)in
->pTokens
, in
->tokenCount
);
1199 static inline VkRayTracingPipelineCreateInfoKHR_host
*convert_VkRayTracingPipelineCreateInfoKHR_array_win_to_host(const VkRayTracingPipelineCreateInfoKHR
*in
, uint32_t count
)
1201 VkRayTracingPipelineCreateInfoKHR_host
*out
;
1204 if (!in
) return NULL
;
1206 out
= heap_alloc(count
* sizeof(*out
));
1207 for (i
= 0; i
< count
; i
++)
1209 out
[i
].sType
= in
[i
].sType
;
1210 out
[i
].pNext
= in
[i
].pNext
;
1211 out
[i
].flags
= in
[i
].flags
;
1212 out
[i
].stageCount
= in
[i
].stageCount
;
1213 out
[i
].pStages
= convert_VkPipelineShaderStageCreateInfo_array_win_to_host(in
[i
].pStages
, in
[i
].stageCount
);
1214 out
[i
].groupCount
= in
[i
].groupCount
;
1215 out
[i
].pGroups
= in
[i
].pGroups
;
1216 out
[i
].maxPipelineRayRecursionDepth
= in
[i
].maxPipelineRayRecursionDepth
;
1217 out
[i
].pLibraryInfo
= in
[i
].pLibraryInfo
;
1218 out
[i
].pLibraryInterface
= in
[i
].pLibraryInterface
;
1219 out
[i
].pDynamicState
= in
[i
].pDynamicState
;
1220 out
[i
].layout
= in
[i
].layout
;
1221 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
1222 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
1228 static inline void free_VkRayTracingPipelineCreateInfoKHR_array(VkRayTracingPipelineCreateInfoKHR_host
*in
, uint32_t count
)
1234 for (i
= 0; i
< count
; i
++)
1236 free_VkPipelineShaderStageCreateInfo_array((VkPipelineShaderStageCreateInfo_host
*)in
[i
].pStages
, in
[i
].stageCount
);
1241 static inline VkRayTracingPipelineCreateInfoNV_host
*convert_VkRayTracingPipelineCreateInfoNV_array_win_to_host(const VkRayTracingPipelineCreateInfoNV
*in
, uint32_t count
)
1243 VkRayTracingPipelineCreateInfoNV_host
*out
;
1246 if (!in
) return NULL
;
1248 out
= heap_alloc(count
* sizeof(*out
));
1249 for (i
= 0; i
< count
; i
++)
1251 out
[i
].sType
= in
[i
].sType
;
1252 out
[i
].pNext
= in
[i
].pNext
;
1253 out
[i
].flags
= in
[i
].flags
;
1254 out
[i
].stageCount
= in
[i
].stageCount
;
1255 out
[i
].pStages
= convert_VkPipelineShaderStageCreateInfo_array_win_to_host(in
[i
].pStages
, in
[i
].stageCount
);
1256 out
[i
].groupCount
= in
[i
].groupCount
;
1257 out
[i
].pGroups
= in
[i
].pGroups
;
1258 out
[i
].maxRecursionDepth
= in
[i
].maxRecursionDepth
;
1259 out
[i
].layout
= in
[i
].layout
;
1260 out
[i
].basePipelineHandle
= in
[i
].basePipelineHandle
;
1261 out
[i
].basePipelineIndex
= in
[i
].basePipelineIndex
;
1267 static inline void free_VkRayTracingPipelineCreateInfoNV_array(VkRayTracingPipelineCreateInfoNV_host
*in
, uint32_t count
)
1273 for (i
= 0; i
< count
; i
++)
1275 free_VkPipelineShaderStageCreateInfo_array((VkPipelineShaderStageCreateInfo_host
*)in
[i
].pStages
, in
[i
].stageCount
);
1280 static inline void convert_VkSwapchainCreateInfoKHR_win_to_host(const VkSwapchainCreateInfoKHR
*in
, VkSwapchainCreateInfoKHR_host
*out
)
1284 out
->sType
= in
->sType
;
1285 out
->pNext
= in
->pNext
;
1286 out
->flags
= in
->flags
;
1287 out
->surface
= in
->surface
;
1288 out
->minImageCount
= in
->minImageCount
;
1289 out
->imageFormat
= in
->imageFormat
;
1290 out
->imageColorSpace
= in
->imageColorSpace
;
1291 out
->imageExtent
= in
->imageExtent
;
1292 out
->imageArrayLayers
= in
->imageArrayLayers
;
1293 out
->imageUsage
= in
->imageUsage
;
1294 out
->imageSharingMode
= in
->imageSharingMode
;
1295 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
1296 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
1297 out
->preTransform
= in
->preTransform
;
1298 out
->compositeAlpha
= in
->compositeAlpha
;
1299 out
->presentMode
= in
->presentMode
;
1300 out
->clipped
= in
->clipped
;
1301 out
->oldSwapchain
= in
->oldSwapchain
;
1304 static inline void convert_VkDebugMarkerObjectNameInfoEXT_win_to_host(const VkDebugMarkerObjectNameInfoEXT
*in
, VkDebugMarkerObjectNameInfoEXT_host
*out
)
1308 out
->sType
= in
->sType
;
1309 out
->pNext
= in
->pNext
;
1310 out
->objectType
= in
->objectType
;
1311 out
->object
= in
->object
;
1312 out
->pObjectName
= in
->pObjectName
;
1315 static inline void convert_VkDebugMarkerObjectTagInfoEXT_win_to_host(const VkDebugMarkerObjectTagInfoEXT
*in
, VkDebugMarkerObjectTagInfoEXT_host
*out
)
1319 out
->sType
= in
->sType
;
1320 out
->pNext
= in
->pNext
;
1321 out
->objectType
= in
->objectType
;
1322 out
->object
= in
->object
;
1323 out
->tagName
= in
->tagName
;
1324 out
->tagSize
= in
->tagSize
;
1325 out
->pTag
= in
->pTag
;
1328 static inline VkMappedMemoryRange_host
*convert_VkMappedMemoryRange_array_win_to_host(const VkMappedMemoryRange
*in
, uint32_t count
)
1330 VkMappedMemoryRange_host
*out
;
1333 if (!in
) return NULL
;
1335 out
= heap_alloc(count
* sizeof(*out
));
1336 for (i
= 0; i
< count
; i
++)
1338 out
[i
].sType
= in
[i
].sType
;
1339 out
[i
].pNext
= in
[i
].pNext
;
1340 out
[i
].memory
= in
[i
].memory
;
1341 out
[i
].offset
= in
[i
].offset
;
1342 out
[i
].size
= in
[i
].size
;
1348 static inline void free_VkMappedMemoryRange_array(VkMappedMemoryRange_host
*in
, uint32_t count
)
1355 static inline void convert_VkAccelerationStructureBuildGeometryInfoKHR_win_to_host(const VkAccelerationStructureBuildGeometryInfoKHR
*in
, VkAccelerationStructureBuildGeometryInfoKHR_host
*out
)
1359 out
->sType
= in
->sType
;
1360 out
->pNext
= in
->pNext
;
1361 out
->type
= in
->type
;
1362 out
->flags
= in
->flags
;
1363 out
->mode
= in
->mode
;
1364 out
->srcAccelerationStructure
= in
->srcAccelerationStructure
;
1365 out
->dstAccelerationStructure
= in
->dstAccelerationStructure
;
1366 out
->geometryCount
= in
->geometryCount
;
1367 out
->pGeometries
= in
->pGeometries
;
1368 out
->ppGeometries
= in
->ppGeometries
;
1369 out
->scratchData
= in
->scratchData
;
1372 static inline void convert_VkAccelerationStructureBuildSizesInfoKHR_win_to_host(const VkAccelerationStructureBuildSizesInfoKHR
*in
, VkAccelerationStructureBuildSizesInfoKHR_host
*out
)
1376 out
->sType
= in
->sType
;
1377 out
->pNext
= in
->pNext
;
1378 out
->accelerationStructureSize
= in
->accelerationStructureSize
;
1379 out
->updateScratchSize
= in
->updateScratchSize
;
1380 out
->buildScratchSize
= in
->buildScratchSize
;
1383 static inline void convert_VkAccelerationStructureDeviceAddressInfoKHR_win_to_host(const VkAccelerationStructureDeviceAddressInfoKHR
*in
, VkAccelerationStructureDeviceAddressInfoKHR_host
*out
)
1387 out
->sType
= in
->sType
;
1388 out
->pNext
= in
->pNext
;
1389 out
->accelerationStructure
= in
->accelerationStructure
;
1392 static inline void convert_VkAccelerationStructureMemoryRequirementsInfoNV_win_to_host(const VkAccelerationStructureMemoryRequirementsInfoNV
*in
, VkAccelerationStructureMemoryRequirementsInfoNV_host
*out
)
1396 out
->sType
= in
->sType
;
1397 out
->pNext
= in
->pNext
;
1398 out
->type
= in
->type
;
1399 out
->accelerationStructure
= in
->accelerationStructure
;
1402 static inline void convert_VkMemoryRequirements_host_to_win(const VkMemoryRequirements_host
*in
, VkMemoryRequirements
*out
)
1406 out
->size
= in
->size
;
1407 out
->alignment
= in
->alignment
;
1408 out
->memoryTypeBits
= in
->memoryTypeBits
;
1411 static inline void convert_VkMemoryRequirements2KHR_win_to_host(const VkMemoryRequirements2KHR
*in
, VkMemoryRequirements2KHR_host
*out
)
1415 out
->pNext
= in
->pNext
;
1416 out
->sType
= in
->sType
;
1419 static inline void convert_VkMemoryRequirements2KHR_host_to_win(const VkMemoryRequirements2KHR_host
*in
, VkMemoryRequirements2KHR
*out
)
1423 out
->sType
= in
->sType
;
1424 out
->pNext
= in
->pNext
;
1425 convert_VkMemoryRequirements_host_to_win(&in
->memoryRequirements
, &out
->memoryRequirements
);
1428 static inline void convert_VkBufferDeviceAddressInfo_win_to_host(const VkBufferDeviceAddressInfo
*in
, VkBufferDeviceAddressInfo_host
*out
)
1432 out
->sType
= in
->sType
;
1433 out
->pNext
= in
->pNext
;
1434 out
->buffer
= in
->buffer
;
1437 static inline void convert_VkBufferMemoryRequirementsInfo2_win_to_host(const VkBufferMemoryRequirementsInfo2
*in
, VkBufferMemoryRequirementsInfo2_host
*out
)
1441 out
->sType
= in
->sType
;
1442 out
->pNext
= in
->pNext
;
1443 out
->buffer
= in
->buffer
;
1446 static inline void convert_VkMemoryRequirements2_win_to_host(const VkMemoryRequirements2
*in
, VkMemoryRequirements2_host
*out
)
1450 out
->pNext
= in
->pNext
;
1451 out
->sType
= in
->sType
;
1454 static inline void convert_VkMemoryRequirements2_host_to_win(const VkMemoryRequirements2_host
*in
, VkMemoryRequirements2
*out
)
1458 out
->sType
= in
->sType
;
1459 out
->pNext
= in
->pNext
;
1460 convert_VkMemoryRequirements_host_to_win(&in
->memoryRequirements
, &out
->memoryRequirements
);
1463 static inline void convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(const VkDeviceMemoryOpaqueCaptureAddressInfo
*in
, VkDeviceMemoryOpaqueCaptureAddressInfo_host
*out
)
1467 out
->sType
= in
->sType
;
1468 out
->pNext
= in
->pNext
;
1469 out
->memory
= in
->memory
;
1472 static inline void convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win_to_host(const VkGeneratedCommandsMemoryRequirementsInfoNV
*in
, VkGeneratedCommandsMemoryRequirementsInfoNV_host
*out
)
1476 out
->sType
= in
->sType
;
1477 out
->pNext
= in
->pNext
;
1478 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
1479 out
->pipeline
= in
->pipeline
;
1480 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
1481 out
->maxSequencesCount
= in
->maxSequencesCount
;
1484 static inline void convert_VkImageMemoryRequirementsInfo2_win_to_host(const VkImageMemoryRequirementsInfo2
*in
, VkImageMemoryRequirementsInfo2_host
*out
)
1488 out
->sType
= in
->sType
;
1489 out
->pNext
= in
->pNext
;
1490 out
->image
= in
->image
;
1493 static inline void convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(const VkImageSparseMemoryRequirementsInfo2
*in
, VkImageSparseMemoryRequirementsInfo2_host
*out
)
1497 out
->sType
= in
->sType
;
1498 out
->pNext
= in
->pNext
;
1499 out
->image
= in
->image
;
1502 static inline void convert_VkSubresourceLayout_host_to_win(const VkSubresourceLayout_host
*in
, VkSubresourceLayout
*out
)
1506 out
->offset
= in
->offset
;
1507 out
->size
= in
->size
;
1508 out
->rowPitch
= in
->rowPitch
;
1509 out
->arrayPitch
= in
->arrayPitch
;
1510 out
->depthPitch
= in
->depthPitch
;
1513 static inline void convert_VkImageFormatProperties_host_to_win(const VkImageFormatProperties_host
*in
, VkImageFormatProperties
*out
)
1517 out
->maxExtent
= in
->maxExtent
;
1518 out
->maxMipLevels
= in
->maxMipLevels
;
1519 out
->maxArrayLayers
= in
->maxArrayLayers
;
1520 out
->sampleCounts
= in
->sampleCounts
;
1521 out
->maxResourceSize
= in
->maxResourceSize
;
1524 static inline void convert_VkImageFormatProperties2_win_to_host(const VkImageFormatProperties2
*in
, VkImageFormatProperties2_host
*out
)
1528 out
->pNext
= in
->pNext
;
1529 out
->sType
= in
->sType
;
1532 static inline void convert_VkImageFormatProperties2_host_to_win(const VkImageFormatProperties2_host
*in
, VkImageFormatProperties2
*out
)
1536 out
->sType
= in
->sType
;
1537 out
->pNext
= in
->pNext
;
1538 convert_VkImageFormatProperties_host_to_win(&in
->imageFormatProperties
, &out
->imageFormatProperties
);
1541 static inline void convert_VkMemoryHeap_static_array_host_to_win(const VkMemoryHeap_host
*in
, VkMemoryHeap
*out
, uint32_t count
)
1547 for (i
= 0; i
< count
; i
++)
1549 out
[i
].size
= in
[i
].size
;
1550 out
[i
].flags
= in
[i
].flags
;
1554 static inline void convert_VkPhysicalDeviceMemoryProperties_host_to_win(const VkPhysicalDeviceMemoryProperties_host
*in
, VkPhysicalDeviceMemoryProperties
*out
)
1558 out
->memoryTypeCount
= in
->memoryTypeCount
;
1559 memcpy(out
->memoryTypes
, in
->memoryTypes
, VK_MAX_MEMORY_TYPES
* sizeof(VkMemoryType
));
1560 out
->memoryHeapCount
= in
->memoryHeapCount
;
1561 convert_VkMemoryHeap_static_array_host_to_win(in
->memoryHeaps
, out
->memoryHeaps
, VK_MAX_MEMORY_HEAPS
);
1564 static inline void convert_VkPhysicalDeviceMemoryProperties2_win_to_host(const VkPhysicalDeviceMemoryProperties2
*in
, VkPhysicalDeviceMemoryProperties2_host
*out
)
1568 out
->pNext
= in
->pNext
;
1569 out
->sType
= in
->sType
;
1572 static inline void convert_VkPhysicalDeviceMemoryProperties2_host_to_win(const VkPhysicalDeviceMemoryProperties2_host
*in
, VkPhysicalDeviceMemoryProperties2
*out
)
1576 out
->sType
= in
->sType
;
1577 out
->pNext
= in
->pNext
;
1578 convert_VkPhysicalDeviceMemoryProperties_host_to_win(&in
->memoryProperties
, &out
->memoryProperties
);
1581 static inline void convert_VkPhysicalDeviceLimits_host_to_win(const VkPhysicalDeviceLimits_host
*in
, VkPhysicalDeviceLimits
*out
)
1585 out
->maxImageDimension1D
= in
->maxImageDimension1D
;
1586 out
->maxImageDimension2D
= in
->maxImageDimension2D
;
1587 out
->maxImageDimension3D
= in
->maxImageDimension3D
;
1588 out
->maxImageDimensionCube
= in
->maxImageDimensionCube
;
1589 out
->maxImageArrayLayers
= in
->maxImageArrayLayers
;
1590 out
->maxTexelBufferElements
= in
->maxTexelBufferElements
;
1591 out
->maxUniformBufferRange
= in
->maxUniformBufferRange
;
1592 out
->maxStorageBufferRange
= in
->maxStorageBufferRange
;
1593 out
->maxPushConstantsSize
= in
->maxPushConstantsSize
;
1594 out
->maxMemoryAllocationCount
= in
->maxMemoryAllocationCount
;
1595 out
->maxSamplerAllocationCount
= in
->maxSamplerAllocationCount
;
1596 out
->bufferImageGranularity
= in
->bufferImageGranularity
;
1597 out
->sparseAddressSpaceSize
= in
->sparseAddressSpaceSize
;
1598 out
->maxBoundDescriptorSets
= in
->maxBoundDescriptorSets
;
1599 out
->maxPerStageDescriptorSamplers
= in
->maxPerStageDescriptorSamplers
;
1600 out
->maxPerStageDescriptorUniformBuffers
= in
->maxPerStageDescriptorUniformBuffers
;
1601 out
->maxPerStageDescriptorStorageBuffers
= in
->maxPerStageDescriptorStorageBuffers
;
1602 out
->maxPerStageDescriptorSampledImages
= in
->maxPerStageDescriptorSampledImages
;
1603 out
->maxPerStageDescriptorStorageImages
= in
->maxPerStageDescriptorStorageImages
;
1604 out
->maxPerStageDescriptorInputAttachments
= in
->maxPerStageDescriptorInputAttachments
;
1605 out
->maxPerStageResources
= in
->maxPerStageResources
;
1606 out
->maxDescriptorSetSamplers
= in
->maxDescriptorSetSamplers
;
1607 out
->maxDescriptorSetUniformBuffers
= in
->maxDescriptorSetUniformBuffers
;
1608 out
->maxDescriptorSetUniformBuffersDynamic
= in
->maxDescriptorSetUniformBuffersDynamic
;
1609 out
->maxDescriptorSetStorageBuffers
= in
->maxDescriptorSetStorageBuffers
;
1610 out
->maxDescriptorSetStorageBuffersDynamic
= in
->maxDescriptorSetStorageBuffersDynamic
;
1611 out
->maxDescriptorSetSampledImages
= in
->maxDescriptorSetSampledImages
;
1612 out
->maxDescriptorSetStorageImages
= in
->maxDescriptorSetStorageImages
;
1613 out
->maxDescriptorSetInputAttachments
= in
->maxDescriptorSetInputAttachments
;
1614 out
->maxVertexInputAttributes
= in
->maxVertexInputAttributes
;
1615 out
->maxVertexInputBindings
= in
->maxVertexInputBindings
;
1616 out
->maxVertexInputAttributeOffset
= in
->maxVertexInputAttributeOffset
;
1617 out
->maxVertexInputBindingStride
= in
->maxVertexInputBindingStride
;
1618 out
->maxVertexOutputComponents
= in
->maxVertexOutputComponents
;
1619 out
->maxTessellationGenerationLevel
= in
->maxTessellationGenerationLevel
;
1620 out
->maxTessellationPatchSize
= in
->maxTessellationPatchSize
;
1621 out
->maxTessellationControlPerVertexInputComponents
= in
->maxTessellationControlPerVertexInputComponents
;
1622 out
->maxTessellationControlPerVertexOutputComponents
= in
->maxTessellationControlPerVertexOutputComponents
;
1623 out
->maxTessellationControlPerPatchOutputComponents
= in
->maxTessellationControlPerPatchOutputComponents
;
1624 out
->maxTessellationControlTotalOutputComponents
= in
->maxTessellationControlTotalOutputComponents
;
1625 out
->maxTessellationEvaluationInputComponents
= in
->maxTessellationEvaluationInputComponents
;
1626 out
->maxTessellationEvaluationOutputComponents
= in
->maxTessellationEvaluationOutputComponents
;
1627 out
->maxGeometryShaderInvocations
= in
->maxGeometryShaderInvocations
;
1628 out
->maxGeometryInputComponents
= in
->maxGeometryInputComponents
;
1629 out
->maxGeometryOutputComponents
= in
->maxGeometryOutputComponents
;
1630 out
->maxGeometryOutputVertices
= in
->maxGeometryOutputVertices
;
1631 out
->maxGeometryTotalOutputComponents
= in
->maxGeometryTotalOutputComponents
;
1632 out
->maxFragmentInputComponents
= in
->maxFragmentInputComponents
;
1633 out
->maxFragmentOutputAttachments
= in
->maxFragmentOutputAttachments
;
1634 out
->maxFragmentDualSrcAttachments
= in
->maxFragmentDualSrcAttachments
;
1635 out
->maxFragmentCombinedOutputResources
= in
->maxFragmentCombinedOutputResources
;
1636 out
->maxComputeSharedMemorySize
= in
->maxComputeSharedMemorySize
;
1637 memcpy(out
->maxComputeWorkGroupCount
, in
->maxComputeWorkGroupCount
, 3 * sizeof(uint32_t));
1638 out
->maxComputeWorkGroupInvocations
= in
->maxComputeWorkGroupInvocations
;
1639 memcpy(out
->maxComputeWorkGroupSize
, in
->maxComputeWorkGroupSize
, 3 * sizeof(uint32_t));
1640 out
->subPixelPrecisionBits
= in
->subPixelPrecisionBits
;
1641 out
->subTexelPrecisionBits
= in
->subTexelPrecisionBits
;
1642 out
->mipmapPrecisionBits
= in
->mipmapPrecisionBits
;
1643 out
->maxDrawIndexedIndexValue
= in
->maxDrawIndexedIndexValue
;
1644 out
->maxDrawIndirectCount
= in
->maxDrawIndirectCount
;
1645 out
->maxSamplerLodBias
= in
->maxSamplerLodBias
;
1646 out
->maxSamplerAnisotropy
= in
->maxSamplerAnisotropy
;
1647 out
->maxViewports
= in
->maxViewports
;
1648 memcpy(out
->maxViewportDimensions
, in
->maxViewportDimensions
, 2 * sizeof(uint32_t));
1649 memcpy(out
->viewportBoundsRange
, in
->viewportBoundsRange
, 2 * sizeof(float));
1650 out
->viewportSubPixelBits
= in
->viewportSubPixelBits
;
1651 out
->minMemoryMapAlignment
= in
->minMemoryMapAlignment
;
1652 out
->minTexelBufferOffsetAlignment
= in
->minTexelBufferOffsetAlignment
;
1653 out
->minUniformBufferOffsetAlignment
= in
->minUniformBufferOffsetAlignment
;
1654 out
->minStorageBufferOffsetAlignment
= in
->minStorageBufferOffsetAlignment
;
1655 out
->minTexelOffset
= in
->minTexelOffset
;
1656 out
->maxTexelOffset
= in
->maxTexelOffset
;
1657 out
->minTexelGatherOffset
= in
->minTexelGatherOffset
;
1658 out
->maxTexelGatherOffset
= in
->maxTexelGatherOffset
;
1659 out
->minInterpolationOffset
= in
->minInterpolationOffset
;
1660 out
->maxInterpolationOffset
= in
->maxInterpolationOffset
;
1661 out
->subPixelInterpolationOffsetBits
= in
->subPixelInterpolationOffsetBits
;
1662 out
->maxFramebufferWidth
= in
->maxFramebufferWidth
;
1663 out
->maxFramebufferHeight
= in
->maxFramebufferHeight
;
1664 out
->maxFramebufferLayers
= in
->maxFramebufferLayers
;
1665 out
->framebufferColorSampleCounts
= in
->framebufferColorSampleCounts
;
1666 out
->framebufferDepthSampleCounts
= in
->framebufferDepthSampleCounts
;
1667 out
->framebufferStencilSampleCounts
= in
->framebufferStencilSampleCounts
;
1668 out
->framebufferNoAttachmentsSampleCounts
= in
->framebufferNoAttachmentsSampleCounts
;
1669 out
->maxColorAttachments
= in
->maxColorAttachments
;
1670 out
->sampledImageColorSampleCounts
= in
->sampledImageColorSampleCounts
;
1671 out
->sampledImageIntegerSampleCounts
= in
->sampledImageIntegerSampleCounts
;
1672 out
->sampledImageDepthSampleCounts
= in
->sampledImageDepthSampleCounts
;
1673 out
->sampledImageStencilSampleCounts
= in
->sampledImageStencilSampleCounts
;
1674 out
->storageImageSampleCounts
= in
->storageImageSampleCounts
;
1675 out
->maxSampleMaskWords
= in
->maxSampleMaskWords
;
1676 out
->timestampComputeAndGraphics
= in
->timestampComputeAndGraphics
;
1677 out
->timestampPeriod
= in
->timestampPeriod
;
1678 out
->maxClipDistances
= in
->maxClipDistances
;
1679 out
->maxCullDistances
= in
->maxCullDistances
;
1680 out
->maxCombinedClipAndCullDistances
= in
->maxCombinedClipAndCullDistances
;
1681 out
->discreteQueuePriorities
= in
->discreteQueuePriorities
;
1682 memcpy(out
->pointSizeRange
, in
->pointSizeRange
, 2 * sizeof(float));
1683 memcpy(out
->lineWidthRange
, in
->lineWidthRange
, 2 * sizeof(float));
1684 out
->pointSizeGranularity
= in
->pointSizeGranularity
;
1685 out
->lineWidthGranularity
= in
->lineWidthGranularity
;
1686 out
->strictLines
= in
->strictLines
;
1687 out
->standardSampleLocations
= in
->standardSampleLocations
;
1688 out
->optimalBufferCopyOffsetAlignment
= in
->optimalBufferCopyOffsetAlignment
;
1689 out
->optimalBufferCopyRowPitchAlignment
= in
->optimalBufferCopyRowPitchAlignment
;
1690 out
->nonCoherentAtomSize
= in
->nonCoherentAtomSize
;
1693 static inline void convert_VkPhysicalDeviceProperties_host_to_win(const VkPhysicalDeviceProperties_host
*in
, VkPhysicalDeviceProperties
*out
)
1697 out
->apiVersion
= in
->apiVersion
;
1698 out
->driverVersion
= in
->driverVersion
;
1699 out
->vendorID
= in
->vendorID
;
1700 out
->deviceID
= in
->deviceID
;
1701 out
->deviceType
= in
->deviceType
;
1702 memcpy(out
->deviceName
, in
->deviceName
, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
* sizeof(char));
1703 memcpy(out
->pipelineCacheUUID
, in
->pipelineCacheUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
1704 convert_VkPhysicalDeviceLimits_host_to_win(&in
->limits
, &out
->limits
);
1705 out
->sparseProperties
= in
->sparseProperties
;
1708 static inline void convert_VkPhysicalDeviceProperties2_win_to_host(const VkPhysicalDeviceProperties2
*in
, VkPhysicalDeviceProperties2_host
*out
)
1712 out
->pNext
= in
->pNext
;
1713 out
->sType
= in
->sType
;
1716 static inline void convert_VkPhysicalDeviceProperties2_host_to_win(const VkPhysicalDeviceProperties2_host
*in
, VkPhysicalDeviceProperties2
*out
)
1720 out
->sType
= in
->sType
;
1721 out
->pNext
= in
->pNext
;
1722 convert_VkPhysicalDeviceProperties_host_to_win(&in
->properties
, &out
->properties
);
1725 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(const VkPhysicalDeviceSurfaceInfo2KHR
*in
, VkPhysicalDeviceSurfaceInfo2KHR_host
*out
)
1729 out
->sType
= in
->sType
;
1730 out
->pNext
= in
->pNext
;
1731 out
->surface
= in
->surface
;
1734 static inline void convert_VkPipelineExecutableInfoKHR_win_to_host(const VkPipelineExecutableInfoKHR
*in
, VkPipelineExecutableInfoKHR_host
*out
)
1738 out
->sType
= in
->sType
;
1739 out
->pNext
= in
->pNext
;
1740 out
->pipeline
= in
->pipeline
;
1741 out
->executableIndex
= in
->executableIndex
;
1744 static inline void convert_VkPipelineInfoKHR_win_to_host(const VkPipelineInfoKHR
*in
, VkPipelineInfoKHR_host
*out
)
1748 out
->sType
= in
->sType
;
1749 out
->pNext
= in
->pNext
;
1750 out
->pipeline
= in
->pipeline
;
1753 static inline VkSparseMemoryBind_host
*convert_VkSparseMemoryBind_array_win_to_host(const VkSparseMemoryBind
*in
, uint32_t count
)
1755 VkSparseMemoryBind_host
*out
;
1758 if (!in
) return NULL
;
1760 out
= heap_alloc(count
* sizeof(*out
));
1761 for (i
= 0; i
< count
; i
++)
1763 out
[i
].resourceOffset
= in
[i
].resourceOffset
;
1764 out
[i
].size
= in
[i
].size
;
1765 out
[i
].memory
= in
[i
].memory
;
1766 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
1767 out
[i
].flags
= in
[i
].flags
;
1773 static inline void free_VkSparseMemoryBind_array(VkSparseMemoryBind_host
*in
, uint32_t count
)
1780 static inline VkSparseBufferMemoryBindInfo_host
*convert_VkSparseBufferMemoryBindInfo_array_win_to_host(const VkSparseBufferMemoryBindInfo
*in
, uint32_t count
)
1782 VkSparseBufferMemoryBindInfo_host
*out
;
1785 if (!in
) return NULL
;
1787 out
= heap_alloc(count
* sizeof(*out
));
1788 for (i
= 0; i
< count
; i
++)
1790 out
[i
].buffer
= in
[i
].buffer
;
1791 out
[i
].bindCount
= in
[i
].bindCount
;
1792 out
[i
].pBinds
= convert_VkSparseMemoryBind_array_win_to_host(in
[i
].pBinds
, in
[i
].bindCount
);
1798 static inline void free_VkSparseBufferMemoryBindInfo_array(VkSparseBufferMemoryBindInfo_host
*in
, uint32_t count
)
1804 for (i
= 0; i
< count
; i
++)
1806 free_VkSparseMemoryBind_array((VkSparseMemoryBind_host
*)in
[i
].pBinds
, in
[i
].bindCount
);
1811 static inline VkSparseImageOpaqueMemoryBindInfo_host
*convert_VkSparseImageOpaqueMemoryBindInfo_array_win_to_host(const VkSparseImageOpaqueMemoryBindInfo
*in
, uint32_t count
)
1813 VkSparseImageOpaqueMemoryBindInfo_host
*out
;
1816 if (!in
) return NULL
;
1818 out
= heap_alloc(count
* sizeof(*out
));
1819 for (i
= 0; i
< count
; i
++)
1821 out
[i
].image
= in
[i
].image
;
1822 out
[i
].bindCount
= in
[i
].bindCount
;
1823 out
[i
].pBinds
= convert_VkSparseMemoryBind_array_win_to_host(in
[i
].pBinds
, in
[i
].bindCount
);
1829 static inline void free_VkSparseImageOpaqueMemoryBindInfo_array(VkSparseImageOpaqueMemoryBindInfo_host
*in
, uint32_t count
)
1835 for (i
= 0; i
< count
; i
++)
1837 free_VkSparseMemoryBind_array((VkSparseMemoryBind_host
*)in
[i
].pBinds
, in
[i
].bindCount
);
1842 static inline VkSparseImageMemoryBind_host
*convert_VkSparseImageMemoryBind_array_win_to_host(const VkSparseImageMemoryBind
*in
, uint32_t count
)
1844 VkSparseImageMemoryBind_host
*out
;
1847 if (!in
) return NULL
;
1849 out
= heap_alloc(count
* sizeof(*out
));
1850 for (i
= 0; i
< count
; i
++)
1852 out
[i
].subresource
= in
[i
].subresource
;
1853 out
[i
].offset
= in
[i
].offset
;
1854 out
[i
].extent
= in
[i
].extent
;
1855 out
[i
].memory
= in
[i
].memory
;
1856 out
[i
].memoryOffset
= in
[i
].memoryOffset
;
1857 out
[i
].flags
= in
[i
].flags
;
1863 static inline void free_VkSparseImageMemoryBind_array(VkSparseImageMemoryBind_host
*in
, uint32_t count
)
1870 static inline VkSparseImageMemoryBindInfo_host
*convert_VkSparseImageMemoryBindInfo_array_win_to_host(const VkSparseImageMemoryBindInfo
*in
, uint32_t count
)
1872 VkSparseImageMemoryBindInfo_host
*out
;
1875 if (!in
) return NULL
;
1877 out
= heap_alloc(count
* sizeof(*out
));
1878 for (i
= 0; i
< count
; i
++)
1880 out
[i
].image
= in
[i
].image
;
1881 out
[i
].bindCount
= in
[i
].bindCount
;
1882 out
[i
].pBinds
= convert_VkSparseImageMemoryBind_array_win_to_host(in
[i
].pBinds
, in
[i
].bindCount
);
1888 static inline void free_VkSparseImageMemoryBindInfo_array(VkSparseImageMemoryBindInfo_host
*in
, uint32_t count
)
1894 for (i
= 0; i
< count
; i
++)
1896 free_VkSparseImageMemoryBind_array((VkSparseImageMemoryBind_host
*)in
[i
].pBinds
, in
[i
].bindCount
);
1901 static inline VkBindSparseInfo_host
*convert_VkBindSparseInfo_array_win_to_host(const VkBindSparseInfo
*in
, uint32_t count
)
1903 VkBindSparseInfo_host
*out
;
1906 if (!in
) return NULL
;
1908 out
= heap_alloc(count
* sizeof(*out
));
1909 for (i
= 0; i
< count
; i
++)
1911 out
[i
].sType
= in
[i
].sType
;
1912 out
[i
].pNext
= in
[i
].pNext
;
1913 out
[i
].waitSemaphoreCount
= in
[i
].waitSemaphoreCount
;
1914 out
[i
].pWaitSemaphores
= in
[i
].pWaitSemaphores
;
1915 out
[i
].bufferBindCount
= in
[i
].bufferBindCount
;
1916 out
[i
].pBufferBinds
= convert_VkSparseBufferMemoryBindInfo_array_win_to_host(in
[i
].pBufferBinds
, in
[i
].bufferBindCount
);
1917 out
[i
].imageOpaqueBindCount
= in
[i
].imageOpaqueBindCount
;
1918 out
[i
].pImageOpaqueBinds
= convert_VkSparseImageOpaqueMemoryBindInfo_array_win_to_host(in
[i
].pImageOpaqueBinds
, in
[i
].imageOpaqueBindCount
);
1919 out
[i
].imageBindCount
= in
[i
].imageBindCount
;
1920 out
[i
].pImageBinds
= convert_VkSparseImageMemoryBindInfo_array_win_to_host(in
[i
].pImageBinds
, in
[i
].imageBindCount
);
1921 out
[i
].signalSemaphoreCount
= in
[i
].signalSemaphoreCount
;
1922 out
[i
].pSignalSemaphores
= in
[i
].pSignalSemaphores
;
1928 static inline void free_VkBindSparseInfo_array(VkBindSparseInfo_host
*in
, uint32_t count
)
1934 for (i
= 0; i
< count
; i
++)
1936 free_VkSparseBufferMemoryBindInfo_array((VkSparseBufferMemoryBindInfo_host
*)in
[i
].pBufferBinds
, in
[i
].bufferBindCount
);
1937 free_VkSparseImageOpaqueMemoryBindInfo_array((VkSparseImageOpaqueMemoryBindInfo_host
*)in
[i
].pImageOpaqueBinds
, in
[i
].imageOpaqueBindCount
);
1938 free_VkSparseImageMemoryBindInfo_array((VkSparseImageMemoryBindInfo_host
*)in
[i
].pImageBinds
, in
[i
].imageBindCount
);
1943 static inline VkSemaphoreSubmitInfoKHR_host
*convert_VkSemaphoreSubmitInfoKHR_array_win_to_host(const VkSemaphoreSubmitInfoKHR
*in
, uint32_t count
)
1945 VkSemaphoreSubmitInfoKHR_host
*out
;
1948 if (!in
) return NULL
;
1950 out
= heap_alloc(count
* sizeof(*out
));
1951 for (i
= 0; i
< count
; i
++)
1953 out
[i
].sType
= in
[i
].sType
;
1954 out
[i
].pNext
= in
[i
].pNext
;
1955 out
[i
].semaphore
= in
[i
].semaphore
;
1956 out
[i
].value
= in
[i
].value
;
1957 out
[i
].stageMask
= in
[i
].stageMask
;
1958 out
[i
].deviceIndex
= in
[i
].deviceIndex
;
1964 static inline void free_VkSemaphoreSubmitInfoKHR_array(VkSemaphoreSubmitInfoKHR_host
*in
, uint32_t count
)
1971 static inline VkSubmitInfo2KHR_host
*convert_VkSubmitInfo2KHR_array_win_to_host(const VkSubmitInfo2KHR
*in
, uint32_t count
)
1973 VkSubmitInfo2KHR_host
*out
;
1976 if (!in
) return NULL
;
1978 out
= heap_alloc(count
* sizeof(*out
));
1979 for (i
= 0; i
< count
; i
++)
1981 out
[i
].sType
= in
[i
].sType
;
1982 out
[i
].pNext
= in
[i
].pNext
;
1983 out
[i
].flags
= in
[i
].flags
;
1984 out
[i
].waitSemaphoreInfoCount
= in
[i
].waitSemaphoreInfoCount
;
1985 out
[i
].pWaitSemaphoreInfos
= convert_VkSemaphoreSubmitInfoKHR_array_win_to_host(in
[i
].pWaitSemaphoreInfos
, in
[i
].waitSemaphoreInfoCount
);
1986 out
[i
].commandBufferInfoCount
= in
[i
].commandBufferInfoCount
;
1987 out
[i
].pCommandBufferInfos
= in
[i
].pCommandBufferInfos
;
1988 out
[i
].signalSemaphoreInfoCount
= in
[i
].signalSemaphoreInfoCount
;
1989 out
[i
].pSignalSemaphoreInfos
= convert_VkSemaphoreSubmitInfoKHR_array_win_to_host(in
[i
].pSignalSemaphoreInfos
, in
[i
].signalSemaphoreInfoCount
);
1995 static inline void free_VkSubmitInfo2KHR_array(VkSubmitInfo2KHR_host
*in
, uint32_t count
)
2001 for (i
= 0; i
< count
; i
++)
2003 free_VkSemaphoreSubmitInfoKHR_array((VkSemaphoreSubmitInfoKHR_host
*)in
[i
].pWaitSemaphoreInfos
, in
[i
].waitSemaphoreInfoCount
);
2004 free_VkSemaphoreSubmitInfoKHR_array((VkSemaphoreSubmitInfoKHR_host
*)in
[i
].pSignalSemaphoreInfos
, in
[i
].signalSemaphoreInfoCount
);
2009 static inline void convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, VkDebugUtilsObjectNameInfoEXT_host
*out
)
2013 out
->sType
= in
->sType
;
2014 out
->pNext
= in
->pNext
;
2015 out
->objectType
= in
->objectType
;
2016 out
->objectHandle
= in
->objectHandle
;
2017 out
->pObjectName
= in
->pObjectName
;
2020 static inline void convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(const VkDebugUtilsObjectTagInfoEXT
*in
, VkDebugUtilsObjectTagInfoEXT_host
*out
)
2024 out
->sType
= in
->sType
;
2025 out
->pNext
= in
->pNext
;
2026 out
->objectType
= in
->objectType
;
2027 out
->objectHandle
= in
->objectHandle
;
2028 out
->tagName
= in
->tagName
;
2029 out
->tagSize
= in
->tagSize
;
2030 out
->pTag
= in
->pTag
;
2033 static inline void convert_VkSemaphoreSignalInfo_win_to_host(const VkSemaphoreSignalInfo
*in
, VkSemaphoreSignalInfo_host
*out
)
2037 out
->sType
= in
->sType
;
2038 out
->pNext
= in
->pNext
;
2039 out
->semaphore
= in
->semaphore
;
2040 out
->value
= in
->value
;
2043 static inline VkDebugUtilsObjectNameInfoEXT_host
*convert_VkDebugUtilsObjectNameInfoEXT_array_win_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, uint32_t count
)
2045 VkDebugUtilsObjectNameInfoEXT_host
*out
;
2048 if (!in
) return NULL
;
2050 out
= heap_alloc(count
* sizeof(*out
));
2051 for (i
= 0; i
< count
; i
++)
2053 out
[i
].sType
= in
[i
].sType
;
2054 out
[i
].pNext
= in
[i
].pNext
;
2055 out
[i
].objectType
= in
[i
].objectType
;
2056 out
[i
].objectHandle
= in
[i
].objectHandle
;
2057 out
[i
].pObjectName
= in
[i
].pObjectName
;
2063 static inline void free_VkDebugUtilsObjectNameInfoEXT_array(VkDebugUtilsObjectNameInfoEXT_host
*in
, uint32_t count
)
2070 static inline void convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(const VkDebugUtilsMessengerCallbackDataEXT
*in
, VkDebugUtilsMessengerCallbackDataEXT_host
*out
)
2074 out
->sType
= in
->sType
;
2075 out
->pNext
= in
->pNext
;
2076 out
->flags
= in
->flags
;
2077 out
->pMessageIdName
= in
->pMessageIdName
;
2078 out
->messageIdNumber
= in
->messageIdNumber
;
2079 out
->pMessage
= in
->pMessage
;
2080 out
->queueLabelCount
= in
->queueLabelCount
;
2081 out
->pQueueLabels
= in
->pQueueLabels
;
2082 out
->cmdBufLabelCount
= in
->cmdBufLabelCount
;
2083 out
->pCmdBufLabels
= in
->pCmdBufLabels
;
2084 out
->objectCount
= in
->objectCount
;
2085 out
->pObjects
= convert_VkDebugUtilsObjectNameInfoEXT_array_win_to_host(in
->pObjects
, in
->objectCount
);
2088 static inline void free_VkDebugUtilsMessengerCallbackDataEXT(VkDebugUtilsMessengerCallbackDataEXT_host
*in
)
2090 free_VkDebugUtilsObjectNameInfoEXT_array((VkDebugUtilsObjectNameInfoEXT_host
*)in
->pObjects
, in
->objectCount
);
2093 static inline VkCopyDescriptorSet_host
*convert_VkCopyDescriptorSet_array_win_to_host(const VkCopyDescriptorSet
*in
, uint32_t count
)
2095 VkCopyDescriptorSet_host
*out
;
2098 if (!in
) return NULL
;
2100 out
= heap_alloc(count
* sizeof(*out
));
2101 for (i
= 0; i
< count
; i
++)
2103 out
[i
].sType
= in
[i
].sType
;
2104 out
[i
].pNext
= in
[i
].pNext
;
2105 out
[i
].srcSet
= in
[i
].srcSet
;
2106 out
[i
].srcBinding
= in
[i
].srcBinding
;
2107 out
[i
].srcArrayElement
= in
[i
].srcArrayElement
;
2108 out
[i
].dstSet
= in
[i
].dstSet
;
2109 out
[i
].dstBinding
= in
[i
].dstBinding
;
2110 out
[i
].dstArrayElement
= in
[i
].dstArrayElement
;
2111 out
[i
].descriptorCount
= in
[i
].descriptorCount
;
2117 static inline void free_VkCopyDescriptorSet_array(VkCopyDescriptorSet_host
*in
, uint32_t count
)
2124 #endif /* USE_STRUCT_CONVERSION */
2126 VkResult
convert_VkDeviceCreateInfo_struct_chain(const void *pNext
, VkDeviceCreateInfo
*out_struct
)
2128 VkBaseOutStructure
*out_header
= (VkBaseOutStructure
*)out_struct
;
2129 const VkBaseInStructure
*in_header
;
2131 out_header
->pNext
= NULL
;
2133 for (in_header
= pNext
; in_header
; in_header
= in_header
->pNext
)
2135 switch (in_header
->sType
)
2137 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
:
2138 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
:
2141 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
:
2143 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*in
= (const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*)in_header
;
2144 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*out
;
2146 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2148 out
->sType
= in
->sType
;
2150 out
->deviceGeneratedCommands
= in
->deviceGeneratedCommands
;
2152 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2153 out_header
= out_header
->pNext
;
2157 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO_EXT
:
2159 const VkDevicePrivateDataCreateInfoEXT
*in
= (const VkDevicePrivateDataCreateInfoEXT
*)in_header
;
2160 VkDevicePrivateDataCreateInfoEXT
*out
;
2162 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2164 out
->sType
= in
->sType
;
2166 out
->privateDataSlotRequestCount
= in
->privateDataSlotRequestCount
;
2168 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2169 out_header
= out_header
->pNext
;
2173 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT
:
2175 const VkPhysicalDevicePrivateDataFeaturesEXT
*in
= (const VkPhysicalDevicePrivateDataFeaturesEXT
*)in_header
;
2176 VkPhysicalDevicePrivateDataFeaturesEXT
*out
;
2178 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2180 out
->sType
= in
->sType
;
2182 out
->privateData
= in
->privateData
;
2184 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2185 out_header
= out_header
->pNext
;
2189 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
:
2191 const VkPhysicalDeviceFeatures2
*in
= (const VkPhysicalDeviceFeatures2
*)in_header
;
2192 VkPhysicalDeviceFeatures2
*out
;
2194 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2196 out
->sType
= in
->sType
;
2198 out
->features
= in
->features
;
2200 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2201 out_header
= out_header
->pNext
;
2205 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
:
2207 const VkPhysicalDeviceVariablePointersFeatures
*in
= (const VkPhysicalDeviceVariablePointersFeatures
*)in_header
;
2208 VkPhysicalDeviceVariablePointersFeatures
*out
;
2210 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2212 out
->sType
= in
->sType
;
2214 out
->variablePointersStorageBuffer
= in
->variablePointersStorageBuffer
;
2215 out
->variablePointers
= in
->variablePointers
;
2217 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2218 out_header
= out_header
->pNext
;
2222 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
:
2224 const VkPhysicalDeviceMultiviewFeatures
*in
= (const VkPhysicalDeviceMultiviewFeatures
*)in_header
;
2225 VkPhysicalDeviceMultiviewFeatures
*out
;
2227 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2229 out
->sType
= in
->sType
;
2231 out
->multiview
= in
->multiview
;
2232 out
->multiviewGeometryShader
= in
->multiviewGeometryShader
;
2233 out
->multiviewTessellationShader
= in
->multiviewTessellationShader
;
2235 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2236 out_header
= out_header
->pNext
;
2240 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
:
2242 const VkDeviceGroupDeviceCreateInfo
*in
= (const VkDeviceGroupDeviceCreateInfo
*)in_header
;
2243 VkDeviceGroupDeviceCreateInfo
*out
;
2245 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2247 out
->sType
= in
->sType
;
2249 out
->physicalDeviceCount
= in
->physicalDeviceCount
;
2250 out
->pPhysicalDevices
= in
->pPhysicalDevices
;
2252 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2253 out_header
= out_header
->pNext
;
2257 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
:
2259 const VkPhysicalDevice16BitStorageFeatures
*in
= (const VkPhysicalDevice16BitStorageFeatures
*)in_header
;
2260 VkPhysicalDevice16BitStorageFeatures
*out
;
2262 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2264 out
->sType
= in
->sType
;
2266 out
->storageBuffer16BitAccess
= in
->storageBuffer16BitAccess
;
2267 out
->uniformAndStorageBuffer16BitAccess
= in
->uniformAndStorageBuffer16BitAccess
;
2268 out
->storagePushConstant16
= in
->storagePushConstant16
;
2269 out
->storageInputOutput16
= in
->storageInputOutput16
;
2271 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2272 out_header
= out_header
->pNext
;
2276 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
:
2278 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*in
= (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*)in_header
;
2279 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*out
;
2281 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2283 out
->sType
= in
->sType
;
2285 out
->shaderSubgroupExtendedTypes
= in
->shaderSubgroupExtendedTypes
;
2287 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2288 out_header
= out_header
->pNext
;
2292 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
:
2294 const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*in
= (const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*)in_header
;
2295 VkPhysicalDeviceSamplerYcbcrConversionFeatures
*out
;
2297 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2299 out
->sType
= in
->sType
;
2301 out
->samplerYcbcrConversion
= in
->samplerYcbcrConversion
;
2303 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2304 out_header
= out_header
->pNext
;
2308 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
:
2310 const VkPhysicalDeviceProtectedMemoryFeatures
*in
= (const VkPhysicalDeviceProtectedMemoryFeatures
*)in_header
;
2311 VkPhysicalDeviceProtectedMemoryFeatures
*out
;
2313 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2315 out
->sType
= in
->sType
;
2317 out
->protectedMemory
= in
->protectedMemory
;
2319 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2320 out_header
= out_header
->pNext
;
2324 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
:
2326 const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*in
= (const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*)in_header
;
2327 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*out
;
2329 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2331 out
->sType
= in
->sType
;
2333 out
->advancedBlendCoherentOperations
= in
->advancedBlendCoherentOperations
;
2335 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2336 out_header
= out_header
->pNext
;
2340 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT
:
2342 const VkPhysicalDeviceInlineUniformBlockFeaturesEXT
*in
= (const VkPhysicalDeviceInlineUniformBlockFeaturesEXT
*)in_header
;
2343 VkPhysicalDeviceInlineUniformBlockFeaturesEXT
*out
;
2345 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2347 out
->sType
= in
->sType
;
2349 out
->inlineUniformBlock
= in
->inlineUniformBlock
;
2350 out
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
2352 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2353 out_header
= out_header
->pNext
;
2357 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
:
2359 const VkPhysicalDeviceShaderDrawParametersFeatures
*in
= (const VkPhysicalDeviceShaderDrawParametersFeatures
*)in_header
;
2360 VkPhysicalDeviceShaderDrawParametersFeatures
*out
;
2362 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2364 out
->sType
= in
->sType
;
2366 out
->shaderDrawParameters
= in
->shaderDrawParameters
;
2368 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2369 out_header
= out_header
->pNext
;
2373 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
:
2375 const VkPhysicalDeviceShaderFloat16Int8Features
*in
= (const VkPhysicalDeviceShaderFloat16Int8Features
*)in_header
;
2376 VkPhysicalDeviceShaderFloat16Int8Features
*out
;
2378 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2380 out
->sType
= in
->sType
;
2382 out
->shaderFloat16
= in
->shaderFloat16
;
2383 out
->shaderInt8
= in
->shaderInt8
;
2385 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2386 out_header
= out_header
->pNext
;
2390 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
:
2392 const VkPhysicalDeviceHostQueryResetFeatures
*in
= (const VkPhysicalDeviceHostQueryResetFeatures
*)in_header
;
2393 VkPhysicalDeviceHostQueryResetFeatures
*out
;
2395 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2397 out
->sType
= in
->sType
;
2399 out
->hostQueryReset
= in
->hostQueryReset
;
2401 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2402 out_header
= out_header
->pNext
;
2406 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
:
2408 const VkPhysicalDeviceDescriptorIndexingFeatures
*in
= (const VkPhysicalDeviceDescriptorIndexingFeatures
*)in_header
;
2409 VkPhysicalDeviceDescriptorIndexingFeatures
*out
;
2411 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2413 out
->sType
= in
->sType
;
2415 out
->shaderInputAttachmentArrayDynamicIndexing
= in
->shaderInputAttachmentArrayDynamicIndexing
;
2416 out
->shaderUniformTexelBufferArrayDynamicIndexing
= in
->shaderUniformTexelBufferArrayDynamicIndexing
;
2417 out
->shaderStorageTexelBufferArrayDynamicIndexing
= in
->shaderStorageTexelBufferArrayDynamicIndexing
;
2418 out
->shaderUniformBufferArrayNonUniformIndexing
= in
->shaderUniformBufferArrayNonUniformIndexing
;
2419 out
->shaderSampledImageArrayNonUniformIndexing
= in
->shaderSampledImageArrayNonUniformIndexing
;
2420 out
->shaderStorageBufferArrayNonUniformIndexing
= in
->shaderStorageBufferArrayNonUniformIndexing
;
2421 out
->shaderStorageImageArrayNonUniformIndexing
= in
->shaderStorageImageArrayNonUniformIndexing
;
2422 out
->shaderInputAttachmentArrayNonUniformIndexing
= in
->shaderInputAttachmentArrayNonUniformIndexing
;
2423 out
->shaderUniformTexelBufferArrayNonUniformIndexing
= in
->shaderUniformTexelBufferArrayNonUniformIndexing
;
2424 out
->shaderStorageTexelBufferArrayNonUniformIndexing
= in
->shaderStorageTexelBufferArrayNonUniformIndexing
;
2425 out
->descriptorBindingUniformBufferUpdateAfterBind
= in
->descriptorBindingUniformBufferUpdateAfterBind
;
2426 out
->descriptorBindingSampledImageUpdateAfterBind
= in
->descriptorBindingSampledImageUpdateAfterBind
;
2427 out
->descriptorBindingStorageImageUpdateAfterBind
= in
->descriptorBindingStorageImageUpdateAfterBind
;
2428 out
->descriptorBindingStorageBufferUpdateAfterBind
= in
->descriptorBindingStorageBufferUpdateAfterBind
;
2429 out
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
2430 out
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
2431 out
->descriptorBindingUpdateUnusedWhilePending
= in
->descriptorBindingUpdateUnusedWhilePending
;
2432 out
->descriptorBindingPartiallyBound
= in
->descriptorBindingPartiallyBound
;
2433 out
->descriptorBindingVariableDescriptorCount
= in
->descriptorBindingVariableDescriptorCount
;
2434 out
->runtimeDescriptorArray
= in
->runtimeDescriptorArray
;
2436 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2437 out_header
= out_header
->pNext
;
2441 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
:
2443 const VkPhysicalDeviceTimelineSemaphoreFeatures
*in
= (const VkPhysicalDeviceTimelineSemaphoreFeatures
*)in_header
;
2444 VkPhysicalDeviceTimelineSemaphoreFeatures
*out
;
2446 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2448 out
->sType
= in
->sType
;
2450 out
->timelineSemaphore
= in
->timelineSemaphore
;
2452 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2453 out_header
= out_header
->pNext
;
2457 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
:
2459 const VkPhysicalDevice8BitStorageFeatures
*in
= (const VkPhysicalDevice8BitStorageFeatures
*)in_header
;
2460 VkPhysicalDevice8BitStorageFeatures
*out
;
2462 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2464 out
->sType
= in
->sType
;
2466 out
->storageBuffer8BitAccess
= in
->storageBuffer8BitAccess
;
2467 out
->uniformAndStorageBuffer8BitAccess
= in
->uniformAndStorageBuffer8BitAccess
;
2468 out
->storagePushConstant8
= in
->storagePushConstant8
;
2470 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2471 out_header
= out_header
->pNext
;
2475 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
:
2477 const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*in
= (const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*)in_header
;
2478 VkPhysicalDeviceConditionalRenderingFeaturesEXT
*out
;
2480 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2482 out
->sType
= in
->sType
;
2484 out
->conditionalRendering
= in
->conditionalRendering
;
2485 out
->inheritedConditionalRendering
= in
->inheritedConditionalRendering
;
2487 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2488 out_header
= out_header
->pNext
;
2492 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
:
2494 const VkPhysicalDeviceVulkanMemoryModelFeatures
*in
= (const VkPhysicalDeviceVulkanMemoryModelFeatures
*)in_header
;
2495 VkPhysicalDeviceVulkanMemoryModelFeatures
*out
;
2497 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2499 out
->sType
= in
->sType
;
2501 out
->vulkanMemoryModel
= in
->vulkanMemoryModel
;
2502 out
->vulkanMemoryModelDeviceScope
= in
->vulkanMemoryModelDeviceScope
;
2503 out
->vulkanMemoryModelAvailabilityVisibilityChains
= in
->vulkanMemoryModelAvailabilityVisibilityChains
;
2505 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2506 out_header
= out_header
->pNext
;
2510 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
:
2512 const VkPhysicalDeviceShaderAtomicInt64Features
*in
= (const VkPhysicalDeviceShaderAtomicInt64Features
*)in_header
;
2513 VkPhysicalDeviceShaderAtomicInt64Features
*out
;
2515 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2517 out
->sType
= in
->sType
;
2519 out
->shaderBufferInt64Atomics
= in
->shaderBufferInt64Atomics
;
2520 out
->shaderSharedInt64Atomics
= in
->shaderSharedInt64Atomics
;
2522 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2523 out_header
= out_header
->pNext
;
2527 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
:
2529 const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*in
= (const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*)in_header
;
2530 VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*out
;
2532 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2534 out
->sType
= in
->sType
;
2536 out
->shaderBufferFloat32Atomics
= in
->shaderBufferFloat32Atomics
;
2537 out
->shaderBufferFloat32AtomicAdd
= in
->shaderBufferFloat32AtomicAdd
;
2538 out
->shaderBufferFloat64Atomics
= in
->shaderBufferFloat64Atomics
;
2539 out
->shaderBufferFloat64AtomicAdd
= in
->shaderBufferFloat64AtomicAdd
;
2540 out
->shaderSharedFloat32Atomics
= in
->shaderSharedFloat32Atomics
;
2541 out
->shaderSharedFloat32AtomicAdd
= in
->shaderSharedFloat32AtomicAdd
;
2542 out
->shaderSharedFloat64Atomics
= in
->shaderSharedFloat64Atomics
;
2543 out
->shaderSharedFloat64AtomicAdd
= in
->shaderSharedFloat64AtomicAdd
;
2544 out
->shaderImageFloat32Atomics
= in
->shaderImageFloat32Atomics
;
2545 out
->shaderImageFloat32AtomicAdd
= in
->shaderImageFloat32AtomicAdd
;
2546 out
->sparseImageFloat32Atomics
= in
->sparseImageFloat32Atomics
;
2547 out
->sparseImageFloat32AtomicAdd
= in
->sparseImageFloat32AtomicAdd
;
2549 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2550 out_header
= out_header
->pNext
;
2554 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
:
2556 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*in
= (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*)in_header
;
2557 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*out
;
2559 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2561 out
->sType
= in
->sType
;
2563 out
->vertexAttributeInstanceRateDivisor
= in
->vertexAttributeInstanceRateDivisor
;
2564 out
->vertexAttributeInstanceRateZeroDivisor
= in
->vertexAttributeInstanceRateZeroDivisor
;
2566 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2567 out_header
= out_header
->pNext
;
2571 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
:
2573 const VkPhysicalDeviceASTCDecodeFeaturesEXT
*in
= (const VkPhysicalDeviceASTCDecodeFeaturesEXT
*)in_header
;
2574 VkPhysicalDeviceASTCDecodeFeaturesEXT
*out
;
2576 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2578 out
->sType
= in
->sType
;
2580 out
->decodeModeSharedExponent
= in
->decodeModeSharedExponent
;
2582 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2583 out_header
= out_header
->pNext
;
2587 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
:
2589 const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*in
= (const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*)in_header
;
2590 VkPhysicalDeviceTransformFeedbackFeaturesEXT
*out
;
2592 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2594 out
->sType
= in
->sType
;
2596 out
->transformFeedback
= in
->transformFeedback
;
2597 out
->geometryStreams
= in
->geometryStreams
;
2599 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2600 out_header
= out_header
->pNext
;
2604 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
:
2606 const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*in
= (const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*)in_header
;
2607 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*out
;
2609 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2611 out
->sType
= in
->sType
;
2613 out
->representativeFragmentTest
= in
->representativeFragmentTest
;
2615 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2616 out_header
= out_header
->pNext
;
2620 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
:
2622 const VkPhysicalDeviceExclusiveScissorFeaturesNV
*in
= (const VkPhysicalDeviceExclusiveScissorFeaturesNV
*)in_header
;
2623 VkPhysicalDeviceExclusiveScissorFeaturesNV
*out
;
2625 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2627 out
->sType
= in
->sType
;
2629 out
->exclusiveScissor
= in
->exclusiveScissor
;
2631 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2632 out_header
= out_header
->pNext
;
2636 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
:
2638 const VkPhysicalDeviceCornerSampledImageFeaturesNV
*in
= (const VkPhysicalDeviceCornerSampledImageFeaturesNV
*)in_header
;
2639 VkPhysicalDeviceCornerSampledImageFeaturesNV
*out
;
2641 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2643 out
->sType
= in
->sType
;
2645 out
->cornerSampledImage
= in
->cornerSampledImage
;
2647 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2648 out_header
= out_header
->pNext
;
2652 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
:
2654 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*in
= (const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*)in_header
;
2655 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*out
;
2657 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2659 out
->sType
= in
->sType
;
2661 out
->computeDerivativeGroupQuads
= in
->computeDerivativeGroupQuads
;
2662 out
->computeDerivativeGroupLinear
= in
->computeDerivativeGroupLinear
;
2664 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2665 out_header
= out_header
->pNext
;
2669 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_NV
:
2671 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
*in
= (const VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
*)in_header
;
2672 VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV
*out
;
2674 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2676 out
->sType
= in
->sType
;
2678 out
->fragmentShaderBarycentric
= in
->fragmentShaderBarycentric
;
2680 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2681 out_header
= out_header
->pNext
;
2685 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
:
2687 const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*in
= (const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*)in_header
;
2688 VkPhysicalDeviceShaderImageFootprintFeaturesNV
*out
;
2690 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2692 out
->sType
= in
->sType
;
2694 out
->imageFootprint
= in
->imageFootprint
;
2696 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2697 out_header
= out_header
->pNext
;
2701 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
:
2703 const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*in
= (const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*)in_header
;
2704 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*out
;
2706 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2708 out
->sType
= in
->sType
;
2710 out
->dedicatedAllocationImageAliasing
= in
->dedicatedAllocationImageAliasing
;
2712 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2713 out_header
= out_header
->pNext
;
2717 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
:
2719 const VkPhysicalDeviceShadingRateImageFeaturesNV
*in
= (const VkPhysicalDeviceShadingRateImageFeaturesNV
*)in_header
;
2720 VkPhysicalDeviceShadingRateImageFeaturesNV
*out
;
2722 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2724 out
->sType
= in
->sType
;
2726 out
->shadingRateImage
= in
->shadingRateImage
;
2727 out
->shadingRateCoarseSampleOrder
= in
->shadingRateCoarseSampleOrder
;
2729 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2730 out_header
= out_header
->pNext
;
2734 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
:
2736 const VkPhysicalDeviceMeshShaderFeaturesNV
*in
= (const VkPhysicalDeviceMeshShaderFeaturesNV
*)in_header
;
2737 VkPhysicalDeviceMeshShaderFeaturesNV
*out
;
2739 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2741 out
->sType
= in
->sType
;
2743 out
->taskShader
= in
->taskShader
;
2744 out
->meshShader
= in
->meshShader
;
2746 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2747 out_header
= out_header
->pNext
;
2751 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
:
2753 const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*in
= (const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*)in_header
;
2754 VkPhysicalDeviceAccelerationStructureFeaturesKHR
*out
;
2756 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2758 out
->sType
= in
->sType
;
2760 out
->accelerationStructure
= in
->accelerationStructure
;
2761 out
->accelerationStructureCaptureReplay
= in
->accelerationStructureCaptureReplay
;
2762 out
->accelerationStructureIndirectBuild
= in
->accelerationStructureIndirectBuild
;
2763 out
->accelerationStructureHostCommands
= in
->accelerationStructureHostCommands
;
2764 out
->descriptorBindingAccelerationStructureUpdateAfterBind
= in
->descriptorBindingAccelerationStructureUpdateAfterBind
;
2766 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2767 out_header
= out_header
->pNext
;
2771 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
:
2773 const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*in
= (const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*)in_header
;
2774 VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*out
;
2776 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2778 out
->sType
= in
->sType
;
2780 out
->rayTracingPipeline
= in
->rayTracingPipeline
;
2781 out
->rayTracingPipelineShaderGroupHandleCaptureReplay
= in
->rayTracingPipelineShaderGroupHandleCaptureReplay
;
2782 out
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
= in
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
;
2783 out
->rayTracingPipelineTraceRaysIndirect
= in
->rayTracingPipelineTraceRaysIndirect
;
2784 out
->rayTraversalPrimitiveCulling
= in
->rayTraversalPrimitiveCulling
;
2786 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2787 out_header
= out_header
->pNext
;
2791 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
:
2793 const VkPhysicalDeviceRayQueryFeaturesKHR
*in
= (const VkPhysicalDeviceRayQueryFeaturesKHR
*)in_header
;
2794 VkPhysicalDeviceRayQueryFeaturesKHR
*out
;
2796 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2798 out
->sType
= in
->sType
;
2800 out
->rayQuery
= in
->rayQuery
;
2802 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2803 out_header
= out_header
->pNext
;
2807 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
:
2809 const VkDeviceMemoryOverallocationCreateInfoAMD
*in
= (const VkDeviceMemoryOverallocationCreateInfoAMD
*)in_header
;
2810 VkDeviceMemoryOverallocationCreateInfoAMD
*out
;
2812 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2814 out
->sType
= in
->sType
;
2816 out
->overallocationBehavior
= in
->overallocationBehavior
;
2818 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2819 out_header
= out_header
->pNext
;
2823 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
:
2825 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*in
= (const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*)in_header
;
2826 VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*out
;
2828 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2830 out
->sType
= in
->sType
;
2832 out
->fragmentDensityMap
= in
->fragmentDensityMap
;
2833 out
->fragmentDensityMapDynamic
= in
->fragmentDensityMapDynamic
;
2834 out
->fragmentDensityMapNonSubsampledImages
= in
->fragmentDensityMapNonSubsampledImages
;
2836 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2837 out_header
= out_header
->pNext
;
2841 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
:
2843 const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*in
= (const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*)in_header
;
2844 VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*out
;
2846 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2848 out
->sType
= in
->sType
;
2850 out
->fragmentDensityMapDeferred
= in
->fragmentDensityMapDeferred
;
2852 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2853 out_header
= out_header
->pNext
;
2857 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
:
2859 const VkPhysicalDeviceScalarBlockLayoutFeatures
*in
= (const VkPhysicalDeviceScalarBlockLayoutFeatures
*)in_header
;
2860 VkPhysicalDeviceScalarBlockLayoutFeatures
*out
;
2862 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2864 out
->sType
= in
->sType
;
2866 out
->scalarBlockLayout
= in
->scalarBlockLayout
;
2868 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2869 out_header
= out_header
->pNext
;
2873 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
:
2875 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*in
= (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*)in_header
;
2876 VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*out
;
2878 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2880 out
->sType
= in
->sType
;
2882 out
->uniformBufferStandardLayout
= in
->uniformBufferStandardLayout
;
2884 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2885 out_header
= out_header
->pNext
;
2889 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
:
2891 const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*in
= (const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*)in_header
;
2892 VkPhysicalDeviceDepthClipEnableFeaturesEXT
*out
;
2894 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2896 out
->sType
= in
->sType
;
2898 out
->depthClipEnable
= in
->depthClipEnable
;
2900 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2901 out_header
= out_header
->pNext
;
2905 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
:
2907 const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*in
= (const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*)in_header
;
2908 VkPhysicalDeviceMemoryPriorityFeaturesEXT
*out
;
2910 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2912 out
->sType
= in
->sType
;
2914 out
->memoryPriority
= in
->memoryPriority
;
2916 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2917 out_header
= out_header
->pNext
;
2921 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
:
2923 const VkPhysicalDeviceBufferDeviceAddressFeatures
*in
= (const VkPhysicalDeviceBufferDeviceAddressFeatures
*)in_header
;
2924 VkPhysicalDeviceBufferDeviceAddressFeatures
*out
;
2926 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2928 out
->sType
= in
->sType
;
2930 out
->bufferDeviceAddress
= in
->bufferDeviceAddress
;
2931 out
->bufferDeviceAddressCaptureReplay
= in
->bufferDeviceAddressCaptureReplay
;
2932 out
->bufferDeviceAddressMultiDevice
= in
->bufferDeviceAddressMultiDevice
;
2934 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2935 out_header
= out_header
->pNext
;
2939 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
:
2941 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*in
= (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*)in_header
;
2942 VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*out
;
2944 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2946 out
->sType
= in
->sType
;
2948 out
->bufferDeviceAddress
= in
->bufferDeviceAddress
;
2949 out
->bufferDeviceAddressCaptureReplay
= in
->bufferDeviceAddressCaptureReplay
;
2950 out
->bufferDeviceAddressMultiDevice
= in
->bufferDeviceAddressMultiDevice
;
2952 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2953 out_header
= out_header
->pNext
;
2957 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
:
2959 const VkPhysicalDeviceImagelessFramebufferFeatures
*in
= (const VkPhysicalDeviceImagelessFramebufferFeatures
*)in_header
;
2960 VkPhysicalDeviceImagelessFramebufferFeatures
*out
;
2962 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2964 out
->sType
= in
->sType
;
2966 out
->imagelessFramebuffer
= in
->imagelessFramebuffer
;
2968 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2969 out_header
= out_header
->pNext
;
2973 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES_EXT
:
2975 const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
*in
= (const VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
*)in_header
;
2976 VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
*out
;
2978 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2980 out
->sType
= in
->sType
;
2982 out
->textureCompressionASTC_HDR
= in
->textureCompressionASTC_HDR
;
2984 out_header
->pNext
= (VkBaseOutStructure
*)out
;
2985 out_header
= out_header
->pNext
;
2989 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
:
2991 const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*in
= (const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*)in_header
;
2992 VkPhysicalDeviceCooperativeMatrixFeaturesNV
*out
;
2994 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
2996 out
->sType
= in
->sType
;
2998 out
->cooperativeMatrix
= in
->cooperativeMatrix
;
2999 out
->cooperativeMatrixRobustBufferAccess
= in
->cooperativeMatrixRobustBufferAccess
;
3001 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3002 out_header
= out_header
->pNext
;
3006 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
:
3008 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*in
= (const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*)in_header
;
3009 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*out
;
3011 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3013 out
->sType
= in
->sType
;
3015 out
->ycbcrImageArrays
= in
->ycbcrImageArrays
;
3017 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3018 out_header
= out_header
->pNext
;
3022 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
:
3024 const VkPhysicalDevicePerformanceQueryFeaturesKHR
*in
= (const VkPhysicalDevicePerformanceQueryFeaturesKHR
*)in_header
;
3025 VkPhysicalDevicePerformanceQueryFeaturesKHR
*out
;
3027 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3029 out
->sType
= in
->sType
;
3031 out
->performanceCounterQueryPools
= in
->performanceCounterQueryPools
;
3032 out
->performanceCounterMultipleQueryPools
= in
->performanceCounterMultipleQueryPools
;
3034 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3035 out_header
= out_header
->pNext
;
3039 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
:
3041 const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*in
= (const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*)in_header
;
3042 VkPhysicalDeviceCoverageReductionModeFeaturesNV
*out
;
3044 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3046 out
->sType
= in
->sType
;
3048 out
->coverageReductionMode
= in
->coverageReductionMode
;
3050 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3051 out_header
= out_header
->pNext
;
3055 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
:
3057 const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*in
= (const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*)in_header
;
3058 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*out
;
3060 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3062 out
->sType
= in
->sType
;
3064 out
->shaderIntegerFunctions2
= in
->shaderIntegerFunctions2
;
3066 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3067 out_header
= out_header
->pNext
;
3071 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
:
3073 const VkPhysicalDeviceShaderClockFeaturesKHR
*in
= (const VkPhysicalDeviceShaderClockFeaturesKHR
*)in_header
;
3074 VkPhysicalDeviceShaderClockFeaturesKHR
*out
;
3076 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3078 out
->sType
= in
->sType
;
3080 out
->shaderSubgroupClock
= in
->shaderSubgroupClock
;
3081 out
->shaderDeviceClock
= in
->shaderDeviceClock
;
3083 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3084 out_header
= out_header
->pNext
;
3088 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
:
3090 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*in
= (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*)in_header
;
3091 VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*out
;
3093 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3095 out
->sType
= in
->sType
;
3097 out
->indexTypeUint8
= in
->indexTypeUint8
;
3099 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3100 out_header
= out_header
->pNext
;
3104 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
:
3106 const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*in
= (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*)in_header
;
3107 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*out
;
3109 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3111 out
->sType
= in
->sType
;
3113 out
->shaderSMBuiltins
= in
->shaderSMBuiltins
;
3115 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3116 out_header
= out_header
->pNext
;
3120 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
:
3122 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*in
= (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*)in_header
;
3123 VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*out
;
3125 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3127 out
->sType
= in
->sType
;
3129 out
->fragmentShaderSampleInterlock
= in
->fragmentShaderSampleInterlock
;
3130 out
->fragmentShaderPixelInterlock
= in
->fragmentShaderPixelInterlock
;
3131 out
->fragmentShaderShadingRateInterlock
= in
->fragmentShaderShadingRateInterlock
;
3133 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3134 out_header
= out_header
->pNext
;
3138 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
:
3140 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*in
= (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*)in_header
;
3141 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*out
;
3143 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3145 out
->sType
= in
->sType
;
3147 out
->separateDepthStencilLayouts
= in
->separateDepthStencilLayouts
;
3149 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3150 out_header
= out_header
->pNext
;
3154 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
:
3156 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*in
= (const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*)in_header
;
3157 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*out
;
3159 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3161 out
->sType
= in
->sType
;
3163 out
->pipelineExecutableInfo
= in
->pipelineExecutableInfo
;
3165 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3166 out_header
= out_header
->pNext
;
3170 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT
:
3172 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
*in
= (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
*)in_header
;
3173 VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
*out
;
3175 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3177 out
->sType
= in
->sType
;
3179 out
->shaderDemoteToHelperInvocation
= in
->shaderDemoteToHelperInvocation
;
3181 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3182 out_header
= out_header
->pNext
;
3186 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
:
3188 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*in
= (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*)in_header
;
3189 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*out
;
3191 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3193 out
->sType
= in
->sType
;
3195 out
->texelBufferAlignment
= in
->texelBufferAlignment
;
3197 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3198 out_header
= out_header
->pNext
;
3202 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT
:
3204 const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
*in
= (const VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
*)in_header
;
3205 VkPhysicalDeviceSubgroupSizeControlFeaturesEXT
*out
;
3207 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3209 out
->sType
= in
->sType
;
3211 out
->subgroupSizeControl
= in
->subgroupSizeControl
;
3212 out
->computeFullSubgroups
= in
->computeFullSubgroups
;
3214 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3215 out_header
= out_header
->pNext
;
3219 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
:
3221 const VkPhysicalDeviceLineRasterizationFeaturesEXT
*in
= (const VkPhysicalDeviceLineRasterizationFeaturesEXT
*)in_header
;
3222 VkPhysicalDeviceLineRasterizationFeaturesEXT
*out
;
3224 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3226 out
->sType
= in
->sType
;
3228 out
->rectangularLines
= in
->rectangularLines
;
3229 out
->bresenhamLines
= in
->bresenhamLines
;
3230 out
->smoothLines
= in
->smoothLines
;
3231 out
->stippledRectangularLines
= in
->stippledRectangularLines
;
3232 out
->stippledBresenhamLines
= in
->stippledBresenhamLines
;
3233 out
->stippledSmoothLines
= in
->stippledSmoothLines
;
3235 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3236 out_header
= out_header
->pNext
;
3240 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT
:
3242 const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
*in
= (const VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
*)in_header
;
3243 VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT
*out
;
3245 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3247 out
->sType
= in
->sType
;
3249 out
->pipelineCreationCacheControl
= in
->pipelineCreationCacheControl
;
3251 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3252 out_header
= out_header
->pNext
;
3256 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
:
3258 const VkPhysicalDeviceVulkan11Features
*in
= (const VkPhysicalDeviceVulkan11Features
*)in_header
;
3259 VkPhysicalDeviceVulkan11Features
*out
;
3261 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3263 out
->sType
= in
->sType
;
3265 out
->storageBuffer16BitAccess
= in
->storageBuffer16BitAccess
;
3266 out
->uniformAndStorageBuffer16BitAccess
= in
->uniformAndStorageBuffer16BitAccess
;
3267 out
->storagePushConstant16
= in
->storagePushConstant16
;
3268 out
->storageInputOutput16
= in
->storageInputOutput16
;
3269 out
->multiview
= in
->multiview
;
3270 out
->multiviewGeometryShader
= in
->multiviewGeometryShader
;
3271 out
->multiviewTessellationShader
= in
->multiviewTessellationShader
;
3272 out
->variablePointersStorageBuffer
= in
->variablePointersStorageBuffer
;
3273 out
->variablePointers
= in
->variablePointers
;
3274 out
->protectedMemory
= in
->protectedMemory
;
3275 out
->samplerYcbcrConversion
= in
->samplerYcbcrConversion
;
3276 out
->shaderDrawParameters
= in
->shaderDrawParameters
;
3278 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3279 out_header
= out_header
->pNext
;
3283 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
:
3285 const VkPhysicalDeviceVulkan12Features
*in
= (const VkPhysicalDeviceVulkan12Features
*)in_header
;
3286 VkPhysicalDeviceVulkan12Features
*out
;
3288 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3290 out
->sType
= in
->sType
;
3292 out
->samplerMirrorClampToEdge
= in
->samplerMirrorClampToEdge
;
3293 out
->drawIndirectCount
= in
->drawIndirectCount
;
3294 out
->storageBuffer8BitAccess
= in
->storageBuffer8BitAccess
;
3295 out
->uniformAndStorageBuffer8BitAccess
= in
->uniformAndStorageBuffer8BitAccess
;
3296 out
->storagePushConstant8
= in
->storagePushConstant8
;
3297 out
->shaderBufferInt64Atomics
= in
->shaderBufferInt64Atomics
;
3298 out
->shaderSharedInt64Atomics
= in
->shaderSharedInt64Atomics
;
3299 out
->shaderFloat16
= in
->shaderFloat16
;
3300 out
->shaderInt8
= in
->shaderInt8
;
3301 out
->descriptorIndexing
= in
->descriptorIndexing
;
3302 out
->shaderInputAttachmentArrayDynamicIndexing
= in
->shaderInputAttachmentArrayDynamicIndexing
;
3303 out
->shaderUniformTexelBufferArrayDynamicIndexing
= in
->shaderUniformTexelBufferArrayDynamicIndexing
;
3304 out
->shaderStorageTexelBufferArrayDynamicIndexing
= in
->shaderStorageTexelBufferArrayDynamicIndexing
;
3305 out
->shaderUniformBufferArrayNonUniformIndexing
= in
->shaderUniformBufferArrayNonUniformIndexing
;
3306 out
->shaderSampledImageArrayNonUniformIndexing
= in
->shaderSampledImageArrayNonUniformIndexing
;
3307 out
->shaderStorageBufferArrayNonUniformIndexing
= in
->shaderStorageBufferArrayNonUniformIndexing
;
3308 out
->shaderStorageImageArrayNonUniformIndexing
= in
->shaderStorageImageArrayNonUniformIndexing
;
3309 out
->shaderInputAttachmentArrayNonUniformIndexing
= in
->shaderInputAttachmentArrayNonUniformIndexing
;
3310 out
->shaderUniformTexelBufferArrayNonUniformIndexing
= in
->shaderUniformTexelBufferArrayNonUniformIndexing
;
3311 out
->shaderStorageTexelBufferArrayNonUniformIndexing
= in
->shaderStorageTexelBufferArrayNonUniformIndexing
;
3312 out
->descriptorBindingUniformBufferUpdateAfterBind
= in
->descriptorBindingUniformBufferUpdateAfterBind
;
3313 out
->descriptorBindingSampledImageUpdateAfterBind
= in
->descriptorBindingSampledImageUpdateAfterBind
;
3314 out
->descriptorBindingStorageImageUpdateAfterBind
= in
->descriptorBindingStorageImageUpdateAfterBind
;
3315 out
->descriptorBindingStorageBufferUpdateAfterBind
= in
->descriptorBindingStorageBufferUpdateAfterBind
;
3316 out
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
3317 out
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
3318 out
->descriptorBindingUpdateUnusedWhilePending
= in
->descriptorBindingUpdateUnusedWhilePending
;
3319 out
->descriptorBindingPartiallyBound
= in
->descriptorBindingPartiallyBound
;
3320 out
->descriptorBindingVariableDescriptorCount
= in
->descriptorBindingVariableDescriptorCount
;
3321 out
->runtimeDescriptorArray
= in
->runtimeDescriptorArray
;
3322 out
->samplerFilterMinmax
= in
->samplerFilterMinmax
;
3323 out
->scalarBlockLayout
= in
->scalarBlockLayout
;
3324 out
->imagelessFramebuffer
= in
->imagelessFramebuffer
;
3325 out
->uniformBufferStandardLayout
= in
->uniformBufferStandardLayout
;
3326 out
->shaderSubgroupExtendedTypes
= in
->shaderSubgroupExtendedTypes
;
3327 out
->separateDepthStencilLayouts
= in
->separateDepthStencilLayouts
;
3328 out
->hostQueryReset
= in
->hostQueryReset
;
3329 out
->timelineSemaphore
= in
->timelineSemaphore
;
3330 out
->bufferDeviceAddress
= in
->bufferDeviceAddress
;
3331 out
->bufferDeviceAddressCaptureReplay
= in
->bufferDeviceAddressCaptureReplay
;
3332 out
->bufferDeviceAddressMultiDevice
= in
->bufferDeviceAddressMultiDevice
;
3333 out
->vulkanMemoryModel
= in
->vulkanMemoryModel
;
3334 out
->vulkanMemoryModelDeviceScope
= in
->vulkanMemoryModelDeviceScope
;
3335 out
->vulkanMemoryModelAvailabilityVisibilityChains
= in
->vulkanMemoryModelAvailabilityVisibilityChains
;
3336 out
->shaderOutputViewportIndex
= in
->shaderOutputViewportIndex
;
3337 out
->shaderOutputLayer
= in
->shaderOutputLayer
;
3338 out
->subgroupBroadcastDynamicId
= in
->subgroupBroadcastDynamicId
;
3340 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3341 out_header
= out_header
->pNext
;
3345 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
:
3347 const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*in
= (const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*)in_header
;
3348 VkPhysicalDeviceCoherentMemoryFeaturesAMD
*out
;
3350 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3352 out
->sType
= in
->sType
;
3354 out
->deviceCoherentMemory
= in
->deviceCoherentMemory
;
3356 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3357 out_header
= out_header
->pNext
;
3361 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
:
3363 const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*in
= (const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*)in_header
;
3364 VkPhysicalDeviceCustomBorderColorFeaturesEXT
*out
;
3366 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3368 out
->sType
= in
->sType
;
3370 out
->customBorderColors
= in
->customBorderColors
;
3371 out
->customBorderColorWithoutFormat
= in
->customBorderColorWithoutFormat
;
3373 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3374 out_header
= out_header
->pNext
;
3378 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
:
3380 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*in
= (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*)in_header
;
3381 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*out
;
3383 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3385 out
->sType
= in
->sType
;
3387 out
->extendedDynamicState
= in
->extendedDynamicState
;
3389 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3390 out_header
= out_header
->pNext
;
3394 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
:
3396 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*in
= (const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*)in_header
;
3397 VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*out
;
3399 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3401 out
->sType
= in
->sType
;
3403 out
->diagnosticsConfig
= in
->diagnosticsConfig
;
3405 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3406 out_header
= out_header
->pNext
;
3410 case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
:
3412 const VkDeviceDiagnosticsConfigCreateInfoNV
*in
= (const VkDeviceDiagnosticsConfigCreateInfoNV
*)in_header
;
3413 VkDeviceDiagnosticsConfigCreateInfoNV
*out
;
3415 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3417 out
->sType
= in
->sType
;
3419 out
->flags
= in
->flags
;
3421 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3422 out_header
= out_header
->pNext
;
3426 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES_KHR
:
3428 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
*in
= (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
*)in_header
;
3429 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
*out
;
3431 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3433 out
->sType
= in
->sType
;
3435 out
->shaderZeroInitializeWorkgroupMemory
= in
->shaderZeroInitializeWorkgroupMemory
;
3437 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3438 out_header
= out_header
->pNext
;
3442 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
:
3444 const VkPhysicalDeviceRobustness2FeaturesEXT
*in
= (const VkPhysicalDeviceRobustness2FeaturesEXT
*)in_header
;
3445 VkPhysicalDeviceRobustness2FeaturesEXT
*out
;
3447 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3449 out
->sType
= in
->sType
;
3451 out
->robustBufferAccess2
= in
->robustBufferAccess2
;
3452 out
->robustImageAccess2
= in
->robustImageAccess2
;
3453 out
->nullDescriptor
= in
->nullDescriptor
;
3455 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3456 out_header
= out_header
->pNext
;
3460 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES_EXT
:
3462 const VkPhysicalDeviceImageRobustnessFeaturesEXT
*in
= (const VkPhysicalDeviceImageRobustnessFeaturesEXT
*)in_header
;
3463 VkPhysicalDeviceImageRobustnessFeaturesEXT
*out
;
3465 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3467 out
->sType
= in
->sType
;
3469 out
->robustImageAccess
= in
->robustImageAccess
;
3471 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3472 out_header
= out_header
->pNext
;
3476 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
:
3478 const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*in
= (const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*)in_header
;
3479 VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*out
;
3481 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3483 out
->sType
= in
->sType
;
3485 out
->workgroupMemoryExplicitLayout
= in
->workgroupMemoryExplicitLayout
;
3486 out
->workgroupMemoryExplicitLayoutScalarBlockLayout
= in
->workgroupMemoryExplicitLayoutScalarBlockLayout
;
3487 out
->workgroupMemoryExplicitLayout8BitAccess
= in
->workgroupMemoryExplicitLayout8BitAccess
;
3488 out
->workgroupMemoryExplicitLayout16BitAccess
= in
->workgroupMemoryExplicitLayout16BitAccess
;
3490 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3491 out_header
= out_header
->pNext
;
3495 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
:
3497 const VkPhysicalDevice4444FormatsFeaturesEXT
*in
= (const VkPhysicalDevice4444FormatsFeaturesEXT
*)in_header
;
3498 VkPhysicalDevice4444FormatsFeaturesEXT
*out
;
3500 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3502 out
->sType
= in
->sType
;
3504 out
->formatA4R4G4B4
= in
->formatA4R4G4B4
;
3505 out
->formatA4B4G4R4
= in
->formatA4B4G4R4
;
3507 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3508 out_header
= out_header
->pNext
;
3512 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
:
3514 const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*in
= (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*)in_header
;
3515 VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*out
;
3517 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3519 out
->sType
= in
->sType
;
3521 out
->shaderImageInt64Atomics
= in
->shaderImageInt64Atomics
;
3522 out
->sparseImageInt64Atomics
= in
->sparseImageInt64Atomics
;
3524 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3525 out_header
= out_header
->pNext
;
3529 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
:
3531 const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*in
= (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*)in_header
;
3532 VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*out
;
3534 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3536 out
->sType
= in
->sType
;
3538 out
->pipelineFragmentShadingRate
= in
->pipelineFragmentShadingRate
;
3539 out
->primitiveFragmentShadingRate
= in
->primitiveFragmentShadingRate
;
3540 out
->attachmentFragmentShadingRate
= in
->attachmentFragmentShadingRate
;
3542 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3543 out_header
= out_header
->pNext
;
3547 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES_KHR
:
3549 const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
*in
= (const VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
*)in_header
;
3550 VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR
*out
;
3552 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3554 out
->sType
= in
->sType
;
3556 out
->shaderTerminateInvocation
= in
->shaderTerminateInvocation
;
3558 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3559 out_header
= out_header
->pNext
;
3563 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
:
3565 const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*in
= (const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*)in_header
;
3566 VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*out
;
3568 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3570 out
->sType
= in
->sType
;
3572 out
->fragmentShadingRateEnums
= in
->fragmentShadingRateEnums
;
3573 out
->supersampleFragmentShadingRates
= in
->supersampleFragmentShadingRates
;
3574 out
->noInvocationFragmentShadingRates
= in
->noInvocationFragmentShadingRates
;
3576 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3577 out_header
= out_header
->pNext
;
3581 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE
:
3583 const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE
*in
= (const VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE
*)in_header
;
3584 VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE
*out
;
3586 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3588 out
->sType
= in
->sType
;
3590 out
->mutableDescriptorType
= in
->mutableDescriptorType
;
3592 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3593 out_header
= out_header
->pNext
;
3597 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES_KHR
:
3599 const VkPhysicalDeviceSynchronization2FeaturesKHR
*in
= (const VkPhysicalDeviceSynchronization2FeaturesKHR
*)in_header
;
3600 VkPhysicalDeviceSynchronization2FeaturesKHR
*out
;
3602 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3604 out
->sType
= in
->sType
;
3606 out
->synchronization2
= in
->synchronization2
;
3608 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3609 out_header
= out_header
->pNext
;
3614 FIXME("Application requested a linked structure of type %u.\n", in_header
->sType
);
3621 free_VkDeviceCreateInfo_struct_chain(out_struct
);
3622 return VK_ERROR_OUT_OF_HOST_MEMORY
;
3625 void free_VkDeviceCreateInfo_struct_chain(VkDeviceCreateInfo
*s
)
3627 VkBaseOutStructure
*header
= (void *)s
->pNext
;
3631 void *prev
= header
;
3632 header
= header
->pNext
;
3639 VkResult
convert_VkInstanceCreateInfo_struct_chain(const void *pNext
, VkInstanceCreateInfo
*out_struct
)
3641 VkBaseOutStructure
*out_header
= (VkBaseOutStructure
*)out_struct
;
3642 const VkBaseInStructure
*in_header
;
3644 out_header
->pNext
= NULL
;
3646 for (in_header
= pNext
; in_header
; in_header
= in_header
->pNext
)
3648 switch (in_header
->sType
)
3650 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
:
3651 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
:
3654 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
:
3656 const VkDebugReportCallbackCreateInfoEXT
*in
= (const VkDebugReportCallbackCreateInfoEXT
*)in_header
;
3657 VkDebugReportCallbackCreateInfoEXT
*out
;
3659 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3661 out
->sType
= in
->sType
;
3663 out
->flags
= in
->flags
;
3664 out
->pfnCallback
= in
->pfnCallback
;
3665 out
->pUserData
= in
->pUserData
;
3667 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3668 out_header
= out_header
->pNext
;
3672 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
:
3674 const VkValidationFlagsEXT
*in
= (const VkValidationFlagsEXT
*)in_header
;
3675 VkValidationFlagsEXT
*out
;
3677 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3679 out
->sType
= in
->sType
;
3681 out
->disabledValidationCheckCount
= in
->disabledValidationCheckCount
;
3682 out
->pDisabledValidationChecks
= in
->pDisabledValidationChecks
;
3684 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3685 out_header
= out_header
->pNext
;
3689 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
:
3691 const VkValidationFeaturesEXT
*in
= (const VkValidationFeaturesEXT
*)in_header
;
3692 VkValidationFeaturesEXT
*out
;
3694 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3696 out
->sType
= in
->sType
;
3698 out
->enabledValidationFeatureCount
= in
->enabledValidationFeatureCount
;
3699 out
->pEnabledValidationFeatures
= in
->pEnabledValidationFeatures
;
3700 out
->disabledValidationFeatureCount
= in
->disabledValidationFeatureCount
;
3701 out
->pDisabledValidationFeatures
= in
->pDisabledValidationFeatures
;
3703 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3704 out_header
= out_header
->pNext
;
3708 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
:
3710 const VkDebugUtilsMessengerCreateInfoEXT
*in
= (const VkDebugUtilsMessengerCreateInfoEXT
*)in_header
;
3711 VkDebugUtilsMessengerCreateInfoEXT
*out
;
3713 if (!(out
= heap_alloc(sizeof(*out
)))) goto out_of_memory
;
3715 out
->sType
= in
->sType
;
3717 out
->flags
= in
->flags
;
3718 out
->messageSeverity
= in
->messageSeverity
;
3719 out
->messageType
= in
->messageType
;
3720 out
->pfnUserCallback
= in
->pfnUserCallback
;
3721 out
->pUserData
= in
->pUserData
;
3723 out_header
->pNext
= (VkBaseOutStructure
*)out
;
3724 out_header
= out_header
->pNext
;
3729 FIXME("Application requested a linked structure of type %u.\n", in_header
->sType
);
3736 free_VkInstanceCreateInfo_struct_chain(out_struct
);
3737 return VK_ERROR_OUT_OF_HOST_MEMORY
;
3740 void free_VkInstanceCreateInfo_struct_chain(VkInstanceCreateInfo
*s
)
3742 VkBaseOutStructure
*header
= (void *)s
->pNext
;
3746 void *prev
= header
;
3747 header
= header
->pNext
;
3754 VkResult WINAPI
wine_vkAcquireNextImage2KHR(VkDevice device
, const VkAcquireNextImageInfoKHR
*pAcquireInfo
, uint32_t *pImageIndex
)
3756 #if defined(USE_STRUCT_CONVERSION)
3758 VkAcquireNextImageInfoKHR_host pAcquireInfo_host
;
3759 TRACE("%p, %p, %p\n", device
, pAcquireInfo
, pImageIndex
);
3761 convert_VkAcquireNextImageInfoKHR_win_to_host(pAcquireInfo
, &pAcquireInfo_host
);
3762 result
= device
->funcs
.p_vkAcquireNextImage2KHR(device
->device
, &pAcquireInfo_host
, pImageIndex
);
3766 TRACE("%p, %p, %p\n", device
, pAcquireInfo
, pImageIndex
);
3767 return device
->funcs
.p_vkAcquireNextImage2KHR(device
->device
, pAcquireInfo
, pImageIndex
);
3771 VkResult WINAPI
wine_vkAcquireNextImageKHR(VkDevice device
, VkSwapchainKHR swapchain
, uint64_t timeout
, VkSemaphore semaphore
, VkFence fence
, uint32_t *pImageIndex
)
3773 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
);
3774 return device
->funcs
.p_vkAcquireNextImageKHR(device
->device
, swapchain
, timeout
, semaphore
, fence
, pImageIndex
);
3777 static VkResult WINAPI
wine_vkAcquirePerformanceConfigurationINTEL(VkDevice device
, const VkPerformanceConfigurationAcquireInfoINTEL
*pAcquireInfo
, VkPerformanceConfigurationINTEL
*pConfiguration
)
3779 TRACE("%p, %p, %p\n", device
, pAcquireInfo
, pConfiguration
);
3780 return device
->funcs
.p_vkAcquirePerformanceConfigurationINTEL(device
->device
, pAcquireInfo
, pConfiguration
);
3783 static VkResult WINAPI
wine_vkAcquireProfilingLockKHR(VkDevice device
, const VkAcquireProfilingLockInfoKHR
*pInfo
)
3785 #if defined(USE_STRUCT_CONVERSION)
3787 VkAcquireProfilingLockInfoKHR_host pInfo_host
;
3788 TRACE("%p, %p\n", device
, pInfo
);
3790 convert_VkAcquireProfilingLockInfoKHR_win_to_host(pInfo
, &pInfo_host
);
3791 result
= device
->funcs
.p_vkAcquireProfilingLockKHR(device
->device
, &pInfo_host
);
3795 TRACE("%p, %p\n", device
, pInfo
);
3796 return device
->funcs
.p_vkAcquireProfilingLockKHR(device
->device
, pInfo
);
3800 VkResult WINAPI
wine_vkAllocateDescriptorSets(VkDevice device
, const VkDescriptorSetAllocateInfo
*pAllocateInfo
, VkDescriptorSet
*pDescriptorSets
)
3802 #if defined(USE_STRUCT_CONVERSION)
3804 VkDescriptorSetAllocateInfo_host pAllocateInfo_host
;
3805 TRACE("%p, %p, %p\n", device
, pAllocateInfo
, pDescriptorSets
);
3807 convert_VkDescriptorSetAllocateInfo_win_to_host(pAllocateInfo
, &pAllocateInfo_host
);
3808 result
= device
->funcs
.p_vkAllocateDescriptorSets(device
->device
, &pAllocateInfo_host
, pDescriptorSets
);
3812 TRACE("%p, %p, %p\n", device
, pAllocateInfo
, pDescriptorSets
);
3813 return device
->funcs
.p_vkAllocateDescriptorSets(device
->device
, pAllocateInfo
, pDescriptorSets
);
3817 VkResult WINAPI
wine_vkAllocateMemory(VkDevice device
, const VkMemoryAllocateInfo
*pAllocateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDeviceMemory
*pMemory
)
3819 #if defined(USE_STRUCT_CONVERSION)
3821 VkMemoryAllocateInfo_host pAllocateInfo_host
;
3822 TRACE("%p, %p, %p, %p\n", device
, pAllocateInfo
, pAllocator
, pMemory
);
3824 convert_VkMemoryAllocateInfo_win_to_host(pAllocateInfo
, &pAllocateInfo_host
);
3825 result
= device
->funcs
.p_vkAllocateMemory(device
->device
, &pAllocateInfo_host
, NULL
, pMemory
);
3829 TRACE("%p, %p, %p, %p\n", device
, pAllocateInfo
, pAllocator
, pMemory
);
3830 return device
->funcs
.p_vkAllocateMemory(device
->device
, pAllocateInfo
, NULL
, pMemory
);
3834 VkResult WINAPI
wine_vkBeginCommandBuffer(VkCommandBuffer commandBuffer
, const VkCommandBufferBeginInfo
*pBeginInfo
)
3836 #if defined(USE_STRUCT_CONVERSION)
3838 VkCommandBufferBeginInfo_host pBeginInfo_host
;
3839 TRACE("%p, %p\n", commandBuffer
, pBeginInfo
);
3841 convert_VkCommandBufferBeginInfo_win_to_host(pBeginInfo
, &pBeginInfo_host
);
3842 result
= commandBuffer
->device
->funcs
.p_vkBeginCommandBuffer(commandBuffer
->command_buffer
, &pBeginInfo_host
);
3844 free_VkCommandBufferBeginInfo(&pBeginInfo_host
);
3847 TRACE("%p, %p\n", commandBuffer
, pBeginInfo
);
3848 return commandBuffer
->device
->funcs
.p_vkBeginCommandBuffer(commandBuffer
->command_buffer
, pBeginInfo
);
3852 static VkResult WINAPI
wine_vkBindAccelerationStructureMemoryNV(VkDevice device
, uint32_t bindInfoCount
, const VkBindAccelerationStructureMemoryInfoNV
*pBindInfos
)
3854 #if defined(USE_STRUCT_CONVERSION)
3856 VkBindAccelerationStructureMemoryInfoNV_host
*pBindInfos_host
;
3857 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3859 pBindInfos_host
= convert_VkBindAccelerationStructureMemoryInfoNV_array_win_to_host(pBindInfos
, bindInfoCount
);
3860 result
= device
->funcs
.p_vkBindAccelerationStructureMemoryNV(device
->device
, bindInfoCount
, pBindInfos_host
);
3862 free_VkBindAccelerationStructureMemoryInfoNV_array(pBindInfos_host
, bindInfoCount
);
3865 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3866 return device
->funcs
.p_vkBindAccelerationStructureMemoryNV(device
->device
, bindInfoCount
, pBindInfos
);
3870 VkResult WINAPI
wine_vkBindBufferMemory(VkDevice device
, VkBuffer buffer
, VkDeviceMemory memory
, VkDeviceSize memoryOffset
)
3872 TRACE("%p, 0x%s, 0x%s, 0x%s\n", device
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(memory
), wine_dbgstr_longlong(memoryOffset
));
3873 return device
->funcs
.p_vkBindBufferMemory(device
->device
, buffer
, memory
, memoryOffset
);
3876 VkResult WINAPI
wine_vkBindBufferMemory2(VkDevice device
, uint32_t bindInfoCount
, const VkBindBufferMemoryInfo
*pBindInfos
)
3878 #if defined(USE_STRUCT_CONVERSION)
3880 VkBindBufferMemoryInfo_host
*pBindInfos_host
;
3881 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3883 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
3884 result
= device
->funcs
.p_vkBindBufferMemory2(device
->device
, bindInfoCount
, pBindInfos_host
);
3886 free_VkBindBufferMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
3889 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3890 return device
->funcs
.p_vkBindBufferMemory2(device
->device
, bindInfoCount
, pBindInfos
);
3894 static VkResult WINAPI
wine_vkBindBufferMemory2KHR(VkDevice device
, uint32_t bindInfoCount
, const VkBindBufferMemoryInfo
*pBindInfos
)
3896 #if defined(USE_STRUCT_CONVERSION)
3898 VkBindBufferMemoryInfo_host
*pBindInfos_host
;
3899 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3901 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
3902 result
= device
->funcs
.p_vkBindBufferMemory2KHR(device
->device
, bindInfoCount
, pBindInfos_host
);
3904 free_VkBindBufferMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
3907 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3908 return device
->funcs
.p_vkBindBufferMemory2KHR(device
->device
, bindInfoCount
, pBindInfos
);
3912 VkResult WINAPI
wine_vkBindImageMemory(VkDevice device
, VkImage image
, VkDeviceMemory memory
, VkDeviceSize memoryOffset
)
3914 TRACE("%p, 0x%s, 0x%s, 0x%s\n", device
, wine_dbgstr_longlong(image
), wine_dbgstr_longlong(memory
), wine_dbgstr_longlong(memoryOffset
));
3915 return device
->funcs
.p_vkBindImageMemory(device
->device
, image
, memory
, memoryOffset
);
3918 VkResult WINAPI
wine_vkBindImageMemory2(VkDevice device
, uint32_t bindInfoCount
, const VkBindImageMemoryInfo
*pBindInfos
)
3920 #if defined(USE_STRUCT_CONVERSION)
3922 VkBindImageMemoryInfo_host
*pBindInfos_host
;
3923 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3925 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
3926 result
= device
->funcs
.p_vkBindImageMemory2(device
->device
, bindInfoCount
, pBindInfos_host
);
3928 free_VkBindImageMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
3931 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3932 return device
->funcs
.p_vkBindImageMemory2(device
->device
, bindInfoCount
, pBindInfos
);
3936 static VkResult WINAPI
wine_vkBindImageMemory2KHR(VkDevice device
, uint32_t bindInfoCount
, const VkBindImageMemoryInfo
*pBindInfos
)
3938 #if defined(USE_STRUCT_CONVERSION)
3940 VkBindImageMemoryInfo_host
*pBindInfos_host
;
3941 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3943 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win_to_host(pBindInfos
, bindInfoCount
);
3944 result
= device
->funcs
.p_vkBindImageMemory2KHR(device
->device
, bindInfoCount
, pBindInfos_host
);
3946 free_VkBindImageMemoryInfo_array(pBindInfos_host
, bindInfoCount
);
3949 TRACE("%p, %u, %p\n", device
, bindInfoCount
, pBindInfos
);
3950 return device
->funcs
.p_vkBindImageMemory2KHR(device
->device
, bindInfoCount
, pBindInfos
);
3954 static VkResult WINAPI
wine_vkBuildAccelerationStructuresKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, uint32_t infoCount
, const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos
, const VkAccelerationStructureBuildRangeInfoKHR
* const*ppBuildRangeInfos
)
3956 #if defined(USE_STRUCT_CONVERSION)
3958 VkAccelerationStructureBuildGeometryInfoKHR_host
*pInfos_host
;
3959 TRACE("%p, 0x%s, %u, %p, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), infoCount
, pInfos
, ppBuildRangeInfos
);
3961 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win_to_host(pInfos
, infoCount
);
3962 result
= device
->funcs
.p_vkBuildAccelerationStructuresKHR(device
->device
, deferredOperation
, infoCount
, pInfos_host
, ppBuildRangeInfos
);
3964 free_VkAccelerationStructureBuildGeometryInfoKHR_array(pInfos_host
, infoCount
);
3967 TRACE("%p, 0x%s, %u, %p, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), infoCount
, pInfos
, ppBuildRangeInfos
);
3968 return device
->funcs
.p_vkBuildAccelerationStructuresKHR(device
->device
, deferredOperation
, infoCount
, pInfos
, ppBuildRangeInfos
);
3972 static void WINAPI
wine_vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer
, const VkConditionalRenderingBeginInfoEXT
*pConditionalRenderingBegin
)
3974 #if defined(USE_STRUCT_CONVERSION)
3975 VkConditionalRenderingBeginInfoEXT_host pConditionalRenderingBegin_host
;
3976 TRACE("%p, %p\n", commandBuffer
, pConditionalRenderingBegin
);
3978 convert_VkConditionalRenderingBeginInfoEXT_win_to_host(pConditionalRenderingBegin
, &pConditionalRenderingBegin_host
);
3979 commandBuffer
->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(commandBuffer
->command_buffer
, &pConditionalRenderingBegin_host
);
3982 TRACE("%p, %p\n", commandBuffer
, pConditionalRenderingBegin
);
3983 commandBuffer
->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(commandBuffer
->command_buffer
, pConditionalRenderingBegin
);
3987 static void WINAPI
wine_vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
3989 TRACE("%p, %p\n", commandBuffer
, pLabelInfo
);
3990 commandBuffer
->device
->funcs
.p_vkCmdBeginDebugUtilsLabelEXT(commandBuffer
->command_buffer
, pLabelInfo
);
3993 void WINAPI
wine_vkCmdBeginQuery(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
, VkQueryControlFlags flags
)
3995 TRACE("%p, 0x%s, %u, %#x\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
, flags
);
3996 commandBuffer
->device
->funcs
.p_vkCmdBeginQuery(commandBuffer
->command_buffer
, queryPool
, query
, flags
);
3999 static void WINAPI
wine_vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
, VkQueryControlFlags flags
, uint32_t index
)
4001 TRACE("%p, 0x%s, %u, %#x, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
, flags
, index
);
4002 commandBuffer
->device
->funcs
.p_vkCmdBeginQueryIndexedEXT(commandBuffer
->command_buffer
, queryPool
, query
, flags
, index
);
4005 void WINAPI
wine_vkCmdBeginRenderPass(VkCommandBuffer commandBuffer
, const VkRenderPassBeginInfo
*pRenderPassBegin
, VkSubpassContents contents
)
4007 #if defined(USE_STRUCT_CONVERSION)
4008 VkRenderPassBeginInfo_host pRenderPassBegin_host
;
4009 TRACE("%p, %p, %#x\n", commandBuffer
, pRenderPassBegin
, contents
);
4011 convert_VkRenderPassBeginInfo_win_to_host(pRenderPassBegin
, &pRenderPassBegin_host
);
4012 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass(commandBuffer
->command_buffer
, &pRenderPassBegin_host
, contents
);
4015 TRACE("%p, %p, %#x\n", commandBuffer
, pRenderPassBegin
, contents
);
4016 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass(commandBuffer
->command_buffer
, pRenderPassBegin
, contents
);
4020 void WINAPI
wine_vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer
, const VkRenderPassBeginInfo
*pRenderPassBegin
, const VkSubpassBeginInfo
*pSubpassBeginInfo
)
4022 #if defined(USE_STRUCT_CONVERSION)
4023 VkRenderPassBeginInfo_host pRenderPassBegin_host
;
4024 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4026 convert_VkRenderPassBeginInfo_win_to_host(pRenderPassBegin
, &pRenderPassBegin_host
);
4027 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2(commandBuffer
->command_buffer
, &pRenderPassBegin_host
, pSubpassBeginInfo
);
4030 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4031 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2(commandBuffer
->command_buffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4035 static void WINAPI
wine_vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer
, const VkRenderPassBeginInfo
*pRenderPassBegin
, const VkSubpassBeginInfo
*pSubpassBeginInfo
)
4037 #if defined(USE_STRUCT_CONVERSION)
4038 VkRenderPassBeginInfo_host pRenderPassBegin_host
;
4039 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4041 convert_VkRenderPassBeginInfo_win_to_host(pRenderPassBegin
, &pRenderPassBegin_host
);
4042 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2KHR(commandBuffer
->command_buffer
, &pRenderPassBegin_host
, pSubpassBeginInfo
);
4045 TRACE("%p, %p, %p\n", commandBuffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4046 commandBuffer
->device
->funcs
.p_vkCmdBeginRenderPass2KHR(commandBuffer
->command_buffer
, pRenderPassBegin
, pSubpassBeginInfo
);
4050 static void WINAPI
wine_vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer
, uint32_t firstCounterBuffer
, uint32_t counterBufferCount
, const VkBuffer
*pCounterBuffers
, const VkDeviceSize
*pCounterBufferOffsets
)
4052 TRACE("%p, %u, %u, %p, %p\n", commandBuffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
4053 commandBuffer
->device
->funcs
.p_vkCmdBeginTransformFeedbackEXT(commandBuffer
->command_buffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
4056 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
)
4058 TRACE("%p, %#x, 0x%s, %u, %u, %p, %u, %p\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(layout
), firstSet
, descriptorSetCount
, pDescriptorSets
, dynamicOffsetCount
, pDynamicOffsets
);
4059 commandBuffer
->device
->funcs
.p_vkCmdBindDescriptorSets(commandBuffer
->command_buffer
, pipelineBindPoint
, layout
, firstSet
, descriptorSetCount
, pDescriptorSets
, dynamicOffsetCount
, pDynamicOffsets
);
4062 void WINAPI
wine_vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkIndexType indexType
)
4064 TRACE("%p, 0x%s, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), indexType
);
4065 commandBuffer
->device
->funcs
.p_vkCmdBindIndexBuffer(commandBuffer
->command_buffer
, buffer
, offset
, indexType
);
4068 void WINAPI
wine_vkCmdBindPipeline(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipeline pipeline
)
4070 TRACE("%p, %#x, 0x%s\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(pipeline
));
4071 commandBuffer
->device
->funcs
.p_vkCmdBindPipeline(commandBuffer
->command_buffer
, pipelineBindPoint
, pipeline
);
4074 static void WINAPI
wine_vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipeline pipeline
, uint32_t groupIndex
)
4076 TRACE("%p, %#x, 0x%s, %u\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(pipeline
), groupIndex
);
4077 commandBuffer
->device
->funcs
.p_vkCmdBindPipelineShaderGroupNV(commandBuffer
->command_buffer
, pipelineBindPoint
, pipeline
, groupIndex
);
4080 static void WINAPI
wine_vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer
, VkImageView imageView
, VkImageLayout imageLayout
)
4082 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(imageView
), imageLayout
);
4083 commandBuffer
->device
->funcs
.p_vkCmdBindShadingRateImageNV(commandBuffer
->command_buffer
, imageView
, imageLayout
);
4086 static void WINAPI
wine_vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer
, uint32_t firstBinding
, uint32_t bindingCount
, const VkBuffer
*pBuffers
, const VkDeviceSize
*pOffsets
, const VkDeviceSize
*pSizes
)
4088 TRACE("%p, %u, %u, %p, %p, %p\n", commandBuffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
);
4089 commandBuffer
->device
->funcs
.p_vkCmdBindTransformFeedbackBuffersEXT(commandBuffer
->command_buffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
);
4092 void WINAPI
wine_vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer
, uint32_t firstBinding
, uint32_t bindingCount
, const VkBuffer
*pBuffers
, const VkDeviceSize
*pOffsets
)
4094 TRACE("%p, %u, %u, %p, %p\n", commandBuffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
);
4095 commandBuffer
->device
->funcs
.p_vkCmdBindVertexBuffers(commandBuffer
->command_buffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
);
4098 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
)
4100 TRACE("%p, %u, %u, %p, %p, %p, %p\n", commandBuffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
, pStrides
);
4101 commandBuffer
->device
->funcs
.p_vkCmdBindVertexBuffers2EXT(commandBuffer
->command_buffer
, firstBinding
, bindingCount
, pBuffers
, pOffsets
, pSizes
, pStrides
);
4104 void WINAPI
wine_vkCmdBlitImage(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkImageBlit
*pRegions
, VkFilter filter
)
4106 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
);
4107 commandBuffer
->device
->funcs
.p_vkCmdBlitImage(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstImage
, dstImageLayout
, regionCount
, pRegions
, filter
);
4110 static void WINAPI
wine_vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer
, const VkBlitImageInfo2KHR
*pBlitImageInfo
)
4112 #if defined(USE_STRUCT_CONVERSION)
4113 VkBlitImageInfo2KHR_host pBlitImageInfo_host
;
4114 TRACE("%p, %p\n", commandBuffer
, pBlitImageInfo
);
4116 convert_VkBlitImageInfo2KHR_win_to_host(pBlitImageInfo
, &pBlitImageInfo_host
);
4117 commandBuffer
->device
->funcs
.p_vkCmdBlitImage2KHR(commandBuffer
->command_buffer
, &pBlitImageInfo_host
);
4120 TRACE("%p, %p\n", commandBuffer
, pBlitImageInfo
);
4121 commandBuffer
->device
->funcs
.p_vkCmdBlitImage2KHR(commandBuffer
->command_buffer
, pBlitImageInfo
);
4125 static void WINAPI
wine_vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer
, const VkAccelerationStructureInfoNV
*pInfo
, VkBuffer instanceData
, VkDeviceSize instanceOffset
, VkBool32 update
, VkAccelerationStructureNV dst
, VkAccelerationStructureNV src
, VkBuffer scratch
, VkDeviceSize scratchOffset
)
4127 #if defined(USE_STRUCT_CONVERSION)
4128 VkAccelerationStructureInfoNV_host pInfo_host
;
4129 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
));
4131 convert_VkAccelerationStructureInfoNV_win_to_host(pInfo
, &pInfo_host
);
4132 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructureNV(commandBuffer
->command_buffer
, &pInfo_host
, instanceData
, instanceOffset
, update
, dst
, src
, scratch
, scratchOffset
);
4134 free_VkAccelerationStructureInfoNV(&pInfo_host
);
4136 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
));
4137 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructureNV(commandBuffer
->command_buffer
, pInfo
, instanceData
, instanceOffset
, update
, dst
, src
, scratch
, scratchOffset
);
4141 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
)
4143 #if defined(USE_STRUCT_CONVERSION)
4144 VkAccelerationStructureBuildGeometryInfoKHR_host
*pInfos_host
;
4145 TRACE("%p, %u, %p, %p, %p, %p\n", commandBuffer
, infoCount
, pInfos
, pIndirectDeviceAddresses
, pIndirectStrides
, ppMaxPrimitiveCounts
);
4147 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win_to_host(pInfos
, infoCount
);
4148 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructuresIndirectKHR(commandBuffer
->command_buffer
, infoCount
, pInfos_host
, pIndirectDeviceAddresses
, pIndirectStrides
, ppMaxPrimitiveCounts
);
4150 free_VkAccelerationStructureBuildGeometryInfoKHR_array(pInfos_host
, infoCount
);
4152 TRACE("%p, %u, %p, %p, %p, %p\n", commandBuffer
, infoCount
, pInfos
, pIndirectDeviceAddresses
, pIndirectStrides
, ppMaxPrimitiveCounts
);
4153 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructuresIndirectKHR(commandBuffer
->command_buffer
, infoCount
, pInfos
, pIndirectDeviceAddresses
, pIndirectStrides
, ppMaxPrimitiveCounts
);
4157 static void WINAPI
wine_vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer
, uint32_t infoCount
, const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos
, const VkAccelerationStructureBuildRangeInfoKHR
* const*ppBuildRangeInfos
)
4159 #if defined(USE_STRUCT_CONVERSION)
4160 VkAccelerationStructureBuildGeometryInfoKHR_host
*pInfos_host
;
4161 TRACE("%p, %u, %p, %p\n", commandBuffer
, infoCount
, pInfos
, ppBuildRangeInfos
);
4163 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win_to_host(pInfos
, infoCount
);
4164 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructuresKHR(commandBuffer
->command_buffer
, infoCount
, pInfos_host
, ppBuildRangeInfos
);
4166 free_VkAccelerationStructureBuildGeometryInfoKHR_array(pInfos_host
, infoCount
);
4168 TRACE("%p, %u, %p, %p\n", commandBuffer
, infoCount
, pInfos
, ppBuildRangeInfos
);
4169 commandBuffer
->device
->funcs
.p_vkCmdBuildAccelerationStructuresKHR(commandBuffer
->command_buffer
, infoCount
, pInfos
, ppBuildRangeInfos
);
4173 void WINAPI
wine_vkCmdClearAttachments(VkCommandBuffer commandBuffer
, uint32_t attachmentCount
, const VkClearAttachment
*pAttachments
, uint32_t rectCount
, const VkClearRect
*pRects
)
4175 TRACE("%p, %u, %p, %u, %p\n", commandBuffer
, attachmentCount
, pAttachments
, rectCount
, pRects
);
4176 commandBuffer
->device
->funcs
.p_vkCmdClearAttachments(commandBuffer
->command_buffer
, attachmentCount
, pAttachments
, rectCount
, pRects
);
4179 void WINAPI
wine_vkCmdClearColorImage(VkCommandBuffer commandBuffer
, VkImage image
, VkImageLayout imageLayout
, const VkClearColorValue
*pColor
, uint32_t rangeCount
, const VkImageSubresourceRange
*pRanges
)
4181 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(image
), imageLayout
, pColor
, rangeCount
, pRanges
);
4182 commandBuffer
->device
->funcs
.p_vkCmdClearColorImage(commandBuffer
->command_buffer
, image
, imageLayout
, pColor
, rangeCount
, pRanges
);
4185 void WINAPI
wine_vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer
, VkImage image
, VkImageLayout imageLayout
, const VkClearDepthStencilValue
*pDepthStencil
, uint32_t rangeCount
, const VkImageSubresourceRange
*pRanges
)
4187 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(image
), imageLayout
, pDepthStencil
, rangeCount
, pRanges
);
4188 commandBuffer
->device
->funcs
.p_vkCmdClearDepthStencilImage(commandBuffer
->command_buffer
, image
, imageLayout
, pDepthStencil
, rangeCount
, pRanges
);
4191 static void WINAPI
wine_vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer
, const VkCopyAccelerationStructureInfoKHR
*pInfo
)
4193 #if defined(USE_STRUCT_CONVERSION)
4194 VkCopyAccelerationStructureInfoKHR_host pInfo_host
;
4195 TRACE("%p, %p\n", commandBuffer
, pInfo
);
4197 convert_VkCopyAccelerationStructureInfoKHR_win_to_host(pInfo
, &pInfo_host
);
4198 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureKHR(commandBuffer
->command_buffer
, &pInfo_host
);
4201 TRACE("%p, %p\n", commandBuffer
, pInfo
);
4202 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureKHR(commandBuffer
->command_buffer
, pInfo
);
4206 static void WINAPI
wine_vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer
, VkAccelerationStructureNV dst
, VkAccelerationStructureNV src
, VkCopyAccelerationStructureModeKHR mode
)
4208 TRACE("%p, 0x%s, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(dst
), wine_dbgstr_longlong(src
), mode
);
4209 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureNV(commandBuffer
->command_buffer
, dst
, src
, mode
);
4212 static void WINAPI
wine_vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer
, const VkCopyAccelerationStructureToMemoryInfoKHR
*pInfo
)
4214 #if defined(USE_STRUCT_CONVERSION)
4215 VkCopyAccelerationStructureToMemoryInfoKHR_host pInfo_host
;
4216 TRACE("%p, %p\n", commandBuffer
, pInfo
);
4218 convert_VkCopyAccelerationStructureToMemoryInfoKHR_win_to_host(pInfo
, &pInfo_host
);
4219 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureToMemoryKHR(commandBuffer
->command_buffer
, &pInfo_host
);
4222 TRACE("%p, %p\n", commandBuffer
, pInfo
);
4223 commandBuffer
->device
->funcs
.p_vkCmdCopyAccelerationStructureToMemoryKHR(commandBuffer
->command_buffer
, pInfo
);
4227 void WINAPI
wine_vkCmdCopyBuffer(VkCommandBuffer commandBuffer
, VkBuffer srcBuffer
, VkBuffer dstBuffer
, uint32_t regionCount
, const VkBufferCopy
*pRegions
)
4229 #if defined(USE_STRUCT_CONVERSION)
4230 VkBufferCopy_host
*pRegions_host
;
4231 TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
4233 pRegions_host
= convert_VkBufferCopy_array_win_to_host(pRegions
, regionCount
);
4234 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer(commandBuffer
->command_buffer
, srcBuffer
, dstBuffer
, regionCount
, pRegions_host
);
4236 free_VkBufferCopy_array(pRegions_host
, regionCount
);
4238 TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
4239 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer(commandBuffer
->command_buffer
, srcBuffer
, dstBuffer
, regionCount
, pRegions
);
4243 static void WINAPI
wine_vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer
, const VkCopyBufferInfo2KHR
*pCopyBufferInfo
)
4245 #if defined(USE_STRUCT_CONVERSION)
4246 VkCopyBufferInfo2KHR_host pCopyBufferInfo_host
;
4247 TRACE("%p, %p\n", commandBuffer
, pCopyBufferInfo
);
4249 convert_VkCopyBufferInfo2KHR_win_to_host(pCopyBufferInfo
, &pCopyBufferInfo_host
);
4250 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer2KHR(commandBuffer
->command_buffer
, &pCopyBufferInfo_host
);
4252 free_VkCopyBufferInfo2KHR(&pCopyBufferInfo_host
);
4254 TRACE("%p, %p\n", commandBuffer
, pCopyBufferInfo
);
4255 commandBuffer
->device
->funcs
.p_vkCmdCopyBuffer2KHR(commandBuffer
->command_buffer
, pCopyBufferInfo
);
4259 void WINAPI
wine_vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer
, VkBuffer srcBuffer
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkBufferImageCopy
*pRegions
)
4261 #if defined(USE_STRUCT_CONVERSION)
4262 VkBufferImageCopy_host
*pRegions_host
;
4263 TRACE("%p, 0x%s, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
4265 pRegions_host
= convert_VkBufferImageCopy_array_win_to_host(pRegions
, regionCount
);
4266 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage(commandBuffer
->command_buffer
, srcBuffer
, dstImage
, dstImageLayout
, regionCount
, pRegions_host
);
4268 free_VkBufferImageCopy_array(pRegions_host
, regionCount
);
4270 TRACE("%p, 0x%s, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcBuffer
), wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
4271 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage(commandBuffer
->command_buffer
, srcBuffer
, dstImage
, dstImageLayout
, regionCount
, pRegions
);
4275 static void WINAPI
wine_vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer
, const VkCopyBufferToImageInfo2KHR
*pCopyBufferToImageInfo
)
4277 #if defined(USE_STRUCT_CONVERSION)
4278 VkCopyBufferToImageInfo2KHR_host pCopyBufferToImageInfo_host
;
4279 TRACE("%p, %p\n", commandBuffer
, pCopyBufferToImageInfo
);
4281 convert_VkCopyBufferToImageInfo2KHR_win_to_host(pCopyBufferToImageInfo
, &pCopyBufferToImageInfo_host
);
4282 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(commandBuffer
->command_buffer
, &pCopyBufferToImageInfo_host
);
4284 free_VkCopyBufferToImageInfo2KHR(&pCopyBufferToImageInfo_host
);
4286 TRACE("%p, %p\n", commandBuffer
, pCopyBufferToImageInfo
);
4287 commandBuffer
->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(commandBuffer
->command_buffer
, pCopyBufferToImageInfo
);
4291 void WINAPI
wine_vkCmdCopyImage(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkImageCopy
*pRegions
)
4293 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
4294 commandBuffer
->device
->funcs
.p_vkCmdCopyImage(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstImage
, dstImageLayout
, regionCount
, pRegions
);
4297 static void WINAPI
wine_vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer
, const VkCopyImageInfo2KHR
*pCopyImageInfo
)
4299 #if defined(USE_STRUCT_CONVERSION)
4300 VkCopyImageInfo2KHR_host pCopyImageInfo_host
;
4301 TRACE("%p, %p\n", commandBuffer
, pCopyImageInfo
);
4303 convert_VkCopyImageInfo2KHR_win_to_host(pCopyImageInfo
, &pCopyImageInfo_host
);
4304 commandBuffer
->device
->funcs
.p_vkCmdCopyImage2KHR(commandBuffer
->command_buffer
, &pCopyImageInfo_host
);
4307 TRACE("%p, %p\n", commandBuffer
, pCopyImageInfo
);
4308 commandBuffer
->device
->funcs
.p_vkCmdCopyImage2KHR(commandBuffer
->command_buffer
, pCopyImageInfo
);
4312 void WINAPI
wine_vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkBuffer dstBuffer
, uint32_t regionCount
, const VkBufferImageCopy
*pRegions
)
4314 #if defined(USE_STRUCT_CONVERSION)
4315 VkBufferImageCopy_host
*pRegions_host
;
4316 TRACE("%p, 0x%s, %#x, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
4318 pRegions_host
= convert_VkBufferImageCopy_array_win_to_host(pRegions
, regionCount
);
4319 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstBuffer
, regionCount
, pRegions_host
);
4321 free_VkBufferImageCopy_array(pRegions_host
, regionCount
);
4323 TRACE("%p, 0x%s, %#x, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstBuffer
), regionCount
, pRegions
);
4324 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstBuffer
, regionCount
, pRegions
);
4328 static void WINAPI
wine_vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer
, const VkCopyImageToBufferInfo2KHR
*pCopyImageToBufferInfo
)
4330 #if defined(USE_STRUCT_CONVERSION)
4331 VkCopyImageToBufferInfo2KHR_host pCopyImageToBufferInfo_host
;
4332 TRACE("%p, %p\n", commandBuffer
, pCopyImageToBufferInfo
);
4334 convert_VkCopyImageToBufferInfo2KHR_win_to_host(pCopyImageToBufferInfo
, &pCopyImageToBufferInfo_host
);
4335 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(commandBuffer
->command_buffer
, &pCopyImageToBufferInfo_host
);
4337 free_VkCopyImageToBufferInfo2KHR(&pCopyImageToBufferInfo_host
);
4339 TRACE("%p, %p\n", commandBuffer
, pCopyImageToBufferInfo
);
4340 commandBuffer
->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(commandBuffer
->command_buffer
, pCopyImageToBufferInfo
);
4344 static void WINAPI
wine_vkCmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer
, const VkCopyMemoryToAccelerationStructureInfoKHR
*pInfo
)
4346 #if defined(USE_STRUCT_CONVERSION)
4347 VkCopyMemoryToAccelerationStructureInfoKHR_host pInfo_host
;
4348 TRACE("%p, %p\n", commandBuffer
, pInfo
);
4350 convert_VkCopyMemoryToAccelerationStructureInfoKHR_win_to_host(pInfo
, &pInfo_host
);
4351 commandBuffer
->device
->funcs
.p_vkCmdCopyMemoryToAccelerationStructureKHR(commandBuffer
->command_buffer
, &pInfo_host
);
4354 TRACE("%p, %p\n", commandBuffer
, pInfo
);
4355 commandBuffer
->device
->funcs
.p_vkCmdCopyMemoryToAccelerationStructureKHR(commandBuffer
->command_buffer
, pInfo
);
4359 void WINAPI
wine_vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, VkDeviceSize stride
, VkQueryResultFlags flags
)
4361 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
);
4362 commandBuffer
->device
->funcs
.p_vkCmdCopyQueryPoolResults(commandBuffer
->command_buffer
, queryPool
, firstQuery
, queryCount
, dstBuffer
, dstOffset
, stride
, flags
);
4365 static void WINAPI
wine_vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer
, const VkDebugMarkerMarkerInfoEXT
*pMarkerInfo
)
4367 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
4368 commandBuffer
->device
->funcs
.p_vkCmdDebugMarkerBeginEXT(commandBuffer
->command_buffer
, pMarkerInfo
);
4371 static void WINAPI
wine_vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer
)
4373 TRACE("%p\n", commandBuffer
);
4374 commandBuffer
->device
->funcs
.p_vkCmdDebugMarkerEndEXT(commandBuffer
->command_buffer
);
4377 static void WINAPI
wine_vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer
, const VkDebugMarkerMarkerInfoEXT
*pMarkerInfo
)
4379 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
4380 commandBuffer
->device
->funcs
.p_vkCmdDebugMarkerInsertEXT(commandBuffer
->command_buffer
, pMarkerInfo
);
4383 void WINAPI
wine_vkCmdDispatch(VkCommandBuffer commandBuffer
, uint32_t groupCountX
, uint32_t groupCountY
, uint32_t groupCountZ
)
4385 TRACE("%p, %u, %u, %u\n", commandBuffer
, groupCountX
, groupCountY
, groupCountZ
);
4386 commandBuffer
->device
->funcs
.p_vkCmdDispatch(commandBuffer
->command_buffer
, groupCountX
, groupCountY
, groupCountZ
);
4389 void WINAPI
wine_vkCmdDispatchBase(VkCommandBuffer commandBuffer
, uint32_t baseGroupX
, uint32_t baseGroupY
, uint32_t baseGroupZ
, uint32_t groupCountX
, uint32_t groupCountY
, uint32_t groupCountZ
)
4391 TRACE("%p, %u, %u, %u, %u, %u, %u\n", commandBuffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
4392 commandBuffer
->device
->funcs
.p_vkCmdDispatchBase(commandBuffer
->command_buffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
4395 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
)
4397 TRACE("%p, %u, %u, %u, %u, %u, %u\n", commandBuffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
4398 commandBuffer
->device
->funcs
.p_vkCmdDispatchBaseKHR(commandBuffer
->command_buffer
, baseGroupX
, baseGroupY
, baseGroupZ
, groupCountX
, groupCountY
, groupCountZ
);
4401 void WINAPI
wine_vkCmdDispatchIndirect(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
)
4403 TRACE("%p, 0x%s, 0x%s\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
));
4404 commandBuffer
->device
->funcs
.p_vkCmdDispatchIndirect(commandBuffer
->command_buffer
, buffer
, offset
);
4407 void WINAPI
wine_vkCmdDraw(VkCommandBuffer commandBuffer
, uint32_t vertexCount
, uint32_t instanceCount
, uint32_t firstVertex
, uint32_t firstInstance
)
4409 TRACE("%p, %u, %u, %u, %u\n", commandBuffer
, vertexCount
, instanceCount
, firstVertex
, firstInstance
);
4410 commandBuffer
->device
->funcs
.p_vkCmdDraw(commandBuffer
->command_buffer
, vertexCount
, instanceCount
, firstVertex
, firstInstance
);
4413 void WINAPI
wine_vkCmdDrawIndexed(VkCommandBuffer commandBuffer
, uint32_t indexCount
, uint32_t instanceCount
, uint32_t firstIndex
, int32_t vertexOffset
, uint32_t firstInstance
)
4415 TRACE("%p, %u, %u, %u, %d, %u\n", commandBuffer
, indexCount
, instanceCount
, firstIndex
, vertexOffset
, firstInstance
);
4416 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexed(commandBuffer
->command_buffer
, indexCount
, instanceCount
, firstIndex
, vertexOffset
, firstInstance
);
4419 void WINAPI
wine_vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, uint32_t drawCount
, uint32_t stride
)
4421 TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), drawCount
, stride
);
4422 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirect(commandBuffer
->command_buffer
, buffer
, offset
, drawCount
, stride
);
4425 void WINAPI
wine_vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
4427 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
);
4428 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirectCount(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
4431 static void WINAPI
wine_vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
4433 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
);
4434 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirectCountAMD(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
4437 static void WINAPI
wine_vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
4439 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
);
4440 commandBuffer
->device
->funcs
.p_vkCmdDrawIndexedIndirectCountKHR(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
4443 void WINAPI
wine_vkCmdDrawIndirect(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, uint32_t drawCount
, uint32_t stride
)
4445 TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), drawCount
, stride
);
4446 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirect(commandBuffer
->command_buffer
, buffer
, offset
, drawCount
, stride
);
4449 static void WINAPI
wine_vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer
, uint32_t instanceCount
, uint32_t firstInstance
, VkBuffer counterBuffer
, VkDeviceSize counterBufferOffset
, uint32_t counterOffset
, uint32_t vertexStride
)
4451 TRACE("%p, %u, %u, 0x%s, 0x%s, %u, %u\n", commandBuffer
, instanceCount
, firstInstance
, wine_dbgstr_longlong(counterBuffer
), wine_dbgstr_longlong(counterBufferOffset
), counterOffset
, vertexStride
);
4452 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectByteCountEXT(commandBuffer
->command_buffer
, instanceCount
, firstInstance
, counterBuffer
, counterBufferOffset
, counterOffset
, vertexStride
);
4455 void WINAPI
wine_vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
4457 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
);
4458 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectCount(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
4461 static void WINAPI
wine_vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
4463 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
);
4464 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectCountAMD(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
4467 static void WINAPI
wine_vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
4469 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
);
4470 commandBuffer
->device
->funcs
.p_vkCmdDrawIndirectCountKHR(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
4473 static void WINAPI
wine_vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, VkBuffer countBuffer
, VkDeviceSize countBufferOffset
, uint32_t maxDrawCount
, uint32_t stride
)
4475 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
);
4476 commandBuffer
->device
->funcs
.p_vkCmdDrawMeshTasksIndirectCountNV(commandBuffer
->command_buffer
, buffer
, offset
, countBuffer
, countBufferOffset
, maxDrawCount
, stride
);
4479 static void WINAPI
wine_vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer
, VkBuffer buffer
, VkDeviceSize offset
, uint32_t drawCount
, uint32_t stride
)
4481 TRACE("%p, 0x%s, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(buffer
), wine_dbgstr_longlong(offset
), drawCount
, stride
);
4482 commandBuffer
->device
->funcs
.p_vkCmdDrawMeshTasksIndirectNV(commandBuffer
->command_buffer
, buffer
, offset
, drawCount
, stride
);
4485 static void WINAPI
wine_vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer
, uint32_t taskCount
, uint32_t firstTask
)
4487 TRACE("%p, %u, %u\n", commandBuffer
, taskCount
, firstTask
);
4488 commandBuffer
->device
->funcs
.p_vkCmdDrawMeshTasksNV(commandBuffer
->command_buffer
, taskCount
, firstTask
);
4491 static void WINAPI
wine_vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer
)
4493 TRACE("%p\n", commandBuffer
);
4494 commandBuffer
->device
->funcs
.p_vkCmdEndConditionalRenderingEXT(commandBuffer
->command_buffer
);
4497 static void WINAPI
wine_vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer
)
4499 TRACE("%p\n", commandBuffer
);
4500 commandBuffer
->device
->funcs
.p_vkCmdEndDebugUtilsLabelEXT(commandBuffer
->command_buffer
);
4503 void WINAPI
wine_vkCmdEndQuery(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
)
4505 TRACE("%p, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
);
4506 commandBuffer
->device
->funcs
.p_vkCmdEndQuery(commandBuffer
->command_buffer
, queryPool
, query
);
4509 static void WINAPI
wine_vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t query
, uint32_t index
)
4511 TRACE("%p, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), query
, index
);
4512 commandBuffer
->device
->funcs
.p_vkCmdEndQueryIndexedEXT(commandBuffer
->command_buffer
, queryPool
, query
, index
);
4515 void WINAPI
wine_vkCmdEndRenderPass(VkCommandBuffer commandBuffer
)
4517 TRACE("%p\n", commandBuffer
);
4518 commandBuffer
->device
->funcs
.p_vkCmdEndRenderPass(commandBuffer
->command_buffer
);
4521 void WINAPI
wine_vkCmdEndRenderPass2(VkCommandBuffer commandBuffer
, const VkSubpassEndInfo
*pSubpassEndInfo
)
4523 TRACE("%p, %p\n", commandBuffer
, pSubpassEndInfo
);
4524 commandBuffer
->device
->funcs
.p_vkCmdEndRenderPass2(commandBuffer
->command_buffer
, pSubpassEndInfo
);
4527 static void WINAPI
wine_vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer
, const VkSubpassEndInfo
*pSubpassEndInfo
)
4529 TRACE("%p, %p\n", commandBuffer
, pSubpassEndInfo
);
4530 commandBuffer
->device
->funcs
.p_vkCmdEndRenderPass2KHR(commandBuffer
->command_buffer
, pSubpassEndInfo
);
4533 static void WINAPI
wine_vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer
, uint32_t firstCounterBuffer
, uint32_t counterBufferCount
, const VkBuffer
*pCounterBuffers
, const VkDeviceSize
*pCounterBufferOffsets
)
4535 TRACE("%p, %u, %u, %p, %p\n", commandBuffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
4536 commandBuffer
->device
->funcs
.p_vkCmdEndTransformFeedbackEXT(commandBuffer
->command_buffer
, firstCounterBuffer
, counterBufferCount
, pCounterBuffers
, pCounterBufferOffsets
);
4539 static void WINAPI
wine_vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer
, VkBool32 isPreprocessed
, const VkGeneratedCommandsInfoNV
*pGeneratedCommandsInfo
)
4541 #if defined(USE_STRUCT_CONVERSION)
4542 VkGeneratedCommandsInfoNV_host pGeneratedCommandsInfo_host
;
4543 TRACE("%p, %u, %p\n", commandBuffer
, isPreprocessed
, pGeneratedCommandsInfo
);
4545 convert_VkGeneratedCommandsInfoNV_win_to_host(pGeneratedCommandsInfo
, &pGeneratedCommandsInfo_host
);
4546 commandBuffer
->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(commandBuffer
->command_buffer
, isPreprocessed
, &pGeneratedCommandsInfo_host
);
4548 free_VkGeneratedCommandsInfoNV(&pGeneratedCommandsInfo_host
);
4550 TRACE("%p, %u, %p\n", commandBuffer
, isPreprocessed
, pGeneratedCommandsInfo
);
4551 commandBuffer
->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(commandBuffer
->command_buffer
, isPreprocessed
, pGeneratedCommandsInfo
);
4555 void WINAPI
wine_vkCmdFillBuffer(VkCommandBuffer commandBuffer
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, VkDeviceSize size
, uint32_t data
)
4557 TRACE("%p, 0x%s, 0x%s, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), wine_dbgstr_longlong(size
), data
);
4558 commandBuffer
->device
->funcs
.p_vkCmdFillBuffer(commandBuffer
->command_buffer
, dstBuffer
, dstOffset
, size
, data
);
4561 static void WINAPI
wine_vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
4563 TRACE("%p, %p\n", commandBuffer
, pLabelInfo
);
4564 commandBuffer
->device
->funcs
.p_vkCmdInsertDebugUtilsLabelEXT(commandBuffer
->command_buffer
, pLabelInfo
);
4567 void WINAPI
wine_vkCmdNextSubpass(VkCommandBuffer commandBuffer
, VkSubpassContents contents
)
4569 TRACE("%p, %#x\n", commandBuffer
, contents
);
4570 commandBuffer
->device
->funcs
.p_vkCmdNextSubpass(commandBuffer
->command_buffer
, contents
);
4573 void WINAPI
wine_vkCmdNextSubpass2(VkCommandBuffer commandBuffer
, const VkSubpassBeginInfo
*pSubpassBeginInfo
, const VkSubpassEndInfo
*pSubpassEndInfo
)
4575 TRACE("%p, %p, %p\n", commandBuffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
4576 commandBuffer
->device
->funcs
.p_vkCmdNextSubpass2(commandBuffer
->command_buffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
4579 static void WINAPI
wine_vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer
, const VkSubpassBeginInfo
*pSubpassBeginInfo
, const VkSubpassEndInfo
*pSubpassEndInfo
)
4581 TRACE("%p, %p, %p\n", commandBuffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
4582 commandBuffer
->device
->funcs
.p_vkCmdNextSubpass2KHR(commandBuffer
->command_buffer
, pSubpassBeginInfo
, pSubpassEndInfo
);
4585 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
)
4587 #if defined(USE_STRUCT_CONVERSION)
4588 VkBufferMemoryBarrier_host
*pBufferMemoryBarriers_host
;
4589 VkImageMemoryBarrier_host
*pImageMemoryBarriers_host
;
4590 TRACE("%p, %#x, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
4592 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win_to_host(pBufferMemoryBarriers
, bufferMemoryBarrierCount
);
4593 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win_to_host(pImageMemoryBarriers
, imageMemoryBarrierCount
);
4594 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier(commandBuffer
->command_buffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
4596 free_VkBufferMemoryBarrier_array(pBufferMemoryBarriers_host
, bufferMemoryBarrierCount
);
4597 free_VkImageMemoryBarrier_array(pImageMemoryBarriers_host
, imageMemoryBarrierCount
);
4599 TRACE("%p, %#x, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
4600 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier(commandBuffer
->command_buffer
, srcStageMask
, dstStageMask
, dependencyFlags
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
4604 static void WINAPI
wine_vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer
, const VkDependencyInfoKHR
*pDependencyInfo
)
4606 #if defined(USE_STRUCT_CONVERSION)
4607 VkDependencyInfoKHR_host pDependencyInfo_host
;
4608 TRACE("%p, %p\n", commandBuffer
, pDependencyInfo
);
4610 convert_VkDependencyInfoKHR_win_to_host(pDependencyInfo
, &pDependencyInfo_host
);
4611 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier2KHR(commandBuffer
->command_buffer
, &pDependencyInfo_host
);
4613 free_VkDependencyInfoKHR(&pDependencyInfo_host
);
4615 TRACE("%p, %p\n", commandBuffer
, pDependencyInfo
);
4616 commandBuffer
->device
->funcs
.p_vkCmdPipelineBarrier2KHR(commandBuffer
->command_buffer
, pDependencyInfo
);
4620 static void WINAPI
wine_vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer
, const VkGeneratedCommandsInfoNV
*pGeneratedCommandsInfo
)
4622 #if defined(USE_STRUCT_CONVERSION)
4623 VkGeneratedCommandsInfoNV_host pGeneratedCommandsInfo_host
;
4624 TRACE("%p, %p\n", commandBuffer
, pGeneratedCommandsInfo
);
4626 convert_VkGeneratedCommandsInfoNV_win_to_host(pGeneratedCommandsInfo
, &pGeneratedCommandsInfo_host
);
4627 commandBuffer
->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(commandBuffer
->command_buffer
, &pGeneratedCommandsInfo_host
);
4629 free_VkGeneratedCommandsInfoNV(&pGeneratedCommandsInfo_host
);
4631 TRACE("%p, %p\n", commandBuffer
, pGeneratedCommandsInfo
);
4632 commandBuffer
->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(commandBuffer
->command_buffer
, pGeneratedCommandsInfo
);
4636 void WINAPI
wine_vkCmdPushConstants(VkCommandBuffer commandBuffer
, VkPipelineLayout layout
, VkShaderStageFlags stageFlags
, uint32_t offset
, uint32_t size
, const void *pValues
)
4638 TRACE("%p, 0x%s, %#x, %u, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(layout
), stageFlags
, offset
, size
, pValues
);
4639 commandBuffer
->device
->funcs
.p_vkCmdPushConstants(commandBuffer
->command_buffer
, layout
, stageFlags
, offset
, size
, pValues
);
4642 static void WINAPI
wine_vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer
, VkPipelineBindPoint pipelineBindPoint
, VkPipelineLayout layout
, uint32_t set
, uint32_t descriptorWriteCount
, const VkWriteDescriptorSet
*pDescriptorWrites
)
4644 #if defined(USE_STRUCT_CONVERSION)
4645 VkWriteDescriptorSet_host
*pDescriptorWrites_host
;
4646 TRACE("%p, %#x, 0x%s, %u, %u, %p\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(layout
), set
, descriptorWriteCount
, pDescriptorWrites
);
4648 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win_to_host(pDescriptorWrites
, descriptorWriteCount
);
4649 commandBuffer
->device
->funcs
.p_vkCmdPushDescriptorSetKHR(commandBuffer
->command_buffer
, pipelineBindPoint
, layout
, set
, descriptorWriteCount
, pDescriptorWrites_host
);
4651 free_VkWriteDescriptorSet_array(pDescriptorWrites_host
, descriptorWriteCount
);
4653 TRACE("%p, %#x, 0x%s, %u, %u, %p\n", commandBuffer
, pipelineBindPoint
, wine_dbgstr_longlong(layout
), set
, descriptorWriteCount
, pDescriptorWrites
);
4654 commandBuffer
->device
->funcs
.p_vkCmdPushDescriptorSetKHR(commandBuffer
->command_buffer
, pipelineBindPoint
, layout
, set
, descriptorWriteCount
, pDescriptorWrites
);
4658 static void WINAPI
wine_vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, VkPipelineLayout layout
, uint32_t set
, const void *pData
)
4660 TRACE("%p, 0x%s, 0x%s, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(descriptorUpdateTemplate
), wine_dbgstr_longlong(layout
), set
, pData
);
4661 commandBuffer
->device
->funcs
.p_vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer
->command_buffer
, descriptorUpdateTemplate
, layout
, set
, pData
);
4664 void WINAPI
wine_vkCmdResetEvent(VkCommandBuffer commandBuffer
, VkEvent event
, VkPipelineStageFlags stageMask
)
4666 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(event
), stageMask
);
4667 commandBuffer
->device
->funcs
.p_vkCmdResetEvent(commandBuffer
->command_buffer
, event
, stageMask
);
4670 static void WINAPI
wine_vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer
, VkEvent event
, VkPipelineStageFlags2KHR stageMask
)
4672 TRACE("%p, 0x%s, 0x%s\n", commandBuffer
, wine_dbgstr_longlong(event
), wine_dbgstr_longlong(stageMask
));
4673 commandBuffer
->device
->funcs
.p_vkCmdResetEvent2KHR(commandBuffer
->command_buffer
, event
, stageMask
);
4676 void WINAPI
wine_vkCmdResetQueryPool(VkCommandBuffer commandBuffer
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
)
4678 TRACE("%p, 0x%s, %u, %u\n", commandBuffer
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
);
4679 commandBuffer
->device
->funcs
.p_vkCmdResetQueryPool(commandBuffer
->command_buffer
, queryPool
, firstQuery
, queryCount
);
4682 void WINAPI
wine_vkCmdResolveImage(VkCommandBuffer commandBuffer
, VkImage srcImage
, VkImageLayout srcImageLayout
, VkImage dstImage
, VkImageLayout dstImageLayout
, uint32_t regionCount
, const VkImageResolve
*pRegions
)
4684 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", commandBuffer
, wine_dbgstr_longlong(srcImage
), srcImageLayout
, wine_dbgstr_longlong(dstImage
), dstImageLayout
, regionCount
, pRegions
);
4685 commandBuffer
->device
->funcs
.p_vkCmdResolveImage(commandBuffer
->command_buffer
, srcImage
, srcImageLayout
, dstImage
, dstImageLayout
, regionCount
, pRegions
);
4688 static void WINAPI
wine_vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer
, const VkResolveImageInfo2KHR
*pResolveImageInfo
)
4690 #if defined(USE_STRUCT_CONVERSION)
4691 VkResolveImageInfo2KHR_host pResolveImageInfo_host
;
4692 TRACE("%p, %p\n", commandBuffer
, pResolveImageInfo
);
4694 convert_VkResolveImageInfo2KHR_win_to_host(pResolveImageInfo
, &pResolveImageInfo_host
);
4695 commandBuffer
->device
->funcs
.p_vkCmdResolveImage2KHR(commandBuffer
->command_buffer
, &pResolveImageInfo_host
);
4698 TRACE("%p, %p\n", commandBuffer
, pResolveImageInfo
);
4699 commandBuffer
->device
->funcs
.p_vkCmdResolveImage2KHR(commandBuffer
->command_buffer
, pResolveImageInfo
);
4703 void WINAPI
wine_vkCmdSetBlendConstants(VkCommandBuffer commandBuffer
, const float blendConstants
[4])
4705 TRACE("%p, %p\n", commandBuffer
, blendConstants
);
4706 commandBuffer
->device
->funcs
.p_vkCmdSetBlendConstants(commandBuffer
->command_buffer
, blendConstants
);
4709 static void WINAPI
wine_vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer
, const void *pCheckpointMarker
)
4711 TRACE("%p, %p\n", commandBuffer
, pCheckpointMarker
);
4712 commandBuffer
->device
->funcs
.p_vkCmdSetCheckpointNV(commandBuffer
->command_buffer
, pCheckpointMarker
);
4715 static void WINAPI
wine_vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer
, VkCoarseSampleOrderTypeNV sampleOrderType
, uint32_t customSampleOrderCount
, const VkCoarseSampleOrderCustomNV
*pCustomSampleOrders
)
4717 TRACE("%p, %#x, %u, %p\n", commandBuffer
, sampleOrderType
, customSampleOrderCount
, pCustomSampleOrders
);
4718 commandBuffer
->device
->funcs
.p_vkCmdSetCoarseSampleOrderNV(commandBuffer
->command_buffer
, sampleOrderType
, customSampleOrderCount
, pCustomSampleOrders
);
4721 static void WINAPI
wine_vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer
, VkCullModeFlags cullMode
)
4723 TRACE("%p, %#x\n", commandBuffer
, cullMode
);
4724 commandBuffer
->device
->funcs
.p_vkCmdSetCullModeEXT(commandBuffer
->command_buffer
, cullMode
);
4727 void WINAPI
wine_vkCmdSetDepthBias(VkCommandBuffer commandBuffer
, float depthBiasConstantFactor
, float depthBiasClamp
, float depthBiasSlopeFactor
)
4729 TRACE("%p, %f, %f, %f\n", commandBuffer
, depthBiasConstantFactor
, depthBiasClamp
, depthBiasSlopeFactor
);
4730 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBias(commandBuffer
->command_buffer
, depthBiasConstantFactor
, depthBiasClamp
, depthBiasSlopeFactor
);
4733 void WINAPI
wine_vkCmdSetDepthBounds(VkCommandBuffer commandBuffer
, float minDepthBounds
, float maxDepthBounds
)
4735 TRACE("%p, %f, %f\n", commandBuffer
, minDepthBounds
, maxDepthBounds
);
4736 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBounds(commandBuffer
->command_buffer
, minDepthBounds
, maxDepthBounds
);
4739 static void WINAPI
wine_vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthBoundsTestEnable
)
4741 TRACE("%p, %u\n", commandBuffer
, depthBoundsTestEnable
);
4742 commandBuffer
->device
->funcs
.p_vkCmdSetDepthBoundsTestEnableEXT(commandBuffer
->command_buffer
, depthBoundsTestEnable
);
4745 static void WINAPI
wine_vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer
, VkCompareOp depthCompareOp
)
4747 TRACE("%p, %#x\n", commandBuffer
, depthCompareOp
);
4748 commandBuffer
->device
->funcs
.p_vkCmdSetDepthCompareOpEXT(commandBuffer
->command_buffer
, depthCompareOp
);
4751 static void WINAPI
wine_vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthTestEnable
)
4753 TRACE("%p, %u\n", commandBuffer
, depthTestEnable
);
4754 commandBuffer
->device
->funcs
.p_vkCmdSetDepthTestEnableEXT(commandBuffer
->command_buffer
, depthTestEnable
);
4757 static void WINAPI
wine_vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 depthWriteEnable
)
4759 TRACE("%p, %u\n", commandBuffer
, depthWriteEnable
);
4760 commandBuffer
->device
->funcs
.p_vkCmdSetDepthWriteEnableEXT(commandBuffer
->command_buffer
, depthWriteEnable
);
4763 void WINAPI
wine_vkCmdSetDeviceMask(VkCommandBuffer commandBuffer
, uint32_t deviceMask
)
4765 TRACE("%p, %u\n", commandBuffer
, deviceMask
);
4766 commandBuffer
->device
->funcs
.p_vkCmdSetDeviceMask(commandBuffer
->command_buffer
, deviceMask
);
4769 static void WINAPI
wine_vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer
, uint32_t deviceMask
)
4771 TRACE("%p, %u\n", commandBuffer
, deviceMask
);
4772 commandBuffer
->device
->funcs
.p_vkCmdSetDeviceMaskKHR(commandBuffer
->command_buffer
, deviceMask
);
4775 static void WINAPI
wine_vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer
, uint32_t firstDiscardRectangle
, uint32_t discardRectangleCount
, const VkRect2D
*pDiscardRectangles
)
4777 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstDiscardRectangle
, discardRectangleCount
, pDiscardRectangles
);
4778 commandBuffer
->device
->funcs
.p_vkCmdSetDiscardRectangleEXT(commandBuffer
->command_buffer
, firstDiscardRectangle
, discardRectangleCount
, pDiscardRectangles
);
4781 void WINAPI
wine_vkCmdSetEvent(VkCommandBuffer commandBuffer
, VkEvent event
, VkPipelineStageFlags stageMask
)
4783 TRACE("%p, 0x%s, %#x\n", commandBuffer
, wine_dbgstr_longlong(event
), stageMask
);
4784 commandBuffer
->device
->funcs
.p_vkCmdSetEvent(commandBuffer
->command_buffer
, event
, stageMask
);
4787 static void WINAPI
wine_vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer
, VkEvent event
, const VkDependencyInfoKHR
*pDependencyInfo
)
4789 #if defined(USE_STRUCT_CONVERSION)
4790 VkDependencyInfoKHR_host pDependencyInfo_host
;
4791 TRACE("%p, 0x%s, %p\n", commandBuffer
, wine_dbgstr_longlong(event
), pDependencyInfo
);
4793 convert_VkDependencyInfoKHR_win_to_host(pDependencyInfo
, &pDependencyInfo_host
);
4794 commandBuffer
->device
->funcs
.p_vkCmdSetEvent2KHR(commandBuffer
->command_buffer
, event
, &pDependencyInfo_host
);
4796 free_VkDependencyInfoKHR(&pDependencyInfo_host
);
4798 TRACE("%p, 0x%s, %p\n", commandBuffer
, wine_dbgstr_longlong(event
), pDependencyInfo
);
4799 commandBuffer
->device
->funcs
.p_vkCmdSetEvent2KHR(commandBuffer
->command_buffer
, event
, pDependencyInfo
);
4803 static void WINAPI
wine_vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer
, uint32_t firstExclusiveScissor
, uint32_t exclusiveScissorCount
, const VkRect2D
*pExclusiveScissors
)
4805 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstExclusiveScissor
, exclusiveScissorCount
, pExclusiveScissors
);
4806 commandBuffer
->device
->funcs
.p_vkCmdSetExclusiveScissorNV(commandBuffer
->command_buffer
, firstExclusiveScissor
, exclusiveScissorCount
, pExclusiveScissors
);
4809 static void WINAPI
wine_vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer
, VkFragmentShadingRateNV shadingRate
, const VkFragmentShadingRateCombinerOpKHR combinerOps
[2])
4811 TRACE("%p, %#x, %p\n", commandBuffer
, shadingRate
, combinerOps
);
4812 commandBuffer
->device
->funcs
.p_vkCmdSetFragmentShadingRateEnumNV(commandBuffer
->command_buffer
, shadingRate
, combinerOps
);
4815 static void WINAPI
wine_vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer
, const VkExtent2D
*pFragmentSize
, const VkFragmentShadingRateCombinerOpKHR combinerOps
[2])
4817 TRACE("%p, %p, %p\n", commandBuffer
, pFragmentSize
, combinerOps
);
4818 commandBuffer
->device
->funcs
.p_vkCmdSetFragmentShadingRateKHR(commandBuffer
->command_buffer
, pFragmentSize
, combinerOps
);
4821 static void WINAPI
wine_vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer
, VkFrontFace frontFace
)
4823 TRACE("%p, %#x\n", commandBuffer
, frontFace
);
4824 commandBuffer
->device
->funcs
.p_vkCmdSetFrontFaceEXT(commandBuffer
->command_buffer
, frontFace
);
4827 static void WINAPI
wine_vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer
, uint32_t lineStippleFactor
, uint16_t lineStipplePattern
)
4829 TRACE("%p, %u, %u\n", commandBuffer
, lineStippleFactor
, lineStipplePattern
);
4830 commandBuffer
->device
->funcs
.p_vkCmdSetLineStippleEXT(commandBuffer
->command_buffer
, lineStippleFactor
, lineStipplePattern
);
4833 void WINAPI
wine_vkCmdSetLineWidth(VkCommandBuffer commandBuffer
, float lineWidth
)
4835 TRACE("%p, %f\n", commandBuffer
, lineWidth
);
4836 commandBuffer
->device
->funcs
.p_vkCmdSetLineWidth(commandBuffer
->command_buffer
, lineWidth
);
4839 static VkResult WINAPI
wine_vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer
, const VkPerformanceMarkerInfoINTEL
*pMarkerInfo
)
4841 #if defined(USE_STRUCT_CONVERSION)
4843 VkPerformanceMarkerInfoINTEL_host pMarkerInfo_host
;
4844 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
4846 convert_VkPerformanceMarkerInfoINTEL_win_to_host(pMarkerInfo
, &pMarkerInfo_host
);
4847 result
= commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(commandBuffer
->command_buffer
, &pMarkerInfo_host
);
4851 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
4852 return commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(commandBuffer
->command_buffer
, pMarkerInfo
);
4856 static VkResult WINAPI
wine_vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer
, const VkPerformanceOverrideInfoINTEL
*pOverrideInfo
)
4858 #if defined(USE_STRUCT_CONVERSION)
4860 VkPerformanceOverrideInfoINTEL_host pOverrideInfo_host
;
4861 TRACE("%p, %p\n", commandBuffer
, pOverrideInfo
);
4863 convert_VkPerformanceOverrideInfoINTEL_win_to_host(pOverrideInfo
, &pOverrideInfo_host
);
4864 result
= commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(commandBuffer
->command_buffer
, &pOverrideInfo_host
);
4868 TRACE("%p, %p\n", commandBuffer
, pOverrideInfo
);
4869 return commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(commandBuffer
->command_buffer
, pOverrideInfo
);
4873 static VkResult WINAPI
wine_vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer
, const VkPerformanceStreamMarkerInfoINTEL
*pMarkerInfo
)
4875 TRACE("%p, %p\n", commandBuffer
, pMarkerInfo
);
4876 return commandBuffer
->device
->funcs
.p_vkCmdSetPerformanceStreamMarkerINTEL(commandBuffer
->command_buffer
, pMarkerInfo
);
4879 static void WINAPI
wine_vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer
, VkPrimitiveTopology primitiveTopology
)
4881 TRACE("%p, %#x\n", commandBuffer
, primitiveTopology
);
4882 commandBuffer
->device
->funcs
.p_vkCmdSetPrimitiveTopologyEXT(commandBuffer
->command_buffer
, primitiveTopology
);
4885 static void WINAPI
wine_vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer
, uint32_t pipelineStackSize
)
4887 TRACE("%p, %u\n", commandBuffer
, pipelineStackSize
);
4888 commandBuffer
->device
->funcs
.p_vkCmdSetRayTracingPipelineStackSizeKHR(commandBuffer
->command_buffer
, pipelineStackSize
);
4891 static void WINAPI
wine_vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer
, const VkSampleLocationsInfoEXT
*pSampleLocationsInfo
)
4893 TRACE("%p, %p\n", commandBuffer
, pSampleLocationsInfo
);
4894 commandBuffer
->device
->funcs
.p_vkCmdSetSampleLocationsEXT(commandBuffer
->command_buffer
, pSampleLocationsInfo
);
4897 void WINAPI
wine_vkCmdSetScissor(VkCommandBuffer commandBuffer
, uint32_t firstScissor
, uint32_t scissorCount
, const VkRect2D
*pScissors
)
4899 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstScissor
, scissorCount
, pScissors
);
4900 commandBuffer
->device
->funcs
.p_vkCmdSetScissor(commandBuffer
->command_buffer
, firstScissor
, scissorCount
, pScissors
);
4903 static void WINAPI
wine_vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer
, uint32_t scissorCount
, const VkRect2D
*pScissors
)
4905 TRACE("%p, %u, %p\n", commandBuffer
, scissorCount
, pScissors
);
4906 commandBuffer
->device
->funcs
.p_vkCmdSetScissorWithCountEXT(commandBuffer
->command_buffer
, scissorCount
, pScissors
);
4909 void WINAPI
wine_vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, uint32_t compareMask
)
4911 TRACE("%p, %#x, %u\n", commandBuffer
, faceMask
, compareMask
);
4912 commandBuffer
->device
->funcs
.p_vkCmdSetStencilCompareMask(commandBuffer
->command_buffer
, faceMask
, compareMask
);
4915 static void WINAPI
wine_vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, VkStencilOp failOp
, VkStencilOp passOp
, VkStencilOp depthFailOp
, VkCompareOp compareOp
)
4917 TRACE("%p, %#x, %#x, %#x, %#x, %#x\n", commandBuffer
, faceMask
, failOp
, passOp
, depthFailOp
, compareOp
);
4918 commandBuffer
->device
->funcs
.p_vkCmdSetStencilOpEXT(commandBuffer
->command_buffer
, faceMask
, failOp
, passOp
, depthFailOp
, compareOp
);
4921 void WINAPI
wine_vkCmdSetStencilReference(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, uint32_t reference
)
4923 TRACE("%p, %#x, %u\n", commandBuffer
, faceMask
, reference
);
4924 commandBuffer
->device
->funcs
.p_vkCmdSetStencilReference(commandBuffer
->command_buffer
, faceMask
, reference
);
4927 static void WINAPI
wine_vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer
, VkBool32 stencilTestEnable
)
4929 TRACE("%p, %u\n", commandBuffer
, stencilTestEnable
);
4930 commandBuffer
->device
->funcs
.p_vkCmdSetStencilTestEnableEXT(commandBuffer
->command_buffer
, stencilTestEnable
);
4933 void WINAPI
wine_vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer
, VkStencilFaceFlags faceMask
, uint32_t writeMask
)
4935 TRACE("%p, %#x, %u\n", commandBuffer
, faceMask
, writeMask
);
4936 commandBuffer
->device
->funcs
.p_vkCmdSetStencilWriteMask(commandBuffer
->command_buffer
, faceMask
, writeMask
);
4939 void WINAPI
wine_vkCmdSetViewport(VkCommandBuffer commandBuffer
, uint32_t firstViewport
, uint32_t viewportCount
, const VkViewport
*pViewports
)
4941 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstViewport
, viewportCount
, pViewports
);
4942 commandBuffer
->device
->funcs
.p_vkCmdSetViewport(commandBuffer
->command_buffer
, firstViewport
, viewportCount
, pViewports
);
4945 static void WINAPI
wine_vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer
, uint32_t firstViewport
, uint32_t viewportCount
, const VkShadingRatePaletteNV
*pShadingRatePalettes
)
4947 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstViewport
, viewportCount
, pShadingRatePalettes
);
4948 commandBuffer
->device
->funcs
.p_vkCmdSetViewportShadingRatePaletteNV(commandBuffer
->command_buffer
, firstViewport
, viewportCount
, pShadingRatePalettes
);
4951 static void WINAPI
wine_vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer
, uint32_t firstViewport
, uint32_t viewportCount
, const VkViewportWScalingNV
*pViewportWScalings
)
4953 TRACE("%p, %u, %u, %p\n", commandBuffer
, firstViewport
, viewportCount
, pViewportWScalings
);
4954 commandBuffer
->device
->funcs
.p_vkCmdSetViewportWScalingNV(commandBuffer
->command_buffer
, firstViewport
, viewportCount
, pViewportWScalings
);
4957 static void WINAPI
wine_vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer
, uint32_t viewportCount
, const VkViewport
*pViewports
)
4959 TRACE("%p, %u, %p\n", commandBuffer
, viewportCount
, pViewports
);
4960 commandBuffer
->device
->funcs
.p_vkCmdSetViewportWithCountEXT(commandBuffer
->command_buffer
, viewportCount
, pViewports
);
4963 static void WINAPI
wine_vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer
, const VkStridedDeviceAddressRegionKHR
*pRaygenShaderBindingTable
, const VkStridedDeviceAddressRegionKHR
*pMissShaderBindingTable
, const VkStridedDeviceAddressRegionKHR
*pHitShaderBindingTable
, const VkStridedDeviceAddressRegionKHR
*pCallableShaderBindingTable
, VkDeviceAddress indirectDeviceAddress
)
4965 #if defined(USE_STRUCT_CONVERSION)
4966 VkStridedDeviceAddressRegionKHR_host pRaygenShaderBindingTable_host
;
4967 VkStridedDeviceAddressRegionKHR_host pMissShaderBindingTable_host
;
4968 VkStridedDeviceAddressRegionKHR_host pHitShaderBindingTable_host
;
4969 VkStridedDeviceAddressRegionKHR_host pCallableShaderBindingTable_host
;
4970 TRACE("%p, %p, %p, %p, %p, 0x%s\n", commandBuffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, wine_dbgstr_longlong(indirectDeviceAddress
));
4972 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pRaygenShaderBindingTable
, &pRaygenShaderBindingTable_host
);
4973 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pMissShaderBindingTable
, &pMissShaderBindingTable_host
);
4974 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pHitShaderBindingTable
, &pHitShaderBindingTable_host
);
4975 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pCallableShaderBindingTable
, &pCallableShaderBindingTable_host
);
4976 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysIndirectKHR(commandBuffer
->command_buffer
, &pRaygenShaderBindingTable_host
, &pMissShaderBindingTable_host
, &pHitShaderBindingTable_host
, &pCallableShaderBindingTable_host
, indirectDeviceAddress
);
4979 TRACE("%p, %p, %p, %p, %p, 0x%s\n", commandBuffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, wine_dbgstr_longlong(indirectDeviceAddress
));
4980 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysIndirectKHR(commandBuffer
->command_buffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, indirectDeviceAddress
);
4984 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
)
4986 #if defined(USE_STRUCT_CONVERSION)
4987 VkStridedDeviceAddressRegionKHR_host pRaygenShaderBindingTable_host
;
4988 VkStridedDeviceAddressRegionKHR_host pMissShaderBindingTable_host
;
4989 VkStridedDeviceAddressRegionKHR_host pHitShaderBindingTable_host
;
4990 VkStridedDeviceAddressRegionKHR_host pCallableShaderBindingTable_host
;
4991 TRACE("%p, %p, %p, %p, %p, %u, %u, %u\n", commandBuffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, width
, height
, depth
);
4993 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pRaygenShaderBindingTable
, &pRaygenShaderBindingTable_host
);
4994 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pMissShaderBindingTable
, &pMissShaderBindingTable_host
);
4995 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pHitShaderBindingTable
, &pHitShaderBindingTable_host
);
4996 convert_VkStridedDeviceAddressRegionKHR_win_to_host(pCallableShaderBindingTable
, &pCallableShaderBindingTable_host
);
4997 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysKHR(commandBuffer
->command_buffer
, &pRaygenShaderBindingTable_host
, &pMissShaderBindingTable_host
, &pHitShaderBindingTable_host
, &pCallableShaderBindingTable_host
, width
, height
, depth
);
5000 TRACE("%p, %p, %p, %p, %p, %u, %u, %u\n", commandBuffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, width
, height
, depth
);
5001 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysKHR(commandBuffer
->command_buffer
, pRaygenShaderBindingTable
, pMissShaderBindingTable
, pHitShaderBindingTable
, pCallableShaderBindingTable
, width
, height
, depth
);
5005 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
)
5007 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
);
5008 commandBuffer
->device
->funcs
.p_vkCmdTraceRaysNV(commandBuffer
->command_buffer
, raygenShaderBindingTableBuffer
, raygenShaderBindingOffset
, missShaderBindingTableBuffer
, missShaderBindingOffset
, missShaderBindingStride
, hitShaderBindingTableBuffer
, hitShaderBindingOffset
, hitShaderBindingStride
, callableShaderBindingTableBuffer
, callableShaderBindingOffset
, callableShaderBindingStride
, width
, height
, depth
);
5011 void WINAPI
wine_vkCmdUpdateBuffer(VkCommandBuffer commandBuffer
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, VkDeviceSize dataSize
, const void *pData
)
5013 TRACE("%p, 0x%s, 0x%s, 0x%s, %p\n", commandBuffer
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), wine_dbgstr_longlong(dataSize
), pData
);
5014 commandBuffer
->device
->funcs
.p_vkCmdUpdateBuffer(commandBuffer
->command_buffer
, dstBuffer
, dstOffset
, dataSize
, pData
);
5017 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
)
5019 #if defined(USE_STRUCT_CONVERSION)
5020 VkBufferMemoryBarrier_host
*pBufferMemoryBarriers_host
;
5021 VkImageMemoryBarrier_host
*pImageMemoryBarriers_host
;
5022 TRACE("%p, %u, %p, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
5024 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win_to_host(pBufferMemoryBarriers
, bufferMemoryBarrierCount
);
5025 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win_to_host(pImageMemoryBarriers
, imageMemoryBarrierCount
);
5026 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents(commandBuffer
->command_buffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
5028 free_VkBufferMemoryBarrier_array(pBufferMemoryBarriers_host
, bufferMemoryBarrierCount
);
5029 free_VkImageMemoryBarrier_array(pImageMemoryBarriers_host
, imageMemoryBarrierCount
);
5031 TRACE("%p, %u, %p, %#x, %#x, %u, %p, %u, %p, %u, %p\n", commandBuffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
5032 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents(commandBuffer
->command_buffer
, eventCount
, pEvents
, srcStageMask
, dstStageMask
, memoryBarrierCount
, pMemoryBarriers
, bufferMemoryBarrierCount
, pBufferMemoryBarriers
, imageMemoryBarrierCount
, pImageMemoryBarriers
);
5036 static void WINAPI
wine_vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer
, uint32_t eventCount
, const VkEvent
*pEvents
, const VkDependencyInfoKHR
*pDependencyInfos
)
5038 #if defined(USE_STRUCT_CONVERSION)
5039 VkDependencyInfoKHR_host
*pDependencyInfos_host
;
5040 TRACE("%p, %u, %p, %p\n", commandBuffer
, eventCount
, pEvents
, pDependencyInfos
);
5042 pDependencyInfos_host
= convert_VkDependencyInfoKHR_array_win_to_host(pDependencyInfos
, eventCount
);
5043 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents2KHR(commandBuffer
->command_buffer
, eventCount
, pEvents
, pDependencyInfos_host
);
5045 free_VkDependencyInfoKHR_array(pDependencyInfos_host
, eventCount
);
5047 TRACE("%p, %u, %p, %p\n", commandBuffer
, eventCount
, pEvents
, pDependencyInfos
);
5048 commandBuffer
->device
->funcs
.p_vkCmdWaitEvents2KHR(commandBuffer
->command_buffer
, eventCount
, pEvents
, pDependencyInfos
);
5052 static void WINAPI
wine_vkCmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer
, uint32_t accelerationStructureCount
, const VkAccelerationStructureKHR
*pAccelerationStructures
, VkQueryType queryType
, VkQueryPool queryPool
, uint32_t firstQuery
)
5054 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", commandBuffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, wine_dbgstr_longlong(queryPool
), firstQuery
);
5055 commandBuffer
->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesKHR(commandBuffer
->command_buffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, queryPool
, firstQuery
);
5058 static void WINAPI
wine_vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer
, uint32_t accelerationStructureCount
, const VkAccelerationStructureNV
*pAccelerationStructures
, VkQueryType queryType
, VkQueryPool queryPool
, uint32_t firstQuery
)
5060 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", commandBuffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, wine_dbgstr_longlong(queryPool
), firstQuery
);
5061 commandBuffer
->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesNV(commandBuffer
->command_buffer
, accelerationStructureCount
, pAccelerationStructures
, queryType
, queryPool
, firstQuery
);
5064 static void WINAPI
wine_vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer
, VkPipelineStageFlags2KHR stage
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, uint32_t marker
)
5066 TRACE("%p, 0x%s, 0x%s, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(stage
), wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), marker
);
5067 commandBuffer
->device
->funcs
.p_vkCmdWriteBufferMarker2AMD(commandBuffer
->command_buffer
, stage
, dstBuffer
, dstOffset
, marker
);
5070 static void WINAPI
wine_vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer
, VkPipelineStageFlagBits pipelineStage
, VkBuffer dstBuffer
, VkDeviceSize dstOffset
, uint32_t marker
)
5072 TRACE("%p, %#x, 0x%s, 0x%s, %u\n", commandBuffer
, pipelineStage
, wine_dbgstr_longlong(dstBuffer
), wine_dbgstr_longlong(dstOffset
), marker
);
5073 commandBuffer
->device
->funcs
.p_vkCmdWriteBufferMarkerAMD(commandBuffer
->command_buffer
, pipelineStage
, dstBuffer
, dstOffset
, marker
);
5076 void WINAPI
wine_vkCmdWriteTimestamp(VkCommandBuffer commandBuffer
, VkPipelineStageFlagBits pipelineStage
, VkQueryPool queryPool
, uint32_t query
)
5078 TRACE("%p, %#x, 0x%s, %u\n", commandBuffer
, pipelineStage
, wine_dbgstr_longlong(queryPool
), query
);
5079 commandBuffer
->device
->funcs
.p_vkCmdWriteTimestamp(commandBuffer
->command_buffer
, pipelineStage
, queryPool
, query
);
5082 static void WINAPI
wine_vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer
, VkPipelineStageFlags2KHR stage
, VkQueryPool queryPool
, uint32_t query
)
5084 TRACE("%p, 0x%s, 0x%s, %u\n", commandBuffer
, wine_dbgstr_longlong(stage
), wine_dbgstr_longlong(queryPool
), query
);
5085 commandBuffer
->device
->funcs
.p_vkCmdWriteTimestamp2KHR(commandBuffer
->command_buffer
, stage
, queryPool
, query
);
5088 static VkResult WINAPI
wine_vkCompileDeferredNV(VkDevice device
, VkPipeline pipeline
, uint32_t shader
)
5090 TRACE("%p, 0x%s, %u\n", device
, wine_dbgstr_longlong(pipeline
), shader
);
5091 return device
->funcs
.p_vkCompileDeferredNV(device
->device
, pipeline
, shader
);
5094 static VkResult WINAPI
wine_vkCopyAccelerationStructureKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, const VkCopyAccelerationStructureInfoKHR
*pInfo
)
5096 #if defined(USE_STRUCT_CONVERSION)
5098 VkCopyAccelerationStructureInfoKHR_host pInfo_host
;
5099 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
5101 convert_VkCopyAccelerationStructureInfoKHR_win_to_host(pInfo
, &pInfo_host
);
5102 result
= device
->funcs
.p_vkCopyAccelerationStructureKHR(device
->device
, deferredOperation
, &pInfo_host
);
5106 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
5107 return device
->funcs
.p_vkCopyAccelerationStructureKHR(device
->device
, deferredOperation
, pInfo
);
5111 static VkResult WINAPI
wine_vkCopyAccelerationStructureToMemoryKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, const VkCopyAccelerationStructureToMemoryInfoKHR
*pInfo
)
5113 #if defined(USE_STRUCT_CONVERSION)
5115 VkCopyAccelerationStructureToMemoryInfoKHR_host pInfo_host
;
5116 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
5118 convert_VkCopyAccelerationStructureToMemoryInfoKHR_win_to_host(pInfo
, &pInfo_host
);
5119 result
= device
->funcs
.p_vkCopyAccelerationStructureToMemoryKHR(device
->device
, deferredOperation
, &pInfo_host
);
5123 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
5124 return device
->funcs
.p_vkCopyAccelerationStructureToMemoryKHR(device
->device
, deferredOperation
, pInfo
);
5128 static VkResult WINAPI
wine_vkCopyMemoryToAccelerationStructureKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, const VkCopyMemoryToAccelerationStructureInfoKHR
*pInfo
)
5130 #if defined(USE_STRUCT_CONVERSION)
5132 VkCopyMemoryToAccelerationStructureInfoKHR_host pInfo_host
;
5133 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
5135 convert_VkCopyMemoryToAccelerationStructureInfoKHR_win_to_host(pInfo
, &pInfo_host
);
5136 result
= device
->funcs
.p_vkCopyMemoryToAccelerationStructureKHR(device
->device
, deferredOperation
, &pInfo_host
);
5140 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), pInfo
);
5141 return device
->funcs
.p_vkCopyMemoryToAccelerationStructureKHR(device
->device
, deferredOperation
, pInfo
);
5145 static VkResult WINAPI
wine_vkCreateAccelerationStructureKHR(VkDevice device
, const VkAccelerationStructureCreateInfoKHR
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkAccelerationStructureKHR
*pAccelerationStructure
)
5147 #if defined(USE_STRUCT_CONVERSION)
5149 VkAccelerationStructureCreateInfoKHR_host pCreateInfo_host
;
5150 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
5152 convert_VkAccelerationStructureCreateInfoKHR_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5153 result
= device
->funcs
.p_vkCreateAccelerationStructureKHR(device
->device
, &pCreateInfo_host
, NULL
, pAccelerationStructure
);
5157 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
5158 return device
->funcs
.p_vkCreateAccelerationStructureKHR(device
->device
, pCreateInfo
, NULL
, pAccelerationStructure
);
5162 static VkResult WINAPI
wine_vkCreateAccelerationStructureNV(VkDevice device
, const VkAccelerationStructureCreateInfoNV
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkAccelerationStructureNV
*pAccelerationStructure
)
5164 #if defined(USE_STRUCT_CONVERSION)
5166 VkAccelerationStructureCreateInfoNV_host pCreateInfo_host
;
5167 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
5169 convert_VkAccelerationStructureCreateInfoNV_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5170 result
= device
->funcs
.p_vkCreateAccelerationStructureNV(device
->device
, &pCreateInfo_host
, NULL
, pAccelerationStructure
);
5174 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pAccelerationStructure
);
5175 return device
->funcs
.p_vkCreateAccelerationStructureNV(device
->device
, pCreateInfo
, NULL
, pAccelerationStructure
);
5179 VkResult WINAPI
wine_vkCreateBuffer(VkDevice device
, const VkBufferCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkBuffer
*pBuffer
)
5181 #if defined(USE_STRUCT_CONVERSION)
5183 VkBufferCreateInfo_host pCreateInfo_host
;
5184 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pBuffer
);
5186 convert_VkBufferCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5187 result
= device
->funcs
.p_vkCreateBuffer(device
->device
, &pCreateInfo_host
, NULL
, pBuffer
);
5191 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pBuffer
);
5192 return device
->funcs
.p_vkCreateBuffer(device
->device
, pCreateInfo
, NULL
, pBuffer
);
5196 VkResult WINAPI
wine_vkCreateBufferView(VkDevice device
, const VkBufferViewCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkBufferView
*pView
)
5198 #if defined(USE_STRUCT_CONVERSION)
5200 VkBufferViewCreateInfo_host pCreateInfo_host
;
5201 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
5203 convert_VkBufferViewCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5204 result
= device
->funcs
.p_vkCreateBufferView(device
->device
, &pCreateInfo_host
, NULL
, pView
);
5208 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
5209 return device
->funcs
.p_vkCreateBufferView(device
->device
, pCreateInfo
, NULL
, pView
);
5213 VkResult WINAPI
wine_vkCreateComputePipelines(VkDevice device
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkComputePipelineCreateInfo
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
5215 #if defined(USE_STRUCT_CONVERSION)
5217 VkComputePipelineCreateInfo_host
*pCreateInfos_host
;
5218 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
5220 pCreateInfos_host
= convert_VkComputePipelineCreateInfo_array_win_to_host(pCreateInfos
, createInfoCount
);
5221 result
= device
->funcs
.p_vkCreateComputePipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
5223 free_VkComputePipelineCreateInfo_array(pCreateInfos_host
, createInfoCount
);
5226 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
5227 return device
->funcs
.p_vkCreateComputePipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
5231 static VkResult WINAPI
wine_vkCreateDeferredOperationKHR(VkDevice device
, const VkAllocationCallbacks
*pAllocator
, VkDeferredOperationKHR
*pDeferredOperation
)
5233 TRACE("%p, %p, %p\n", device
, pAllocator
, pDeferredOperation
);
5234 return device
->funcs
.p_vkCreateDeferredOperationKHR(device
->device
, NULL
, pDeferredOperation
);
5237 VkResult WINAPI
wine_vkCreateDescriptorPool(VkDevice device
, const VkDescriptorPoolCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorPool
*pDescriptorPool
)
5239 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorPool
);
5240 return device
->funcs
.p_vkCreateDescriptorPool(device
->device
, pCreateInfo
, NULL
, pDescriptorPool
);
5243 VkResult WINAPI
wine_vkCreateDescriptorSetLayout(VkDevice device
, const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorSetLayout
*pSetLayout
)
5245 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSetLayout
);
5246 return device
->funcs
.p_vkCreateDescriptorSetLayout(device
->device
, pCreateInfo
, NULL
, pSetLayout
);
5249 VkResult WINAPI
wine_vkCreateDescriptorUpdateTemplate(VkDevice device
, const VkDescriptorUpdateTemplateCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorUpdateTemplate
*pDescriptorUpdateTemplate
)
5251 #if defined(USE_STRUCT_CONVERSION)
5253 VkDescriptorUpdateTemplateCreateInfo_host pCreateInfo_host
;
5254 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
5256 convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5257 result
= device
->funcs
.p_vkCreateDescriptorUpdateTemplate(device
->device
, &pCreateInfo_host
, NULL
, pDescriptorUpdateTemplate
);
5261 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
5262 return device
->funcs
.p_vkCreateDescriptorUpdateTemplate(device
->device
, pCreateInfo
, NULL
, pDescriptorUpdateTemplate
);
5266 static VkResult WINAPI
wine_vkCreateDescriptorUpdateTemplateKHR(VkDevice device
, const VkDescriptorUpdateTemplateCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkDescriptorUpdateTemplate
*pDescriptorUpdateTemplate
)
5268 #if defined(USE_STRUCT_CONVERSION)
5270 VkDescriptorUpdateTemplateCreateInfo_host pCreateInfo_host
;
5271 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
5273 convert_VkDescriptorUpdateTemplateCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5274 result
= device
->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(device
->device
, &pCreateInfo_host
, NULL
, pDescriptorUpdateTemplate
);
5278 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pDescriptorUpdateTemplate
);
5279 return device
->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(device
->device
, pCreateInfo
, NULL
, pDescriptorUpdateTemplate
);
5283 VkResult WINAPI
wine_vkCreateEvent(VkDevice device
, const VkEventCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkEvent
*pEvent
)
5285 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pEvent
);
5286 return device
->funcs
.p_vkCreateEvent(device
->device
, pCreateInfo
, NULL
, pEvent
);
5289 VkResult WINAPI
wine_vkCreateFence(VkDevice device
, const VkFenceCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkFence
*pFence
)
5291 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFence
);
5292 return device
->funcs
.p_vkCreateFence(device
->device
, pCreateInfo
, NULL
, pFence
);
5295 VkResult WINAPI
wine_vkCreateFramebuffer(VkDevice device
, const VkFramebufferCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkFramebuffer
*pFramebuffer
)
5297 #if defined(USE_STRUCT_CONVERSION)
5299 VkFramebufferCreateInfo_host pCreateInfo_host
;
5300 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFramebuffer
);
5302 convert_VkFramebufferCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5303 result
= device
->funcs
.p_vkCreateFramebuffer(device
->device
, &pCreateInfo_host
, NULL
, pFramebuffer
);
5307 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pFramebuffer
);
5308 return device
->funcs
.p_vkCreateFramebuffer(device
->device
, pCreateInfo
, NULL
, pFramebuffer
);
5312 VkResult WINAPI
wine_vkCreateGraphicsPipelines(VkDevice device
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkGraphicsPipelineCreateInfo
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
5314 #if defined(USE_STRUCT_CONVERSION)
5316 VkGraphicsPipelineCreateInfo_host
*pCreateInfos_host
;
5317 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
5319 pCreateInfos_host
= convert_VkGraphicsPipelineCreateInfo_array_win_to_host(pCreateInfos
, createInfoCount
);
5320 result
= device
->funcs
.p_vkCreateGraphicsPipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
5322 free_VkGraphicsPipelineCreateInfo_array(pCreateInfos_host
, createInfoCount
);
5325 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
5326 return device
->funcs
.p_vkCreateGraphicsPipelines(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
5330 VkResult WINAPI
wine_vkCreateImage(VkDevice device
, const VkImageCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkImage
*pImage
)
5332 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pImage
);
5333 return device
->funcs
.p_vkCreateImage(device
->device
, pCreateInfo
, NULL
, pImage
);
5336 VkResult WINAPI
wine_vkCreateImageView(VkDevice device
, const VkImageViewCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkImageView
*pView
)
5338 #if defined(USE_STRUCT_CONVERSION)
5340 VkImageViewCreateInfo_host pCreateInfo_host
;
5341 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
5343 convert_VkImageViewCreateInfo_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5344 result
= device
->funcs
.p_vkCreateImageView(device
->device
, &pCreateInfo_host
, NULL
, pView
);
5348 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pView
);
5349 return device
->funcs
.p_vkCreateImageView(device
->device
, pCreateInfo
, NULL
, pView
);
5353 static VkResult WINAPI
wine_vkCreateIndirectCommandsLayoutNV(VkDevice device
, const VkIndirectCommandsLayoutCreateInfoNV
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkIndirectCommandsLayoutNV
*pIndirectCommandsLayout
)
5355 #if defined(USE_STRUCT_CONVERSION)
5357 VkIndirectCommandsLayoutCreateInfoNV_host pCreateInfo_host
;
5358 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pIndirectCommandsLayout
);
5360 convert_VkIndirectCommandsLayoutCreateInfoNV_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5361 result
= device
->funcs
.p_vkCreateIndirectCommandsLayoutNV(device
->device
, &pCreateInfo_host
, NULL
, pIndirectCommandsLayout
);
5363 free_VkIndirectCommandsLayoutCreateInfoNV(&pCreateInfo_host
);
5366 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pIndirectCommandsLayout
);
5367 return device
->funcs
.p_vkCreateIndirectCommandsLayoutNV(device
->device
, pCreateInfo
, NULL
, pIndirectCommandsLayout
);
5371 VkResult WINAPI
wine_vkCreatePipelineCache(VkDevice device
, const VkPipelineCacheCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkPipelineCache
*pPipelineCache
)
5373 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pPipelineCache
);
5374 return device
->funcs
.p_vkCreatePipelineCache(device
->device
, pCreateInfo
, NULL
, pPipelineCache
);
5377 VkResult WINAPI
wine_vkCreatePipelineLayout(VkDevice device
, const VkPipelineLayoutCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkPipelineLayout
*pPipelineLayout
)
5379 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pPipelineLayout
);
5380 return device
->funcs
.p_vkCreatePipelineLayout(device
->device
, pCreateInfo
, NULL
, pPipelineLayout
);
5383 static VkResult WINAPI
wine_vkCreatePrivateDataSlotEXT(VkDevice device
, const VkPrivateDataSlotCreateInfoEXT
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkPrivateDataSlotEXT
*pPrivateDataSlot
)
5385 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pPrivateDataSlot
);
5386 return device
->funcs
.p_vkCreatePrivateDataSlotEXT(device
->device
, pCreateInfo
, NULL
, pPrivateDataSlot
);
5389 VkResult WINAPI
wine_vkCreateQueryPool(VkDevice device
, const VkQueryPoolCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkQueryPool
*pQueryPool
)
5391 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pQueryPool
);
5392 return device
->funcs
.p_vkCreateQueryPool(device
->device
, pCreateInfo
, NULL
, pQueryPool
);
5395 static VkResult WINAPI
wine_vkCreateRayTracingPipelinesKHR(VkDevice device
, VkDeferredOperationKHR deferredOperation
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkRayTracingPipelineCreateInfoKHR
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
5397 #if defined(USE_STRUCT_CONVERSION)
5399 VkRayTracingPipelineCreateInfoKHR_host
*pCreateInfos_host
;
5400 TRACE("%p, 0x%s, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
5402 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoKHR_array_win_to_host(pCreateInfos
, createInfoCount
);
5403 result
= device
->funcs
.p_vkCreateRayTracingPipelinesKHR(device
->device
, deferredOperation
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
5405 free_VkRayTracingPipelineCreateInfoKHR_array(pCreateInfos_host
, createInfoCount
);
5408 TRACE("%p, 0x%s, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(deferredOperation
), wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
5409 return device
->funcs
.p_vkCreateRayTracingPipelinesKHR(device
->device
, deferredOperation
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
5413 static VkResult WINAPI
wine_vkCreateRayTracingPipelinesNV(VkDevice device
, VkPipelineCache pipelineCache
, uint32_t createInfoCount
, const VkRayTracingPipelineCreateInfoNV
*pCreateInfos
, const VkAllocationCallbacks
*pAllocator
, VkPipeline
*pPipelines
)
5415 #if defined(USE_STRUCT_CONVERSION)
5417 VkRayTracingPipelineCreateInfoNV_host
*pCreateInfos_host
;
5418 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
5420 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoNV_array_win_to_host(pCreateInfos
, createInfoCount
);
5421 result
= device
->funcs
.p_vkCreateRayTracingPipelinesNV(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos_host
, NULL
, pPipelines
);
5423 free_VkRayTracingPipelineCreateInfoNV_array(pCreateInfos_host
, createInfoCount
);
5426 TRACE("%p, 0x%s, %u, %p, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), createInfoCount
, pCreateInfos
, pAllocator
, pPipelines
);
5427 return device
->funcs
.p_vkCreateRayTracingPipelinesNV(device
->device
, pipelineCache
, createInfoCount
, pCreateInfos
, NULL
, pPipelines
);
5431 VkResult WINAPI
wine_vkCreateRenderPass(VkDevice device
, const VkRenderPassCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkRenderPass
*pRenderPass
)
5433 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pRenderPass
);
5434 return device
->funcs
.p_vkCreateRenderPass(device
->device
, pCreateInfo
, NULL
, pRenderPass
);
5437 VkResult WINAPI
wine_vkCreateRenderPass2(VkDevice device
, const VkRenderPassCreateInfo2
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkRenderPass
*pRenderPass
)
5439 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pRenderPass
);
5440 return device
->funcs
.p_vkCreateRenderPass2(device
->device
, pCreateInfo
, NULL
, pRenderPass
);
5443 static VkResult WINAPI
wine_vkCreateRenderPass2KHR(VkDevice device
, const VkRenderPassCreateInfo2
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkRenderPass
*pRenderPass
)
5445 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pRenderPass
);
5446 return device
->funcs
.p_vkCreateRenderPass2KHR(device
->device
, pCreateInfo
, NULL
, pRenderPass
);
5449 VkResult WINAPI
wine_vkCreateSampler(VkDevice device
, const VkSamplerCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSampler
*pSampler
)
5451 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSampler
);
5452 return device
->funcs
.p_vkCreateSampler(device
->device
, pCreateInfo
, NULL
, pSampler
);
5455 VkResult WINAPI
wine_vkCreateSamplerYcbcrConversion(VkDevice device
, const VkSamplerYcbcrConversionCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSamplerYcbcrConversion
*pYcbcrConversion
)
5457 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pYcbcrConversion
);
5458 return device
->funcs
.p_vkCreateSamplerYcbcrConversion(device
->device
, pCreateInfo
, NULL
, pYcbcrConversion
);
5461 static VkResult WINAPI
wine_vkCreateSamplerYcbcrConversionKHR(VkDevice device
, const VkSamplerYcbcrConversionCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSamplerYcbcrConversion
*pYcbcrConversion
)
5463 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pYcbcrConversion
);
5464 return device
->funcs
.p_vkCreateSamplerYcbcrConversionKHR(device
->device
, pCreateInfo
, NULL
, pYcbcrConversion
);
5467 VkResult WINAPI
wine_vkCreateSemaphore(VkDevice device
, const VkSemaphoreCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSemaphore
*pSemaphore
)
5469 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pSemaphore
);
5470 return device
->funcs
.p_vkCreateSemaphore(device
->device
, pCreateInfo
, NULL
, pSemaphore
);
5473 VkResult WINAPI
wine_vkCreateShaderModule(VkDevice device
, const VkShaderModuleCreateInfo
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkShaderModule
*pShaderModule
)
5475 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pShaderModule
);
5476 return device
->funcs
.p_vkCreateShaderModule(device
->device
, pCreateInfo
, NULL
, pShaderModule
);
5479 VkResult
thunk_vkCreateSwapchainKHR(VkDevice device
, const VkSwapchainCreateInfoKHR
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkSwapchainKHR
*pSwapchain
)
5481 #if defined(USE_STRUCT_CONVERSION)
5483 VkSwapchainCreateInfoKHR_host pCreateInfo_host
;
5484 convert_VkSwapchainCreateInfoKHR_win_to_host(pCreateInfo
, &pCreateInfo_host
);
5485 result
= device
->funcs
.p_vkCreateSwapchainKHR(device
->device
, &pCreateInfo_host
, NULL
, pSwapchain
);
5489 return device
->funcs
.p_vkCreateSwapchainKHR(device
->device
, pCreateInfo
, NULL
, pSwapchain
);
5493 static VkResult WINAPI
wine_vkCreateValidationCacheEXT(VkDevice device
, const VkValidationCacheCreateInfoEXT
*pCreateInfo
, const VkAllocationCallbacks
*pAllocator
, VkValidationCacheEXT
*pValidationCache
)
5495 TRACE("%p, %p, %p, %p\n", device
, pCreateInfo
, pAllocator
, pValidationCache
);
5496 return device
->funcs
.p_vkCreateValidationCacheEXT(device
->device
, pCreateInfo
, NULL
, pValidationCache
);
5499 VkResult
thunk_vkDebugMarkerSetObjectNameEXT(VkDevice device
, const VkDebugMarkerObjectNameInfoEXT
*pNameInfo
)
5501 #if defined(USE_STRUCT_CONVERSION)
5503 VkDebugMarkerObjectNameInfoEXT_host pNameInfo_host
;
5504 convert_VkDebugMarkerObjectNameInfoEXT_win_to_host(pNameInfo
, &pNameInfo_host
);
5505 result
= device
->funcs
.p_vkDebugMarkerSetObjectNameEXT(device
->device
, &pNameInfo_host
);
5509 return device
->funcs
.p_vkDebugMarkerSetObjectNameEXT(device
->device
, pNameInfo
);
5513 VkResult
thunk_vkDebugMarkerSetObjectTagEXT(VkDevice device
, const VkDebugMarkerObjectTagInfoEXT
*pTagInfo
)
5515 #if defined(USE_STRUCT_CONVERSION)
5517 VkDebugMarkerObjectTagInfoEXT_host pTagInfo_host
;
5518 convert_VkDebugMarkerObjectTagInfoEXT_win_to_host(pTagInfo
, &pTagInfo_host
);
5519 result
= device
->funcs
.p_vkDebugMarkerSetObjectTagEXT(device
->device
, &pTagInfo_host
);
5523 return device
->funcs
.p_vkDebugMarkerSetObjectTagEXT(device
->device
, pTagInfo
);
5527 static VkResult WINAPI
wine_vkDeferredOperationJoinKHR(VkDevice device
, VkDeferredOperationKHR operation
)
5529 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(operation
));
5530 return device
->funcs
.p_vkDeferredOperationJoinKHR(device
->device
, operation
);
5533 static void WINAPI
wine_vkDestroyAccelerationStructureKHR(VkDevice device
, VkAccelerationStructureKHR accelerationStructure
, const VkAllocationCallbacks
*pAllocator
)
5535 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(accelerationStructure
), pAllocator
);
5536 device
->funcs
.p_vkDestroyAccelerationStructureKHR(device
->device
, accelerationStructure
, NULL
);
5539 static void WINAPI
wine_vkDestroyAccelerationStructureNV(VkDevice device
, VkAccelerationStructureNV accelerationStructure
, const VkAllocationCallbacks
*pAllocator
)
5541 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(accelerationStructure
), pAllocator
);
5542 device
->funcs
.p_vkDestroyAccelerationStructureNV(device
->device
, accelerationStructure
, NULL
);
5545 void WINAPI
wine_vkDestroyBuffer(VkDevice device
, VkBuffer buffer
, const VkAllocationCallbacks
*pAllocator
)
5547 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(buffer
), pAllocator
);
5548 device
->funcs
.p_vkDestroyBuffer(device
->device
, buffer
, NULL
);
5551 void WINAPI
wine_vkDestroyBufferView(VkDevice device
, VkBufferView bufferView
, const VkAllocationCallbacks
*pAllocator
)
5553 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(bufferView
), pAllocator
);
5554 device
->funcs
.p_vkDestroyBufferView(device
->device
, bufferView
, NULL
);
5557 static void WINAPI
wine_vkDestroyDeferredOperationKHR(VkDevice device
, VkDeferredOperationKHR operation
, const VkAllocationCallbacks
*pAllocator
)
5559 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(operation
), pAllocator
);
5560 device
->funcs
.p_vkDestroyDeferredOperationKHR(device
->device
, operation
, NULL
);
5563 void WINAPI
wine_vkDestroyDescriptorPool(VkDevice device
, VkDescriptorPool descriptorPool
, const VkAllocationCallbacks
*pAllocator
)
5565 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorPool
), pAllocator
);
5566 device
->funcs
.p_vkDestroyDescriptorPool(device
->device
, descriptorPool
, NULL
);
5569 void WINAPI
wine_vkDestroyDescriptorSetLayout(VkDevice device
, VkDescriptorSetLayout descriptorSetLayout
, const VkAllocationCallbacks
*pAllocator
)
5571 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorSetLayout
), pAllocator
);
5572 device
->funcs
.p_vkDestroyDescriptorSetLayout(device
->device
, descriptorSetLayout
, NULL
);
5575 void WINAPI
wine_vkDestroyDescriptorUpdateTemplate(VkDevice device
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const VkAllocationCallbacks
*pAllocator
)
5577 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorUpdateTemplate
), pAllocator
);
5578 device
->funcs
.p_vkDestroyDescriptorUpdateTemplate(device
->device
, descriptorUpdateTemplate
, NULL
);
5581 static void WINAPI
wine_vkDestroyDescriptorUpdateTemplateKHR(VkDevice device
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const VkAllocationCallbacks
*pAllocator
)
5583 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorUpdateTemplate
), pAllocator
);
5584 device
->funcs
.p_vkDestroyDescriptorUpdateTemplateKHR(device
->device
, descriptorUpdateTemplate
, NULL
);
5587 void WINAPI
wine_vkDestroyEvent(VkDevice device
, VkEvent event
, const VkAllocationCallbacks
*pAllocator
)
5589 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(event
), pAllocator
);
5590 device
->funcs
.p_vkDestroyEvent(device
->device
, event
, NULL
);
5593 void WINAPI
wine_vkDestroyFence(VkDevice device
, VkFence fence
, const VkAllocationCallbacks
*pAllocator
)
5595 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(fence
), pAllocator
);
5596 device
->funcs
.p_vkDestroyFence(device
->device
, fence
, NULL
);
5599 void WINAPI
wine_vkDestroyFramebuffer(VkDevice device
, VkFramebuffer framebuffer
, const VkAllocationCallbacks
*pAllocator
)
5601 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(framebuffer
), pAllocator
);
5602 device
->funcs
.p_vkDestroyFramebuffer(device
->device
, framebuffer
, NULL
);
5605 void WINAPI
wine_vkDestroyImage(VkDevice device
, VkImage image
, const VkAllocationCallbacks
*pAllocator
)
5607 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(image
), pAllocator
);
5608 device
->funcs
.p_vkDestroyImage(device
->device
, image
, NULL
);
5611 void WINAPI
wine_vkDestroyImageView(VkDevice device
, VkImageView imageView
, const VkAllocationCallbacks
*pAllocator
)
5613 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(imageView
), pAllocator
);
5614 device
->funcs
.p_vkDestroyImageView(device
->device
, imageView
, NULL
);
5617 static void WINAPI
wine_vkDestroyIndirectCommandsLayoutNV(VkDevice device
, VkIndirectCommandsLayoutNV indirectCommandsLayout
, const VkAllocationCallbacks
*pAllocator
)
5619 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(indirectCommandsLayout
), pAllocator
);
5620 device
->funcs
.p_vkDestroyIndirectCommandsLayoutNV(device
->device
, indirectCommandsLayout
, NULL
);
5623 void WINAPI
wine_vkDestroyPipeline(VkDevice device
, VkPipeline pipeline
, const VkAllocationCallbacks
*pAllocator
)
5625 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), pAllocator
);
5626 device
->funcs
.p_vkDestroyPipeline(device
->device
, pipeline
, NULL
);
5629 void WINAPI
wine_vkDestroyPipelineCache(VkDevice device
, VkPipelineCache pipelineCache
, const VkAllocationCallbacks
*pAllocator
)
5631 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), pAllocator
);
5632 device
->funcs
.p_vkDestroyPipelineCache(device
->device
, pipelineCache
, NULL
);
5635 void WINAPI
wine_vkDestroyPipelineLayout(VkDevice device
, VkPipelineLayout pipelineLayout
, const VkAllocationCallbacks
*pAllocator
)
5637 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipelineLayout
), pAllocator
);
5638 device
->funcs
.p_vkDestroyPipelineLayout(device
->device
, pipelineLayout
, NULL
);
5641 static void WINAPI
wine_vkDestroyPrivateDataSlotEXT(VkDevice device
, VkPrivateDataSlotEXT privateDataSlot
, const VkAllocationCallbacks
*pAllocator
)
5643 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(privateDataSlot
), pAllocator
);
5644 device
->funcs
.p_vkDestroyPrivateDataSlotEXT(device
->device
, privateDataSlot
, NULL
);
5647 void WINAPI
wine_vkDestroyQueryPool(VkDevice device
, VkQueryPool queryPool
, const VkAllocationCallbacks
*pAllocator
)
5649 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(queryPool
), pAllocator
);
5650 device
->funcs
.p_vkDestroyQueryPool(device
->device
, queryPool
, NULL
);
5653 void WINAPI
wine_vkDestroyRenderPass(VkDevice device
, VkRenderPass renderPass
, const VkAllocationCallbacks
*pAllocator
)
5655 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(renderPass
), pAllocator
);
5656 device
->funcs
.p_vkDestroyRenderPass(device
->device
, renderPass
, NULL
);
5659 void WINAPI
wine_vkDestroySampler(VkDevice device
, VkSampler sampler
, const VkAllocationCallbacks
*pAllocator
)
5661 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(sampler
), pAllocator
);
5662 device
->funcs
.p_vkDestroySampler(device
->device
, sampler
, NULL
);
5665 void WINAPI
wine_vkDestroySamplerYcbcrConversion(VkDevice device
, VkSamplerYcbcrConversion ycbcrConversion
, const VkAllocationCallbacks
*pAllocator
)
5667 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(ycbcrConversion
), pAllocator
);
5668 device
->funcs
.p_vkDestroySamplerYcbcrConversion(device
->device
, ycbcrConversion
, NULL
);
5671 static void WINAPI
wine_vkDestroySamplerYcbcrConversionKHR(VkDevice device
, VkSamplerYcbcrConversion ycbcrConversion
, const VkAllocationCallbacks
*pAllocator
)
5673 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(ycbcrConversion
), pAllocator
);
5674 device
->funcs
.p_vkDestroySamplerYcbcrConversionKHR(device
->device
, ycbcrConversion
, NULL
);
5677 void WINAPI
wine_vkDestroySemaphore(VkDevice device
, VkSemaphore semaphore
, const VkAllocationCallbacks
*pAllocator
)
5679 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(semaphore
), pAllocator
);
5680 device
->funcs
.p_vkDestroySemaphore(device
->device
, semaphore
, NULL
);
5683 void WINAPI
wine_vkDestroyShaderModule(VkDevice device
, VkShaderModule shaderModule
, const VkAllocationCallbacks
*pAllocator
)
5685 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(shaderModule
), pAllocator
);
5686 device
->funcs
.p_vkDestroyShaderModule(device
->device
, shaderModule
, NULL
);
5689 void WINAPI
wine_vkDestroySwapchainKHR(VkDevice device
, VkSwapchainKHR swapchain
, const VkAllocationCallbacks
*pAllocator
)
5691 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(swapchain
), pAllocator
);
5692 device
->funcs
.p_vkDestroySwapchainKHR(device
->device
, swapchain
, NULL
);
5695 static void WINAPI
wine_vkDestroyValidationCacheEXT(VkDevice device
, VkValidationCacheEXT validationCache
, const VkAllocationCallbacks
*pAllocator
)
5697 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(validationCache
), pAllocator
);
5698 device
->funcs
.p_vkDestroyValidationCacheEXT(device
->device
, validationCache
, NULL
);
5701 VkResult WINAPI
wine_vkDeviceWaitIdle(VkDevice device
)
5703 TRACE("%p\n", device
);
5704 return device
->funcs
.p_vkDeviceWaitIdle(device
->device
);
5707 VkResult WINAPI
wine_vkEndCommandBuffer(VkCommandBuffer commandBuffer
)
5709 TRACE("%p\n", commandBuffer
);
5710 return commandBuffer
->device
->funcs
.p_vkEndCommandBuffer(commandBuffer
->command_buffer
);
5713 static VkResult WINAPI
wine_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
, uint32_t *pCounterCount
, VkPerformanceCounterKHR
*pCounters
, VkPerformanceCounterDescriptionKHR
*pCounterDescriptions
)
5715 TRACE("%p, %u, %p, %p, %p\n", physicalDevice
, queueFamilyIndex
, pCounterCount
, pCounters
, pCounterDescriptions
);
5716 return physicalDevice
->instance
->funcs
.p_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(physicalDevice
->phys_dev
, queueFamilyIndex
, pCounterCount
, pCounters
, pCounterDescriptions
);
5719 VkResult WINAPI
wine_vkFlushMappedMemoryRanges(VkDevice device
, uint32_t memoryRangeCount
, const VkMappedMemoryRange
*pMemoryRanges
)
5721 #if defined(USE_STRUCT_CONVERSION)
5723 VkMappedMemoryRange_host
*pMemoryRanges_host
;
5724 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
5726 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win_to_host(pMemoryRanges
, memoryRangeCount
);
5727 result
= device
->funcs
.p_vkFlushMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges_host
);
5729 free_VkMappedMemoryRange_array(pMemoryRanges_host
, memoryRangeCount
);
5732 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
5733 return device
->funcs
.p_vkFlushMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges
);
5737 VkResult WINAPI
wine_vkFreeDescriptorSets(VkDevice device
, VkDescriptorPool descriptorPool
, uint32_t descriptorSetCount
, const VkDescriptorSet
*pDescriptorSets
)
5739 TRACE("%p, 0x%s, %u, %p\n", device
, wine_dbgstr_longlong(descriptorPool
), descriptorSetCount
, pDescriptorSets
);
5740 return device
->funcs
.p_vkFreeDescriptorSets(device
->device
, descriptorPool
, descriptorSetCount
, pDescriptorSets
);
5743 void WINAPI
wine_vkFreeMemory(VkDevice device
, VkDeviceMemory memory
, const VkAllocationCallbacks
*pAllocator
)
5745 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(memory
), pAllocator
);
5746 device
->funcs
.p_vkFreeMemory(device
->device
, memory
, NULL
);
5749 static void WINAPI
wine_vkGetAccelerationStructureBuildSizesKHR(VkDevice device
, VkAccelerationStructureBuildTypeKHR buildType
, const VkAccelerationStructureBuildGeometryInfoKHR
*pBuildInfo
, const uint32_t *pMaxPrimitiveCounts
, VkAccelerationStructureBuildSizesInfoKHR
*pSizeInfo
)
5751 #if defined(USE_STRUCT_CONVERSION)
5752 VkAccelerationStructureBuildGeometryInfoKHR_host pBuildInfo_host
;
5753 VkAccelerationStructureBuildSizesInfoKHR_host pSizeInfo_host
;
5754 TRACE("%p, %#x, %p, %p, %p\n", device
, buildType
, pBuildInfo
, pMaxPrimitiveCounts
, pSizeInfo
);
5756 convert_VkAccelerationStructureBuildGeometryInfoKHR_win_to_host(pBuildInfo
, &pBuildInfo_host
);
5757 convert_VkAccelerationStructureBuildSizesInfoKHR_win_to_host(pSizeInfo
, &pSizeInfo_host
);
5758 device
->funcs
.p_vkGetAccelerationStructureBuildSizesKHR(device
->device
, buildType
, &pBuildInfo_host
, pMaxPrimitiveCounts
, &pSizeInfo_host
);
5761 TRACE("%p, %#x, %p, %p, %p\n", device
, buildType
, pBuildInfo
, pMaxPrimitiveCounts
, pSizeInfo
);
5762 device
->funcs
.p_vkGetAccelerationStructureBuildSizesKHR(device
->device
, buildType
, pBuildInfo
, pMaxPrimitiveCounts
, pSizeInfo
);
5766 static VkDeviceAddress WINAPI
wine_vkGetAccelerationStructureDeviceAddressKHR(VkDevice device
, const VkAccelerationStructureDeviceAddressInfoKHR
*pInfo
)
5768 #if defined(USE_STRUCT_CONVERSION)
5769 VkDeviceAddress result
;
5770 VkAccelerationStructureDeviceAddressInfoKHR_host pInfo_host
;
5771 TRACE("%p, %p\n", device
, pInfo
);
5773 convert_VkAccelerationStructureDeviceAddressInfoKHR_win_to_host(pInfo
, &pInfo_host
);
5774 result
= device
->funcs
.p_vkGetAccelerationStructureDeviceAddressKHR(device
->device
, &pInfo_host
);
5778 TRACE("%p, %p\n", device
, pInfo
);
5779 return device
->funcs
.p_vkGetAccelerationStructureDeviceAddressKHR(device
->device
, pInfo
);
5783 static VkResult WINAPI
wine_vkGetAccelerationStructureHandleNV(VkDevice device
, VkAccelerationStructureNV accelerationStructure
, size_t dataSize
, void *pData
)
5785 TRACE("%p, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(accelerationStructure
), wine_dbgstr_longlong(dataSize
), pData
);
5786 return device
->funcs
.p_vkGetAccelerationStructureHandleNV(device
->device
, accelerationStructure
, dataSize
, pData
);
5789 static void WINAPI
wine_vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device
, const VkAccelerationStructureMemoryRequirementsInfoNV
*pInfo
, VkMemoryRequirements2KHR
*pMemoryRequirements
)
5791 #if defined(USE_STRUCT_CONVERSION)
5792 VkAccelerationStructureMemoryRequirementsInfoNV_host pInfo_host
;
5793 VkMemoryRequirements2KHR_host pMemoryRequirements_host
;
5794 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5796 convert_VkAccelerationStructureMemoryRequirementsInfoNV_win_to_host(pInfo
, &pInfo_host
);
5797 convert_VkMemoryRequirements2KHR_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
5798 device
->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
5800 convert_VkMemoryRequirements2KHR_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
5802 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5803 device
->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(device
->device
, pInfo
, pMemoryRequirements
);
5807 VkDeviceAddress WINAPI
wine_vkGetBufferDeviceAddress(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
5809 #if defined(USE_STRUCT_CONVERSION)
5810 VkDeviceAddress result
;
5811 VkBufferDeviceAddressInfo_host pInfo_host
;
5812 TRACE("%p, %p\n", device
, pInfo
);
5814 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
5815 result
= device
->funcs
.p_vkGetBufferDeviceAddress(device
->device
, &pInfo_host
);
5819 TRACE("%p, %p\n", device
, pInfo
);
5820 return device
->funcs
.p_vkGetBufferDeviceAddress(device
->device
, pInfo
);
5824 static VkDeviceAddress WINAPI
wine_vkGetBufferDeviceAddressEXT(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
5826 #if defined(USE_STRUCT_CONVERSION)
5827 VkDeviceAddress result
;
5828 VkBufferDeviceAddressInfo_host pInfo_host
;
5829 TRACE("%p, %p\n", device
, pInfo
);
5831 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
5832 result
= device
->funcs
.p_vkGetBufferDeviceAddressEXT(device
->device
, &pInfo_host
);
5836 TRACE("%p, %p\n", device
, pInfo
);
5837 return device
->funcs
.p_vkGetBufferDeviceAddressEXT(device
->device
, pInfo
);
5841 static VkDeviceAddress WINAPI
wine_vkGetBufferDeviceAddressKHR(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
5843 #if defined(USE_STRUCT_CONVERSION)
5844 VkDeviceAddress result
;
5845 VkBufferDeviceAddressInfo_host pInfo_host
;
5846 TRACE("%p, %p\n", device
, pInfo
);
5848 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
5849 result
= device
->funcs
.p_vkGetBufferDeviceAddressKHR(device
->device
, &pInfo_host
);
5853 TRACE("%p, %p\n", device
, pInfo
);
5854 return device
->funcs
.p_vkGetBufferDeviceAddressKHR(device
->device
, pInfo
);
5858 void WINAPI
wine_vkGetBufferMemoryRequirements(VkDevice device
, VkBuffer buffer
, VkMemoryRequirements
*pMemoryRequirements
)
5860 #if defined(USE_STRUCT_CONVERSION)
5861 VkMemoryRequirements_host pMemoryRequirements_host
;
5862 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(buffer
), pMemoryRequirements
);
5864 device
->funcs
.p_vkGetBufferMemoryRequirements(device
->device
, buffer
, &pMemoryRequirements_host
);
5866 convert_VkMemoryRequirements_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
5868 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(buffer
), pMemoryRequirements
);
5869 device
->funcs
.p_vkGetBufferMemoryRequirements(device
->device
, buffer
, pMemoryRequirements
);
5873 void WINAPI
wine_vkGetBufferMemoryRequirements2(VkDevice device
, const VkBufferMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
5875 #if defined(USE_STRUCT_CONVERSION)
5876 VkBufferMemoryRequirementsInfo2_host pInfo_host
;
5877 VkMemoryRequirements2_host pMemoryRequirements_host
;
5878 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5880 convert_VkBufferMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
5881 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
5882 device
->funcs
.p_vkGetBufferMemoryRequirements2(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
5884 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
5886 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5887 device
->funcs
.p_vkGetBufferMemoryRequirements2(device
->device
, pInfo
, pMemoryRequirements
);
5891 static void WINAPI
wine_vkGetBufferMemoryRequirements2KHR(VkDevice device
, const VkBufferMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
5893 #if defined(USE_STRUCT_CONVERSION)
5894 VkBufferMemoryRequirementsInfo2_host pInfo_host
;
5895 VkMemoryRequirements2_host pMemoryRequirements_host
;
5896 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5898 convert_VkBufferMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
5899 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
5900 device
->funcs
.p_vkGetBufferMemoryRequirements2KHR(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
5902 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
5904 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
5905 device
->funcs
.p_vkGetBufferMemoryRequirements2KHR(device
->device
, pInfo
, pMemoryRequirements
);
5909 uint64_t WINAPI
wine_vkGetBufferOpaqueCaptureAddress(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
5911 #if defined(USE_STRUCT_CONVERSION)
5913 VkBufferDeviceAddressInfo_host pInfo_host
;
5914 TRACE("%p, %p\n", device
, pInfo
);
5916 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
5917 result
= device
->funcs
.p_vkGetBufferOpaqueCaptureAddress(device
->device
, &pInfo_host
);
5921 TRACE("%p, %p\n", device
, pInfo
);
5922 return device
->funcs
.p_vkGetBufferOpaqueCaptureAddress(device
->device
, pInfo
);
5926 static uint64_t WINAPI
wine_vkGetBufferOpaqueCaptureAddressKHR(VkDevice device
, const VkBufferDeviceAddressInfo
*pInfo
)
5928 #if defined(USE_STRUCT_CONVERSION)
5930 VkBufferDeviceAddressInfo_host pInfo_host
;
5931 TRACE("%p, %p\n", device
, pInfo
);
5933 convert_VkBufferDeviceAddressInfo_win_to_host(pInfo
, &pInfo_host
);
5934 result
= device
->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(device
->device
, &pInfo_host
);
5938 TRACE("%p, %p\n", device
, pInfo
);
5939 return device
->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(device
->device
, pInfo
);
5943 static uint32_t WINAPI
wine_vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device
, VkDeferredOperationKHR operation
)
5945 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(operation
));
5946 return device
->funcs
.p_vkGetDeferredOperationMaxConcurrencyKHR(device
->device
, operation
);
5949 static VkResult WINAPI
wine_vkGetDeferredOperationResultKHR(VkDevice device
, VkDeferredOperationKHR operation
)
5951 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(operation
));
5952 return device
->funcs
.p_vkGetDeferredOperationResultKHR(device
->device
, operation
);
5955 void WINAPI
wine_vkGetDescriptorSetLayoutSupport(VkDevice device
, const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
, VkDescriptorSetLayoutSupport
*pSupport
)
5957 TRACE("%p, %p, %p\n", device
, pCreateInfo
, pSupport
);
5958 device
->funcs
.p_vkGetDescriptorSetLayoutSupport(device
->device
, pCreateInfo
, pSupport
);
5961 static void WINAPI
wine_vkGetDescriptorSetLayoutSupportKHR(VkDevice device
, const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
, VkDescriptorSetLayoutSupport
*pSupport
)
5963 TRACE("%p, %p, %p\n", device
, pCreateInfo
, pSupport
);
5964 device
->funcs
.p_vkGetDescriptorSetLayoutSupportKHR(device
->device
, pCreateInfo
, pSupport
);
5967 static void WINAPI
wine_vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device
, const VkAccelerationStructureVersionInfoKHR
*pVersionInfo
, VkAccelerationStructureCompatibilityKHR
*pCompatibility
)
5969 TRACE("%p, %p, %p\n", device
, pVersionInfo
, pCompatibility
);
5970 device
->funcs
.p_vkGetDeviceAccelerationStructureCompatibilityKHR(device
->device
, pVersionInfo
, pCompatibility
);
5973 void WINAPI
wine_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device
, uint32_t heapIndex
, uint32_t localDeviceIndex
, uint32_t remoteDeviceIndex
, VkPeerMemoryFeatureFlags
*pPeerMemoryFeatures
)
5975 TRACE("%p, %u, %u, %u, %p\n", device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
5976 device
->funcs
.p_vkGetDeviceGroupPeerMemoryFeatures(device
->device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
5979 static void WINAPI
wine_vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device
, uint32_t heapIndex
, uint32_t localDeviceIndex
, uint32_t remoteDeviceIndex
, VkPeerMemoryFeatureFlags
*pPeerMemoryFeatures
)
5981 TRACE("%p, %u, %u, %u, %p\n", device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
5982 device
->funcs
.p_vkGetDeviceGroupPeerMemoryFeaturesKHR(device
->device
, heapIndex
, localDeviceIndex
, remoteDeviceIndex
, pPeerMemoryFeatures
);
5985 VkResult WINAPI
wine_vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device
, VkDeviceGroupPresentCapabilitiesKHR
*pDeviceGroupPresentCapabilities
)
5987 TRACE("%p, %p\n", device
, pDeviceGroupPresentCapabilities
);
5988 return device
->funcs
.p_vkGetDeviceGroupPresentCapabilitiesKHR(device
->device
, pDeviceGroupPresentCapabilities
);
5991 VkResult WINAPI
wine_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device
, VkSurfaceKHR surface
, VkDeviceGroupPresentModeFlagsKHR
*pModes
)
5993 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(surface
), pModes
);
5994 return device
->funcs
.p_vkGetDeviceGroupSurfacePresentModesKHR(device
->device
, wine_surface_from_handle(surface
)->driver_surface
, pModes
);
5997 void WINAPI
wine_vkGetDeviceMemoryCommitment(VkDevice device
, VkDeviceMemory memory
, VkDeviceSize
*pCommittedMemoryInBytes
)
5999 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(memory
), pCommittedMemoryInBytes
);
6000 device
->funcs
.p_vkGetDeviceMemoryCommitment(device
->device
, memory
, pCommittedMemoryInBytes
);
6003 uint64_t WINAPI
wine_vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device
, const VkDeviceMemoryOpaqueCaptureAddressInfo
*pInfo
)
6005 #if defined(USE_STRUCT_CONVERSION)
6007 VkDeviceMemoryOpaqueCaptureAddressInfo_host pInfo_host
;
6008 TRACE("%p, %p\n", device
, pInfo
);
6010 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(pInfo
, &pInfo_host
);
6011 result
= device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(device
->device
, &pInfo_host
);
6015 TRACE("%p, %p\n", device
, pInfo
);
6016 return device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(device
->device
, pInfo
);
6020 static uint64_t WINAPI
wine_vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device
, const VkDeviceMemoryOpaqueCaptureAddressInfo
*pInfo
)
6022 #if defined(USE_STRUCT_CONVERSION)
6024 VkDeviceMemoryOpaqueCaptureAddressInfo_host pInfo_host
;
6025 TRACE("%p, %p\n", device
, pInfo
);
6027 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win_to_host(pInfo
, &pInfo_host
);
6028 result
= device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(device
->device
, &pInfo_host
);
6032 TRACE("%p, %p\n", device
, pInfo
);
6033 return device
->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(device
->device
, pInfo
);
6037 VkResult WINAPI
wine_vkGetEventStatus(VkDevice device
, VkEvent event
)
6039 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(event
));
6040 return device
->funcs
.p_vkGetEventStatus(device
->device
, event
);
6043 VkResult WINAPI
wine_vkGetFenceStatus(VkDevice device
, VkFence fence
)
6045 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(fence
));
6046 return device
->funcs
.p_vkGetFenceStatus(device
->device
, fence
);
6049 static void WINAPI
wine_vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device
, const VkGeneratedCommandsMemoryRequirementsInfoNV
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
6051 #if defined(USE_STRUCT_CONVERSION)
6052 VkGeneratedCommandsMemoryRequirementsInfoNV_host pInfo_host
;
6053 VkMemoryRequirements2_host pMemoryRequirements_host
;
6054 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6056 convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win_to_host(pInfo
, &pInfo_host
);
6057 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
6058 device
->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
6060 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
6062 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6063 device
->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(device
->device
, pInfo
, pMemoryRequirements
);
6067 void WINAPI
wine_vkGetImageMemoryRequirements(VkDevice device
, VkImage image
, VkMemoryRequirements
*pMemoryRequirements
)
6069 #if defined(USE_STRUCT_CONVERSION)
6070 VkMemoryRequirements_host pMemoryRequirements_host
;
6071 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(image
), pMemoryRequirements
);
6073 device
->funcs
.p_vkGetImageMemoryRequirements(device
->device
, image
, &pMemoryRequirements_host
);
6075 convert_VkMemoryRequirements_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
6077 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(image
), pMemoryRequirements
);
6078 device
->funcs
.p_vkGetImageMemoryRequirements(device
->device
, image
, pMemoryRequirements
);
6082 void WINAPI
wine_vkGetImageMemoryRequirements2(VkDevice device
, const VkImageMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
6084 #if defined(USE_STRUCT_CONVERSION)
6085 VkImageMemoryRequirementsInfo2_host pInfo_host
;
6086 VkMemoryRequirements2_host pMemoryRequirements_host
;
6087 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6089 convert_VkImageMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
6090 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
6091 device
->funcs
.p_vkGetImageMemoryRequirements2(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
6093 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
6095 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6096 device
->funcs
.p_vkGetImageMemoryRequirements2(device
->device
, pInfo
, pMemoryRequirements
);
6100 static void WINAPI
wine_vkGetImageMemoryRequirements2KHR(VkDevice device
, const VkImageMemoryRequirementsInfo2
*pInfo
, VkMemoryRequirements2
*pMemoryRequirements
)
6102 #if defined(USE_STRUCT_CONVERSION)
6103 VkImageMemoryRequirementsInfo2_host pInfo_host
;
6104 VkMemoryRequirements2_host pMemoryRequirements_host
;
6105 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6107 convert_VkImageMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
6108 convert_VkMemoryRequirements2_win_to_host(pMemoryRequirements
, &pMemoryRequirements_host
);
6109 device
->funcs
.p_vkGetImageMemoryRequirements2KHR(device
->device
, &pInfo_host
, &pMemoryRequirements_host
);
6111 convert_VkMemoryRequirements2_host_to_win(&pMemoryRequirements_host
, pMemoryRequirements
);
6113 TRACE("%p, %p, %p\n", device
, pInfo
, pMemoryRequirements
);
6114 device
->funcs
.p_vkGetImageMemoryRequirements2KHR(device
->device
, pInfo
, pMemoryRequirements
);
6118 void WINAPI
wine_vkGetImageSparseMemoryRequirements(VkDevice device
, VkImage image
, uint32_t *pSparseMemoryRequirementCount
, VkSparseImageMemoryRequirements
*pSparseMemoryRequirements
)
6120 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(image
), pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6121 device
->funcs
.p_vkGetImageSparseMemoryRequirements(device
->device
, image
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6124 void WINAPI
wine_vkGetImageSparseMemoryRequirements2(VkDevice device
, const VkImageSparseMemoryRequirementsInfo2
*pInfo
, uint32_t *pSparseMemoryRequirementCount
, VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements
)
6126 #if defined(USE_STRUCT_CONVERSION)
6127 VkImageSparseMemoryRequirementsInfo2_host pInfo_host
;
6128 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6130 convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
6131 device
->funcs
.p_vkGetImageSparseMemoryRequirements2(device
->device
, &pInfo_host
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6134 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6135 device
->funcs
.p_vkGetImageSparseMemoryRequirements2(device
->device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6139 static void WINAPI
wine_vkGetImageSparseMemoryRequirements2KHR(VkDevice device
, const VkImageSparseMemoryRequirementsInfo2
*pInfo
, uint32_t *pSparseMemoryRequirementCount
, VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements
)
6141 #if defined(USE_STRUCT_CONVERSION)
6142 VkImageSparseMemoryRequirementsInfo2_host pInfo_host
;
6143 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6145 convert_VkImageSparseMemoryRequirementsInfo2_win_to_host(pInfo
, &pInfo_host
);
6146 device
->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(device
->device
, &pInfo_host
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6149 TRACE("%p, %p, %p, %p\n", device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6150 device
->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(device
->device
, pInfo
, pSparseMemoryRequirementCount
, pSparseMemoryRequirements
);
6154 void WINAPI
wine_vkGetImageSubresourceLayout(VkDevice device
, VkImage image
, const VkImageSubresource
*pSubresource
, VkSubresourceLayout
*pLayout
)
6156 #if defined(USE_STRUCT_CONVERSION)
6157 VkSubresourceLayout_host pLayout_host
;
6158 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(image
), pSubresource
, pLayout
);
6160 device
->funcs
.p_vkGetImageSubresourceLayout(device
->device
, image
, pSubresource
, &pLayout_host
);
6162 convert_VkSubresourceLayout_host_to_win(&pLayout_host
, pLayout
);
6164 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(image
), pSubresource
, pLayout
);
6165 device
->funcs
.p_vkGetImageSubresourceLayout(device
->device
, image
, pSubresource
, pLayout
);
6169 static VkResult WINAPI
wine_vkGetMemoryHostPointerPropertiesEXT(VkDevice device
, VkExternalMemoryHandleTypeFlagBits handleType
, const void *pHostPointer
, VkMemoryHostPointerPropertiesEXT
*pMemoryHostPointerProperties
)
6171 TRACE("%p, %#x, %p, %p\n", device
, handleType
, pHostPointer
, pMemoryHostPointerProperties
);
6172 return device
->funcs
.p_vkGetMemoryHostPointerPropertiesEXT(device
->device
, handleType
, pHostPointer
, pMemoryHostPointerProperties
);
6175 static VkResult WINAPI
wine_vkGetPerformanceParameterINTEL(VkDevice device
, VkPerformanceParameterTypeINTEL parameter
, VkPerformanceValueINTEL
*pValue
)
6177 TRACE("%p, %#x, %p\n", device
, parameter
, pValue
);
6178 return device
->funcs
.p_vkGetPerformanceParameterINTEL(device
->device
, parameter
, pValue
);
6181 static VkResult WINAPI
wine_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice
, uint32_t *pPropertyCount
, VkCooperativeMatrixPropertiesNV
*pProperties
)
6183 TRACE("%p, %p, %p\n", physicalDevice
, pPropertyCount
, pProperties
);
6184 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(physicalDevice
->phys_dev
, pPropertyCount
, pProperties
);
6187 void WINAPI
wine_vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceFeatures
*pFeatures
)
6189 TRACE("%p, %p\n", physicalDevice
, pFeatures
);
6190 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFeatures(physicalDevice
->phys_dev
, pFeatures
);
6193 void WINAPI
wine_vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceFeatures2
*pFeatures
)
6195 TRACE("%p, %p\n", physicalDevice
, pFeatures
);
6196 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2(physicalDevice
->phys_dev
, pFeatures
);
6199 static void WINAPI
wine_vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceFeatures2
*pFeatures
)
6201 TRACE("%p, %p\n", physicalDevice
, pFeatures
);
6202 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2KHR(physicalDevice
->phys_dev
, pFeatures
);
6205 void WINAPI
wine_vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice
, VkFormat format
, VkFormatProperties
*pFormatProperties
)
6207 TRACE("%p, %#x, %p\n", physicalDevice
, format
, pFormatProperties
);
6208 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties(physicalDevice
->phys_dev
, format
, pFormatProperties
);
6211 void WINAPI
wine_vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice
, VkFormat format
, VkFormatProperties2
*pFormatProperties
)
6213 TRACE("%p, %#x, %p\n", physicalDevice
, format
, pFormatProperties
);
6214 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2(physicalDevice
->phys_dev
, format
, pFormatProperties
);
6217 static void WINAPI
wine_vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice
, VkFormat format
, VkFormatProperties2
*pFormatProperties
)
6219 TRACE("%p, %#x, %p\n", physicalDevice
, format
, pFormatProperties
);
6220 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice
->phys_dev
, format
, pFormatProperties
);
6223 static VkResult WINAPI
wine_vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice
, uint32_t *pFragmentShadingRateCount
, VkPhysicalDeviceFragmentShadingRateKHR
*pFragmentShadingRates
)
6225 TRACE("%p, %p, %p\n", physicalDevice
, pFragmentShadingRateCount
, pFragmentShadingRates
);
6226 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceFragmentShadingRatesKHR(physicalDevice
->phys_dev
, pFragmentShadingRateCount
, pFragmentShadingRates
);
6229 VkResult WINAPI
wine_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice
, VkFormat format
, VkImageType type
, VkImageTiling tiling
, VkImageUsageFlags usage
, VkImageCreateFlags flags
, VkImageFormatProperties
*pImageFormatProperties
)
6231 #if defined(USE_STRUCT_CONVERSION)
6233 VkImageFormatProperties_host pImageFormatProperties_host
;
6234 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p\n", physicalDevice
, format
, type
, tiling
, usage
, flags
, pImageFormatProperties
);
6236 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties(physicalDevice
->phys_dev
, format
, type
, tiling
, usage
, flags
, &pImageFormatProperties_host
);
6238 convert_VkImageFormatProperties_host_to_win(&pImageFormatProperties_host
, pImageFormatProperties
);
6241 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p\n", physicalDevice
, format
, type
, tiling
, usage
, flags
, pImageFormatProperties
);
6242 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties(physicalDevice
->phys_dev
, format
, type
, tiling
, usage
, flags
, pImageFormatProperties
);
6246 VkResult
thunk_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceImageFormatInfo2
*pImageFormatInfo
, VkImageFormatProperties2
*pImageFormatProperties
)
6248 #if defined(USE_STRUCT_CONVERSION)
6250 VkImageFormatProperties2_host pImageFormatProperties_host
;
6251 convert_VkImageFormatProperties2_win_to_host(pImageFormatProperties
, &pImageFormatProperties_host
);
6252 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice
->phys_dev
, pImageFormatInfo
, &pImageFormatProperties_host
);
6254 convert_VkImageFormatProperties2_host_to_win(&pImageFormatProperties_host
, pImageFormatProperties
);
6257 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2(physicalDevice
->phys_dev
, pImageFormatInfo
, pImageFormatProperties
);
6261 VkResult
thunk_vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceImageFormatInfo2
*pImageFormatInfo
, VkImageFormatProperties2
*pImageFormatProperties
)
6263 #if defined(USE_STRUCT_CONVERSION)
6265 VkImageFormatProperties2_host pImageFormatProperties_host
;
6266 convert_VkImageFormatProperties2_win_to_host(pImageFormatProperties
, &pImageFormatProperties_host
);
6267 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice
->phys_dev
, pImageFormatInfo
, &pImageFormatProperties_host
);
6269 convert_VkImageFormatProperties2_host_to_win(&pImageFormatProperties_host
, pImageFormatProperties
);
6272 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties2KHR(physicalDevice
->phys_dev
, pImageFormatInfo
, pImageFormatProperties
);
6276 void WINAPI
wine_vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceMemoryProperties
*pMemoryProperties
)
6278 #if defined(USE_STRUCT_CONVERSION)
6279 VkPhysicalDeviceMemoryProperties_host pMemoryProperties_host
;
6280 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
6282 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(physicalDevice
->phys_dev
, &pMemoryProperties_host
);
6284 convert_VkPhysicalDeviceMemoryProperties_host_to_win(&pMemoryProperties_host
, pMemoryProperties
);
6286 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
6287 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(physicalDevice
->phys_dev
, pMemoryProperties
);
6291 void WINAPI
wine_vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceMemoryProperties2
*pMemoryProperties
)
6293 #if defined(USE_STRUCT_CONVERSION)
6294 VkPhysicalDeviceMemoryProperties2_host pMemoryProperties_host
;
6295 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
6297 convert_VkPhysicalDeviceMemoryProperties2_win_to_host(pMemoryProperties
, &pMemoryProperties_host
);
6298 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(physicalDevice
->phys_dev
, &pMemoryProperties_host
);
6300 convert_VkPhysicalDeviceMemoryProperties2_host_to_win(&pMemoryProperties_host
, pMemoryProperties
);
6302 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
6303 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(physicalDevice
->phys_dev
, pMemoryProperties
);
6307 static void WINAPI
wine_vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceMemoryProperties2
*pMemoryProperties
)
6309 #if defined(USE_STRUCT_CONVERSION)
6310 VkPhysicalDeviceMemoryProperties2_host pMemoryProperties_host
;
6311 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
6313 convert_VkPhysicalDeviceMemoryProperties2_win_to_host(pMemoryProperties
, &pMemoryProperties_host
);
6314 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice
->phys_dev
, &pMemoryProperties_host
);
6316 convert_VkPhysicalDeviceMemoryProperties2_host_to_win(&pMemoryProperties_host
, pMemoryProperties
);
6318 TRACE("%p, %p\n", physicalDevice
, pMemoryProperties
);
6319 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice
->phys_dev
, pMemoryProperties
);
6323 static void WINAPI
wine_vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice
, VkSampleCountFlagBits samples
, VkMultisamplePropertiesEXT
*pMultisampleProperties
)
6325 TRACE("%p, %#x, %p\n", physicalDevice
, samples
, pMultisampleProperties
);
6326 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceMultisamplePropertiesEXT(physicalDevice
->phys_dev
, samples
, pMultisampleProperties
);
6329 VkResult WINAPI
wine_vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pRectCount
, VkRect2D
*pRects
)
6331 TRACE("%p, 0x%s, %p, %p\n", physicalDevice
, wine_dbgstr_longlong(surface
), pRectCount
, pRects
);
6332 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDevicePresentRectanglesKHR(physicalDevice
->phys_dev
, wine_surface_from_handle(surface
)->driver_surface
, pRectCount
, pRects
);
6335 void WINAPI
wine_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceProperties
*pProperties
)
6337 #if defined(USE_STRUCT_CONVERSION)
6338 VkPhysicalDeviceProperties_host pProperties_host
;
6339 TRACE("%p, %p\n", physicalDevice
, pProperties
);
6341 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties(physicalDevice
->phys_dev
, &pProperties_host
);
6343 convert_VkPhysicalDeviceProperties_host_to_win(&pProperties_host
, pProperties
);
6345 TRACE("%p, %p\n", physicalDevice
, pProperties
);
6346 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties(physicalDevice
->phys_dev
, pProperties
);
6350 void thunk_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceProperties2
*pProperties
)
6352 #if defined(USE_STRUCT_CONVERSION)
6353 VkPhysicalDeviceProperties2_host pProperties_host
;
6354 convert_VkPhysicalDeviceProperties2_win_to_host(pProperties
, &pProperties_host
);
6355 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(physicalDevice
->phys_dev
, &pProperties_host
);
6357 convert_VkPhysicalDeviceProperties2_host_to_win(&pProperties_host
, pProperties
);
6359 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(physicalDevice
->phys_dev
, pProperties
);
6363 void thunk_vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice
, VkPhysicalDeviceProperties2
*pProperties
)
6365 #if defined(USE_STRUCT_CONVERSION)
6366 VkPhysicalDeviceProperties2_host pProperties_host
;
6367 convert_VkPhysicalDeviceProperties2_win_to_host(pProperties
, &pProperties_host
);
6368 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(physicalDevice
->phys_dev
, &pProperties_host
);
6370 convert_VkPhysicalDeviceProperties2_host_to_win(&pProperties_host
, pProperties
);
6372 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(physicalDevice
->phys_dev
, pProperties
);
6376 static void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice
, const VkQueryPoolPerformanceCreateInfoKHR
*pPerformanceQueryCreateInfo
, uint32_t *pNumPasses
)
6378 TRACE("%p, %p, %p\n", physicalDevice
, pPerformanceQueryCreateInfo
, pNumPasses
);
6379 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(physicalDevice
->phys_dev
, pPerformanceQueryCreateInfo
, pNumPasses
);
6382 void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice
, uint32_t *pQueueFamilyPropertyCount
, VkQueueFamilyProperties
*pQueueFamilyProperties
)
6384 TRACE("%p, %p, %p\n", physicalDevice
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
6385 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice
->phys_dev
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
6388 void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice
, uint32_t *pQueueFamilyPropertyCount
, VkQueueFamilyProperties2
*pQueueFamilyProperties
)
6390 TRACE("%p, %p, %p\n", physicalDevice
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
6391 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice
->phys_dev
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
6394 static void WINAPI
wine_vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice
, uint32_t *pQueueFamilyPropertyCount
, VkQueueFamilyProperties2
*pQueueFamilyProperties
)
6396 TRACE("%p, %p, %p\n", physicalDevice
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
6397 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice
->phys_dev
, pQueueFamilyPropertyCount
, pQueueFamilyProperties
);
6400 void WINAPI
wine_vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice
, VkFormat format
, VkImageType type
, VkSampleCountFlagBits samples
, VkImageUsageFlags usage
, VkImageTiling tiling
, uint32_t *pPropertyCount
, VkSparseImageFormatProperties
*pProperties
)
6402 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p, %p\n", physicalDevice
, format
, type
, samples
, usage
, tiling
, pPropertyCount
, pProperties
);
6403 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice
->phys_dev
, format
, type
, samples
, usage
, tiling
, pPropertyCount
, pProperties
);
6406 void WINAPI
wine_vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSparseImageFormatInfo2
*pFormatInfo
, uint32_t *pPropertyCount
, VkSparseImageFormatProperties2
*pProperties
)
6408 TRACE("%p, %p, %p, %p\n", physicalDevice
, pFormatInfo
, pPropertyCount
, pProperties
);
6409 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice
->phys_dev
, pFormatInfo
, pPropertyCount
, pProperties
);
6412 static void WINAPI
wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSparseImageFormatInfo2
*pFormatInfo
, uint32_t *pPropertyCount
, VkSparseImageFormatProperties2
*pProperties
)
6414 TRACE("%p, %p, %p, %p\n", physicalDevice
, pFormatInfo
, pPropertyCount
, pProperties
);
6415 physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice
->phys_dev
, pFormatInfo
, pPropertyCount
, pProperties
);
6418 static VkResult WINAPI
wine_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice
, uint32_t *pCombinationCount
, VkFramebufferMixedSamplesCombinationNV
*pCombinations
)
6420 TRACE("%p, %p, %p\n", physicalDevice
, pCombinationCount
, pCombinations
);
6421 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(physicalDevice
->phys_dev
, pCombinationCount
, pCombinations
);
6424 VkResult
thunk_vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSurfaceInfo2KHR
*pSurfaceInfo
, VkSurfaceCapabilities2KHR
*pSurfaceCapabilities
)
6426 #if defined(USE_STRUCT_CONVERSION)
6428 VkPhysicalDeviceSurfaceInfo2KHR_host pSurfaceInfo_host
;
6429 convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(pSurfaceInfo
, &pSurfaceInfo_host
);
6430 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice
->phys_dev
, &pSurfaceInfo_host
, pSurfaceCapabilities
);
6434 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice
->phys_dev
, pSurfaceInfo
, pSurfaceCapabilities
);
6438 VkResult
thunk_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, VkSurfaceCapabilitiesKHR
*pSurfaceCapabilities
)
6440 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice
->phys_dev
, wine_surface_from_handle(surface
)->driver_surface
, pSurfaceCapabilities
);
6443 VkResult
thunk_vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice
, const VkPhysicalDeviceSurfaceInfo2KHR
*pSurfaceInfo
, uint32_t *pSurfaceFormatCount
, VkSurfaceFormat2KHR
*pSurfaceFormats
)
6445 #if defined(USE_STRUCT_CONVERSION)
6447 VkPhysicalDeviceSurfaceInfo2KHR_host pSurfaceInfo_host
;
6448 convert_VkPhysicalDeviceSurfaceInfo2KHR_win_to_host(pSurfaceInfo
, &pSurfaceInfo_host
);
6449 result
= physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormats2KHR(physicalDevice
->phys_dev
, &pSurfaceInfo_host
, pSurfaceFormatCount
, pSurfaceFormats
);
6453 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormats2KHR(physicalDevice
->phys_dev
, pSurfaceInfo
, pSurfaceFormatCount
, pSurfaceFormats
);
6457 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pSurfaceFormatCount
, VkSurfaceFormatKHR
*pSurfaceFormats
)
6459 TRACE("%p, 0x%s, %p, %p\n", physicalDevice
, wine_dbgstr_longlong(surface
), pSurfaceFormatCount
, pSurfaceFormats
);
6460 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormatsKHR(physicalDevice
->phys_dev
, wine_surface_from_handle(surface
)->driver_surface
, pSurfaceFormatCount
, pSurfaceFormats
);
6463 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice
, VkSurfaceKHR surface
, uint32_t *pPresentModeCount
, VkPresentModeKHR
*pPresentModes
)
6465 TRACE("%p, 0x%s, %p, %p\n", physicalDevice
, wine_dbgstr_longlong(surface
), pPresentModeCount
, pPresentModes
);
6466 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfacePresentModesKHR(physicalDevice
->phys_dev
, wine_surface_from_handle(surface
)->driver_surface
, pPresentModeCount
, pPresentModes
);
6469 VkResult WINAPI
wine_vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
, VkSurfaceKHR surface
, VkBool32
*pSupported
)
6471 TRACE("%p, %u, 0x%s, %p\n", physicalDevice
, queueFamilyIndex
, wine_dbgstr_longlong(surface
), pSupported
);
6472 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice
->phys_dev
, queueFamilyIndex
, wine_surface_from_handle(surface
)->driver_surface
, pSupported
);
6475 static VkResult WINAPI
wine_vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice
, uint32_t *pToolCount
, VkPhysicalDeviceToolPropertiesEXT
*pToolProperties
)
6477 TRACE("%p, %p, %p\n", physicalDevice
, pToolCount
, pToolProperties
);
6478 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceToolPropertiesEXT(physicalDevice
->phys_dev
, pToolCount
, pToolProperties
);
6481 VkBool32 WINAPI
wine_vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice
, uint32_t queueFamilyIndex
)
6483 TRACE("%p, %u\n", physicalDevice
, queueFamilyIndex
);
6484 return physicalDevice
->instance
->funcs
.p_vkGetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice
->phys_dev
, queueFamilyIndex
);
6487 VkResult WINAPI
wine_vkGetPipelineCacheData(VkDevice device
, VkPipelineCache pipelineCache
, size_t *pDataSize
, void *pData
)
6489 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(pipelineCache
), pDataSize
, pData
);
6490 return device
->funcs
.p_vkGetPipelineCacheData(device
->device
, pipelineCache
, pDataSize
, pData
);
6493 static VkResult WINAPI
wine_vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device
, const VkPipelineExecutableInfoKHR
*pExecutableInfo
, uint32_t *pInternalRepresentationCount
, VkPipelineExecutableInternalRepresentationKHR
*pInternalRepresentations
)
6495 #if defined(USE_STRUCT_CONVERSION)
6497 VkPipelineExecutableInfoKHR_host pExecutableInfo_host
;
6498 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pInternalRepresentationCount
, pInternalRepresentations
);
6500 convert_VkPipelineExecutableInfoKHR_win_to_host(pExecutableInfo
, &pExecutableInfo_host
);
6501 result
= device
->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(device
->device
, &pExecutableInfo_host
, pInternalRepresentationCount
, pInternalRepresentations
);
6505 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pInternalRepresentationCount
, pInternalRepresentations
);
6506 return device
->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(device
->device
, pExecutableInfo
, pInternalRepresentationCount
, pInternalRepresentations
);
6510 static VkResult WINAPI
wine_vkGetPipelineExecutablePropertiesKHR(VkDevice device
, const VkPipelineInfoKHR
*pPipelineInfo
, uint32_t *pExecutableCount
, VkPipelineExecutablePropertiesKHR
*pProperties
)
6512 #if defined(USE_STRUCT_CONVERSION)
6514 VkPipelineInfoKHR_host pPipelineInfo_host
;
6515 TRACE("%p, %p, %p, %p\n", device
, pPipelineInfo
, pExecutableCount
, pProperties
);
6517 convert_VkPipelineInfoKHR_win_to_host(pPipelineInfo
, &pPipelineInfo_host
);
6518 result
= device
->funcs
.p_vkGetPipelineExecutablePropertiesKHR(device
->device
, &pPipelineInfo_host
, pExecutableCount
, pProperties
);
6522 TRACE("%p, %p, %p, %p\n", device
, pPipelineInfo
, pExecutableCount
, pProperties
);
6523 return device
->funcs
.p_vkGetPipelineExecutablePropertiesKHR(device
->device
, pPipelineInfo
, pExecutableCount
, pProperties
);
6527 static VkResult WINAPI
wine_vkGetPipelineExecutableStatisticsKHR(VkDevice device
, const VkPipelineExecutableInfoKHR
*pExecutableInfo
, uint32_t *pStatisticCount
, VkPipelineExecutableStatisticKHR
*pStatistics
)
6529 #if defined(USE_STRUCT_CONVERSION)
6531 VkPipelineExecutableInfoKHR_host pExecutableInfo_host
;
6532 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pStatisticCount
, pStatistics
);
6534 convert_VkPipelineExecutableInfoKHR_win_to_host(pExecutableInfo
, &pExecutableInfo_host
);
6535 result
= device
->funcs
.p_vkGetPipelineExecutableStatisticsKHR(device
->device
, &pExecutableInfo_host
, pStatisticCount
, pStatistics
);
6539 TRACE("%p, %p, %p, %p\n", device
, pExecutableInfo
, pStatisticCount
, pStatistics
);
6540 return device
->funcs
.p_vkGetPipelineExecutableStatisticsKHR(device
->device
, pExecutableInfo
, pStatisticCount
, pStatistics
);
6544 VkResult WINAPI
wine_vkGetQueryPoolResults(VkDevice device
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
, size_t dataSize
, void *pData
, VkDeviceSize stride
, VkQueryResultFlags flags
)
6546 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
);
6547 return device
->funcs
.p_vkGetQueryPoolResults(device
->device
, queryPool
, firstQuery
, queryCount
, dataSize
, pData
, stride
, flags
);
6550 static void WINAPI
wine_vkGetQueueCheckpointData2NV(VkQueue queue
, uint32_t *pCheckpointDataCount
, VkCheckpointData2NV
*pCheckpointData
)
6552 TRACE("%p, %p, %p\n", queue
, pCheckpointDataCount
, pCheckpointData
);
6553 queue
->device
->funcs
.p_vkGetQueueCheckpointData2NV(queue
->queue
, pCheckpointDataCount
, pCheckpointData
);
6556 static void WINAPI
wine_vkGetQueueCheckpointDataNV(VkQueue queue
, uint32_t *pCheckpointDataCount
, VkCheckpointDataNV
*pCheckpointData
)
6558 TRACE("%p, %p, %p\n", queue
, pCheckpointDataCount
, pCheckpointData
);
6559 queue
->device
->funcs
.p_vkGetQueueCheckpointDataNV(queue
->queue
, pCheckpointDataCount
, pCheckpointData
);
6562 static VkResult WINAPI
wine_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device
, VkPipeline pipeline
, uint32_t firstGroup
, uint32_t groupCount
, size_t dataSize
, void *pData
)
6564 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), firstGroup
, groupCount
, wine_dbgstr_longlong(dataSize
), pData
);
6565 return device
->funcs
.p_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(device
->device
, pipeline
, firstGroup
, groupCount
, dataSize
, pData
);
6568 static VkResult WINAPI
wine_vkGetRayTracingShaderGroupHandlesKHR(VkDevice device
, VkPipeline pipeline
, uint32_t firstGroup
, uint32_t groupCount
, size_t dataSize
, void *pData
)
6570 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), firstGroup
, groupCount
, wine_dbgstr_longlong(dataSize
), pData
);
6571 return device
->funcs
.p_vkGetRayTracingShaderGroupHandlesKHR(device
->device
, pipeline
, firstGroup
, groupCount
, dataSize
, pData
);
6574 static VkResult WINAPI
wine_vkGetRayTracingShaderGroupHandlesNV(VkDevice device
, VkPipeline pipeline
, uint32_t firstGroup
, uint32_t groupCount
, size_t dataSize
, void *pData
)
6576 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", device
, wine_dbgstr_longlong(pipeline
), firstGroup
, groupCount
, wine_dbgstr_longlong(dataSize
), pData
);
6577 return device
->funcs
.p_vkGetRayTracingShaderGroupHandlesNV(device
->device
, pipeline
, firstGroup
, groupCount
, dataSize
, pData
);
6580 static VkDeviceSize WINAPI
wine_vkGetRayTracingShaderGroupStackSizeKHR(VkDevice device
, VkPipeline pipeline
, uint32_t group
, VkShaderGroupShaderKHR groupShader
)
6582 TRACE("%p, 0x%s, %u, %#x\n", device
, wine_dbgstr_longlong(pipeline
), group
, groupShader
);
6583 return device
->funcs
.p_vkGetRayTracingShaderGroupStackSizeKHR(device
->device
, pipeline
, group
, groupShader
);
6586 void WINAPI
wine_vkGetRenderAreaGranularity(VkDevice device
, VkRenderPass renderPass
, VkExtent2D
*pGranularity
)
6588 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(renderPass
), pGranularity
);
6589 device
->funcs
.p_vkGetRenderAreaGranularity(device
->device
, renderPass
, pGranularity
);
6592 VkResult WINAPI
wine_vkGetSemaphoreCounterValue(VkDevice device
, VkSemaphore semaphore
, uint64_t *pValue
)
6594 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(semaphore
), pValue
);
6595 return device
->funcs
.p_vkGetSemaphoreCounterValue(device
->device
, semaphore
, pValue
);
6598 static VkResult WINAPI
wine_vkGetSemaphoreCounterValueKHR(VkDevice device
, VkSemaphore semaphore
, uint64_t *pValue
)
6600 TRACE("%p, 0x%s, %p\n", device
, wine_dbgstr_longlong(semaphore
), pValue
);
6601 return device
->funcs
.p_vkGetSemaphoreCounterValueKHR(device
->device
, semaphore
, pValue
);
6604 static VkResult WINAPI
wine_vkGetShaderInfoAMD(VkDevice device
, VkPipeline pipeline
, VkShaderStageFlagBits shaderStage
, VkShaderInfoTypeAMD infoType
, size_t *pInfoSize
, void *pInfo
)
6606 TRACE("%p, 0x%s, %#x, %#x, %p, %p\n", device
, wine_dbgstr_longlong(pipeline
), shaderStage
, infoType
, pInfoSize
, pInfo
);
6607 return device
->funcs
.p_vkGetShaderInfoAMD(device
->device
, pipeline
, shaderStage
, infoType
, pInfoSize
, pInfo
);
6610 VkResult WINAPI
wine_vkGetSwapchainImagesKHR(VkDevice device
, VkSwapchainKHR swapchain
, uint32_t *pSwapchainImageCount
, VkImage
*pSwapchainImages
)
6612 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(swapchain
), pSwapchainImageCount
, pSwapchainImages
);
6613 return device
->funcs
.p_vkGetSwapchainImagesKHR(device
->device
, swapchain
, pSwapchainImageCount
, pSwapchainImages
);
6616 static VkResult WINAPI
wine_vkGetValidationCacheDataEXT(VkDevice device
, VkValidationCacheEXT validationCache
, size_t *pDataSize
, void *pData
)
6618 TRACE("%p, 0x%s, %p, %p\n", device
, wine_dbgstr_longlong(validationCache
), pDataSize
, pData
);
6619 return device
->funcs
.p_vkGetValidationCacheDataEXT(device
->device
, validationCache
, pDataSize
, pData
);
6622 static VkResult WINAPI
wine_vkInitializePerformanceApiINTEL(VkDevice device
, const VkInitializePerformanceApiInfoINTEL
*pInitializeInfo
)
6624 TRACE("%p, %p\n", device
, pInitializeInfo
);
6625 return device
->funcs
.p_vkInitializePerformanceApiINTEL(device
->device
, pInitializeInfo
);
6628 VkResult WINAPI
wine_vkInvalidateMappedMemoryRanges(VkDevice device
, uint32_t memoryRangeCount
, const VkMappedMemoryRange
*pMemoryRanges
)
6630 #if defined(USE_STRUCT_CONVERSION)
6632 VkMappedMemoryRange_host
*pMemoryRanges_host
;
6633 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
6635 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win_to_host(pMemoryRanges
, memoryRangeCount
);
6636 result
= device
->funcs
.p_vkInvalidateMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges_host
);
6638 free_VkMappedMemoryRange_array(pMemoryRanges_host
, memoryRangeCount
);
6641 TRACE("%p, %u, %p\n", device
, memoryRangeCount
, pMemoryRanges
);
6642 return device
->funcs
.p_vkInvalidateMappedMemoryRanges(device
->device
, memoryRangeCount
, pMemoryRanges
);
6646 VkResult WINAPI
wine_vkMapMemory(VkDevice device
, VkDeviceMemory memory
, VkDeviceSize offset
, VkDeviceSize size
, VkMemoryMapFlags flags
, void **ppData
)
6648 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
);
6649 return device
->funcs
.p_vkMapMemory(device
->device
, memory
, offset
, size
, flags
, ppData
);
6652 VkResult WINAPI
wine_vkMergePipelineCaches(VkDevice device
, VkPipelineCache dstCache
, uint32_t srcCacheCount
, const VkPipelineCache
*pSrcCaches
)
6654 TRACE("%p, 0x%s, %u, %p\n", device
, wine_dbgstr_longlong(dstCache
), srcCacheCount
, pSrcCaches
);
6655 return device
->funcs
.p_vkMergePipelineCaches(device
->device
, dstCache
, srcCacheCount
, pSrcCaches
);
6658 static VkResult WINAPI
wine_vkMergeValidationCachesEXT(VkDevice device
, VkValidationCacheEXT dstCache
, uint32_t srcCacheCount
, const VkValidationCacheEXT
*pSrcCaches
)
6660 TRACE("%p, 0x%s, %u, %p\n", device
, wine_dbgstr_longlong(dstCache
), srcCacheCount
, pSrcCaches
);
6661 return device
->funcs
.p_vkMergeValidationCachesEXT(device
->device
, dstCache
, srcCacheCount
, pSrcCaches
);
6664 static void WINAPI
wine_vkQueueBeginDebugUtilsLabelEXT(VkQueue queue
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
6666 TRACE("%p, %p\n", queue
, pLabelInfo
);
6667 queue
->device
->funcs
.p_vkQueueBeginDebugUtilsLabelEXT(queue
->queue
, pLabelInfo
);
6670 VkResult WINAPI
wine_vkQueueBindSparse(VkQueue queue
, uint32_t bindInfoCount
, const VkBindSparseInfo
*pBindInfo
, VkFence fence
)
6672 #if defined(USE_STRUCT_CONVERSION)
6674 VkBindSparseInfo_host
*pBindInfo_host
;
6675 TRACE("%p, %u, %p, 0x%s\n", queue
, bindInfoCount
, pBindInfo
, wine_dbgstr_longlong(fence
));
6677 pBindInfo_host
= convert_VkBindSparseInfo_array_win_to_host(pBindInfo
, bindInfoCount
);
6678 result
= queue
->device
->funcs
.p_vkQueueBindSparse(queue
->queue
, bindInfoCount
, pBindInfo_host
, fence
);
6680 free_VkBindSparseInfo_array(pBindInfo_host
, bindInfoCount
);
6683 TRACE("%p, %u, %p, 0x%s\n", queue
, bindInfoCount
, pBindInfo
, wine_dbgstr_longlong(fence
));
6684 return queue
->device
->funcs
.p_vkQueueBindSparse(queue
->queue
, bindInfoCount
, pBindInfo
, fence
);
6688 static void WINAPI
wine_vkQueueEndDebugUtilsLabelEXT(VkQueue queue
)
6690 TRACE("%p\n", queue
);
6691 queue
->device
->funcs
.p_vkQueueEndDebugUtilsLabelEXT(queue
->queue
);
6694 static void WINAPI
wine_vkQueueInsertDebugUtilsLabelEXT(VkQueue queue
, const VkDebugUtilsLabelEXT
*pLabelInfo
)
6696 TRACE("%p, %p\n", queue
, pLabelInfo
);
6697 queue
->device
->funcs
.p_vkQueueInsertDebugUtilsLabelEXT(queue
->queue
, pLabelInfo
);
6700 VkResult WINAPI
wine_vkQueuePresentKHR(VkQueue queue
, const VkPresentInfoKHR
*pPresentInfo
)
6702 TRACE("%p, %p\n", queue
, pPresentInfo
);
6703 return queue
->device
->funcs
.p_vkQueuePresentKHR(queue
->queue
, pPresentInfo
);
6706 static VkResult WINAPI
wine_vkQueueSetPerformanceConfigurationINTEL(VkQueue queue
, VkPerformanceConfigurationINTEL configuration
)
6708 TRACE("%p, 0x%s\n", queue
, wine_dbgstr_longlong(configuration
));
6709 return queue
->device
->funcs
.p_vkQueueSetPerformanceConfigurationINTEL(queue
->queue
, configuration
);
6712 static VkResult WINAPI
wine_vkQueueSubmit2KHR(VkQueue queue
, uint32_t submitCount
, const VkSubmitInfo2KHR
*pSubmits
, VkFence fence
)
6714 #if defined(USE_STRUCT_CONVERSION)
6716 VkSubmitInfo2KHR_host
*pSubmits_host
;
6717 TRACE("%p, %u, %p, 0x%s\n", queue
, submitCount
, pSubmits
, wine_dbgstr_longlong(fence
));
6719 pSubmits_host
= convert_VkSubmitInfo2KHR_array_win_to_host(pSubmits
, submitCount
);
6720 result
= queue
->device
->funcs
.p_vkQueueSubmit2KHR(queue
->queue
, submitCount
, pSubmits_host
, fence
);
6722 free_VkSubmitInfo2KHR_array(pSubmits_host
, submitCount
);
6725 TRACE("%p, %u, %p, 0x%s\n", queue
, submitCount
, pSubmits
, wine_dbgstr_longlong(fence
));
6726 return queue
->device
->funcs
.p_vkQueueSubmit2KHR(queue
->queue
, submitCount
, pSubmits
, fence
);
6730 VkResult WINAPI
wine_vkQueueWaitIdle(VkQueue queue
)
6732 TRACE("%p\n", queue
);
6733 return queue
->device
->funcs
.p_vkQueueWaitIdle(queue
->queue
);
6736 static VkResult WINAPI
wine_vkReleasePerformanceConfigurationINTEL(VkDevice device
, VkPerformanceConfigurationINTEL configuration
)
6738 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(configuration
));
6739 return device
->funcs
.p_vkReleasePerformanceConfigurationINTEL(device
->device
, configuration
);
6742 static void WINAPI
wine_vkReleaseProfilingLockKHR(VkDevice device
)
6744 TRACE("%p\n", device
);
6745 device
->funcs
.p_vkReleaseProfilingLockKHR(device
->device
);
6748 VkResult WINAPI
wine_vkResetCommandBuffer(VkCommandBuffer commandBuffer
, VkCommandBufferResetFlags flags
)
6750 TRACE("%p, %#x\n", commandBuffer
, flags
);
6751 return commandBuffer
->device
->funcs
.p_vkResetCommandBuffer(commandBuffer
->command_buffer
, flags
);
6754 VkResult WINAPI
wine_vkResetCommandPool(VkDevice device
, VkCommandPool commandPool
, VkCommandPoolResetFlags flags
)
6756 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(commandPool
), flags
);
6757 return device
->funcs
.p_vkResetCommandPool(device
->device
, wine_cmd_pool_from_handle(commandPool
)->command_pool
, flags
);
6760 VkResult WINAPI
wine_vkResetDescriptorPool(VkDevice device
, VkDescriptorPool descriptorPool
, VkDescriptorPoolResetFlags flags
)
6762 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(descriptorPool
), flags
);
6763 return device
->funcs
.p_vkResetDescriptorPool(device
->device
, descriptorPool
, flags
);
6766 VkResult WINAPI
wine_vkResetEvent(VkDevice device
, VkEvent event
)
6768 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(event
));
6769 return device
->funcs
.p_vkResetEvent(device
->device
, event
);
6772 VkResult WINAPI
wine_vkResetFences(VkDevice device
, uint32_t fenceCount
, const VkFence
*pFences
)
6774 TRACE("%p, %u, %p\n", device
, fenceCount
, pFences
);
6775 return device
->funcs
.p_vkResetFences(device
->device
, fenceCount
, pFences
);
6778 void WINAPI
wine_vkResetQueryPool(VkDevice device
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
)
6780 TRACE("%p, 0x%s, %u, %u\n", device
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
);
6781 device
->funcs
.p_vkResetQueryPool(device
->device
, queryPool
, firstQuery
, queryCount
);
6784 static void WINAPI
wine_vkResetQueryPoolEXT(VkDevice device
, VkQueryPool queryPool
, uint32_t firstQuery
, uint32_t queryCount
)
6786 TRACE("%p, 0x%s, %u, %u\n", device
, wine_dbgstr_longlong(queryPool
), firstQuery
, queryCount
);
6787 device
->funcs
.p_vkResetQueryPoolEXT(device
->device
, queryPool
, firstQuery
, queryCount
);
6790 VkResult
thunk_vkSetDebugUtilsObjectNameEXT(VkDevice device
, const VkDebugUtilsObjectNameInfoEXT
*pNameInfo
)
6792 #if defined(USE_STRUCT_CONVERSION)
6794 VkDebugUtilsObjectNameInfoEXT_host pNameInfo_host
;
6795 convert_VkDebugUtilsObjectNameInfoEXT_win_to_host(pNameInfo
, &pNameInfo_host
);
6796 result
= device
->funcs
.p_vkSetDebugUtilsObjectNameEXT(device
->device
, &pNameInfo_host
);
6800 return device
->funcs
.p_vkSetDebugUtilsObjectNameEXT(device
->device
, pNameInfo
);
6804 VkResult
thunk_vkSetDebugUtilsObjectTagEXT(VkDevice device
, const VkDebugUtilsObjectTagInfoEXT
*pTagInfo
)
6806 #if defined(USE_STRUCT_CONVERSION)
6808 VkDebugUtilsObjectTagInfoEXT_host pTagInfo_host
;
6809 convert_VkDebugUtilsObjectTagInfoEXT_win_to_host(pTagInfo
, &pTagInfo_host
);
6810 result
= device
->funcs
.p_vkSetDebugUtilsObjectTagEXT(device
->device
, &pTagInfo_host
);
6814 return device
->funcs
.p_vkSetDebugUtilsObjectTagEXT(device
->device
, pTagInfo
);
6818 VkResult WINAPI
wine_vkSetEvent(VkDevice device
, VkEvent event
)
6820 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(event
));
6821 return device
->funcs
.p_vkSetEvent(device
->device
, event
);
6824 VkResult WINAPI
wine_vkSignalSemaphore(VkDevice device
, const VkSemaphoreSignalInfo
*pSignalInfo
)
6826 #if defined(USE_STRUCT_CONVERSION)
6828 VkSemaphoreSignalInfo_host pSignalInfo_host
;
6829 TRACE("%p, %p\n", device
, pSignalInfo
);
6831 convert_VkSemaphoreSignalInfo_win_to_host(pSignalInfo
, &pSignalInfo_host
);
6832 result
= device
->funcs
.p_vkSignalSemaphore(device
->device
, &pSignalInfo_host
);
6836 TRACE("%p, %p\n", device
, pSignalInfo
);
6837 return device
->funcs
.p_vkSignalSemaphore(device
->device
, pSignalInfo
);
6841 static VkResult WINAPI
wine_vkSignalSemaphoreKHR(VkDevice device
, const VkSemaphoreSignalInfo
*pSignalInfo
)
6843 #if defined(USE_STRUCT_CONVERSION)
6845 VkSemaphoreSignalInfo_host pSignalInfo_host
;
6846 TRACE("%p, %p\n", device
, pSignalInfo
);
6848 convert_VkSemaphoreSignalInfo_win_to_host(pSignalInfo
, &pSignalInfo_host
);
6849 result
= device
->funcs
.p_vkSignalSemaphoreKHR(device
->device
, &pSignalInfo_host
);
6853 TRACE("%p, %p\n", device
, pSignalInfo
);
6854 return device
->funcs
.p_vkSignalSemaphoreKHR(device
->device
, pSignalInfo
);
6858 void thunk_vkSubmitDebugUtilsMessageEXT(VkInstance instance
, VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity
, VkDebugUtilsMessageTypeFlagsEXT messageTypes
, const VkDebugUtilsMessengerCallbackDataEXT
*pCallbackData
)
6860 #if defined(USE_STRUCT_CONVERSION)
6861 VkDebugUtilsMessengerCallbackDataEXT_host pCallbackData_host
;
6862 convert_VkDebugUtilsMessengerCallbackDataEXT_win_to_host(pCallbackData
, &pCallbackData_host
);
6863 instance
->funcs
.p_vkSubmitDebugUtilsMessageEXT(instance
->instance
, messageSeverity
, messageTypes
, &pCallbackData_host
);
6865 free_VkDebugUtilsMessengerCallbackDataEXT(&pCallbackData_host
);
6867 instance
->funcs
.p_vkSubmitDebugUtilsMessageEXT(instance
->instance
, messageSeverity
, messageTypes
, pCallbackData
);
6871 void WINAPI
wine_vkTrimCommandPool(VkDevice device
, VkCommandPool commandPool
, VkCommandPoolTrimFlags flags
)
6873 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(commandPool
), flags
);
6874 device
->funcs
.p_vkTrimCommandPool(device
->device
, wine_cmd_pool_from_handle(commandPool
)->command_pool
, flags
);
6877 static void WINAPI
wine_vkTrimCommandPoolKHR(VkDevice device
, VkCommandPool commandPool
, VkCommandPoolTrimFlags flags
)
6879 TRACE("%p, 0x%s, %#x\n", device
, wine_dbgstr_longlong(commandPool
), flags
);
6880 device
->funcs
.p_vkTrimCommandPoolKHR(device
->device
, wine_cmd_pool_from_handle(commandPool
)->command_pool
, flags
);
6883 static void WINAPI
wine_vkUninitializePerformanceApiINTEL(VkDevice device
)
6885 TRACE("%p\n", device
);
6886 device
->funcs
.p_vkUninitializePerformanceApiINTEL(device
->device
);
6889 void WINAPI
wine_vkUnmapMemory(VkDevice device
, VkDeviceMemory memory
)
6891 TRACE("%p, 0x%s\n", device
, wine_dbgstr_longlong(memory
));
6892 device
->funcs
.p_vkUnmapMemory(device
->device
, memory
);
6895 void WINAPI
wine_vkUpdateDescriptorSetWithTemplate(VkDevice device
, VkDescriptorSet descriptorSet
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const void *pData
)
6897 TRACE("%p, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorSet
), wine_dbgstr_longlong(descriptorUpdateTemplate
), pData
);
6898 device
->funcs
.p_vkUpdateDescriptorSetWithTemplate(device
->device
, descriptorSet
, descriptorUpdateTemplate
, pData
);
6901 static void WINAPI
wine_vkUpdateDescriptorSetWithTemplateKHR(VkDevice device
, VkDescriptorSet descriptorSet
, VkDescriptorUpdateTemplate descriptorUpdateTemplate
, const void *pData
)
6903 TRACE("%p, 0x%s, 0x%s, %p\n", device
, wine_dbgstr_longlong(descriptorSet
), wine_dbgstr_longlong(descriptorUpdateTemplate
), pData
);
6904 device
->funcs
.p_vkUpdateDescriptorSetWithTemplateKHR(device
->device
, descriptorSet
, descriptorUpdateTemplate
, pData
);
6907 void WINAPI
wine_vkUpdateDescriptorSets(VkDevice device
, uint32_t descriptorWriteCount
, const VkWriteDescriptorSet
*pDescriptorWrites
, uint32_t descriptorCopyCount
, const VkCopyDescriptorSet
*pDescriptorCopies
)
6909 #if defined(USE_STRUCT_CONVERSION)
6910 VkWriteDescriptorSet_host
*pDescriptorWrites_host
;
6911 VkCopyDescriptorSet_host
*pDescriptorCopies_host
;
6912 TRACE("%p, %u, %p, %u, %p\n", device
, descriptorWriteCount
, pDescriptorWrites
, descriptorCopyCount
, pDescriptorCopies
);
6914 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win_to_host(pDescriptorWrites
, descriptorWriteCount
);
6915 pDescriptorCopies_host
= convert_VkCopyDescriptorSet_array_win_to_host(pDescriptorCopies
, descriptorCopyCount
);
6916 device
->funcs
.p_vkUpdateDescriptorSets(device
->device
, descriptorWriteCount
, pDescriptorWrites_host
, descriptorCopyCount
, pDescriptorCopies_host
);
6918 free_VkWriteDescriptorSet_array(pDescriptorWrites_host
, descriptorWriteCount
);
6919 free_VkCopyDescriptorSet_array(pDescriptorCopies_host
, descriptorCopyCount
);
6921 TRACE("%p, %u, %p, %u, %p\n", device
, descriptorWriteCount
, pDescriptorWrites
, descriptorCopyCount
, pDescriptorCopies
);
6922 device
->funcs
.p_vkUpdateDescriptorSets(device
->device
, descriptorWriteCount
, pDescriptorWrites
, descriptorCopyCount
, pDescriptorCopies
);
6926 VkResult WINAPI
wine_vkWaitForFences(VkDevice device
, uint32_t fenceCount
, const VkFence
*pFences
, VkBool32 waitAll
, uint64_t timeout
)
6928 TRACE("%p, %u, %p, %u, 0x%s\n", device
, fenceCount
, pFences
, waitAll
, wine_dbgstr_longlong(timeout
));
6929 return device
->funcs
.p_vkWaitForFences(device
->device
, fenceCount
, pFences
, waitAll
, timeout
);
6932 VkResult WINAPI
wine_vkWaitSemaphores(VkDevice device
, const VkSemaphoreWaitInfo
*pWaitInfo
, uint64_t timeout
)
6934 TRACE("%p, %p, 0x%s\n", device
, pWaitInfo
, wine_dbgstr_longlong(timeout
));
6935 return device
->funcs
.p_vkWaitSemaphores(device
->device
, pWaitInfo
, timeout
);
6938 static VkResult WINAPI
wine_vkWaitSemaphoresKHR(VkDevice device
, const VkSemaphoreWaitInfo
*pWaitInfo
, uint64_t timeout
)
6940 TRACE("%p, %p, 0x%s\n", device
, pWaitInfo
, wine_dbgstr_longlong(timeout
));
6941 return device
->funcs
.p_vkWaitSemaphoresKHR(device
->device
, pWaitInfo
, timeout
);
6944 static VkResult WINAPI
wine_vkWriteAccelerationStructuresPropertiesKHR(VkDevice device
, uint32_t accelerationStructureCount
, const VkAccelerationStructureKHR
*pAccelerationStructures
, VkQueryType queryType
, size_t dataSize
, void *pData
, size_t stride
)
6946 TRACE("%p, %u, %p, %#x, 0x%s, %p, 0x%s\n", device
, accelerationStructureCount
, pAccelerationStructures
, queryType
, wine_dbgstr_longlong(dataSize
), pData
, wine_dbgstr_longlong(stride
));
6947 return device
->funcs
.p_vkWriteAccelerationStructuresPropertiesKHR(device
->device
, accelerationStructureCount
, pAccelerationStructures
, queryType
, dataSize
, pData
, stride
);
6950 static const struct vulkan_func vk_device_dispatch_table
[] =
6952 {"vkAcquireNextImage2KHR", &wine_vkAcquireNextImage2KHR
},
6953 {"vkAcquireNextImageKHR", &wine_vkAcquireNextImageKHR
},
6954 {"vkAcquirePerformanceConfigurationINTEL", &wine_vkAcquirePerformanceConfigurationINTEL
},
6955 {"vkAcquireProfilingLockKHR", &wine_vkAcquireProfilingLockKHR
},
6956 {"vkAllocateCommandBuffers", &wine_vkAllocateCommandBuffers
},
6957 {"vkAllocateDescriptorSets", &wine_vkAllocateDescriptorSets
},
6958 {"vkAllocateMemory", &wine_vkAllocateMemory
},
6959 {"vkBeginCommandBuffer", &wine_vkBeginCommandBuffer
},
6960 {"vkBindAccelerationStructureMemoryNV", &wine_vkBindAccelerationStructureMemoryNV
},
6961 {"vkBindBufferMemory", &wine_vkBindBufferMemory
},
6962 {"vkBindBufferMemory2", &wine_vkBindBufferMemory2
},
6963 {"vkBindBufferMemory2KHR", &wine_vkBindBufferMemory2KHR
},
6964 {"vkBindImageMemory", &wine_vkBindImageMemory
},
6965 {"vkBindImageMemory2", &wine_vkBindImageMemory2
},
6966 {"vkBindImageMemory2KHR", &wine_vkBindImageMemory2KHR
},
6967 {"vkBuildAccelerationStructuresKHR", &wine_vkBuildAccelerationStructuresKHR
},
6968 {"vkCmdBeginConditionalRenderingEXT", &wine_vkCmdBeginConditionalRenderingEXT
},
6969 {"vkCmdBeginDebugUtilsLabelEXT", &wine_vkCmdBeginDebugUtilsLabelEXT
},
6970 {"vkCmdBeginQuery", &wine_vkCmdBeginQuery
},
6971 {"vkCmdBeginQueryIndexedEXT", &wine_vkCmdBeginQueryIndexedEXT
},
6972 {"vkCmdBeginRenderPass", &wine_vkCmdBeginRenderPass
},
6973 {"vkCmdBeginRenderPass2", &wine_vkCmdBeginRenderPass2
},
6974 {"vkCmdBeginRenderPass2KHR", &wine_vkCmdBeginRenderPass2KHR
},
6975 {"vkCmdBeginTransformFeedbackEXT", &wine_vkCmdBeginTransformFeedbackEXT
},
6976 {"vkCmdBindDescriptorSets", &wine_vkCmdBindDescriptorSets
},
6977 {"vkCmdBindIndexBuffer", &wine_vkCmdBindIndexBuffer
},
6978 {"vkCmdBindPipeline", &wine_vkCmdBindPipeline
},
6979 {"vkCmdBindPipelineShaderGroupNV", &wine_vkCmdBindPipelineShaderGroupNV
},
6980 {"vkCmdBindShadingRateImageNV", &wine_vkCmdBindShadingRateImageNV
},
6981 {"vkCmdBindTransformFeedbackBuffersEXT", &wine_vkCmdBindTransformFeedbackBuffersEXT
},
6982 {"vkCmdBindVertexBuffers", &wine_vkCmdBindVertexBuffers
},
6983 {"vkCmdBindVertexBuffers2EXT", &wine_vkCmdBindVertexBuffers2EXT
},
6984 {"vkCmdBlitImage", &wine_vkCmdBlitImage
},
6985 {"vkCmdBlitImage2KHR", &wine_vkCmdBlitImage2KHR
},
6986 {"vkCmdBuildAccelerationStructureNV", &wine_vkCmdBuildAccelerationStructureNV
},
6987 {"vkCmdBuildAccelerationStructuresIndirectKHR", &wine_vkCmdBuildAccelerationStructuresIndirectKHR
},
6988 {"vkCmdBuildAccelerationStructuresKHR", &wine_vkCmdBuildAccelerationStructuresKHR
},
6989 {"vkCmdClearAttachments", &wine_vkCmdClearAttachments
},
6990 {"vkCmdClearColorImage", &wine_vkCmdClearColorImage
},
6991 {"vkCmdClearDepthStencilImage", &wine_vkCmdClearDepthStencilImage
},
6992 {"vkCmdCopyAccelerationStructureKHR", &wine_vkCmdCopyAccelerationStructureKHR
},
6993 {"vkCmdCopyAccelerationStructureNV", &wine_vkCmdCopyAccelerationStructureNV
},
6994 {"vkCmdCopyAccelerationStructureToMemoryKHR", &wine_vkCmdCopyAccelerationStructureToMemoryKHR
},
6995 {"vkCmdCopyBuffer", &wine_vkCmdCopyBuffer
},
6996 {"vkCmdCopyBuffer2KHR", &wine_vkCmdCopyBuffer2KHR
},
6997 {"vkCmdCopyBufferToImage", &wine_vkCmdCopyBufferToImage
},
6998 {"vkCmdCopyBufferToImage2KHR", &wine_vkCmdCopyBufferToImage2KHR
},
6999 {"vkCmdCopyImage", &wine_vkCmdCopyImage
},
7000 {"vkCmdCopyImage2KHR", &wine_vkCmdCopyImage2KHR
},
7001 {"vkCmdCopyImageToBuffer", &wine_vkCmdCopyImageToBuffer
},
7002 {"vkCmdCopyImageToBuffer2KHR", &wine_vkCmdCopyImageToBuffer2KHR
},
7003 {"vkCmdCopyMemoryToAccelerationStructureKHR", &wine_vkCmdCopyMemoryToAccelerationStructureKHR
},
7004 {"vkCmdCopyQueryPoolResults", &wine_vkCmdCopyQueryPoolResults
},
7005 {"vkCmdDebugMarkerBeginEXT", &wine_vkCmdDebugMarkerBeginEXT
},
7006 {"vkCmdDebugMarkerEndEXT", &wine_vkCmdDebugMarkerEndEXT
},
7007 {"vkCmdDebugMarkerInsertEXT", &wine_vkCmdDebugMarkerInsertEXT
},
7008 {"vkCmdDispatch", &wine_vkCmdDispatch
},
7009 {"vkCmdDispatchBase", &wine_vkCmdDispatchBase
},
7010 {"vkCmdDispatchBaseKHR", &wine_vkCmdDispatchBaseKHR
},
7011 {"vkCmdDispatchIndirect", &wine_vkCmdDispatchIndirect
},
7012 {"vkCmdDraw", &wine_vkCmdDraw
},
7013 {"vkCmdDrawIndexed", &wine_vkCmdDrawIndexed
},
7014 {"vkCmdDrawIndexedIndirect", &wine_vkCmdDrawIndexedIndirect
},
7015 {"vkCmdDrawIndexedIndirectCount", &wine_vkCmdDrawIndexedIndirectCount
},
7016 {"vkCmdDrawIndexedIndirectCountAMD", &wine_vkCmdDrawIndexedIndirectCountAMD
},
7017 {"vkCmdDrawIndexedIndirectCountKHR", &wine_vkCmdDrawIndexedIndirectCountKHR
},
7018 {"vkCmdDrawIndirect", &wine_vkCmdDrawIndirect
},
7019 {"vkCmdDrawIndirectByteCountEXT", &wine_vkCmdDrawIndirectByteCountEXT
},
7020 {"vkCmdDrawIndirectCount", &wine_vkCmdDrawIndirectCount
},
7021 {"vkCmdDrawIndirectCountAMD", &wine_vkCmdDrawIndirectCountAMD
},
7022 {"vkCmdDrawIndirectCountKHR", &wine_vkCmdDrawIndirectCountKHR
},
7023 {"vkCmdDrawMeshTasksIndirectCountNV", &wine_vkCmdDrawMeshTasksIndirectCountNV
},
7024 {"vkCmdDrawMeshTasksIndirectNV", &wine_vkCmdDrawMeshTasksIndirectNV
},
7025 {"vkCmdDrawMeshTasksNV", &wine_vkCmdDrawMeshTasksNV
},
7026 {"vkCmdEndConditionalRenderingEXT", &wine_vkCmdEndConditionalRenderingEXT
},
7027 {"vkCmdEndDebugUtilsLabelEXT", &wine_vkCmdEndDebugUtilsLabelEXT
},
7028 {"vkCmdEndQuery", &wine_vkCmdEndQuery
},
7029 {"vkCmdEndQueryIndexedEXT", &wine_vkCmdEndQueryIndexedEXT
},
7030 {"vkCmdEndRenderPass", &wine_vkCmdEndRenderPass
},
7031 {"vkCmdEndRenderPass2", &wine_vkCmdEndRenderPass2
},
7032 {"vkCmdEndRenderPass2KHR", &wine_vkCmdEndRenderPass2KHR
},
7033 {"vkCmdEndTransformFeedbackEXT", &wine_vkCmdEndTransformFeedbackEXT
},
7034 {"vkCmdExecuteCommands", &wine_vkCmdExecuteCommands
},
7035 {"vkCmdExecuteGeneratedCommandsNV", &wine_vkCmdExecuteGeneratedCommandsNV
},
7036 {"vkCmdFillBuffer", &wine_vkCmdFillBuffer
},
7037 {"vkCmdInsertDebugUtilsLabelEXT", &wine_vkCmdInsertDebugUtilsLabelEXT
},
7038 {"vkCmdNextSubpass", &wine_vkCmdNextSubpass
},
7039 {"vkCmdNextSubpass2", &wine_vkCmdNextSubpass2
},
7040 {"vkCmdNextSubpass2KHR", &wine_vkCmdNextSubpass2KHR
},
7041 {"vkCmdPipelineBarrier", &wine_vkCmdPipelineBarrier
},
7042 {"vkCmdPipelineBarrier2KHR", &wine_vkCmdPipelineBarrier2KHR
},
7043 {"vkCmdPreprocessGeneratedCommandsNV", &wine_vkCmdPreprocessGeneratedCommandsNV
},
7044 {"vkCmdPushConstants", &wine_vkCmdPushConstants
},
7045 {"vkCmdPushDescriptorSetKHR", &wine_vkCmdPushDescriptorSetKHR
},
7046 {"vkCmdPushDescriptorSetWithTemplateKHR", &wine_vkCmdPushDescriptorSetWithTemplateKHR
},
7047 {"vkCmdResetEvent", &wine_vkCmdResetEvent
},
7048 {"vkCmdResetEvent2KHR", &wine_vkCmdResetEvent2KHR
},
7049 {"vkCmdResetQueryPool", &wine_vkCmdResetQueryPool
},
7050 {"vkCmdResolveImage", &wine_vkCmdResolveImage
},
7051 {"vkCmdResolveImage2KHR", &wine_vkCmdResolveImage2KHR
},
7052 {"vkCmdSetBlendConstants", &wine_vkCmdSetBlendConstants
},
7053 {"vkCmdSetCheckpointNV", &wine_vkCmdSetCheckpointNV
},
7054 {"vkCmdSetCoarseSampleOrderNV", &wine_vkCmdSetCoarseSampleOrderNV
},
7055 {"vkCmdSetCullModeEXT", &wine_vkCmdSetCullModeEXT
},
7056 {"vkCmdSetDepthBias", &wine_vkCmdSetDepthBias
},
7057 {"vkCmdSetDepthBounds", &wine_vkCmdSetDepthBounds
},
7058 {"vkCmdSetDepthBoundsTestEnableEXT", &wine_vkCmdSetDepthBoundsTestEnableEXT
},
7059 {"vkCmdSetDepthCompareOpEXT", &wine_vkCmdSetDepthCompareOpEXT
},
7060 {"vkCmdSetDepthTestEnableEXT", &wine_vkCmdSetDepthTestEnableEXT
},
7061 {"vkCmdSetDepthWriteEnableEXT", &wine_vkCmdSetDepthWriteEnableEXT
},
7062 {"vkCmdSetDeviceMask", &wine_vkCmdSetDeviceMask
},
7063 {"vkCmdSetDeviceMaskKHR", &wine_vkCmdSetDeviceMaskKHR
},
7064 {"vkCmdSetDiscardRectangleEXT", &wine_vkCmdSetDiscardRectangleEXT
},
7065 {"vkCmdSetEvent", &wine_vkCmdSetEvent
},
7066 {"vkCmdSetEvent2KHR", &wine_vkCmdSetEvent2KHR
},
7067 {"vkCmdSetExclusiveScissorNV", &wine_vkCmdSetExclusiveScissorNV
},
7068 {"vkCmdSetFragmentShadingRateEnumNV", &wine_vkCmdSetFragmentShadingRateEnumNV
},
7069 {"vkCmdSetFragmentShadingRateKHR", &wine_vkCmdSetFragmentShadingRateKHR
},
7070 {"vkCmdSetFrontFaceEXT", &wine_vkCmdSetFrontFaceEXT
},
7071 {"vkCmdSetLineStippleEXT", &wine_vkCmdSetLineStippleEXT
},
7072 {"vkCmdSetLineWidth", &wine_vkCmdSetLineWidth
},
7073 {"vkCmdSetPerformanceMarkerINTEL", &wine_vkCmdSetPerformanceMarkerINTEL
},
7074 {"vkCmdSetPerformanceOverrideINTEL", &wine_vkCmdSetPerformanceOverrideINTEL
},
7075 {"vkCmdSetPerformanceStreamMarkerINTEL", &wine_vkCmdSetPerformanceStreamMarkerINTEL
},
7076 {"vkCmdSetPrimitiveTopologyEXT", &wine_vkCmdSetPrimitiveTopologyEXT
},
7077 {"vkCmdSetRayTracingPipelineStackSizeKHR", &wine_vkCmdSetRayTracingPipelineStackSizeKHR
},
7078 {"vkCmdSetSampleLocationsEXT", &wine_vkCmdSetSampleLocationsEXT
},
7079 {"vkCmdSetScissor", &wine_vkCmdSetScissor
},
7080 {"vkCmdSetScissorWithCountEXT", &wine_vkCmdSetScissorWithCountEXT
},
7081 {"vkCmdSetStencilCompareMask", &wine_vkCmdSetStencilCompareMask
},
7082 {"vkCmdSetStencilOpEXT", &wine_vkCmdSetStencilOpEXT
},
7083 {"vkCmdSetStencilReference", &wine_vkCmdSetStencilReference
},
7084 {"vkCmdSetStencilTestEnableEXT", &wine_vkCmdSetStencilTestEnableEXT
},
7085 {"vkCmdSetStencilWriteMask", &wine_vkCmdSetStencilWriteMask
},
7086 {"vkCmdSetViewport", &wine_vkCmdSetViewport
},
7087 {"vkCmdSetViewportShadingRatePaletteNV", &wine_vkCmdSetViewportShadingRatePaletteNV
},
7088 {"vkCmdSetViewportWScalingNV", &wine_vkCmdSetViewportWScalingNV
},
7089 {"vkCmdSetViewportWithCountEXT", &wine_vkCmdSetViewportWithCountEXT
},
7090 {"vkCmdTraceRaysIndirectKHR", &wine_vkCmdTraceRaysIndirectKHR
},
7091 {"vkCmdTraceRaysKHR", &wine_vkCmdTraceRaysKHR
},
7092 {"vkCmdTraceRaysNV", &wine_vkCmdTraceRaysNV
},
7093 {"vkCmdUpdateBuffer", &wine_vkCmdUpdateBuffer
},
7094 {"vkCmdWaitEvents", &wine_vkCmdWaitEvents
},
7095 {"vkCmdWaitEvents2KHR", &wine_vkCmdWaitEvents2KHR
},
7096 {"vkCmdWriteAccelerationStructuresPropertiesKHR", &wine_vkCmdWriteAccelerationStructuresPropertiesKHR
},
7097 {"vkCmdWriteAccelerationStructuresPropertiesNV", &wine_vkCmdWriteAccelerationStructuresPropertiesNV
},
7098 {"vkCmdWriteBufferMarker2AMD", &wine_vkCmdWriteBufferMarker2AMD
},
7099 {"vkCmdWriteBufferMarkerAMD", &wine_vkCmdWriteBufferMarkerAMD
},
7100 {"vkCmdWriteTimestamp", &wine_vkCmdWriteTimestamp
},
7101 {"vkCmdWriteTimestamp2KHR", &wine_vkCmdWriteTimestamp2KHR
},
7102 {"vkCompileDeferredNV", &wine_vkCompileDeferredNV
},
7103 {"vkCopyAccelerationStructureKHR", &wine_vkCopyAccelerationStructureKHR
},
7104 {"vkCopyAccelerationStructureToMemoryKHR", &wine_vkCopyAccelerationStructureToMemoryKHR
},
7105 {"vkCopyMemoryToAccelerationStructureKHR", &wine_vkCopyMemoryToAccelerationStructureKHR
},
7106 {"vkCreateAccelerationStructureKHR", &wine_vkCreateAccelerationStructureKHR
},
7107 {"vkCreateAccelerationStructureNV", &wine_vkCreateAccelerationStructureNV
},
7108 {"vkCreateBuffer", &wine_vkCreateBuffer
},
7109 {"vkCreateBufferView", &wine_vkCreateBufferView
},
7110 {"vkCreateCommandPool", &wine_vkCreateCommandPool
},
7111 {"vkCreateComputePipelines", &wine_vkCreateComputePipelines
},
7112 {"vkCreateDeferredOperationKHR", &wine_vkCreateDeferredOperationKHR
},
7113 {"vkCreateDescriptorPool", &wine_vkCreateDescriptorPool
},
7114 {"vkCreateDescriptorSetLayout", &wine_vkCreateDescriptorSetLayout
},
7115 {"vkCreateDescriptorUpdateTemplate", &wine_vkCreateDescriptorUpdateTemplate
},
7116 {"vkCreateDescriptorUpdateTemplateKHR", &wine_vkCreateDescriptorUpdateTemplateKHR
},
7117 {"vkCreateEvent", &wine_vkCreateEvent
},
7118 {"vkCreateFence", &wine_vkCreateFence
},
7119 {"vkCreateFramebuffer", &wine_vkCreateFramebuffer
},
7120 {"vkCreateGraphicsPipelines", &wine_vkCreateGraphicsPipelines
},
7121 {"vkCreateImage", &wine_vkCreateImage
},
7122 {"vkCreateImageView", &wine_vkCreateImageView
},
7123 {"vkCreateIndirectCommandsLayoutNV", &wine_vkCreateIndirectCommandsLayoutNV
},
7124 {"vkCreatePipelineCache", &wine_vkCreatePipelineCache
},
7125 {"vkCreatePipelineLayout", &wine_vkCreatePipelineLayout
},
7126 {"vkCreatePrivateDataSlotEXT", &wine_vkCreatePrivateDataSlotEXT
},
7127 {"vkCreateQueryPool", &wine_vkCreateQueryPool
},
7128 {"vkCreateRayTracingPipelinesKHR", &wine_vkCreateRayTracingPipelinesKHR
},
7129 {"vkCreateRayTracingPipelinesNV", &wine_vkCreateRayTracingPipelinesNV
},
7130 {"vkCreateRenderPass", &wine_vkCreateRenderPass
},
7131 {"vkCreateRenderPass2", &wine_vkCreateRenderPass2
},
7132 {"vkCreateRenderPass2KHR", &wine_vkCreateRenderPass2KHR
},
7133 {"vkCreateSampler", &wine_vkCreateSampler
},
7134 {"vkCreateSamplerYcbcrConversion", &wine_vkCreateSamplerYcbcrConversion
},
7135 {"vkCreateSamplerYcbcrConversionKHR", &wine_vkCreateSamplerYcbcrConversionKHR
},
7136 {"vkCreateSemaphore", &wine_vkCreateSemaphore
},
7137 {"vkCreateShaderModule", &wine_vkCreateShaderModule
},
7138 {"vkCreateSwapchainKHR", &wine_vkCreateSwapchainKHR
},
7139 {"vkCreateValidationCacheEXT", &wine_vkCreateValidationCacheEXT
},
7140 {"vkDebugMarkerSetObjectNameEXT", &wine_vkDebugMarkerSetObjectNameEXT
},
7141 {"vkDebugMarkerSetObjectTagEXT", &wine_vkDebugMarkerSetObjectTagEXT
},
7142 {"vkDeferredOperationJoinKHR", &wine_vkDeferredOperationJoinKHR
},
7143 {"vkDestroyAccelerationStructureKHR", &wine_vkDestroyAccelerationStructureKHR
},
7144 {"vkDestroyAccelerationStructureNV", &wine_vkDestroyAccelerationStructureNV
},
7145 {"vkDestroyBuffer", &wine_vkDestroyBuffer
},
7146 {"vkDestroyBufferView", &wine_vkDestroyBufferView
},
7147 {"vkDestroyCommandPool", &wine_vkDestroyCommandPool
},
7148 {"vkDestroyDeferredOperationKHR", &wine_vkDestroyDeferredOperationKHR
},
7149 {"vkDestroyDescriptorPool", &wine_vkDestroyDescriptorPool
},
7150 {"vkDestroyDescriptorSetLayout", &wine_vkDestroyDescriptorSetLayout
},
7151 {"vkDestroyDescriptorUpdateTemplate", &wine_vkDestroyDescriptorUpdateTemplate
},
7152 {"vkDestroyDescriptorUpdateTemplateKHR", &wine_vkDestroyDescriptorUpdateTemplateKHR
},
7153 {"vkDestroyDevice", &wine_vkDestroyDevice
},
7154 {"vkDestroyEvent", &wine_vkDestroyEvent
},
7155 {"vkDestroyFence", &wine_vkDestroyFence
},
7156 {"vkDestroyFramebuffer", &wine_vkDestroyFramebuffer
},
7157 {"vkDestroyImage", &wine_vkDestroyImage
},
7158 {"vkDestroyImageView", &wine_vkDestroyImageView
},
7159 {"vkDestroyIndirectCommandsLayoutNV", &wine_vkDestroyIndirectCommandsLayoutNV
},
7160 {"vkDestroyPipeline", &wine_vkDestroyPipeline
},
7161 {"vkDestroyPipelineCache", &wine_vkDestroyPipelineCache
},
7162 {"vkDestroyPipelineLayout", &wine_vkDestroyPipelineLayout
},
7163 {"vkDestroyPrivateDataSlotEXT", &wine_vkDestroyPrivateDataSlotEXT
},
7164 {"vkDestroyQueryPool", &wine_vkDestroyQueryPool
},
7165 {"vkDestroyRenderPass", &wine_vkDestroyRenderPass
},
7166 {"vkDestroySampler", &wine_vkDestroySampler
},
7167 {"vkDestroySamplerYcbcrConversion", &wine_vkDestroySamplerYcbcrConversion
},
7168 {"vkDestroySamplerYcbcrConversionKHR", &wine_vkDestroySamplerYcbcrConversionKHR
},
7169 {"vkDestroySemaphore", &wine_vkDestroySemaphore
},
7170 {"vkDestroyShaderModule", &wine_vkDestroyShaderModule
},
7171 {"vkDestroySwapchainKHR", &wine_vkDestroySwapchainKHR
},
7172 {"vkDestroyValidationCacheEXT", &wine_vkDestroyValidationCacheEXT
},
7173 {"vkDeviceWaitIdle", &wine_vkDeviceWaitIdle
},
7174 {"vkEndCommandBuffer", &wine_vkEndCommandBuffer
},
7175 {"vkFlushMappedMemoryRanges", &wine_vkFlushMappedMemoryRanges
},
7176 {"vkFreeCommandBuffers", &wine_vkFreeCommandBuffers
},
7177 {"vkFreeDescriptorSets", &wine_vkFreeDescriptorSets
},
7178 {"vkFreeMemory", &wine_vkFreeMemory
},
7179 {"vkGetAccelerationStructureBuildSizesKHR", &wine_vkGetAccelerationStructureBuildSizesKHR
},
7180 {"vkGetAccelerationStructureDeviceAddressKHR", &wine_vkGetAccelerationStructureDeviceAddressKHR
},
7181 {"vkGetAccelerationStructureHandleNV", &wine_vkGetAccelerationStructureHandleNV
},
7182 {"vkGetAccelerationStructureMemoryRequirementsNV", &wine_vkGetAccelerationStructureMemoryRequirementsNV
},
7183 {"vkGetBufferDeviceAddress", &wine_vkGetBufferDeviceAddress
},
7184 {"vkGetBufferDeviceAddressEXT", &wine_vkGetBufferDeviceAddressEXT
},
7185 {"vkGetBufferDeviceAddressKHR", &wine_vkGetBufferDeviceAddressKHR
},
7186 {"vkGetBufferMemoryRequirements", &wine_vkGetBufferMemoryRequirements
},
7187 {"vkGetBufferMemoryRequirements2", &wine_vkGetBufferMemoryRequirements2
},
7188 {"vkGetBufferMemoryRequirements2KHR", &wine_vkGetBufferMemoryRequirements2KHR
},
7189 {"vkGetBufferOpaqueCaptureAddress", &wine_vkGetBufferOpaqueCaptureAddress
},
7190 {"vkGetBufferOpaqueCaptureAddressKHR", &wine_vkGetBufferOpaqueCaptureAddressKHR
},
7191 {"vkGetCalibratedTimestampsEXT", &wine_vkGetCalibratedTimestampsEXT
},
7192 {"vkGetDeferredOperationMaxConcurrencyKHR", &wine_vkGetDeferredOperationMaxConcurrencyKHR
},
7193 {"vkGetDeferredOperationResultKHR", &wine_vkGetDeferredOperationResultKHR
},
7194 {"vkGetDescriptorSetLayoutSupport", &wine_vkGetDescriptorSetLayoutSupport
},
7195 {"vkGetDescriptorSetLayoutSupportKHR", &wine_vkGetDescriptorSetLayoutSupportKHR
},
7196 {"vkGetDeviceAccelerationStructureCompatibilityKHR", &wine_vkGetDeviceAccelerationStructureCompatibilityKHR
},
7197 {"vkGetDeviceGroupPeerMemoryFeatures", &wine_vkGetDeviceGroupPeerMemoryFeatures
},
7198 {"vkGetDeviceGroupPeerMemoryFeaturesKHR", &wine_vkGetDeviceGroupPeerMemoryFeaturesKHR
},
7199 {"vkGetDeviceGroupPresentCapabilitiesKHR", &wine_vkGetDeviceGroupPresentCapabilitiesKHR
},
7200 {"vkGetDeviceGroupSurfacePresentModesKHR", &wine_vkGetDeviceGroupSurfacePresentModesKHR
},
7201 {"vkGetDeviceMemoryCommitment", &wine_vkGetDeviceMemoryCommitment
},
7202 {"vkGetDeviceMemoryOpaqueCaptureAddress", &wine_vkGetDeviceMemoryOpaqueCaptureAddress
},
7203 {"vkGetDeviceMemoryOpaqueCaptureAddressKHR", &wine_vkGetDeviceMemoryOpaqueCaptureAddressKHR
},
7204 {"vkGetDeviceProcAddr", &wine_vkGetDeviceProcAddr
},
7205 {"vkGetDeviceQueue", &wine_vkGetDeviceQueue
},
7206 {"vkGetDeviceQueue2", &wine_vkGetDeviceQueue2
},
7207 {"vkGetEventStatus", &wine_vkGetEventStatus
},
7208 {"vkGetFenceStatus", &wine_vkGetFenceStatus
},
7209 {"vkGetGeneratedCommandsMemoryRequirementsNV", &wine_vkGetGeneratedCommandsMemoryRequirementsNV
},
7210 {"vkGetImageMemoryRequirements", &wine_vkGetImageMemoryRequirements
},
7211 {"vkGetImageMemoryRequirements2", &wine_vkGetImageMemoryRequirements2
},
7212 {"vkGetImageMemoryRequirements2KHR", &wine_vkGetImageMemoryRequirements2KHR
},
7213 {"vkGetImageSparseMemoryRequirements", &wine_vkGetImageSparseMemoryRequirements
},
7214 {"vkGetImageSparseMemoryRequirements2", &wine_vkGetImageSparseMemoryRequirements2
},
7215 {"vkGetImageSparseMemoryRequirements2KHR", &wine_vkGetImageSparseMemoryRequirements2KHR
},
7216 {"vkGetImageSubresourceLayout", &wine_vkGetImageSubresourceLayout
},
7217 {"vkGetMemoryHostPointerPropertiesEXT", &wine_vkGetMemoryHostPointerPropertiesEXT
},
7218 {"vkGetPerformanceParameterINTEL", &wine_vkGetPerformanceParameterINTEL
},
7219 {"vkGetPipelineCacheData", &wine_vkGetPipelineCacheData
},
7220 {"vkGetPipelineExecutableInternalRepresentationsKHR", &wine_vkGetPipelineExecutableInternalRepresentationsKHR
},
7221 {"vkGetPipelineExecutablePropertiesKHR", &wine_vkGetPipelineExecutablePropertiesKHR
},
7222 {"vkGetPipelineExecutableStatisticsKHR", &wine_vkGetPipelineExecutableStatisticsKHR
},
7223 {"vkGetPrivateDataEXT", &wine_vkGetPrivateDataEXT
},
7224 {"vkGetQueryPoolResults", &wine_vkGetQueryPoolResults
},
7225 {"vkGetQueueCheckpointData2NV", &wine_vkGetQueueCheckpointData2NV
},
7226 {"vkGetQueueCheckpointDataNV", &wine_vkGetQueueCheckpointDataNV
},
7227 {"vkGetRayTracingCaptureReplayShaderGroupHandlesKHR", &wine_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR
},
7228 {"vkGetRayTracingShaderGroupHandlesKHR", &wine_vkGetRayTracingShaderGroupHandlesKHR
},
7229 {"vkGetRayTracingShaderGroupHandlesNV", &wine_vkGetRayTracingShaderGroupHandlesNV
},
7230 {"vkGetRayTracingShaderGroupStackSizeKHR", &wine_vkGetRayTracingShaderGroupStackSizeKHR
},
7231 {"vkGetRenderAreaGranularity", &wine_vkGetRenderAreaGranularity
},
7232 {"vkGetSemaphoreCounterValue", &wine_vkGetSemaphoreCounterValue
},
7233 {"vkGetSemaphoreCounterValueKHR", &wine_vkGetSemaphoreCounterValueKHR
},
7234 {"vkGetShaderInfoAMD", &wine_vkGetShaderInfoAMD
},
7235 {"vkGetSwapchainImagesKHR", &wine_vkGetSwapchainImagesKHR
},
7236 {"vkGetValidationCacheDataEXT", &wine_vkGetValidationCacheDataEXT
},
7237 {"vkInitializePerformanceApiINTEL", &wine_vkInitializePerformanceApiINTEL
},
7238 {"vkInvalidateMappedMemoryRanges", &wine_vkInvalidateMappedMemoryRanges
},
7239 {"vkMapMemory", &wine_vkMapMemory
},
7240 {"vkMergePipelineCaches", &wine_vkMergePipelineCaches
},
7241 {"vkMergeValidationCachesEXT", &wine_vkMergeValidationCachesEXT
},
7242 {"vkQueueBeginDebugUtilsLabelEXT", &wine_vkQueueBeginDebugUtilsLabelEXT
},
7243 {"vkQueueBindSparse", &wine_vkQueueBindSparse
},
7244 {"vkQueueEndDebugUtilsLabelEXT", &wine_vkQueueEndDebugUtilsLabelEXT
},
7245 {"vkQueueInsertDebugUtilsLabelEXT", &wine_vkQueueInsertDebugUtilsLabelEXT
},
7246 {"vkQueuePresentKHR", &wine_vkQueuePresentKHR
},
7247 {"vkQueueSetPerformanceConfigurationINTEL", &wine_vkQueueSetPerformanceConfigurationINTEL
},
7248 {"vkQueueSubmit", &wine_vkQueueSubmit
},
7249 {"vkQueueSubmit2KHR", &wine_vkQueueSubmit2KHR
},
7250 {"vkQueueWaitIdle", &wine_vkQueueWaitIdle
},
7251 {"vkReleasePerformanceConfigurationINTEL", &wine_vkReleasePerformanceConfigurationINTEL
},
7252 {"vkReleaseProfilingLockKHR", &wine_vkReleaseProfilingLockKHR
},
7253 {"vkResetCommandBuffer", &wine_vkResetCommandBuffer
},
7254 {"vkResetCommandPool", &wine_vkResetCommandPool
},
7255 {"vkResetDescriptorPool", &wine_vkResetDescriptorPool
},
7256 {"vkResetEvent", &wine_vkResetEvent
},
7257 {"vkResetFences", &wine_vkResetFences
},
7258 {"vkResetQueryPool", &wine_vkResetQueryPool
},
7259 {"vkResetQueryPoolEXT", &wine_vkResetQueryPoolEXT
},
7260 {"vkSetDebugUtilsObjectNameEXT", &wine_vkSetDebugUtilsObjectNameEXT
},
7261 {"vkSetDebugUtilsObjectTagEXT", &wine_vkSetDebugUtilsObjectTagEXT
},
7262 {"vkSetEvent", &wine_vkSetEvent
},
7263 {"vkSetPrivateDataEXT", &wine_vkSetPrivateDataEXT
},
7264 {"vkSignalSemaphore", &wine_vkSignalSemaphore
},
7265 {"vkSignalSemaphoreKHR", &wine_vkSignalSemaphoreKHR
},
7266 {"vkTrimCommandPool", &wine_vkTrimCommandPool
},
7267 {"vkTrimCommandPoolKHR", &wine_vkTrimCommandPoolKHR
},
7268 {"vkUninitializePerformanceApiINTEL", &wine_vkUninitializePerformanceApiINTEL
},
7269 {"vkUnmapMemory", &wine_vkUnmapMemory
},
7270 {"vkUpdateDescriptorSetWithTemplate", &wine_vkUpdateDescriptorSetWithTemplate
},
7271 {"vkUpdateDescriptorSetWithTemplateKHR", &wine_vkUpdateDescriptorSetWithTemplateKHR
},
7272 {"vkUpdateDescriptorSets", &wine_vkUpdateDescriptorSets
},
7273 {"vkWaitForFences", &wine_vkWaitForFences
},
7274 {"vkWaitSemaphores", &wine_vkWaitSemaphores
},
7275 {"vkWaitSemaphoresKHR", &wine_vkWaitSemaphoresKHR
},
7276 {"vkWriteAccelerationStructuresPropertiesKHR", &wine_vkWriteAccelerationStructuresPropertiesKHR
},
7279 static const struct vulkan_func vk_phys_dev_dispatch_table
[] =
7281 {"vkCreateDevice", &wine_vkCreateDevice
},
7282 {"vkEnumerateDeviceExtensionProperties", &wine_vkEnumerateDeviceExtensionProperties
},
7283 {"vkEnumerateDeviceLayerProperties", &wine_vkEnumerateDeviceLayerProperties
},
7284 {"vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR", &wine_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
},
7285 {"vkGetPhysicalDeviceCalibrateableTimeDomainsEXT", &wine_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
},
7286 {"vkGetPhysicalDeviceCooperativeMatrixPropertiesNV", &wine_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
},
7287 {"vkGetPhysicalDeviceExternalBufferProperties", &wine_vkGetPhysicalDeviceExternalBufferProperties
},
7288 {"vkGetPhysicalDeviceExternalBufferPropertiesKHR", &wine_vkGetPhysicalDeviceExternalBufferPropertiesKHR
},
7289 {"vkGetPhysicalDeviceExternalFenceProperties", &wine_vkGetPhysicalDeviceExternalFenceProperties
},
7290 {"vkGetPhysicalDeviceExternalFencePropertiesKHR", &wine_vkGetPhysicalDeviceExternalFencePropertiesKHR
},
7291 {"vkGetPhysicalDeviceExternalSemaphoreProperties", &wine_vkGetPhysicalDeviceExternalSemaphoreProperties
},
7292 {"vkGetPhysicalDeviceExternalSemaphorePropertiesKHR", &wine_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
},
7293 {"vkGetPhysicalDeviceFeatures", &wine_vkGetPhysicalDeviceFeatures
},
7294 {"vkGetPhysicalDeviceFeatures2", &wine_vkGetPhysicalDeviceFeatures2
},
7295 {"vkGetPhysicalDeviceFeatures2KHR", &wine_vkGetPhysicalDeviceFeatures2KHR
},
7296 {"vkGetPhysicalDeviceFormatProperties", &wine_vkGetPhysicalDeviceFormatProperties
},
7297 {"vkGetPhysicalDeviceFormatProperties2", &wine_vkGetPhysicalDeviceFormatProperties2
},
7298 {"vkGetPhysicalDeviceFormatProperties2KHR", &wine_vkGetPhysicalDeviceFormatProperties2KHR
},
7299 {"vkGetPhysicalDeviceFragmentShadingRatesKHR", &wine_vkGetPhysicalDeviceFragmentShadingRatesKHR
},
7300 {"vkGetPhysicalDeviceImageFormatProperties", &wine_vkGetPhysicalDeviceImageFormatProperties
},
7301 {"vkGetPhysicalDeviceImageFormatProperties2", &wine_vkGetPhysicalDeviceImageFormatProperties2
},
7302 {"vkGetPhysicalDeviceImageFormatProperties2KHR", &wine_vkGetPhysicalDeviceImageFormatProperties2KHR
},
7303 {"vkGetPhysicalDeviceMemoryProperties", &wine_vkGetPhysicalDeviceMemoryProperties
},
7304 {"vkGetPhysicalDeviceMemoryProperties2", &wine_vkGetPhysicalDeviceMemoryProperties2
},
7305 {"vkGetPhysicalDeviceMemoryProperties2KHR", &wine_vkGetPhysicalDeviceMemoryProperties2KHR
},
7306 {"vkGetPhysicalDeviceMultisamplePropertiesEXT", &wine_vkGetPhysicalDeviceMultisamplePropertiesEXT
},
7307 {"vkGetPhysicalDevicePresentRectanglesKHR", &wine_vkGetPhysicalDevicePresentRectanglesKHR
},
7308 {"vkGetPhysicalDeviceProperties", &wine_vkGetPhysicalDeviceProperties
},
7309 {"vkGetPhysicalDeviceProperties2", &wine_vkGetPhysicalDeviceProperties2
},
7310 {"vkGetPhysicalDeviceProperties2KHR", &wine_vkGetPhysicalDeviceProperties2KHR
},
7311 {"vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR", &wine_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
},
7312 {"vkGetPhysicalDeviceQueueFamilyProperties", &wine_vkGetPhysicalDeviceQueueFamilyProperties
},
7313 {"vkGetPhysicalDeviceQueueFamilyProperties2", &wine_vkGetPhysicalDeviceQueueFamilyProperties2
},
7314 {"vkGetPhysicalDeviceQueueFamilyProperties2KHR", &wine_vkGetPhysicalDeviceQueueFamilyProperties2KHR
},
7315 {"vkGetPhysicalDeviceSparseImageFormatProperties", &wine_vkGetPhysicalDeviceSparseImageFormatProperties
},
7316 {"vkGetPhysicalDeviceSparseImageFormatProperties2", &wine_vkGetPhysicalDeviceSparseImageFormatProperties2
},
7317 {"vkGetPhysicalDeviceSparseImageFormatProperties2KHR", &wine_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
},
7318 {"vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV", &wine_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
},
7319 {"vkGetPhysicalDeviceSurfaceCapabilities2KHR", &wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR
},
7320 {"vkGetPhysicalDeviceSurfaceCapabilitiesKHR", &wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
},
7321 {"vkGetPhysicalDeviceSurfaceFormats2KHR", &wine_vkGetPhysicalDeviceSurfaceFormats2KHR
},
7322 {"vkGetPhysicalDeviceSurfaceFormatsKHR", &wine_vkGetPhysicalDeviceSurfaceFormatsKHR
},
7323 {"vkGetPhysicalDeviceSurfacePresentModesKHR", &wine_vkGetPhysicalDeviceSurfacePresentModesKHR
},
7324 {"vkGetPhysicalDeviceSurfaceSupportKHR", &wine_vkGetPhysicalDeviceSurfaceSupportKHR
},
7325 {"vkGetPhysicalDeviceToolPropertiesEXT", &wine_vkGetPhysicalDeviceToolPropertiesEXT
},
7326 {"vkGetPhysicalDeviceWin32PresentationSupportKHR", &wine_vkGetPhysicalDeviceWin32PresentationSupportKHR
},
7329 static const struct vulkan_func vk_instance_dispatch_table
[] =
7331 {"vkCreateDebugReportCallbackEXT", &wine_vkCreateDebugReportCallbackEXT
},
7332 {"vkCreateDebugUtilsMessengerEXT", &wine_vkCreateDebugUtilsMessengerEXT
},
7333 {"vkCreateWin32SurfaceKHR", &wine_vkCreateWin32SurfaceKHR
},
7334 {"vkDebugReportMessageEXT", &wine_vkDebugReportMessageEXT
},
7335 {"vkDestroyDebugReportCallbackEXT", &wine_vkDestroyDebugReportCallbackEXT
},
7336 {"vkDestroyDebugUtilsMessengerEXT", &wine_vkDestroyDebugUtilsMessengerEXT
},
7337 {"vkDestroyInstance", &wine_vkDestroyInstance
},
7338 {"vkDestroySurfaceKHR", &wine_vkDestroySurfaceKHR
},
7339 {"vkEnumeratePhysicalDeviceGroups", &wine_vkEnumeratePhysicalDeviceGroups
},
7340 {"vkEnumeratePhysicalDeviceGroupsKHR", &wine_vkEnumeratePhysicalDeviceGroupsKHR
},
7341 {"vkEnumeratePhysicalDevices", &wine_vkEnumeratePhysicalDevices
},
7342 {"vkSubmitDebugUtilsMessageEXT", &wine_vkSubmitDebugUtilsMessageEXT
},
7345 void *wine_vk_get_device_proc_addr(const char *name
)
7348 for (i
= 0; i
< ARRAY_SIZE(vk_device_dispatch_table
); i
++)
7350 if (strcmp(vk_device_dispatch_table
[i
].name
, name
) == 0)
7352 TRACE("Found name=%s in device table\n", debugstr_a(name
));
7353 return vk_device_dispatch_table
[i
].func
;
7359 void *wine_vk_get_phys_dev_proc_addr(const char *name
)
7362 for (i
= 0; i
< ARRAY_SIZE(vk_phys_dev_dispatch_table
); i
++)
7364 if (strcmp(vk_phys_dev_dispatch_table
[i
].name
, name
) == 0)
7366 TRACE("Found name=%s in physical device table\n", debugstr_a(name
));
7367 return vk_phys_dev_dispatch_table
[i
].func
;
7373 void *wine_vk_get_instance_proc_addr(const char *name
)
7376 for (i
= 0; i
< ARRAY_SIZE(vk_instance_dispatch_table
); i
++)
7378 if (strcmp(vk_instance_dispatch_table
[i
].name
, name
) == 0)
7380 TRACE("Found name=%s in instance table\n", debugstr_a(name
));
7381 return vk_instance_dispatch_table
[i
].func
;
7387 static const char * const vk_device_extensions
[] =
7389 "VK_AMD_buffer_marker",
7390 "VK_AMD_device_coherent_memory",
7391 "VK_AMD_draw_indirect_count",
7392 "VK_AMD_gcn_shader",
7393 "VK_AMD_gpu_shader_half_float",
7394 "VK_AMD_gpu_shader_int16",
7395 "VK_AMD_memory_overallocation_behavior",
7396 "VK_AMD_mixed_attachment_samples",
7397 "VK_AMD_negative_viewport_height",
7398 "VK_AMD_pipeline_compiler_control",
7399 "VK_AMD_rasterization_order",
7400 "VK_AMD_shader_ballot",
7401 "VK_AMD_shader_core_properties",
7402 "VK_AMD_shader_core_properties2",
7403 "VK_AMD_shader_explicit_vertex_parameter",
7404 "VK_AMD_shader_fragment_mask",
7405 "VK_AMD_shader_image_load_store_lod",
7406 "VK_AMD_shader_info",
7407 "VK_AMD_shader_trinary_minmax",
7408 "VK_AMD_texture_gather_bias_lod",
7409 "VK_EXT_4444_formats",
7410 "VK_EXT_astc_decode_mode",
7411 "VK_EXT_blend_operation_advanced",
7412 "VK_EXT_buffer_device_address",
7413 "VK_EXT_calibrated_timestamps",
7414 "VK_EXT_conditional_rendering",
7415 "VK_EXT_conservative_rasterization",
7416 "VK_EXT_custom_border_color",
7417 "VK_EXT_debug_marker",
7418 "VK_EXT_depth_clip_enable",
7419 "VK_EXT_depth_range_unrestricted",
7420 "VK_EXT_descriptor_indexing",
7421 "VK_EXT_discard_rectangles",
7422 "VK_EXT_extended_dynamic_state",
7423 "VK_EXT_external_memory_host",
7424 "VK_EXT_filter_cubic",
7425 "VK_EXT_fragment_density_map",
7426 "VK_EXT_fragment_density_map2",
7427 "VK_EXT_fragment_shader_interlock",
7428 "VK_EXT_global_priority",
7429 "VK_EXT_host_query_reset",
7430 "VK_EXT_image_robustness",
7431 "VK_EXT_index_type_uint8",
7432 "VK_EXT_inline_uniform_block",
7433 "VK_EXT_line_rasterization",
7434 "VK_EXT_memory_budget",
7435 "VK_EXT_memory_priority",
7436 "VK_EXT_pci_bus_info",
7437 "VK_EXT_pipeline_creation_cache_control",
7438 "VK_EXT_post_depth_coverage",
7439 "VK_EXT_private_data",
7440 "VK_EXT_queue_family_foreign",
7441 "VK_EXT_robustness2",
7442 "VK_EXT_sample_locations",
7443 "VK_EXT_sampler_filter_minmax",
7444 "VK_EXT_scalar_block_layout",
7445 "VK_EXT_separate_stencil_usage",
7446 "VK_EXT_shader_atomic_float",
7447 "VK_EXT_shader_demote_to_helper_invocation",
7448 "VK_EXT_shader_image_atomic_int64",
7449 "VK_EXT_shader_stencil_export",
7450 "VK_EXT_shader_subgroup_ballot",
7451 "VK_EXT_shader_subgroup_vote",
7452 "VK_EXT_shader_viewport_index_layer",
7453 "VK_EXT_subgroup_size_control",
7454 "VK_EXT_texel_buffer_alignment",
7455 "VK_EXT_texture_compression_astc_hdr",
7456 "VK_EXT_tooling_info",
7457 "VK_EXT_transform_feedback",
7458 "VK_EXT_validation_cache",
7459 "VK_EXT_vertex_attribute_divisor",
7460 "VK_EXT_ycbcr_image_arrays",
7461 "VK_GOOGLE_decorate_string",
7462 "VK_GOOGLE_hlsl_functionality1",
7463 "VK_GOOGLE_user_type",
7464 "VK_IMG_filter_cubic",
7465 "VK_IMG_format_pvrtc",
7466 "VK_INTEL_performance_query",
7467 "VK_INTEL_shader_integer_functions2",
7468 "VK_KHR_16bit_storage",
7469 "VK_KHR_8bit_storage",
7470 "VK_KHR_acceleration_structure",
7471 "VK_KHR_bind_memory2",
7472 "VK_KHR_buffer_device_address",
7473 "VK_KHR_copy_commands2",
7474 "VK_KHR_create_renderpass2",
7475 "VK_KHR_dedicated_allocation",
7476 "VK_KHR_deferred_host_operations",
7477 "VK_KHR_depth_stencil_resolve",
7478 "VK_KHR_descriptor_update_template",
7479 "VK_KHR_device_group",
7480 "VK_KHR_draw_indirect_count",
7481 "VK_KHR_driver_properties",
7482 "VK_KHR_external_fence",
7483 "VK_KHR_external_memory",
7484 "VK_KHR_external_semaphore",
7485 "VK_KHR_fragment_shading_rate",
7486 "VK_KHR_get_memory_requirements2",
7487 "VK_KHR_image_format_list",
7488 "VK_KHR_imageless_framebuffer",
7489 "VK_KHR_incremental_present",
7490 "VK_KHR_maintenance1",
7491 "VK_KHR_maintenance2",
7492 "VK_KHR_maintenance3",
7494 "VK_KHR_performance_query",
7495 "VK_KHR_pipeline_executable_properties",
7496 "VK_KHR_pipeline_library",
7497 "VK_KHR_push_descriptor",
7499 "VK_KHR_ray_tracing_pipeline",
7500 "VK_KHR_relaxed_block_layout",
7501 "VK_KHR_sampler_mirror_clamp_to_edge",
7502 "VK_KHR_sampler_ycbcr_conversion",
7503 "VK_KHR_separate_depth_stencil_layouts",
7504 "VK_KHR_shader_atomic_int64",
7505 "VK_KHR_shader_clock",
7506 "VK_KHR_shader_draw_parameters",
7507 "VK_KHR_shader_float16_int8",
7508 "VK_KHR_shader_float_controls",
7509 "VK_KHR_shader_non_semantic_info",
7510 "VK_KHR_shader_subgroup_extended_types",
7511 "VK_KHR_shader_terminate_invocation",
7513 "VK_KHR_storage_buffer_storage_class",
7515 "VK_KHR_swapchain_mutable_format",
7516 "VK_KHR_synchronization2",
7517 "VK_KHR_timeline_semaphore",
7518 "VK_KHR_uniform_buffer_standard_layout",
7519 "VK_KHR_variable_pointers",
7520 "VK_KHR_vulkan_memory_model",
7521 "VK_KHR_workgroup_memory_explicit_layout",
7522 "VK_KHR_zero_initialize_workgroup_memory",
7523 "VK_NV_clip_space_w_scaling",
7524 "VK_NV_compute_shader_derivatives",
7525 "VK_NV_cooperative_matrix",
7526 "VK_NV_corner_sampled_image",
7527 "VK_NV_coverage_reduction_mode",
7528 "VK_NV_dedicated_allocation",
7529 "VK_NV_dedicated_allocation_image_aliasing",
7530 "VK_NV_device_diagnostic_checkpoints",
7531 "VK_NV_device_diagnostics_config",
7532 "VK_NV_device_generated_commands",
7533 "VK_NV_fill_rectangle",
7534 "VK_NV_fragment_coverage_to_color",
7535 "VK_NV_fragment_shader_barycentric",
7536 "VK_NV_fragment_shading_rate_enums",
7537 "VK_NV_framebuffer_mixed_samples",
7538 "VK_NV_geometry_shader_passthrough",
7539 "VK_NV_glsl_shader",
7540 "VK_NV_mesh_shader",
7541 "VK_NV_ray_tracing",
7542 "VK_NV_representative_fragment_test",
7543 "VK_NV_sample_mask_override_coverage",
7544 "VK_NV_scissor_exclusive",
7545 "VK_NV_shader_image_footprint",
7546 "VK_NV_shader_sm_builtins",
7547 "VK_NV_shader_subgroup_partitioned",
7548 "VK_NV_shading_rate_image",
7549 "VK_NV_viewport_array2",
7550 "VK_NV_viewport_swizzle",
7551 "VK_QCOM_render_pass_shader_resolve",
7552 "VK_QCOM_render_pass_store_ops",
7553 "VK_QCOM_render_pass_transform",
7554 "VK_QCOM_rotated_copy_commands",
7555 "VK_VALVE_mutable_descriptor_type",
7558 static const char * const vk_instance_extensions
[] =
7560 "VK_EXT_debug_report",
7561 "VK_EXT_debug_utils",
7562 "VK_EXT_swapchain_colorspace",
7563 "VK_EXT_validation_features",
7564 "VK_EXT_validation_flags",
7565 "VK_KHR_device_group_creation",
7566 "VK_KHR_external_fence_capabilities",
7567 "VK_KHR_external_memory_capabilities",
7568 "VK_KHR_external_semaphore_capabilities",
7569 "VK_KHR_get_physical_device_properties2",
7570 "VK_KHR_get_surface_capabilities2",
7572 "VK_KHR_win32_surface",
7575 BOOL
wine_vk_device_extension_supported(const char *name
)
7578 for (i
= 0; i
< ARRAY_SIZE(vk_device_extensions
); i
++)
7580 if (strcmp(vk_device_extensions
[i
], name
) == 0)
7586 BOOL
wine_vk_instance_extension_supported(const char *name
)
7589 for (i
= 0; i
< ARRAY_SIZE(vk_instance_extensions
); i
++)
7591 if (strcmp(vk_instance_extensions
[i
], name
) == 0)
7597 BOOL
wine_vk_is_type_wrapped(VkObjectType type
)
7600 type
== VK_OBJECT_TYPE_COMMAND_BUFFER
||
7601 type
== VK_OBJECT_TYPE_COMMAND_POOL
||
7602 type
== VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
||
7603 type
== VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
||
7604 type
== VK_OBJECT_TYPE_DEVICE
||
7605 type
== VK_OBJECT_TYPE_INSTANCE
||
7606 type
== VK_OBJECT_TYPE_PHYSICAL_DEVICE
||
7607 type
== VK_OBJECT_TYPE_QUEUE
||
7608 type
== VK_OBJECT_TYPE_SURFACE_KHR
;
7611 uint64_t wine_vk_unwrap_handle(VkObjectType type
, uint64_t handle
)
7615 case VK_OBJECT_TYPE_COMMAND_BUFFER
:
7616 return (uint64_t) (uintptr_t) ((VkCommandBuffer
) (uintptr_t) handle
)->command_buffer
;
7617 case VK_OBJECT_TYPE_COMMAND_POOL
:
7618 return (uint64_t) wine_cmd_pool_from_handle(handle
)->command_pool
;
7619 case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
:
7620 return (uint64_t) wine_debug_report_callback_from_handle(handle
)->debug_callback
;
7621 case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
:
7622 return (uint64_t) wine_debug_utils_messenger_from_handle(handle
)->debug_messenger
;
7623 case VK_OBJECT_TYPE_DEVICE
:
7624 return (uint64_t) (uintptr_t) ((VkDevice
) (uintptr_t) handle
)->device
;
7625 case VK_OBJECT_TYPE_INSTANCE
:
7626 return (uint64_t) (uintptr_t) ((VkInstance
) (uintptr_t) handle
)->instance
;
7627 case VK_OBJECT_TYPE_PHYSICAL_DEVICE
:
7628 return (uint64_t) (uintptr_t) ((VkPhysicalDevice
) (uintptr_t) handle
)->phys_dev
;
7629 case VK_OBJECT_TYPE_QUEUE
:
7630 return (uint64_t) (uintptr_t) ((VkQueue
) (uintptr_t) handle
)->queue
;
7631 case VK_OBJECT_TYPE_SURFACE_KHR
:
7632 return (uint64_t) wine_surface_from_handle(handle
)->surface
;