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-2022 The Khronos Group Inc.
8 * SPDX-License-Identifier: Apache-2.0 OR MIT
20 #include "vulkan_private.h"
22 WINE_DEFAULT_DEBUG_CHANNEL(vulkan
);
24 #if defined(USE_STRUCT_CONVERSION)
26 typedef struct VkAcquireNextImageInfoKHR32
28 VkStructureType sType
;
30 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
31 uint64_t DECLSPEC_ALIGN(8) timeout
;
32 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
33 VkFence
DECLSPEC_ALIGN(8) fence
;
35 } VkAcquireNextImageInfoKHR32
;
37 typedef struct VkAcquireProfilingLockInfoKHR32
39 VkStructureType sType
;
41 VkAcquireProfilingLockFlagsKHR flags
;
42 uint64_t DECLSPEC_ALIGN(8) timeout
;
43 } VkAcquireProfilingLockInfoKHR32
;
45 typedef struct VkCommandBufferAllocateInfo32
47 VkStructureType sType
;
49 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
50 VkCommandBufferLevel level
;
51 uint32_t commandBufferCount
;
52 } VkCommandBufferAllocateInfo32
;
54 typedef struct VkDescriptorSetAllocateInfo32
56 VkStructureType sType
;
58 VkDescriptorPool
DECLSPEC_ALIGN(8) descriptorPool
;
59 uint32_t descriptorSetCount
;
60 const VkDescriptorSetLayout
*pSetLayouts
;
61 } VkDescriptorSetAllocateInfo32
;
63 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV32
65 VkStructureType sType
;
67 VkImage
DECLSPEC_ALIGN(8) image
;
68 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
69 } VkDedicatedAllocationMemoryAllocateInfoNV32
;
71 typedef struct VkMemoryDedicatedAllocateInfo32
73 VkStructureType sType
;
75 VkImage
DECLSPEC_ALIGN(8) image
;
76 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
77 } VkMemoryDedicatedAllocateInfo32
;
78 typedef VkMemoryDedicatedAllocateInfo32 VkMemoryDedicatedAllocateInfoKHR32
;
80 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo32
82 VkStructureType sType
;
84 uint64_t DECLSPEC_ALIGN(8) opaqueCaptureAddress
;
85 } VkMemoryOpaqueCaptureAddressAllocateInfo32
;
86 typedef VkMemoryOpaqueCaptureAddressAllocateInfo32 VkMemoryOpaqueCaptureAddressAllocateInfoKHR32
;
88 typedef struct VkMemoryAllocateInfo32
90 VkStructureType sType
;
92 VkDeviceSize
DECLSPEC_ALIGN(8) allocationSize
;
93 uint32_t memoryTypeIndex
;
94 } VkMemoryAllocateInfo32
;
96 typedef struct VkCommandBufferInheritanceInfo32
98 VkStructureType sType
;
100 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
102 VkFramebuffer
DECLSPEC_ALIGN(8) framebuffer
;
103 VkBool32 occlusionQueryEnable
;
104 VkQueryControlFlags queryFlags
;
105 VkQueryPipelineStatisticFlags pipelineStatistics
;
106 } VkCommandBufferInheritanceInfo32
;
108 typedef struct VkCommandBufferBeginInfo32
110 VkStructureType sType
;
112 VkCommandBufferUsageFlags flags
;
113 const VkCommandBufferInheritanceInfo32
*pInheritanceInfo
;
114 } VkCommandBufferBeginInfo32
;
116 typedef struct VkBindAccelerationStructureMemoryInfoNV32
118 VkStructureType sType
;
120 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) accelerationStructure
;
121 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
122 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
123 uint32_t deviceIndexCount
;
124 const uint32_t *pDeviceIndices
;
125 } VkBindAccelerationStructureMemoryInfoNV32
;
127 typedef struct VkBindBufferMemoryInfo32
129 VkStructureType sType
;
131 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
132 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
133 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
134 } VkBindBufferMemoryInfo32
;
135 typedef VkBindBufferMemoryInfo32 VkBindBufferMemoryInfoKHR32
;
137 typedef struct VkBindImageMemorySwapchainInfoKHR32
139 VkStructureType sType
;
141 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
143 } VkBindImageMemorySwapchainInfoKHR32
;
145 typedef struct VkBindImageMemoryInfo32
147 VkStructureType sType
;
149 VkImage
DECLSPEC_ALIGN(8) image
;
150 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
151 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
152 } VkBindImageMemoryInfo32
;
153 typedef VkBindImageMemoryInfo32 VkBindImageMemoryInfoKHR32
;
155 typedef struct VkAccelerationStructureGeometryKHR32
157 VkStructureType sType
;
159 VkGeometryTypeKHR geometryType
;
160 VkAccelerationStructureGeometryDataKHR
DECLSPEC_ALIGN(8) geometry
;
161 VkGeometryFlagsKHR flags
;
162 } VkAccelerationStructureGeometryKHR32
;
164 typedef struct VkAccelerationStructureBuildGeometryInfoKHR32
166 VkStructureType sType
;
168 VkAccelerationStructureTypeKHR type
;
169 VkBuildAccelerationStructureFlagsKHR flags
;
170 VkBuildAccelerationStructureModeKHR mode
;
171 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) srcAccelerationStructure
;
172 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) dstAccelerationStructure
;
173 uint32_t geometryCount
;
174 const VkAccelerationStructureGeometryKHR32
*pGeometries
;
175 const VkAccelerationStructureGeometryKHR32
* const*ppGeometries
;
176 VkDeviceOrHostAddressKHR
DECLSPEC_ALIGN(8) scratchData
;
177 } VkAccelerationStructureBuildGeometryInfoKHR32
;
179 typedef struct VkMicromapBuildInfoEXT32
181 VkStructureType sType
;
183 VkMicromapTypeEXT type
;
184 VkBuildMicromapFlagsEXT flags
;
185 VkBuildMicromapModeEXT mode
;
186 VkMicromapEXT
DECLSPEC_ALIGN(8) dstMicromap
;
187 uint32_t usageCountsCount
;
188 const VkMicromapUsageEXT
*pUsageCounts
;
189 const VkMicromapUsageEXT
* const*ppUsageCounts
;
190 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) data
;
191 VkDeviceOrHostAddressKHR
DECLSPEC_ALIGN(8) scratchData
;
192 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) triangleArray
;
193 VkDeviceSize
DECLSPEC_ALIGN(8) triangleArrayStride
;
194 } VkMicromapBuildInfoEXT32
;
196 typedef struct VkConditionalRenderingBeginInfoEXT32
198 VkStructureType sType
;
200 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
201 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
202 VkConditionalRenderingFlagsEXT flags
;
203 } VkConditionalRenderingBeginInfoEXT32
;
205 typedef struct VkRenderPassBeginInfo32
207 VkStructureType sType
;
209 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
210 VkFramebuffer
DECLSPEC_ALIGN(8) framebuffer
;
212 uint32_t clearValueCount
;
213 const VkClearValue
*pClearValues
;
214 } VkRenderPassBeginInfo32
;
216 typedef struct VkRenderingAttachmentInfo32
218 VkStructureType sType
;
220 VkImageView
DECLSPEC_ALIGN(8) imageView
;
221 VkImageLayout imageLayout
;
222 VkResolveModeFlagBits resolveMode
;
223 VkImageView
DECLSPEC_ALIGN(8) resolveImageView
;
224 VkImageLayout resolveImageLayout
;
225 VkAttachmentLoadOp loadOp
;
226 VkAttachmentStoreOp storeOp
;
227 VkClearValue clearValue
;
228 } VkRenderingAttachmentInfo32
;
229 typedef VkRenderingAttachmentInfo32 VkRenderingAttachmentInfoKHR32
;
231 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR32
233 VkStructureType sType
;
235 VkImageView
DECLSPEC_ALIGN(8) imageView
;
236 VkImageLayout imageLayout
;
237 VkExtent2D shadingRateAttachmentTexelSize
;
238 } VkRenderingFragmentShadingRateAttachmentInfoKHR32
;
240 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT32
242 VkStructureType sType
;
244 VkImageView
DECLSPEC_ALIGN(8) imageView
;
245 VkImageLayout imageLayout
;
246 } VkRenderingFragmentDensityMapAttachmentInfoEXT32
;
248 typedef struct VkRenderingInfo32
250 VkStructureType sType
;
252 VkRenderingFlags flags
;
256 uint32_t colorAttachmentCount
;
257 const VkRenderingAttachmentInfo32
*pColorAttachments
;
258 const VkRenderingAttachmentInfo32
*pDepthAttachment
;
259 const VkRenderingAttachmentInfo32
*pStencilAttachment
;
261 typedef VkRenderingInfo32 VkRenderingInfoKHR32
;
263 typedef struct VkBlitImageInfo232
265 VkStructureType sType
;
267 VkImage
DECLSPEC_ALIGN(8) srcImage
;
268 VkImageLayout srcImageLayout
;
269 VkImage
DECLSPEC_ALIGN(8) dstImage
;
270 VkImageLayout dstImageLayout
;
271 uint32_t regionCount
;
272 const VkImageBlit2
*pRegions
;
274 } VkBlitImageInfo232
;
275 typedef VkBlitImageInfo232 VkBlitImageInfo2KHR32
;
277 typedef struct VkGeometryTrianglesNV32
279 VkStructureType sType
;
281 VkBuffer
DECLSPEC_ALIGN(8) vertexData
;
282 VkDeviceSize
DECLSPEC_ALIGN(8) vertexOffset
;
283 uint32_t vertexCount
;
284 VkDeviceSize
DECLSPEC_ALIGN(8) vertexStride
;
285 VkFormat vertexFormat
;
286 VkBuffer
DECLSPEC_ALIGN(8) indexData
;
287 VkDeviceSize
DECLSPEC_ALIGN(8) indexOffset
;
289 VkIndexType indexType
;
290 VkBuffer
DECLSPEC_ALIGN(8) transformData
;
291 VkDeviceSize
DECLSPEC_ALIGN(8) transformOffset
;
292 } VkGeometryTrianglesNV32
;
294 typedef struct VkGeometryAABBNV32
296 VkStructureType sType
;
298 VkBuffer
DECLSPEC_ALIGN(8) aabbData
;
301 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
302 } VkGeometryAABBNV32
;
304 typedef struct VkGeometryDataNV32
306 VkGeometryTrianglesNV32
DECLSPEC_ALIGN(8) triangles
;
307 VkGeometryAABBNV32
DECLSPEC_ALIGN(8) aabbs
;
308 } VkGeometryDataNV32
;
310 typedef struct VkGeometryNV32
312 VkStructureType sType
;
314 VkGeometryTypeKHR geometryType
;
315 VkGeometryDataNV32
DECLSPEC_ALIGN(8) geometry
;
316 VkGeometryFlagsKHR flags
;
319 typedef struct VkAccelerationStructureInfoNV32
321 VkStructureType sType
;
323 VkAccelerationStructureTypeNV type
;
324 VkBuildAccelerationStructureFlagsNV flags
;
325 uint32_t instanceCount
;
326 uint32_t geometryCount
;
327 const VkGeometryNV32
*pGeometries
;
328 } VkAccelerationStructureInfoNV32
;
330 typedef struct VkCopyAccelerationStructureInfoKHR32
332 VkStructureType sType
;
334 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) src
;
335 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) dst
;
336 VkCopyAccelerationStructureModeKHR mode
;
337 } VkCopyAccelerationStructureInfoKHR32
;
339 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR32
341 VkStructureType sType
;
343 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) src
;
344 VkDeviceOrHostAddressKHR
DECLSPEC_ALIGN(8) dst
;
345 VkCopyAccelerationStructureModeKHR mode
;
346 } VkCopyAccelerationStructureToMemoryInfoKHR32
;
348 typedef struct VkBufferCopy32
350 VkDeviceSize
DECLSPEC_ALIGN(8) srcOffset
;
351 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
352 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
355 typedef struct VkBufferCopy232
357 VkStructureType sType
;
359 VkDeviceSize
DECLSPEC_ALIGN(8) srcOffset
;
360 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
361 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
363 typedef VkBufferCopy232 VkBufferCopy2KHR32
;
365 typedef struct VkCopyBufferInfo232
367 VkStructureType sType
;
369 VkBuffer
DECLSPEC_ALIGN(8) srcBuffer
;
370 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
371 uint32_t regionCount
;
372 const VkBufferCopy232
*pRegions
;
373 } VkCopyBufferInfo232
;
374 typedef VkCopyBufferInfo232 VkCopyBufferInfo2KHR32
;
376 typedef struct VkBufferImageCopy32
378 VkDeviceSize
DECLSPEC_ALIGN(8) bufferOffset
;
379 uint32_t bufferRowLength
;
380 uint32_t bufferImageHeight
;
381 VkImageSubresourceLayers imageSubresource
;
382 VkOffset3D imageOffset
;
383 VkExtent3D imageExtent
;
384 } VkBufferImageCopy32
;
386 typedef struct VkBufferImageCopy232
388 VkStructureType sType
;
390 VkDeviceSize
DECLSPEC_ALIGN(8) bufferOffset
;
391 uint32_t bufferRowLength
;
392 uint32_t bufferImageHeight
;
393 VkImageSubresourceLayers imageSubresource
;
394 VkOffset3D imageOffset
;
395 VkExtent3D imageExtent
;
396 } VkBufferImageCopy232
;
397 typedef VkBufferImageCopy232 VkBufferImageCopy2KHR32
;
399 typedef struct VkCopyBufferToImageInfo232
401 VkStructureType sType
;
403 VkBuffer
DECLSPEC_ALIGN(8) srcBuffer
;
404 VkImage
DECLSPEC_ALIGN(8) dstImage
;
405 VkImageLayout dstImageLayout
;
406 uint32_t regionCount
;
407 const VkBufferImageCopy232
*pRegions
;
408 } VkCopyBufferToImageInfo232
;
409 typedef VkCopyBufferToImageInfo232 VkCopyBufferToImageInfo2KHR32
;
411 typedef struct VkCopyImageInfo232
413 VkStructureType sType
;
415 VkImage
DECLSPEC_ALIGN(8) srcImage
;
416 VkImageLayout srcImageLayout
;
417 VkImage
DECLSPEC_ALIGN(8) dstImage
;
418 VkImageLayout dstImageLayout
;
419 uint32_t regionCount
;
420 const VkImageCopy2
*pRegions
;
421 } VkCopyImageInfo232
;
422 typedef VkCopyImageInfo232 VkCopyImageInfo2KHR32
;
424 typedef struct VkCopyImageToBufferInfo232
426 VkStructureType sType
;
428 VkImage
DECLSPEC_ALIGN(8) srcImage
;
429 VkImageLayout srcImageLayout
;
430 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
431 uint32_t regionCount
;
432 const VkBufferImageCopy232
*pRegions
;
433 } VkCopyImageToBufferInfo232
;
434 typedef VkCopyImageToBufferInfo232 VkCopyImageToBufferInfo2KHR32
;
436 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR32
438 VkStructureType sType
;
440 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) src
;
441 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) dst
;
442 VkCopyAccelerationStructureModeKHR mode
;
443 } VkCopyMemoryToAccelerationStructureInfoKHR32
;
445 typedef struct VkCopyMemoryToMicromapInfoEXT32
447 VkStructureType sType
;
449 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) src
;
450 VkMicromapEXT
DECLSPEC_ALIGN(8) dst
;
451 VkCopyMicromapModeEXT mode
;
452 } VkCopyMemoryToMicromapInfoEXT32
;
454 typedef struct VkCopyMicromapInfoEXT32
456 VkStructureType sType
;
458 VkMicromapEXT
DECLSPEC_ALIGN(8) src
;
459 VkMicromapEXT
DECLSPEC_ALIGN(8) dst
;
460 VkCopyMicromapModeEXT mode
;
461 } VkCopyMicromapInfoEXT32
;
463 typedef struct VkCopyMicromapToMemoryInfoEXT32
465 VkStructureType sType
;
467 VkMicromapEXT
DECLSPEC_ALIGN(8) src
;
468 VkDeviceOrHostAddressKHR
DECLSPEC_ALIGN(8) dst
;
469 VkCopyMicromapModeEXT mode
;
470 } VkCopyMicromapToMemoryInfoEXT32
;
472 typedef struct VkCuLaunchInfoNVX32
474 VkStructureType sType
;
476 VkCuFunctionNVX
DECLSPEC_ALIGN(8) function
;
483 uint32_t sharedMemBytes
;
485 const void * const *pParams
;
487 const void * const *pExtras
;
488 } VkCuLaunchInfoNVX32
;
490 typedef struct VkDecompressMemoryRegionNV32
492 VkDeviceAddress
DECLSPEC_ALIGN(8) srcAddress
;
493 VkDeviceAddress
DECLSPEC_ALIGN(8) dstAddress
;
494 VkDeviceSize
DECLSPEC_ALIGN(8) compressedSize
;
495 VkDeviceSize
DECLSPEC_ALIGN(8) decompressedSize
;
496 VkMemoryDecompressionMethodFlagsNV decompressionMethod
;
497 } VkDecompressMemoryRegionNV32
;
499 typedef struct VkIndirectCommandsStreamNV32
501 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
502 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
503 } VkIndirectCommandsStreamNV32
;
505 typedef struct VkGeneratedCommandsInfoNV32
507 VkStructureType sType
;
509 VkPipelineBindPoint pipelineBindPoint
;
510 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
511 VkIndirectCommandsLayoutNV
DECLSPEC_ALIGN(8) indirectCommandsLayout
;
512 uint32_t streamCount
;
513 const VkIndirectCommandsStreamNV32
*pStreams
;
514 uint32_t sequencesCount
;
515 VkBuffer
DECLSPEC_ALIGN(8) preprocessBuffer
;
516 VkDeviceSize
DECLSPEC_ALIGN(8) preprocessOffset
;
517 VkDeviceSize
DECLSPEC_ALIGN(8) preprocessSize
;
518 VkBuffer
DECLSPEC_ALIGN(8) sequencesCountBuffer
;
519 VkDeviceSize
DECLSPEC_ALIGN(8) sequencesCountOffset
;
520 VkBuffer
DECLSPEC_ALIGN(8) sequencesIndexBuffer
;
521 VkDeviceSize
DECLSPEC_ALIGN(8) sequencesIndexOffset
;
522 } VkGeneratedCommandsInfoNV32
;
524 typedef struct VkBufferMemoryBarrier32
526 VkStructureType sType
;
528 VkAccessFlags srcAccessMask
;
529 VkAccessFlags dstAccessMask
;
530 uint32_t srcQueueFamilyIndex
;
531 uint32_t dstQueueFamilyIndex
;
532 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
533 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
534 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
535 } VkBufferMemoryBarrier32
;
537 typedef struct VkImageMemoryBarrier32
539 VkStructureType sType
;
541 VkAccessFlags srcAccessMask
;
542 VkAccessFlags dstAccessMask
;
543 VkImageLayout oldLayout
;
544 VkImageLayout newLayout
;
545 uint32_t srcQueueFamilyIndex
;
546 uint32_t dstQueueFamilyIndex
;
547 VkImage
DECLSPEC_ALIGN(8) image
;
548 VkImageSubresourceRange subresourceRange
;
549 } VkImageMemoryBarrier32
;
551 typedef struct VkBufferMemoryBarrier232
553 VkStructureType sType
;
555 VkPipelineStageFlags2 srcStageMask
;
556 VkAccessFlags2 srcAccessMask
;
557 VkPipelineStageFlags2 dstStageMask
;
558 VkAccessFlags2 dstAccessMask
;
559 uint32_t srcQueueFamilyIndex
;
560 uint32_t dstQueueFamilyIndex
;
561 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
562 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
563 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
564 } VkBufferMemoryBarrier232
;
565 typedef VkBufferMemoryBarrier232 VkBufferMemoryBarrier2KHR32
;
567 typedef struct VkImageMemoryBarrier232
569 VkStructureType sType
;
571 VkPipelineStageFlags2 srcStageMask
;
572 VkAccessFlags2 srcAccessMask
;
573 VkPipelineStageFlags2 dstStageMask
;
574 VkAccessFlags2 dstAccessMask
;
575 VkImageLayout oldLayout
;
576 VkImageLayout newLayout
;
577 uint32_t srcQueueFamilyIndex
;
578 uint32_t dstQueueFamilyIndex
;
579 VkImage
DECLSPEC_ALIGN(8) image
;
580 VkImageSubresourceRange subresourceRange
;
581 } VkImageMemoryBarrier232
;
582 typedef VkImageMemoryBarrier232 VkImageMemoryBarrier2KHR32
;
584 typedef struct VkDependencyInfo32
586 VkStructureType sType
;
588 VkDependencyFlags dependencyFlags
;
589 uint32_t memoryBarrierCount
;
590 const VkMemoryBarrier2
*pMemoryBarriers
;
591 uint32_t bufferMemoryBarrierCount
;
592 const VkBufferMemoryBarrier232
*pBufferMemoryBarriers
;
593 uint32_t imageMemoryBarrierCount
;
594 const VkImageMemoryBarrier232
*pImageMemoryBarriers
;
595 } VkDependencyInfo32
;
596 typedef VkDependencyInfo32 VkDependencyInfoKHR32
;
598 typedef struct VkDescriptorImageInfo32
600 VkSampler
DECLSPEC_ALIGN(8) sampler
;
601 VkImageView
DECLSPEC_ALIGN(8) imageView
;
602 VkImageLayout imageLayout
;
603 } VkDescriptorImageInfo32
;
605 typedef struct VkDescriptorBufferInfo32
607 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
608 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
609 VkDeviceSize
DECLSPEC_ALIGN(8) range
;
610 } VkDescriptorBufferInfo32
;
612 typedef struct VkWriteDescriptorSet32
614 VkStructureType sType
;
616 VkDescriptorSet
DECLSPEC_ALIGN(8) dstSet
;
618 uint32_t dstArrayElement
;
619 uint32_t descriptorCount
;
620 VkDescriptorType descriptorType
;
621 const VkDescriptorImageInfo32
*pImageInfo
;
622 const VkDescriptorBufferInfo32
*pBufferInfo
;
623 const VkBufferView
*pTexelBufferView
;
624 } VkWriteDescriptorSet32
;
626 typedef struct VkResolveImageInfo232
628 VkStructureType sType
;
630 VkImage
DECLSPEC_ALIGN(8) srcImage
;
631 VkImageLayout srcImageLayout
;
632 VkImage
DECLSPEC_ALIGN(8) dstImage
;
633 VkImageLayout dstImageLayout
;
634 uint32_t regionCount
;
635 const VkImageResolve2
*pRegions
;
636 } VkResolveImageInfo232
;
637 typedef VkResolveImageInfo232 VkResolveImageInfo2KHR32
;
639 typedef struct VkPerformanceMarkerInfoINTEL32
641 VkStructureType sType
;
643 uint64_t DECLSPEC_ALIGN(8) marker
;
644 } VkPerformanceMarkerInfoINTEL32
;
646 typedef struct VkPerformanceOverrideInfoINTEL32
648 VkStructureType sType
;
650 VkPerformanceOverrideTypeINTEL type
;
652 uint64_t DECLSPEC_ALIGN(8) parameter
;
653 } VkPerformanceOverrideInfoINTEL32
;
655 typedef struct VkStridedDeviceAddressRegionKHR32
657 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
658 VkDeviceSize
DECLSPEC_ALIGN(8) stride
;
659 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
660 } VkStridedDeviceAddressRegionKHR32
;
662 typedef struct VkAccelerationStructureCreateInfoKHR32
664 VkStructureType sType
;
666 VkAccelerationStructureCreateFlagsKHR createFlags
;
667 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
668 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
669 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
670 VkAccelerationStructureTypeKHR type
;
671 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
672 } VkAccelerationStructureCreateInfoKHR32
;
674 typedef struct VkAccelerationStructureCreateInfoNV32
676 VkStructureType sType
;
678 VkDeviceSize
DECLSPEC_ALIGN(8) compactedSize
;
679 VkAccelerationStructureInfoNV32 info
;
680 } VkAccelerationStructureCreateInfoNV32
;
682 typedef struct VkBufferOpaqueCaptureAddressCreateInfo32
684 VkStructureType sType
;
686 uint64_t DECLSPEC_ALIGN(8) opaqueCaptureAddress
;
687 } VkBufferOpaqueCaptureAddressCreateInfo32
;
688 typedef VkBufferOpaqueCaptureAddressCreateInfo32 VkBufferOpaqueCaptureAddressCreateInfoKHR32
;
690 typedef struct VkBufferDeviceAddressCreateInfoEXT32
692 VkStructureType sType
;
694 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
695 } VkBufferDeviceAddressCreateInfoEXT32
;
697 typedef struct VkBufferCreateInfo32
699 VkStructureType sType
;
701 VkBufferCreateFlags flags
;
702 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
703 VkBufferUsageFlags usage
;
704 VkSharingMode sharingMode
;
705 uint32_t queueFamilyIndexCount
;
706 const uint32_t *pQueueFamilyIndices
;
707 } VkBufferCreateInfo32
;
709 typedef struct VkBufferViewCreateInfo32
711 VkStructureType sType
;
713 VkBufferViewCreateFlags flags
;
714 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
716 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
717 VkDeviceSize
DECLSPEC_ALIGN(8) range
;
718 } VkBufferViewCreateInfo32
;
720 typedef struct VkPipelineCreationFeedback32
722 VkPipelineCreationFeedbackFlags flags
;
723 uint64_t DECLSPEC_ALIGN(8) duration
;
724 } VkPipelineCreationFeedback32
;
725 typedef VkPipelineCreationFeedback32 VkPipelineCreationFeedbackEXT32
;
727 typedef struct VkShaderModuleValidationCacheCreateInfoEXT32
729 VkStructureType sType
;
731 VkValidationCacheEXT
DECLSPEC_ALIGN(8) validationCache
;
732 } VkShaderModuleValidationCacheCreateInfoEXT32
;
734 typedef struct VkDebugUtilsObjectNameInfoEXT32
736 VkStructureType sType
;
738 VkObjectType objectType
;
739 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
740 const char *pObjectName
;
741 } VkDebugUtilsObjectNameInfoEXT32
;
743 typedef struct VkPipelineShaderStageCreateInfo32
745 VkStructureType sType
;
747 VkPipelineShaderStageCreateFlags flags
;
748 VkShaderStageFlagBits stage
;
749 VkShaderModule
DECLSPEC_ALIGN(8) module
;
751 const VkSpecializationInfo
*pSpecializationInfo
;
752 } VkPipelineShaderStageCreateInfo32
;
754 typedef struct VkPipelineCreationFeedbackCreateInfo32
756 VkStructureType sType
;
758 VkPipelineCreationFeedback32
*pPipelineCreationFeedback
;
759 uint32_t pipelineStageCreationFeedbackCount
;
760 VkPipelineCreationFeedback32
*pPipelineStageCreationFeedbacks
;
761 } VkPipelineCreationFeedbackCreateInfo32
;
762 typedef VkPipelineCreationFeedbackCreateInfo32 VkPipelineCreationFeedbackCreateInfoEXT32
;
764 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI32
766 VkStructureType sType
;
768 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
770 } VkSubpassShadingPipelineCreateInfoHUAWEI32
;
772 typedef struct VkComputePipelineCreateInfo32
774 VkStructureType sType
;
776 VkPipelineCreateFlags flags
;
777 VkPipelineShaderStageCreateInfo32
DECLSPEC_ALIGN(8) stage
;
778 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
779 VkPipeline
DECLSPEC_ALIGN(8) basePipelineHandle
;
780 int32_t basePipelineIndex
;
781 } VkComputePipelineCreateInfo32
;
783 typedef struct VkCuFunctionCreateInfoNVX32
785 VkStructureType sType
;
787 VkCuModuleNVX
DECLSPEC_ALIGN(8) module
;
789 } VkCuFunctionCreateInfoNVX32
;
791 typedef struct VkDescriptorUpdateTemplateCreateInfo32
793 VkStructureType sType
;
795 VkDescriptorUpdateTemplateCreateFlags flags
;
796 uint32_t descriptorUpdateEntryCount
;
797 const VkDescriptorUpdateTemplateEntry
*pDescriptorUpdateEntries
;
798 VkDescriptorUpdateTemplateType templateType
;
799 VkDescriptorSetLayout
DECLSPEC_ALIGN(8) descriptorSetLayout
;
800 VkPipelineBindPoint pipelineBindPoint
;
801 VkPipelineLayout
DECLSPEC_ALIGN(8) pipelineLayout
;
803 } VkDescriptorUpdateTemplateCreateInfo32
;
804 typedef VkDescriptorUpdateTemplateCreateInfo32 VkDescriptorUpdateTemplateCreateInfoKHR32
;
806 typedef struct VkFramebufferCreateInfo32
808 VkStructureType sType
;
810 VkFramebufferCreateFlags flags
;
811 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
812 uint32_t attachmentCount
;
813 const VkImageView
*pAttachments
;
817 } VkFramebufferCreateInfo32
;
819 typedef struct VkGraphicsShaderGroupCreateInfoNV32
821 VkStructureType sType
;
824 const VkPipelineShaderStageCreateInfo32
*pStages
;
825 const VkPipelineVertexInputStateCreateInfo
*pVertexInputState
;
826 const VkPipelineTessellationStateCreateInfo
*pTessellationState
;
827 } VkGraphicsShaderGroupCreateInfoNV32
;
829 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV32
831 VkStructureType sType
;
834 const VkGraphicsShaderGroupCreateInfoNV32
*pGroups
;
835 uint32_t pipelineCount
;
836 const VkPipeline
*pPipelines
;
837 } VkGraphicsPipelineShaderGroupsCreateInfoNV32
;
839 typedef struct VkGraphicsPipelineCreateInfo32
841 VkStructureType sType
;
843 VkPipelineCreateFlags flags
;
845 const VkPipelineShaderStageCreateInfo32
*pStages
;
846 const VkPipelineVertexInputStateCreateInfo
*pVertexInputState
;
847 const VkPipelineInputAssemblyStateCreateInfo
*pInputAssemblyState
;
848 const VkPipelineTessellationStateCreateInfo
*pTessellationState
;
849 const VkPipelineViewportStateCreateInfo
*pViewportState
;
850 const VkPipelineRasterizationStateCreateInfo
*pRasterizationState
;
851 const VkPipelineMultisampleStateCreateInfo
*pMultisampleState
;
852 const VkPipelineDepthStencilStateCreateInfo
*pDepthStencilState
;
853 const VkPipelineColorBlendStateCreateInfo
*pColorBlendState
;
854 const VkPipelineDynamicStateCreateInfo
*pDynamicState
;
855 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
856 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
858 VkPipeline
DECLSPEC_ALIGN(8) basePipelineHandle
;
859 int32_t basePipelineIndex
;
860 } VkGraphicsPipelineCreateInfo32
;
862 typedef struct VkImageSwapchainCreateInfoKHR32
864 VkStructureType sType
;
866 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
867 } VkImageSwapchainCreateInfoKHR32
;
869 typedef struct VkSamplerYcbcrConversionInfo32
871 VkStructureType sType
;
873 VkSamplerYcbcrConversion
DECLSPEC_ALIGN(8) conversion
;
874 } VkSamplerYcbcrConversionInfo32
;
875 typedef VkSamplerYcbcrConversionInfo32 VkSamplerYcbcrConversionInfoKHR32
;
877 typedef struct VkImageViewCreateInfo32
879 VkStructureType sType
;
881 VkImageViewCreateFlags flags
;
882 VkImage
DECLSPEC_ALIGN(8) image
;
883 VkImageViewType viewType
;
885 VkComponentMapping components
;
886 VkImageSubresourceRange subresourceRange
;
887 } VkImageViewCreateInfo32
;
889 typedef struct VkIndirectCommandsLayoutTokenNV32
891 VkStructureType sType
;
893 VkIndirectCommandsTokenTypeNV tokenType
;
896 uint32_t vertexBindingUnit
;
897 VkBool32 vertexDynamicStride
;
898 VkPipelineLayout
DECLSPEC_ALIGN(8) pushconstantPipelineLayout
;
899 VkShaderStageFlags pushconstantShaderStageFlags
;
900 uint32_t pushconstantOffset
;
901 uint32_t pushconstantSize
;
902 VkIndirectStateFlagsNV indirectStateFlags
;
903 uint32_t indexTypeCount
;
904 const VkIndexType
*pIndexTypes
;
905 const uint32_t *pIndexTypeValues
;
906 } VkIndirectCommandsLayoutTokenNV32
;
908 typedef struct VkIndirectCommandsLayoutCreateInfoNV32
910 VkStructureType sType
;
912 VkIndirectCommandsLayoutUsageFlagsNV flags
;
913 VkPipelineBindPoint pipelineBindPoint
;
915 const VkIndirectCommandsLayoutTokenNV32
*pTokens
;
916 uint32_t streamCount
;
917 const uint32_t *pStreamStrides
;
918 } VkIndirectCommandsLayoutCreateInfoNV32
;
920 typedef struct VkMicromapCreateInfoEXT32
922 VkStructureType sType
;
924 VkMicromapCreateFlagsEXT createFlags
;
925 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
926 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
927 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
928 VkMicromapTypeEXT type
;
929 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
930 } VkMicromapCreateInfoEXT32
;
932 typedef struct VkRayTracingPipelineCreateInfoKHR32
934 VkStructureType sType
;
936 VkPipelineCreateFlags flags
;
938 const VkPipelineShaderStageCreateInfo32
*pStages
;
940 const VkRayTracingShaderGroupCreateInfoKHR
*pGroups
;
941 uint32_t maxPipelineRayRecursionDepth
;
942 const VkPipelineLibraryCreateInfoKHR
*pLibraryInfo
;
943 const VkRayTracingPipelineInterfaceCreateInfoKHR
*pLibraryInterface
;
944 const VkPipelineDynamicStateCreateInfo
*pDynamicState
;
945 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
946 VkPipeline
DECLSPEC_ALIGN(8) basePipelineHandle
;
947 int32_t basePipelineIndex
;
948 } VkRayTracingPipelineCreateInfoKHR32
;
950 typedef struct VkRayTracingPipelineCreateInfoNV32
952 VkStructureType sType
;
954 VkPipelineCreateFlags flags
;
956 const VkPipelineShaderStageCreateInfo32
*pStages
;
958 const VkRayTracingShaderGroupCreateInfoNV
*pGroups
;
959 uint32_t maxRecursionDepth
;
960 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
961 VkPipeline
DECLSPEC_ALIGN(8) basePipelineHandle
;
962 int32_t basePipelineIndex
;
963 } VkRayTracingPipelineCreateInfoNV32
;
965 typedef struct VkSemaphoreTypeCreateInfo32
967 VkStructureType sType
;
969 VkSemaphoreType semaphoreType
;
970 uint64_t DECLSPEC_ALIGN(8) initialValue
;
971 } VkSemaphoreTypeCreateInfo32
;
972 typedef VkSemaphoreTypeCreateInfo32 VkSemaphoreTypeCreateInfoKHR32
;
974 typedef struct VkSwapchainCreateInfoKHR32
976 VkStructureType sType
;
978 VkSwapchainCreateFlagsKHR flags
;
979 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
980 uint32_t minImageCount
;
981 VkFormat imageFormat
;
982 VkColorSpaceKHR imageColorSpace
;
983 VkExtent2D imageExtent
;
984 uint32_t imageArrayLayers
;
985 VkImageUsageFlags imageUsage
;
986 VkSharingMode imageSharingMode
;
987 uint32_t queueFamilyIndexCount
;
988 const uint32_t *pQueueFamilyIndices
;
989 VkSurfaceTransformFlagBitsKHR preTransform
;
990 VkCompositeAlphaFlagBitsKHR compositeAlpha
;
991 VkPresentModeKHR presentMode
;
993 VkSwapchainKHR
DECLSPEC_ALIGN(8) oldSwapchain
;
994 } VkSwapchainCreateInfoKHR32
;
996 typedef struct VkDebugMarkerObjectNameInfoEXT32
998 VkStructureType sType
;
1000 VkDebugReportObjectTypeEXT objectType
;
1001 uint64_t DECLSPEC_ALIGN(8) object
;
1002 const char *pObjectName
;
1003 } VkDebugMarkerObjectNameInfoEXT32
;
1005 typedef struct VkDebugMarkerObjectTagInfoEXT32
1007 VkStructureType sType
;
1009 VkDebugReportObjectTypeEXT objectType
;
1010 uint64_t DECLSPEC_ALIGN(8) object
;
1011 uint64_t DECLSPEC_ALIGN(8) tagName
;
1014 } VkDebugMarkerObjectTagInfoEXT32
;
1016 typedef struct VkMappedMemoryRange32
1018 VkStructureType sType
;
1020 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
1021 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
1022 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1023 } VkMappedMemoryRange32
;
1025 typedef struct VkAccelerationStructureBuildSizesInfoKHR32
1027 VkStructureType sType
;
1029 VkDeviceSize
DECLSPEC_ALIGN(8) accelerationStructureSize
;
1030 VkDeviceSize
DECLSPEC_ALIGN(8) updateScratchSize
;
1031 VkDeviceSize
DECLSPEC_ALIGN(8) buildScratchSize
;
1032 } VkAccelerationStructureBuildSizesInfoKHR32
;
1034 typedef struct VkAccelerationStructureDeviceAddressInfoKHR32
1036 VkStructureType sType
;
1038 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) accelerationStructure
;
1039 } VkAccelerationStructureDeviceAddressInfoKHR32
;
1041 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV32
1043 VkStructureType sType
;
1045 VkAccelerationStructureMemoryRequirementsTypeNV type
;
1046 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) accelerationStructure
;
1047 } VkAccelerationStructureMemoryRequirementsInfoNV32
;
1049 typedef struct VkMemoryRequirements32
1051 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1052 VkDeviceSize
DECLSPEC_ALIGN(8) alignment
;
1053 uint32_t memoryTypeBits
;
1054 } VkMemoryRequirements32
;
1057 typedef struct VkBufferDeviceAddressInfo32
1059 VkStructureType sType
;
1061 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
1062 } VkBufferDeviceAddressInfo32
;
1063 typedef VkBufferDeviceAddressInfo32 VkBufferDeviceAddressInfoKHR32
;
1064 typedef VkBufferDeviceAddressInfo32 VkBufferDeviceAddressInfoEXT32
;
1066 typedef struct VkBufferMemoryRequirementsInfo232
1068 VkStructureType sType
;
1070 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
1071 } VkBufferMemoryRequirementsInfo232
;
1072 typedef VkBufferMemoryRequirementsInfo232 VkBufferMemoryRequirementsInfo2KHR32
;
1074 typedef struct VkMemoryRequirements232
1076 VkStructureType sType
;
1078 VkMemoryRequirements32
DECLSPEC_ALIGN(8) memoryRequirements
;
1079 } VkMemoryRequirements232
;
1080 typedef VkMemoryRequirements232 VkMemoryRequirements2KHR32
;
1082 typedef struct VkDescriptorSetBindingReferenceVALVE32
1084 VkStructureType sType
;
1086 VkDescriptorSetLayout
DECLSPEC_ALIGN(8) descriptorSetLayout
;
1088 } VkDescriptorSetBindingReferenceVALVE32
;
1090 typedef struct VkDeviceBufferMemoryRequirements32
1092 VkStructureType sType
;
1094 const VkBufferCreateInfo32
*pCreateInfo
;
1095 } VkDeviceBufferMemoryRequirements32
;
1096 typedef VkDeviceBufferMemoryRequirements32 VkDeviceBufferMemoryRequirementsKHR32
;
1098 typedef struct VkDeviceFaultCountsEXT32
1100 VkStructureType sType
;
1102 uint32_t addressInfoCount
;
1103 uint32_t vendorInfoCount
;
1104 VkDeviceSize
DECLSPEC_ALIGN(8) vendorBinarySize
;
1105 } VkDeviceFaultCountsEXT32
;
1107 typedef struct VkDeviceFaultAddressInfoEXT32
1109 VkDeviceFaultAddressTypeEXT addressType
;
1110 VkDeviceAddress
DECLSPEC_ALIGN(8) reportedAddress
;
1111 VkDeviceSize
DECLSPEC_ALIGN(8) addressPrecision
;
1112 } VkDeviceFaultAddressInfoEXT32
;
1114 typedef struct VkDeviceFaultVendorInfoEXT32
1116 char description
[VK_MAX_DESCRIPTION_SIZE
];
1117 uint64_t DECLSPEC_ALIGN(8) vendorFaultCode
;
1118 uint64_t DECLSPEC_ALIGN(8) vendorFaultData
;
1119 } VkDeviceFaultVendorInfoEXT32
;
1121 typedef struct VkDeviceFaultInfoEXT32
1123 VkStructureType sType
;
1125 char description
[VK_MAX_DESCRIPTION_SIZE
];
1126 VkDeviceFaultAddressInfoEXT32
*pAddressInfos
;
1127 VkDeviceFaultVendorInfoEXT32
*pVendorInfos
;
1128 void *pVendorBinaryData
;
1129 } VkDeviceFaultInfoEXT32
;
1131 typedef struct VkSparseImageMemoryRequirements32
1133 VkSparseImageFormatProperties formatProperties
;
1134 uint32_t imageMipTailFirstLod
;
1135 VkDeviceSize
DECLSPEC_ALIGN(8) imageMipTailSize
;
1136 VkDeviceSize
DECLSPEC_ALIGN(8) imageMipTailOffset
;
1137 VkDeviceSize
DECLSPEC_ALIGN(8) imageMipTailStride
;
1138 } VkSparseImageMemoryRequirements32
;
1140 typedef struct VkSparseImageMemoryRequirements232
1142 VkStructureType sType
;
1144 VkSparseImageMemoryRequirements32
DECLSPEC_ALIGN(8) memoryRequirements
;
1145 } VkSparseImageMemoryRequirements232
;
1146 typedef VkSparseImageMemoryRequirements232 VkSparseImageMemoryRequirements2KHR32
;
1148 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo32
1150 VkStructureType sType
;
1152 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
1153 } VkDeviceMemoryOpaqueCaptureAddressInfo32
;
1154 typedef VkDeviceMemoryOpaqueCaptureAddressInfo32 VkDeviceMemoryOpaqueCaptureAddressInfoKHR32
;
1156 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV32
1158 VkStructureType sType
;
1160 VkPipelineBindPoint pipelineBindPoint
;
1161 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
1162 VkIndirectCommandsLayoutNV
DECLSPEC_ALIGN(8) indirectCommandsLayout
;
1163 uint32_t maxSequencesCount
;
1164 } VkGeneratedCommandsMemoryRequirementsInfoNV32
;
1166 typedef struct VkImageMemoryRequirementsInfo232
1168 VkStructureType sType
;
1170 VkImage
DECLSPEC_ALIGN(8) image
;
1171 } VkImageMemoryRequirementsInfo232
;
1172 typedef VkImageMemoryRequirementsInfo232 VkImageMemoryRequirementsInfo2KHR32
;
1174 typedef struct VkImageSparseMemoryRequirementsInfo232
1176 VkStructureType sType
;
1178 VkImage
DECLSPEC_ALIGN(8) image
;
1179 } VkImageSparseMemoryRequirementsInfo232
;
1180 typedef VkImageSparseMemoryRequirementsInfo232 VkImageSparseMemoryRequirementsInfo2KHR32
;
1182 typedef struct VkSubresourceLayout32
1184 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
1185 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1186 VkDeviceSize
DECLSPEC_ALIGN(8) rowPitch
;
1187 VkDeviceSize
DECLSPEC_ALIGN(8) arrayPitch
;
1188 VkDeviceSize
DECLSPEC_ALIGN(8) depthPitch
;
1189 } VkSubresourceLayout32
;
1191 typedef struct VkSubresourceLayout2EXT32
1193 VkStructureType sType
;
1195 VkSubresourceLayout32
DECLSPEC_ALIGN(8) subresourceLayout
;
1196 } VkSubresourceLayout2EXT32
;
1198 typedef struct VkImageViewAddressPropertiesNVX32
1200 VkStructureType sType
;
1202 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
1203 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1204 } VkImageViewAddressPropertiesNVX32
;
1206 typedef struct VkImageViewHandleInfoNVX32
1208 VkStructureType sType
;
1210 VkImageView
DECLSPEC_ALIGN(8) imageView
;
1211 VkDescriptorType descriptorType
;
1212 VkSampler
DECLSPEC_ALIGN(8) sampler
;
1213 } VkImageViewHandleInfoNVX32
;
1215 typedef struct VkMicromapBuildSizesInfoEXT32
1217 VkStructureType sType
;
1219 VkDeviceSize
DECLSPEC_ALIGN(8) micromapSize
;
1220 VkDeviceSize
DECLSPEC_ALIGN(8) buildScratchSize
;
1221 VkBool32 discardable
;
1222 } VkMicromapBuildSizesInfoEXT32
;
1224 typedef struct VkPerformanceValueINTEL32
1226 VkPerformanceValueTypeINTEL type
;
1227 VkPerformanceValueDataINTEL
DECLSPEC_ALIGN(8) data
;
1228 } VkPerformanceValueINTEL32
;
1230 typedef struct VkImageFormatProperties32
1232 VkExtent3D maxExtent
;
1233 uint32_t maxMipLevels
;
1234 uint32_t maxArrayLayers
;
1235 VkSampleCountFlags sampleCounts
;
1236 VkDeviceSize
DECLSPEC_ALIGN(8) maxResourceSize
;
1237 } VkImageFormatProperties32
;
1239 typedef struct VkImageFormatProperties232
1241 VkStructureType sType
;
1243 VkImageFormatProperties32
DECLSPEC_ALIGN(8) imageFormatProperties
;
1244 } VkImageFormatProperties232
;
1245 typedef VkImageFormatProperties232 VkImageFormatProperties2KHR32
;
1247 typedef struct VkMemoryHeap32
1249 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1250 VkMemoryHeapFlags flags
;
1253 typedef struct VkPhysicalDeviceMemoryProperties32
1255 uint32_t memoryTypeCount
;
1256 VkMemoryType memoryTypes
[VK_MAX_MEMORY_TYPES
];
1257 uint32_t memoryHeapCount
;
1258 VkMemoryHeap32
DECLSPEC_ALIGN(8) memoryHeaps
[VK_MAX_MEMORY_HEAPS
];
1259 } VkPhysicalDeviceMemoryProperties32
;
1261 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT32
1263 VkStructureType sType
;
1265 VkDeviceSize
DECLSPEC_ALIGN(8) heapBudget
[VK_MAX_MEMORY_HEAPS
];
1266 VkDeviceSize
DECLSPEC_ALIGN(8) heapUsage
[VK_MAX_MEMORY_HEAPS
];
1267 } VkPhysicalDeviceMemoryBudgetPropertiesEXT32
;
1269 typedef struct VkPhysicalDeviceMemoryProperties232
1271 VkStructureType sType
;
1273 VkPhysicalDeviceMemoryProperties32
DECLSPEC_ALIGN(8) memoryProperties
;
1274 } VkPhysicalDeviceMemoryProperties232
;
1275 typedef VkPhysicalDeviceMemoryProperties232 VkPhysicalDeviceMemoryProperties2KHR32
;
1277 typedef struct VkPhysicalDeviceLimits32
1279 uint32_t maxImageDimension1D
;
1280 uint32_t maxImageDimension2D
;
1281 uint32_t maxImageDimension3D
;
1282 uint32_t maxImageDimensionCube
;
1283 uint32_t maxImageArrayLayers
;
1284 uint32_t maxTexelBufferElements
;
1285 uint32_t maxUniformBufferRange
;
1286 uint32_t maxStorageBufferRange
;
1287 uint32_t maxPushConstantsSize
;
1288 uint32_t maxMemoryAllocationCount
;
1289 uint32_t maxSamplerAllocationCount
;
1290 VkDeviceSize
DECLSPEC_ALIGN(8) bufferImageGranularity
;
1291 VkDeviceSize
DECLSPEC_ALIGN(8) sparseAddressSpaceSize
;
1292 uint32_t maxBoundDescriptorSets
;
1293 uint32_t maxPerStageDescriptorSamplers
;
1294 uint32_t maxPerStageDescriptorUniformBuffers
;
1295 uint32_t maxPerStageDescriptorStorageBuffers
;
1296 uint32_t maxPerStageDescriptorSampledImages
;
1297 uint32_t maxPerStageDescriptorStorageImages
;
1298 uint32_t maxPerStageDescriptorInputAttachments
;
1299 uint32_t maxPerStageResources
;
1300 uint32_t maxDescriptorSetSamplers
;
1301 uint32_t maxDescriptorSetUniformBuffers
;
1302 uint32_t maxDescriptorSetUniformBuffersDynamic
;
1303 uint32_t maxDescriptorSetStorageBuffers
;
1304 uint32_t maxDescriptorSetStorageBuffersDynamic
;
1305 uint32_t maxDescriptorSetSampledImages
;
1306 uint32_t maxDescriptorSetStorageImages
;
1307 uint32_t maxDescriptorSetInputAttachments
;
1308 uint32_t maxVertexInputAttributes
;
1309 uint32_t maxVertexInputBindings
;
1310 uint32_t maxVertexInputAttributeOffset
;
1311 uint32_t maxVertexInputBindingStride
;
1312 uint32_t maxVertexOutputComponents
;
1313 uint32_t maxTessellationGenerationLevel
;
1314 uint32_t maxTessellationPatchSize
;
1315 uint32_t maxTessellationControlPerVertexInputComponents
;
1316 uint32_t maxTessellationControlPerVertexOutputComponents
;
1317 uint32_t maxTessellationControlPerPatchOutputComponents
;
1318 uint32_t maxTessellationControlTotalOutputComponents
;
1319 uint32_t maxTessellationEvaluationInputComponents
;
1320 uint32_t maxTessellationEvaluationOutputComponents
;
1321 uint32_t maxGeometryShaderInvocations
;
1322 uint32_t maxGeometryInputComponents
;
1323 uint32_t maxGeometryOutputComponents
;
1324 uint32_t maxGeometryOutputVertices
;
1325 uint32_t maxGeometryTotalOutputComponents
;
1326 uint32_t maxFragmentInputComponents
;
1327 uint32_t maxFragmentOutputAttachments
;
1328 uint32_t maxFragmentDualSrcAttachments
;
1329 uint32_t maxFragmentCombinedOutputResources
;
1330 uint32_t maxComputeSharedMemorySize
;
1331 uint32_t maxComputeWorkGroupCount
[3];
1332 uint32_t maxComputeWorkGroupInvocations
;
1333 uint32_t maxComputeWorkGroupSize
[3];
1334 uint32_t subPixelPrecisionBits
;
1335 uint32_t subTexelPrecisionBits
;
1336 uint32_t mipmapPrecisionBits
;
1337 uint32_t maxDrawIndexedIndexValue
;
1338 uint32_t maxDrawIndirectCount
;
1339 float maxSamplerLodBias
;
1340 float maxSamplerAnisotropy
;
1341 uint32_t maxViewports
;
1342 uint32_t maxViewportDimensions
[2];
1343 float viewportBoundsRange
[2];
1344 uint32_t viewportSubPixelBits
;
1345 size_t minMemoryMapAlignment
;
1346 VkDeviceSize
DECLSPEC_ALIGN(8) minTexelBufferOffsetAlignment
;
1347 VkDeviceSize
DECLSPEC_ALIGN(8) minUniformBufferOffsetAlignment
;
1348 VkDeviceSize
DECLSPEC_ALIGN(8) minStorageBufferOffsetAlignment
;
1349 int32_t minTexelOffset
;
1350 uint32_t maxTexelOffset
;
1351 int32_t minTexelGatherOffset
;
1352 uint32_t maxTexelGatherOffset
;
1353 float minInterpolationOffset
;
1354 float maxInterpolationOffset
;
1355 uint32_t subPixelInterpolationOffsetBits
;
1356 uint32_t maxFramebufferWidth
;
1357 uint32_t maxFramebufferHeight
;
1358 uint32_t maxFramebufferLayers
;
1359 VkSampleCountFlags framebufferColorSampleCounts
;
1360 VkSampleCountFlags framebufferDepthSampleCounts
;
1361 VkSampleCountFlags framebufferStencilSampleCounts
;
1362 VkSampleCountFlags framebufferNoAttachmentsSampleCounts
;
1363 uint32_t maxColorAttachments
;
1364 VkSampleCountFlags sampledImageColorSampleCounts
;
1365 VkSampleCountFlags sampledImageIntegerSampleCounts
;
1366 VkSampleCountFlags sampledImageDepthSampleCounts
;
1367 VkSampleCountFlags sampledImageStencilSampleCounts
;
1368 VkSampleCountFlags storageImageSampleCounts
;
1369 uint32_t maxSampleMaskWords
;
1370 VkBool32 timestampComputeAndGraphics
;
1371 float timestampPeriod
;
1372 uint32_t maxClipDistances
;
1373 uint32_t maxCullDistances
;
1374 uint32_t maxCombinedClipAndCullDistances
;
1375 uint32_t discreteQueuePriorities
;
1376 float pointSizeRange
[2];
1377 float lineWidthRange
[2];
1378 float pointSizeGranularity
;
1379 float lineWidthGranularity
;
1380 VkBool32 strictLines
;
1381 VkBool32 standardSampleLocations
;
1382 VkDeviceSize
DECLSPEC_ALIGN(8) optimalBufferCopyOffsetAlignment
;
1383 VkDeviceSize
DECLSPEC_ALIGN(8) optimalBufferCopyRowPitchAlignment
;
1384 VkDeviceSize
DECLSPEC_ALIGN(8) nonCoherentAtomSize
;
1385 } VkPhysicalDeviceLimits32
;
1387 typedef struct VkPhysicalDeviceProperties32
1389 uint32_t apiVersion
;
1390 uint32_t driverVersion
;
1393 VkPhysicalDeviceType deviceType
;
1394 char deviceName
[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
];
1395 uint8_t pipelineCacheUUID
[VK_UUID_SIZE
];
1396 VkPhysicalDeviceLimits32
DECLSPEC_ALIGN(8) limits
;
1397 VkPhysicalDeviceSparseProperties sparseProperties
;
1398 } VkPhysicalDeviceProperties32
;
1400 typedef struct VkPhysicalDeviceMaintenance3Properties32
1402 VkStructureType sType
;
1404 uint32_t maxPerSetDescriptors
;
1405 VkDeviceSize
DECLSPEC_ALIGN(8) maxMemoryAllocationSize
;
1406 } VkPhysicalDeviceMaintenance3Properties32
;
1407 typedef VkPhysicalDeviceMaintenance3Properties32 VkPhysicalDeviceMaintenance3PropertiesKHR32
;
1409 typedef struct VkPhysicalDeviceMaintenance4Properties32
1411 VkStructureType sType
;
1413 VkDeviceSize
DECLSPEC_ALIGN(8) maxBufferSize
;
1414 } VkPhysicalDeviceMaintenance4Properties32
;
1415 typedef VkPhysicalDeviceMaintenance4Properties32 VkPhysicalDeviceMaintenance4PropertiesKHR32
;
1417 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT32
1419 VkStructureType sType
;
1421 VkDeviceSize
DECLSPEC_ALIGN(8) minImportedHostPointerAlignment
;
1422 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT32
;
1424 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties32
1426 VkStructureType sType
;
1428 uint64_t DECLSPEC_ALIGN(8) maxTimelineSemaphoreValueDifference
;
1429 } VkPhysicalDeviceTimelineSemaphoreProperties32
;
1430 typedef VkPhysicalDeviceTimelineSemaphoreProperties32 VkPhysicalDeviceTimelineSemaphorePropertiesKHR32
;
1432 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT32
1434 VkStructureType sType
;
1436 uint32_t maxTransformFeedbackStreams
;
1437 uint32_t maxTransformFeedbackBuffers
;
1438 VkDeviceSize
DECLSPEC_ALIGN(8) maxTransformFeedbackBufferSize
;
1439 uint32_t maxTransformFeedbackStreamDataSize
;
1440 uint32_t maxTransformFeedbackBufferDataSize
;
1441 uint32_t maxTransformFeedbackBufferDataStride
;
1442 VkBool32 transformFeedbackQueries
;
1443 VkBool32 transformFeedbackStreamsLinesTriangles
;
1444 VkBool32 transformFeedbackRasterizationStreamSelect
;
1445 VkBool32 transformFeedbackDraw
;
1446 } VkPhysicalDeviceTransformFeedbackPropertiesEXT32
;
1448 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV32
1450 VkStructureType sType
;
1452 VkMemoryDecompressionMethodFlagsNV decompressionMethods
;
1453 uint64_t DECLSPEC_ALIGN(8) maxDecompressionIndirectCount
;
1454 } VkPhysicalDeviceMemoryDecompressionPropertiesNV32
;
1456 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR32
1458 VkStructureType sType
;
1460 uint64_t DECLSPEC_ALIGN(8) maxGeometryCount
;
1461 uint64_t DECLSPEC_ALIGN(8) maxInstanceCount
;
1462 uint64_t DECLSPEC_ALIGN(8) maxPrimitiveCount
;
1463 uint32_t maxPerStageDescriptorAccelerationStructures
;
1464 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures
;
1465 uint32_t maxDescriptorSetAccelerationStructures
;
1466 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures
;
1467 uint32_t minAccelerationStructureScratchOffsetAlignment
;
1468 } VkPhysicalDeviceAccelerationStructurePropertiesKHR32
;
1470 typedef struct VkPhysicalDeviceRayTracingPropertiesNV32
1472 VkStructureType sType
;
1474 uint32_t shaderGroupHandleSize
;
1475 uint32_t maxRecursionDepth
;
1476 uint32_t maxShaderGroupStride
;
1477 uint32_t shaderGroupBaseAlignment
;
1478 uint64_t DECLSPEC_ALIGN(8) maxGeometryCount
;
1479 uint64_t DECLSPEC_ALIGN(8) maxInstanceCount
;
1480 uint64_t DECLSPEC_ALIGN(8) maxTriangleCount
;
1481 uint32_t maxDescriptorSetAccelerationStructures
;
1482 } VkPhysicalDeviceRayTracingPropertiesNV32
;
1484 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties32
1486 VkStructureType sType
;
1488 VkDeviceSize
DECLSPEC_ALIGN(8) storageTexelBufferOffsetAlignmentBytes
;
1489 VkBool32 storageTexelBufferOffsetSingleTexelAlignment
;
1490 VkDeviceSize
DECLSPEC_ALIGN(8) uniformTexelBufferOffsetAlignmentBytes
;
1491 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment
;
1492 } VkPhysicalDeviceTexelBufferAlignmentProperties32
;
1493 typedef VkPhysicalDeviceTexelBufferAlignmentProperties32 VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT32
;
1495 typedef struct VkPhysicalDeviceVulkan11Properties32
1497 VkStructureType sType
;
1499 uint8_t deviceUUID
[VK_UUID_SIZE
];
1500 uint8_t driverUUID
[VK_UUID_SIZE
];
1501 uint8_t deviceLUID
[VK_LUID_SIZE
];
1502 uint32_t deviceNodeMask
;
1503 VkBool32 deviceLUIDValid
;
1504 uint32_t subgroupSize
;
1505 VkShaderStageFlags subgroupSupportedStages
;
1506 VkSubgroupFeatureFlags subgroupSupportedOperations
;
1507 VkBool32 subgroupQuadOperationsInAllStages
;
1508 VkPointClippingBehavior pointClippingBehavior
;
1509 uint32_t maxMultiviewViewCount
;
1510 uint32_t maxMultiviewInstanceIndex
;
1511 VkBool32 protectedNoFault
;
1512 uint32_t maxPerSetDescriptors
;
1513 VkDeviceSize
DECLSPEC_ALIGN(8) maxMemoryAllocationSize
;
1514 } VkPhysicalDeviceVulkan11Properties32
;
1516 typedef struct VkPhysicalDeviceVulkan12Properties32
1518 VkStructureType sType
;
1520 VkDriverId driverID
;
1521 char driverName
[VK_MAX_DRIVER_NAME_SIZE
];
1522 char driverInfo
[VK_MAX_DRIVER_INFO_SIZE
];
1523 VkConformanceVersion conformanceVersion
;
1524 VkShaderFloatControlsIndependence denormBehaviorIndependence
;
1525 VkShaderFloatControlsIndependence roundingModeIndependence
;
1526 VkBool32 shaderSignedZeroInfNanPreserveFloat16
;
1527 VkBool32 shaderSignedZeroInfNanPreserveFloat32
;
1528 VkBool32 shaderSignedZeroInfNanPreserveFloat64
;
1529 VkBool32 shaderDenormPreserveFloat16
;
1530 VkBool32 shaderDenormPreserveFloat32
;
1531 VkBool32 shaderDenormPreserveFloat64
;
1532 VkBool32 shaderDenormFlushToZeroFloat16
;
1533 VkBool32 shaderDenormFlushToZeroFloat32
;
1534 VkBool32 shaderDenormFlushToZeroFloat64
;
1535 VkBool32 shaderRoundingModeRTEFloat16
;
1536 VkBool32 shaderRoundingModeRTEFloat32
;
1537 VkBool32 shaderRoundingModeRTEFloat64
;
1538 VkBool32 shaderRoundingModeRTZFloat16
;
1539 VkBool32 shaderRoundingModeRTZFloat32
;
1540 VkBool32 shaderRoundingModeRTZFloat64
;
1541 uint32_t maxUpdateAfterBindDescriptorsInAllPools
;
1542 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative
;
1543 VkBool32 shaderSampledImageArrayNonUniformIndexingNative
;
1544 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative
;
1545 VkBool32 shaderStorageImageArrayNonUniformIndexingNative
;
1546 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative
;
1547 VkBool32 robustBufferAccessUpdateAfterBind
;
1548 VkBool32 quadDivergentImplicitLod
;
1549 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers
;
1550 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers
;
1551 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers
;
1552 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages
;
1553 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages
;
1554 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments
;
1555 uint32_t maxPerStageUpdateAfterBindResources
;
1556 uint32_t maxDescriptorSetUpdateAfterBindSamplers
;
1557 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers
;
1558 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
;
1559 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers
;
1560 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
;
1561 uint32_t maxDescriptorSetUpdateAfterBindSampledImages
;
1562 uint32_t maxDescriptorSetUpdateAfterBindStorageImages
;
1563 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments
;
1564 VkResolveModeFlags supportedDepthResolveModes
;
1565 VkResolveModeFlags supportedStencilResolveModes
;
1566 VkBool32 independentResolveNone
;
1567 VkBool32 independentResolve
;
1568 VkBool32 filterMinmaxSingleComponentFormats
;
1569 VkBool32 filterMinmaxImageComponentMapping
;
1570 uint64_t DECLSPEC_ALIGN(8) maxTimelineSemaphoreValueDifference
;
1571 VkSampleCountFlags framebufferIntegerColorSampleCounts
;
1572 } VkPhysicalDeviceVulkan12Properties32
;
1574 typedef struct VkPhysicalDeviceVulkan13Properties32
1576 VkStructureType sType
;
1578 uint32_t minSubgroupSize
;
1579 uint32_t maxSubgroupSize
;
1580 uint32_t maxComputeWorkgroupSubgroups
;
1581 VkShaderStageFlags requiredSubgroupSizeStages
;
1582 uint32_t maxInlineUniformBlockSize
;
1583 uint32_t maxPerStageDescriptorInlineUniformBlocks
;
1584 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
;
1585 uint32_t maxDescriptorSetInlineUniformBlocks
;
1586 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks
;
1587 uint32_t maxInlineUniformTotalSize
;
1588 VkBool32 integerDotProduct8BitUnsignedAccelerated
;
1589 VkBool32 integerDotProduct8BitSignedAccelerated
;
1590 VkBool32 integerDotProduct8BitMixedSignednessAccelerated
;
1591 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated
;
1592 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated
;
1593 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated
;
1594 VkBool32 integerDotProduct16BitUnsignedAccelerated
;
1595 VkBool32 integerDotProduct16BitSignedAccelerated
;
1596 VkBool32 integerDotProduct16BitMixedSignednessAccelerated
;
1597 VkBool32 integerDotProduct32BitUnsignedAccelerated
;
1598 VkBool32 integerDotProduct32BitSignedAccelerated
;
1599 VkBool32 integerDotProduct32BitMixedSignednessAccelerated
;
1600 VkBool32 integerDotProduct64BitUnsignedAccelerated
;
1601 VkBool32 integerDotProduct64BitSignedAccelerated
;
1602 VkBool32 integerDotProduct64BitMixedSignednessAccelerated
;
1603 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
;
1604 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated
;
1605 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
;
1606 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
;
1607 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
;
1608 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
;
1609 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
;
1610 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated
;
1611 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
;
1612 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
;
1613 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated
;
1614 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
;
1615 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
;
1616 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated
;
1617 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
;
1618 VkDeviceSize
DECLSPEC_ALIGN(8) storageTexelBufferOffsetAlignmentBytes
;
1619 VkBool32 storageTexelBufferOffsetSingleTexelAlignment
;
1620 VkDeviceSize
DECLSPEC_ALIGN(8) uniformTexelBufferOffsetAlignmentBytes
;
1621 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment
;
1622 VkDeviceSize
DECLSPEC_ALIGN(8) maxBufferSize
;
1623 } VkPhysicalDeviceVulkan13Properties32
;
1625 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT32
1627 VkStructureType sType
;
1629 VkDeviceSize
DECLSPEC_ALIGN(8) robustStorageBufferAccessSizeAlignment
;
1630 VkDeviceSize
DECLSPEC_ALIGN(8) robustUniformBufferAccessSizeAlignment
;
1631 } VkPhysicalDeviceRobustness2PropertiesEXT32
;
1633 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM32
1635 VkStructureType sType
;
1637 uint64_t DECLSPEC_ALIGN(8) shaderCoreMask
;
1638 uint32_t shaderCoreCount
;
1639 uint32_t shaderWarpsPerCore
;
1640 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM32
;
1642 typedef struct VkPhysicalDeviceProperties232
1644 VkStructureType sType
;
1646 VkPhysicalDeviceProperties32
DECLSPEC_ALIGN(8) properties
;
1647 } VkPhysicalDeviceProperties232
;
1648 typedef VkPhysicalDeviceProperties232 VkPhysicalDeviceProperties2KHR32
;
1650 typedef struct VkPhysicalDeviceSurfaceInfo2KHR32
1652 VkStructureType sType
;
1654 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
1655 } VkPhysicalDeviceSurfaceInfo2KHR32
;
1657 typedef struct VkPipelineExecutableInfoKHR32
1659 VkStructureType sType
;
1661 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
1662 uint32_t executableIndex
;
1663 } VkPipelineExecutableInfoKHR32
;
1665 typedef struct VkPipelineInfoKHR32
1667 VkStructureType sType
;
1669 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
1670 } VkPipelineInfoKHR32
;
1671 typedef VkPipelineInfoKHR32 VkPipelineInfoEXT32
;
1673 typedef struct VkPipelineExecutableStatisticKHR32
1675 VkStructureType sType
;
1677 char name
[VK_MAX_DESCRIPTION_SIZE
];
1678 char description
[VK_MAX_DESCRIPTION_SIZE
];
1679 VkPipelineExecutableStatisticFormatKHR format
;
1680 VkPipelineExecutableStatisticValueKHR
DECLSPEC_ALIGN(8) value
;
1681 } VkPipelineExecutableStatisticKHR32
;
1684 typedef struct VkSparseMemoryBind32
1686 VkDeviceSize
DECLSPEC_ALIGN(8) resourceOffset
;
1687 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1688 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
1689 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
1690 VkSparseMemoryBindFlags flags
;
1691 } VkSparseMemoryBind32
;
1693 typedef struct VkSparseBufferMemoryBindInfo32
1695 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
1697 const VkSparseMemoryBind32
*pBinds
;
1698 } VkSparseBufferMemoryBindInfo32
;
1700 typedef struct VkSparseImageOpaqueMemoryBindInfo32
1702 VkImage
DECLSPEC_ALIGN(8) image
;
1704 const VkSparseMemoryBind32
*pBinds
;
1705 } VkSparseImageOpaqueMemoryBindInfo32
;
1707 typedef struct VkSparseImageMemoryBind32
1709 VkImageSubresource subresource
;
1712 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
1713 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
1714 VkSparseMemoryBindFlags flags
;
1715 } VkSparseImageMemoryBind32
;
1717 typedef struct VkSparseImageMemoryBindInfo32
1719 VkImage
DECLSPEC_ALIGN(8) image
;
1721 const VkSparseImageMemoryBind32
*pBinds
;
1722 } VkSparseImageMemoryBindInfo32
;
1724 typedef struct VkBindSparseInfo32
1726 VkStructureType sType
;
1728 uint32_t waitSemaphoreCount
;
1729 const VkSemaphore
*pWaitSemaphores
;
1730 uint32_t bufferBindCount
;
1731 const VkSparseBufferMemoryBindInfo32
*pBufferBinds
;
1732 uint32_t imageOpaqueBindCount
;
1733 const VkSparseImageOpaqueMemoryBindInfo32
*pImageOpaqueBinds
;
1734 uint32_t imageBindCount
;
1735 const VkSparseImageMemoryBindInfo32
*pImageBinds
;
1736 uint32_t signalSemaphoreCount
;
1737 const VkSemaphore
*pSignalSemaphores
;
1738 } VkBindSparseInfo32
;
1740 typedef struct VkSemaphoreSubmitInfo32
1742 VkStructureType sType
;
1744 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
1745 uint64_t DECLSPEC_ALIGN(8) value
;
1746 VkPipelineStageFlags2 stageMask
;
1747 uint32_t deviceIndex
;
1748 } VkSemaphoreSubmitInfo32
;
1749 typedef VkSemaphoreSubmitInfo32 VkSemaphoreSubmitInfoKHR32
;
1751 typedef struct VkSubmitInfo232
1753 VkStructureType sType
;
1755 VkSubmitFlags flags
;
1756 uint32_t waitSemaphoreInfoCount
;
1757 const VkSemaphoreSubmitInfo32
*pWaitSemaphoreInfos
;
1758 uint32_t commandBufferInfoCount
;
1759 const VkCommandBufferSubmitInfo
*pCommandBufferInfos
;
1760 uint32_t signalSemaphoreInfoCount
;
1761 const VkSemaphoreSubmitInfo32
*pSignalSemaphoreInfos
;
1763 typedef VkSubmitInfo232 VkSubmitInfo2KHR32
;
1765 typedef struct VkDebugUtilsObjectTagInfoEXT32
1767 VkStructureType sType
;
1769 VkObjectType objectType
;
1770 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
1771 uint64_t DECLSPEC_ALIGN(8) tagName
;
1774 } VkDebugUtilsObjectTagInfoEXT32
;
1776 typedef struct VkSemaphoreSignalInfo32
1778 VkStructureType sType
;
1780 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
1781 uint64_t DECLSPEC_ALIGN(8) value
;
1782 } VkSemaphoreSignalInfo32
;
1783 typedef VkSemaphoreSignalInfo32 VkSemaphoreSignalInfoKHR32
;
1785 typedef struct VkDeviceAddressBindingCallbackDataEXT32
1787 VkStructureType sType
;
1789 VkDeviceAddressBindingFlagsEXT flags
;
1790 VkDeviceAddress
DECLSPEC_ALIGN(8) baseAddress
;
1791 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1792 VkDeviceAddressBindingTypeEXT bindingType
;
1793 } VkDeviceAddressBindingCallbackDataEXT32
;
1795 typedef struct VkDebugUtilsMessengerCallbackDataEXT32
1797 VkStructureType sType
;
1799 VkDebugUtilsMessengerCallbackDataFlagsEXT flags
;
1800 const char *pMessageIdName
;
1801 int32_t messageIdNumber
;
1802 const char *pMessage
;
1803 uint32_t queueLabelCount
;
1804 const VkDebugUtilsLabelEXT
*pQueueLabels
;
1805 uint32_t cmdBufLabelCount
;
1806 const VkDebugUtilsLabelEXT
*pCmdBufLabels
;
1807 uint32_t objectCount
;
1808 const VkDebugUtilsObjectNameInfoEXT32
*pObjects
;
1809 } VkDebugUtilsMessengerCallbackDataEXT32
;
1811 typedef struct VkCopyDescriptorSet32
1813 VkStructureType sType
;
1815 VkDescriptorSet
DECLSPEC_ALIGN(8) srcSet
;
1816 uint32_t srcBinding
;
1817 uint32_t srcArrayElement
;
1818 VkDescriptorSet
DECLSPEC_ALIGN(8) dstSet
;
1819 uint32_t dstBinding
;
1820 uint32_t dstArrayElement
;
1821 uint32_t descriptorCount
;
1822 } VkCopyDescriptorSet32
;
1824 #endif /* USE_STRUCT_CONVERSION */
1826 static uint64_t wine_vk_unwrap_handle(uint32_t type
, uint64_t handle
)
1830 case VK_OBJECT_TYPE_COMMAND_BUFFER
:
1831 return (uint64_t) (uintptr_t) wine_cmd_buffer_from_handle(((VkCommandBuffer
) (uintptr_t) handle
))->command_buffer
;
1832 case VK_OBJECT_TYPE_COMMAND_POOL
:
1833 return (uint64_t) wine_cmd_pool_from_handle(handle
)->command_pool
;
1834 case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
:
1835 return (uint64_t) wine_debug_report_callback_from_handle(handle
)->debug_callback
;
1836 case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
:
1837 return (uint64_t) wine_debug_utils_messenger_from_handle(handle
)->debug_messenger
;
1838 case VK_OBJECT_TYPE_DEVICE
:
1839 return (uint64_t) (uintptr_t) wine_device_from_handle(((VkDevice
) (uintptr_t) handle
))->device
;
1840 case VK_OBJECT_TYPE_INSTANCE
:
1841 return (uint64_t) (uintptr_t) wine_instance_from_handle(((VkInstance
) (uintptr_t) handle
))->instance
;
1842 case VK_OBJECT_TYPE_PHYSICAL_DEVICE
:
1843 return (uint64_t) (uintptr_t) wine_phys_dev_from_handle(((VkPhysicalDevice
) (uintptr_t) handle
))->phys_dev
;
1844 case VK_OBJECT_TYPE_QUEUE
:
1845 return (uint64_t) (uintptr_t) wine_queue_from_handle(((VkQueue
) (uintptr_t) handle
))->queue
;
1846 case VK_OBJECT_TYPE_SURFACE_KHR
:
1847 return (uint64_t) wine_surface_from_handle(handle
)->surface
;
1853 #if defined(USE_STRUCT_CONVERSION)
1854 static inline void convert_VkAcquireNextImageInfoKHR_win32_to_host(const VkAcquireNextImageInfoKHR32
*in
, VkAcquireNextImageInfoKHR
*out
)
1858 out
->sType
= in
->sType
;
1859 out
->pNext
= in
->pNext
;
1860 out
->swapchain
= in
->swapchain
;
1861 out
->timeout
= in
->timeout
;
1862 out
->semaphore
= in
->semaphore
;
1863 out
->fence
= in
->fence
;
1864 out
->deviceMask
= in
->deviceMask
;
1866 #endif /* USE_STRUCT_CONVERSION */
1868 #if defined(USE_STRUCT_CONVERSION)
1869 static inline void convert_VkAcquireProfilingLockInfoKHR_win32_to_host(const VkAcquireProfilingLockInfoKHR32
*in
, VkAcquireProfilingLockInfoKHR
*out
)
1873 out
->sType
= in
->sType
;
1874 out
->pNext
= in
->pNext
;
1875 out
->flags
= in
->flags
;
1876 out
->timeout
= in
->timeout
;
1878 #endif /* USE_STRUCT_CONVERSION */
1880 #if defined(USE_STRUCT_CONVERSION)
1881 static inline void convert_VkCommandBufferAllocateInfo_win32_to_unwrapped_host(const VkCommandBufferAllocateInfo32
*in
, VkCommandBufferAllocateInfo
*out
)
1885 out
->sType
= in
->sType
;
1886 out
->pNext
= in
->pNext
;
1887 out
->commandPool
= in
->commandPool
;
1888 out
->level
= in
->level
;
1889 out
->commandBufferCount
= in
->commandBufferCount
;
1891 #endif /* USE_STRUCT_CONVERSION */
1893 #if defined(USE_STRUCT_CONVERSION)
1894 static inline void convert_VkDescriptorSetAllocateInfo_win32_to_host(const VkDescriptorSetAllocateInfo32
*in
, VkDescriptorSetAllocateInfo
*out
)
1898 out
->sType
= in
->sType
;
1899 out
->pNext
= in
->pNext
;
1900 out
->descriptorPool
= in
->descriptorPool
;
1901 out
->descriptorSetCount
= in
->descriptorSetCount
;
1902 out
->pSetLayouts
= in
->pSetLayouts
;
1904 #endif /* USE_STRUCT_CONVERSION */
1906 #if defined(USE_STRUCT_CONVERSION)
1907 static inline void convert_VkMemoryAllocateInfo_win32_to_host(struct conversion_context
*ctx
, const VkMemoryAllocateInfo32
*in
, VkMemoryAllocateInfo
*out
)
1909 const VkBaseInStructure
*in_header
;
1910 VkBaseOutStructure
*out_header
= (void *)out
;
1914 out
->sType
= in
->sType
;
1916 out
->allocationSize
= in
->allocationSize
;
1917 out
->memoryTypeIndex
= in
->memoryTypeIndex
;
1919 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
1921 switch (in_header
->sType
)
1923 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV
:
1925 VkDedicatedAllocationMemoryAllocateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
1926 const VkDedicatedAllocationMemoryAllocateInfoNV32
*in_ext
= (const VkDedicatedAllocationMemoryAllocateInfoNV32
*)in_header
;
1927 out_ext
->sType
= VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV
;
1928 out_ext
->pNext
= NULL
;
1929 out_ext
->image
= in_ext
->image
;
1930 out_ext
->buffer
= in_ext
->buffer
;
1931 out_header
->pNext
= (void *)out_ext
;
1932 out_header
= (void *)out_ext
;
1935 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO
:
1937 VkExportMemoryAllocateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
1938 const VkExportMemoryAllocateInfo
*in_ext
= (const VkExportMemoryAllocateInfo
*)in_header
;
1939 out_ext
->sType
= VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO
;
1940 out_ext
->pNext
= NULL
;
1941 out_ext
->handleTypes
= in_ext
->handleTypes
;
1942 out_header
->pNext
= (void *)out_ext
;
1943 out_header
= (void *)out_ext
;
1946 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR
:
1948 VkImportMemoryWin32HandleInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
1949 const VkImportMemoryWin32HandleInfoKHR
*in_ext
= (const VkImportMemoryWin32HandleInfoKHR
*)in_header
;
1950 out_ext
->sType
= VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR
;
1951 out_ext
->pNext
= NULL
;
1952 out_ext
->handleType
= in_ext
->handleType
;
1953 out_ext
->handle
= in_ext
->handle
;
1954 out_ext
->name
= in_ext
->name
;
1955 out_header
->pNext
= (void *)out_ext
;
1956 out_header
= (void *)out_ext
;
1959 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR
:
1961 VkExportMemoryWin32HandleInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
1962 const VkExportMemoryWin32HandleInfoKHR
*in_ext
= (const VkExportMemoryWin32HandleInfoKHR
*)in_header
;
1963 out_ext
->sType
= VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR
;
1964 out_ext
->pNext
= NULL
;
1965 out_ext
->pAttributes
= in_ext
->pAttributes
;
1966 out_ext
->dwAccess
= in_ext
->dwAccess
;
1967 out_ext
->name
= in_ext
->name
;
1968 out_header
->pNext
= (void *)out_ext
;
1969 out_header
= (void *)out_ext
;
1972 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO
:
1974 VkMemoryAllocateFlagsInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
1975 const VkMemoryAllocateFlagsInfo
*in_ext
= (const VkMemoryAllocateFlagsInfo
*)in_header
;
1976 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO
;
1977 out_ext
->pNext
= NULL
;
1978 out_ext
->flags
= in_ext
->flags
;
1979 out_ext
->deviceMask
= in_ext
->deviceMask
;
1980 out_header
->pNext
= (void *)out_ext
;
1981 out_header
= (void *)out_ext
;
1984 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
:
1986 VkMemoryDedicatedAllocateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
1987 const VkMemoryDedicatedAllocateInfo32
*in_ext
= (const VkMemoryDedicatedAllocateInfo32
*)in_header
;
1988 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
;
1989 out_ext
->pNext
= NULL
;
1990 out_ext
->image
= in_ext
->image
;
1991 out_ext
->buffer
= in_ext
->buffer
;
1992 out_header
->pNext
= (void *)out_ext
;
1993 out_header
= (void *)out_ext
;
1996 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT
:
1998 VkImportMemoryHostPointerInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
1999 const VkImportMemoryHostPointerInfoEXT
*in_ext
= (const VkImportMemoryHostPointerInfoEXT
*)in_header
;
2000 out_ext
->sType
= VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT
;
2001 out_ext
->pNext
= NULL
;
2002 out_ext
->handleType
= in_ext
->handleType
;
2003 out_ext
->pHostPointer
= in_ext
->pHostPointer
;
2004 out_header
->pNext
= (void *)out_ext
;
2005 out_header
= (void *)out_ext
;
2008 case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT
:
2010 VkMemoryPriorityAllocateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2011 const VkMemoryPriorityAllocateInfoEXT
*in_ext
= (const VkMemoryPriorityAllocateInfoEXT
*)in_header
;
2012 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT
;
2013 out_ext
->pNext
= NULL
;
2014 out_ext
->priority
= in_ext
->priority
;
2015 out_header
->pNext
= (void *)out_ext
;
2016 out_header
= (void *)out_ext
;
2019 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO
:
2021 VkMemoryOpaqueCaptureAddressAllocateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2022 const VkMemoryOpaqueCaptureAddressAllocateInfo32
*in_ext
= (const VkMemoryOpaqueCaptureAddressAllocateInfo32
*)in_header
;
2023 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO
;
2024 out_ext
->pNext
= NULL
;
2025 out_ext
->opaqueCaptureAddress
= in_ext
->opaqueCaptureAddress
;
2026 out_header
->pNext
= (void *)out_ext
;
2027 out_header
= (void *)out_ext
;
2031 FIXME("Unhandled sType %u.", in_header
->sType
);
2036 #endif /* USE_STRUCT_CONVERSION */
2038 #if defined(USE_STRUCT_CONVERSION)
2039 static inline void convert_VkCommandBufferInheritanceInfo_win32_to_host(const VkCommandBufferInheritanceInfo32
*in
, VkCommandBufferInheritanceInfo
*out
)
2043 out
->sType
= in
->sType
;
2044 out
->pNext
= in
->pNext
;
2045 out
->renderPass
= in
->renderPass
;
2046 out
->subpass
= in
->subpass
;
2047 out
->framebuffer
= in
->framebuffer
;
2048 out
->occlusionQueryEnable
= in
->occlusionQueryEnable
;
2049 out
->queryFlags
= in
->queryFlags
;
2050 out
->pipelineStatistics
= in
->pipelineStatistics
;
2052 #endif /* USE_STRUCT_CONVERSION */
2054 #if defined(USE_STRUCT_CONVERSION)
2055 static inline const VkCommandBufferInheritanceInfo
*convert_VkCommandBufferInheritanceInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkCommandBufferInheritanceInfo32
*in
, uint32_t count
)
2057 VkCommandBufferInheritanceInfo
*out
;
2060 if (!in
|| !count
) return NULL
;
2062 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2063 for (i
= 0; i
< count
; i
++)
2065 convert_VkCommandBufferInheritanceInfo_win32_to_host(&in
[i
], &out
[i
]);
2070 #endif /* USE_STRUCT_CONVERSION */
2072 #if defined(USE_STRUCT_CONVERSION)
2073 static inline void convert_VkCommandBufferBeginInfo_win32_to_host(struct conversion_context
*ctx
, const VkCommandBufferBeginInfo32
*in
, VkCommandBufferBeginInfo
*out
)
2077 out
->sType
= in
->sType
;
2078 out
->pNext
= in
->pNext
;
2079 out
->flags
= in
->flags
;
2080 out
->pInheritanceInfo
= convert_VkCommandBufferInheritanceInfo_array_win32_to_host(ctx
, in
->pInheritanceInfo
, 1);
2082 #endif /* USE_STRUCT_CONVERSION */
2084 #if defined(USE_STRUCT_CONVERSION)
2085 static inline void convert_VkBindAccelerationStructureMemoryInfoNV_win32_to_host(const VkBindAccelerationStructureMemoryInfoNV32
*in
, VkBindAccelerationStructureMemoryInfoNV
*out
)
2089 out
->sType
= in
->sType
;
2090 out
->pNext
= in
->pNext
;
2091 out
->accelerationStructure
= in
->accelerationStructure
;
2092 out
->memory
= in
->memory
;
2093 out
->memoryOffset
= in
->memoryOffset
;
2094 out
->deviceIndexCount
= in
->deviceIndexCount
;
2095 out
->pDeviceIndices
= in
->pDeviceIndices
;
2097 #endif /* USE_STRUCT_CONVERSION */
2099 #if defined(USE_STRUCT_CONVERSION)
2100 static inline const VkBindAccelerationStructureMemoryInfoNV
*convert_VkBindAccelerationStructureMemoryInfoNV_array_win32_to_host(struct conversion_context
*ctx
, const VkBindAccelerationStructureMemoryInfoNV32
*in
, uint32_t count
)
2102 VkBindAccelerationStructureMemoryInfoNV
*out
;
2105 if (!in
|| !count
) return NULL
;
2107 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2108 for (i
= 0; i
< count
; i
++)
2110 convert_VkBindAccelerationStructureMemoryInfoNV_win32_to_host(&in
[i
], &out
[i
]);
2115 #endif /* USE_STRUCT_CONVERSION */
2117 #if defined(USE_STRUCT_CONVERSION)
2118 static inline void convert_VkBindBufferMemoryInfo_win32_to_host(const VkBindBufferMemoryInfo32
*in
, VkBindBufferMemoryInfo
*out
)
2122 out
->sType
= in
->sType
;
2123 out
->pNext
= in
->pNext
;
2124 out
->buffer
= in
->buffer
;
2125 out
->memory
= in
->memory
;
2126 out
->memoryOffset
= in
->memoryOffset
;
2128 #endif /* USE_STRUCT_CONVERSION */
2130 #if defined(USE_STRUCT_CONVERSION)
2131 static inline const VkBindBufferMemoryInfo
*convert_VkBindBufferMemoryInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkBindBufferMemoryInfo32
*in
, uint32_t count
)
2133 VkBindBufferMemoryInfo
*out
;
2136 if (!in
|| !count
) return NULL
;
2138 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2139 for (i
= 0; i
< count
; i
++)
2141 convert_VkBindBufferMemoryInfo_win32_to_host(&in
[i
], &out
[i
]);
2146 #endif /* USE_STRUCT_CONVERSION */
2148 #if defined(USE_STRUCT_CONVERSION)
2149 static inline void convert_VkBindImageMemoryInfo_win32_to_host(struct conversion_context
*ctx
, const VkBindImageMemoryInfo32
*in
, VkBindImageMemoryInfo
*out
)
2151 const VkBaseInStructure
*in_header
;
2152 VkBaseOutStructure
*out_header
= (void *)out
;
2156 out
->sType
= in
->sType
;
2158 out
->image
= in
->image
;
2159 out
->memory
= in
->memory
;
2160 out
->memoryOffset
= in
->memoryOffset
;
2162 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
2164 switch (in_header
->sType
)
2166 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO
:
2168 VkBindImageMemoryDeviceGroupInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2169 const VkBindImageMemoryDeviceGroupInfo
*in_ext
= (const VkBindImageMemoryDeviceGroupInfo
*)in_header
;
2170 out_ext
->sType
= VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO
;
2171 out_ext
->pNext
= NULL
;
2172 out_ext
->deviceIndexCount
= in_ext
->deviceIndexCount
;
2173 out_ext
->pDeviceIndices
= in_ext
->pDeviceIndices
;
2174 out_ext
->splitInstanceBindRegionCount
= in_ext
->splitInstanceBindRegionCount
;
2175 out_ext
->pSplitInstanceBindRegions
= in_ext
->pSplitInstanceBindRegions
;
2176 out_header
->pNext
= (void *)out_ext
;
2177 out_header
= (void *)out_ext
;
2180 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR
:
2182 VkBindImageMemorySwapchainInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2183 const VkBindImageMemorySwapchainInfoKHR32
*in_ext
= (const VkBindImageMemorySwapchainInfoKHR32
*)in_header
;
2184 out_ext
->sType
= VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR
;
2185 out_ext
->pNext
= NULL
;
2186 out_ext
->swapchain
= in_ext
->swapchain
;
2187 out_ext
->imageIndex
= in_ext
->imageIndex
;
2188 out_header
->pNext
= (void *)out_ext
;
2189 out_header
= (void *)out_ext
;
2192 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO
:
2194 VkBindImagePlaneMemoryInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2195 const VkBindImagePlaneMemoryInfo
*in_ext
= (const VkBindImagePlaneMemoryInfo
*)in_header
;
2196 out_ext
->sType
= VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO
;
2197 out_ext
->pNext
= NULL
;
2198 out_ext
->planeAspect
= in_ext
->planeAspect
;
2199 out_header
->pNext
= (void *)out_ext
;
2200 out_header
= (void *)out_ext
;
2204 FIXME("Unhandled sType %u.", in_header
->sType
);
2209 #endif /* USE_STRUCT_CONVERSION */
2211 #if defined(USE_STRUCT_CONVERSION)
2212 static inline const VkBindImageMemoryInfo
*convert_VkBindImageMemoryInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkBindImageMemoryInfo32
*in
, uint32_t count
)
2214 VkBindImageMemoryInfo
*out
;
2217 if (!in
|| !count
) return NULL
;
2219 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2220 for (i
= 0; i
< count
; i
++)
2222 convert_VkBindImageMemoryInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
2227 #endif /* USE_STRUCT_CONVERSION */
2229 #if defined(USE_STRUCT_CONVERSION)
2230 static inline void convert_VkAccelerationStructureGeometryKHR_win32_to_host(const VkAccelerationStructureGeometryKHR32
*in
, VkAccelerationStructureGeometryKHR
*out
)
2234 out
->sType
= in
->sType
;
2235 out
->pNext
= in
->pNext
;
2236 out
->geometryType
= in
->geometryType
;
2237 out
->geometry
= in
->geometry
;
2238 out
->flags
= in
->flags
;
2240 #endif /* USE_STRUCT_CONVERSION */
2242 #if defined(USE_STRUCT_CONVERSION)
2243 static inline const VkAccelerationStructureGeometryKHR
*convert_VkAccelerationStructureGeometryKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureGeometryKHR32
*in
, uint32_t count
)
2245 VkAccelerationStructureGeometryKHR
*out
;
2248 if (!in
|| !count
) return NULL
;
2250 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2251 for (i
= 0; i
< count
; i
++)
2253 convert_VkAccelerationStructureGeometryKHR_win32_to_host(&in
[i
], &out
[i
]);
2258 #endif /* USE_STRUCT_CONVERSION */
2260 #if defined(USE_STRUCT_CONVERSION)
2261 static inline const VkAccelerationStructureGeometryKHR
* const*convert_VkAccelerationStructureGeometryKHR_pointer_array_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureGeometryKHR32
* const*in
, uint32_t count
)
2263 VkAccelerationStructureGeometryKHR
**out
;
2266 if (!in
|| !count
) return NULL
;
2268 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2269 for (i
= 0; i
< count
; i
++)
2273 out
[i
] = conversion_context_alloc(ctx
, sizeof(*out
[i
]));
2274 convert_VkAccelerationStructureGeometryKHR_win32_to_host(in
[i
], out
[i
]);
2282 #endif /* USE_STRUCT_CONVERSION */
2284 #if defined(USE_STRUCT_CONVERSION)
2285 static inline void convert_VkAccelerationStructureBuildGeometryInfoKHR_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureBuildGeometryInfoKHR32
*in
, VkAccelerationStructureBuildGeometryInfoKHR
*out
)
2289 out
->sType
= in
->sType
;
2290 out
->pNext
= in
->pNext
;
2291 out
->type
= in
->type
;
2292 out
->flags
= in
->flags
;
2293 out
->mode
= in
->mode
;
2294 out
->srcAccelerationStructure
= in
->srcAccelerationStructure
;
2295 out
->dstAccelerationStructure
= in
->dstAccelerationStructure
;
2296 out
->geometryCount
= in
->geometryCount
;
2297 out
->pGeometries
= convert_VkAccelerationStructureGeometryKHR_array_win32_to_host(ctx
, in
->pGeometries
, in
->geometryCount
);
2298 out
->ppGeometries
= convert_VkAccelerationStructureGeometryKHR_pointer_array_win32_to_host(ctx
, in
->ppGeometries
, in
->geometryCount
);
2299 out
->scratchData
= in
->scratchData
;
2301 #endif /* USE_STRUCT_CONVERSION */
2303 #if defined(USE_STRUCT_CONVERSION)
2304 static inline const VkAccelerationStructureBuildGeometryInfoKHR
*convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureBuildGeometryInfoKHR32
*in
, uint32_t count
)
2306 VkAccelerationStructureBuildGeometryInfoKHR
*out
;
2309 if (!in
|| !count
) return NULL
;
2311 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2312 for (i
= 0; i
< count
; i
++)
2314 convert_VkAccelerationStructureBuildGeometryInfoKHR_win32_to_host(ctx
, &in
[i
], &out
[i
]);
2319 #endif /* USE_STRUCT_CONVERSION */
2321 #if defined(USE_STRUCT_CONVERSION)
2322 static inline void convert_VkMicromapBuildInfoEXT_win32_to_host(const VkMicromapBuildInfoEXT32
*in
, VkMicromapBuildInfoEXT
*out
)
2326 out
->sType
= in
->sType
;
2327 out
->pNext
= in
->pNext
;
2328 out
->type
= in
->type
;
2329 out
->flags
= in
->flags
;
2330 out
->mode
= in
->mode
;
2331 out
->dstMicromap
= in
->dstMicromap
;
2332 out
->usageCountsCount
= in
->usageCountsCount
;
2333 out
->pUsageCounts
= in
->pUsageCounts
;
2334 out
->ppUsageCounts
= in
->ppUsageCounts
;
2335 out
->data
= in
->data
;
2336 out
->scratchData
= in
->scratchData
;
2337 out
->triangleArray
= in
->triangleArray
;
2338 out
->triangleArrayStride
= in
->triangleArrayStride
;
2340 #endif /* USE_STRUCT_CONVERSION */
2342 #if defined(USE_STRUCT_CONVERSION)
2343 static inline const VkMicromapBuildInfoEXT
*convert_VkMicromapBuildInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkMicromapBuildInfoEXT32
*in
, uint32_t count
)
2345 VkMicromapBuildInfoEXT
*out
;
2348 if (!in
|| !count
) return NULL
;
2350 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2351 for (i
= 0; i
< count
; i
++)
2353 convert_VkMicromapBuildInfoEXT_win32_to_host(&in
[i
], &out
[i
]);
2358 #endif /* USE_STRUCT_CONVERSION */
2360 #if defined(USE_STRUCT_CONVERSION)
2361 static inline void convert_VkConditionalRenderingBeginInfoEXT_win32_to_host(const VkConditionalRenderingBeginInfoEXT32
*in
, VkConditionalRenderingBeginInfoEXT
*out
)
2365 out
->sType
= in
->sType
;
2366 out
->pNext
= in
->pNext
;
2367 out
->buffer
= in
->buffer
;
2368 out
->offset
= in
->offset
;
2369 out
->flags
= in
->flags
;
2371 #endif /* USE_STRUCT_CONVERSION */
2373 #if defined(USE_STRUCT_CONVERSION)
2374 static inline void convert_VkRenderPassBeginInfo_win32_to_host(const VkRenderPassBeginInfo32
*in
, VkRenderPassBeginInfo
*out
)
2378 out
->sType
= in
->sType
;
2379 out
->pNext
= in
->pNext
;
2380 out
->renderPass
= in
->renderPass
;
2381 out
->framebuffer
= in
->framebuffer
;
2382 out
->renderArea
= in
->renderArea
;
2383 out
->clearValueCount
= in
->clearValueCount
;
2384 out
->pClearValues
= in
->pClearValues
;
2386 #endif /* USE_STRUCT_CONVERSION */
2388 #if defined(USE_STRUCT_CONVERSION)
2389 static inline void convert_VkRenderingAttachmentInfo_win32_to_host(const VkRenderingAttachmentInfo32
*in
, VkRenderingAttachmentInfo
*out
)
2393 out
->sType
= in
->sType
;
2394 out
->pNext
= in
->pNext
;
2395 out
->imageView
= in
->imageView
;
2396 out
->imageLayout
= in
->imageLayout
;
2397 out
->resolveMode
= in
->resolveMode
;
2398 out
->resolveImageView
= in
->resolveImageView
;
2399 out
->resolveImageLayout
= in
->resolveImageLayout
;
2400 out
->loadOp
= in
->loadOp
;
2401 out
->storeOp
= in
->storeOp
;
2402 out
->clearValue
= in
->clearValue
;
2404 #endif /* USE_STRUCT_CONVERSION */
2406 #if defined(USE_STRUCT_CONVERSION)
2407 static inline const VkRenderingAttachmentInfo
*convert_VkRenderingAttachmentInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkRenderingAttachmentInfo32
*in
, uint32_t count
)
2409 VkRenderingAttachmentInfo
*out
;
2412 if (!in
|| !count
) return NULL
;
2414 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2415 for (i
= 0; i
< count
; i
++)
2417 convert_VkRenderingAttachmentInfo_win32_to_host(&in
[i
], &out
[i
]);
2422 #endif /* USE_STRUCT_CONVERSION */
2424 #if defined(USE_STRUCT_CONVERSION)
2425 static inline void convert_VkRenderingInfo_win32_to_host(struct conversion_context
*ctx
, const VkRenderingInfo32
*in
, VkRenderingInfo
*out
)
2427 const VkBaseInStructure
*in_header
;
2428 VkBaseOutStructure
*out_header
= (void *)out
;
2432 out
->sType
= in
->sType
;
2434 out
->flags
= in
->flags
;
2435 out
->renderArea
= in
->renderArea
;
2436 out
->layerCount
= in
->layerCount
;
2437 out
->viewMask
= in
->viewMask
;
2438 out
->colorAttachmentCount
= in
->colorAttachmentCount
;
2439 out
->pColorAttachments
= convert_VkRenderingAttachmentInfo_array_win32_to_host(ctx
, in
->pColorAttachments
, in
->colorAttachmentCount
);
2440 out
->pDepthAttachment
= convert_VkRenderingAttachmentInfo_array_win32_to_host(ctx
, in
->pDepthAttachment
, 1);
2441 out
->pStencilAttachment
= convert_VkRenderingAttachmentInfo_array_win32_to_host(ctx
, in
->pStencilAttachment
, 1);
2443 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
2445 switch (in_header
->sType
)
2447 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO
:
2449 VkDeviceGroupRenderPassBeginInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2450 const VkDeviceGroupRenderPassBeginInfo
*in_ext
= (const VkDeviceGroupRenderPassBeginInfo
*)in_header
;
2451 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO
;
2452 out_ext
->pNext
= NULL
;
2453 out_ext
->deviceMask
= in_ext
->deviceMask
;
2454 out_ext
->deviceRenderAreaCount
= in_ext
->deviceRenderAreaCount
;
2455 out_ext
->pDeviceRenderAreas
= in_ext
->pDeviceRenderAreas
;
2456 out_header
->pNext
= (void *)out_ext
;
2457 out_header
= (void *)out_ext
;
2460 case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT
:
2462 VkMultisampledRenderToSingleSampledInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2463 const VkMultisampledRenderToSingleSampledInfoEXT
*in_ext
= (const VkMultisampledRenderToSingleSampledInfoEXT
*)in_header
;
2464 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT
;
2465 out_ext
->pNext
= NULL
;
2466 out_ext
->multisampledRenderToSingleSampledEnable
= in_ext
->multisampledRenderToSingleSampledEnable
;
2467 out_ext
->rasterizationSamples
= in_ext
->rasterizationSamples
;
2468 out_header
->pNext
= (void *)out_ext
;
2469 out_header
= (void *)out_ext
;
2472 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR
:
2474 VkRenderingFragmentShadingRateAttachmentInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2475 const VkRenderingFragmentShadingRateAttachmentInfoKHR32
*in_ext
= (const VkRenderingFragmentShadingRateAttachmentInfoKHR32
*)in_header
;
2476 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR
;
2477 out_ext
->pNext
= NULL
;
2478 out_ext
->imageView
= in_ext
->imageView
;
2479 out_ext
->imageLayout
= in_ext
->imageLayout
;
2480 out_ext
->shadingRateAttachmentTexelSize
= in_ext
->shadingRateAttachmentTexelSize
;
2481 out_header
->pNext
= (void *)out_ext
;
2482 out_header
= (void *)out_ext
;
2485 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT
:
2487 VkRenderingFragmentDensityMapAttachmentInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2488 const VkRenderingFragmentDensityMapAttachmentInfoEXT32
*in_ext
= (const VkRenderingFragmentDensityMapAttachmentInfoEXT32
*)in_header
;
2489 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT
;
2490 out_ext
->pNext
= NULL
;
2491 out_ext
->imageView
= in_ext
->imageView
;
2492 out_ext
->imageLayout
= in_ext
->imageLayout
;
2493 out_header
->pNext
= (void *)out_ext
;
2494 out_header
= (void *)out_ext
;
2497 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
:
2499 VkMultiviewPerViewAttributesInfoNVX
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
2500 const VkMultiviewPerViewAttributesInfoNVX
*in_ext
= (const VkMultiviewPerViewAttributesInfoNVX
*)in_header
;
2501 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
;
2502 out_ext
->pNext
= NULL
;
2503 out_ext
->perViewAttributes
= in_ext
->perViewAttributes
;
2504 out_ext
->perViewAttributesPositionXOnly
= in_ext
->perViewAttributesPositionXOnly
;
2505 out_header
->pNext
= (void *)out_ext
;
2506 out_header
= (void *)out_ext
;
2510 FIXME("Unhandled sType %u.", in_header
->sType
);
2515 #endif /* USE_STRUCT_CONVERSION */
2517 #if defined(USE_STRUCT_CONVERSION)
2518 static inline void convert_VkBlitImageInfo2_win32_to_host(const VkBlitImageInfo232
*in
, VkBlitImageInfo2
*out
)
2522 out
->sType
= in
->sType
;
2523 out
->pNext
= in
->pNext
;
2524 out
->srcImage
= in
->srcImage
;
2525 out
->srcImageLayout
= in
->srcImageLayout
;
2526 out
->dstImage
= in
->dstImage
;
2527 out
->dstImageLayout
= in
->dstImageLayout
;
2528 out
->regionCount
= in
->regionCount
;
2529 out
->pRegions
= in
->pRegions
;
2530 out
->filter
= in
->filter
;
2532 #endif /* USE_STRUCT_CONVERSION */
2534 #if defined(USE_STRUCT_CONVERSION)
2535 static inline void convert_VkGeometryTrianglesNV_win32_to_host(const VkGeometryTrianglesNV32
*in
, VkGeometryTrianglesNV
*out
)
2539 out
->sType
= in
->sType
;
2540 out
->pNext
= in
->pNext
;
2541 out
->vertexData
= in
->vertexData
;
2542 out
->vertexOffset
= in
->vertexOffset
;
2543 out
->vertexCount
= in
->vertexCount
;
2544 out
->vertexStride
= in
->vertexStride
;
2545 out
->vertexFormat
= in
->vertexFormat
;
2546 out
->indexData
= in
->indexData
;
2547 out
->indexOffset
= in
->indexOffset
;
2548 out
->indexCount
= in
->indexCount
;
2549 out
->indexType
= in
->indexType
;
2550 out
->transformData
= in
->transformData
;
2551 out
->transformOffset
= in
->transformOffset
;
2553 #endif /* USE_STRUCT_CONVERSION */
2555 #if defined(USE_STRUCT_CONVERSION)
2556 static inline void convert_VkGeometryAABBNV_win32_to_host(const VkGeometryAABBNV32
*in
, VkGeometryAABBNV
*out
)
2560 out
->sType
= in
->sType
;
2561 out
->pNext
= in
->pNext
;
2562 out
->aabbData
= in
->aabbData
;
2563 out
->numAABBs
= in
->numAABBs
;
2564 out
->stride
= in
->stride
;
2565 out
->offset
= in
->offset
;
2567 #endif /* USE_STRUCT_CONVERSION */
2569 #if defined(USE_STRUCT_CONVERSION)
2570 static inline void convert_VkGeometryDataNV_win32_to_host(const VkGeometryDataNV32
*in
, VkGeometryDataNV
*out
)
2574 convert_VkGeometryTrianglesNV_win32_to_host(&in
->triangles
, &out
->triangles
);
2575 convert_VkGeometryAABBNV_win32_to_host(&in
->aabbs
, &out
->aabbs
);
2577 #endif /* USE_STRUCT_CONVERSION */
2579 #if defined(USE_STRUCT_CONVERSION)
2580 static inline void convert_VkGeometryNV_win32_to_host(const VkGeometryNV32
*in
, VkGeometryNV
*out
)
2584 out
->sType
= in
->sType
;
2585 out
->pNext
= in
->pNext
;
2586 out
->geometryType
= in
->geometryType
;
2587 convert_VkGeometryDataNV_win32_to_host(&in
->geometry
, &out
->geometry
);
2588 out
->flags
= in
->flags
;
2590 #endif /* USE_STRUCT_CONVERSION */
2592 #if defined(USE_STRUCT_CONVERSION)
2593 static inline const VkGeometryNV
*convert_VkGeometryNV_array_win32_to_host(struct conversion_context
*ctx
, const VkGeometryNV32
*in
, uint32_t count
)
2598 if (!in
|| !count
) return NULL
;
2600 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2601 for (i
= 0; i
< count
; i
++)
2603 convert_VkGeometryNV_win32_to_host(&in
[i
], &out
[i
]);
2608 #endif /* USE_STRUCT_CONVERSION */
2610 #if defined(USE_STRUCT_CONVERSION)
2611 static inline void convert_VkAccelerationStructureInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureInfoNV32
*in
, VkAccelerationStructureInfoNV
*out
)
2615 out
->sType
= in
->sType
;
2616 out
->pNext
= in
->pNext
;
2617 out
->type
= in
->type
;
2618 out
->flags
= in
->flags
;
2619 out
->instanceCount
= in
->instanceCount
;
2620 out
->geometryCount
= in
->geometryCount
;
2621 out
->pGeometries
= convert_VkGeometryNV_array_win32_to_host(ctx
, in
->pGeometries
, in
->geometryCount
);
2623 #endif /* USE_STRUCT_CONVERSION */
2625 #if defined(USE_STRUCT_CONVERSION)
2626 static inline void convert_VkCopyAccelerationStructureInfoKHR_win32_to_host(const VkCopyAccelerationStructureInfoKHR32
*in
, VkCopyAccelerationStructureInfoKHR
*out
)
2630 out
->sType
= in
->sType
;
2631 out
->pNext
= in
->pNext
;
2634 out
->mode
= in
->mode
;
2636 #endif /* USE_STRUCT_CONVERSION */
2638 #if defined(USE_STRUCT_CONVERSION)
2639 static inline void convert_VkCopyAccelerationStructureToMemoryInfoKHR_win32_to_host(const VkCopyAccelerationStructureToMemoryInfoKHR32
*in
, VkCopyAccelerationStructureToMemoryInfoKHR
*out
)
2643 out
->sType
= in
->sType
;
2644 out
->pNext
= in
->pNext
;
2647 out
->mode
= in
->mode
;
2649 #endif /* USE_STRUCT_CONVERSION */
2651 #if defined(USE_STRUCT_CONVERSION)
2652 static inline void convert_VkBufferCopy_win32_to_host(const VkBufferCopy32
*in
, VkBufferCopy
*out
)
2656 out
->srcOffset
= in
->srcOffset
;
2657 out
->dstOffset
= in
->dstOffset
;
2658 out
->size
= in
->size
;
2660 #endif /* USE_STRUCT_CONVERSION */
2662 #if defined(USE_STRUCT_CONVERSION)
2663 static inline const VkBufferCopy
*convert_VkBufferCopy_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferCopy32
*in
, uint32_t count
)
2668 if (!in
|| !count
) return NULL
;
2670 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2671 for (i
= 0; i
< count
; i
++)
2673 convert_VkBufferCopy_win32_to_host(&in
[i
], &out
[i
]);
2678 #endif /* USE_STRUCT_CONVERSION */
2680 #if defined(USE_STRUCT_CONVERSION)
2681 static inline void convert_VkBufferCopy2_win32_to_host(const VkBufferCopy232
*in
, VkBufferCopy2
*out
)
2685 out
->sType
= in
->sType
;
2686 out
->pNext
= in
->pNext
;
2687 out
->srcOffset
= in
->srcOffset
;
2688 out
->dstOffset
= in
->dstOffset
;
2689 out
->size
= in
->size
;
2691 #endif /* USE_STRUCT_CONVERSION */
2693 #if defined(USE_STRUCT_CONVERSION)
2694 static inline const VkBufferCopy2
*convert_VkBufferCopy2_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferCopy232
*in
, uint32_t count
)
2699 if (!in
|| !count
) return NULL
;
2701 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2702 for (i
= 0; i
< count
; i
++)
2704 convert_VkBufferCopy2_win32_to_host(&in
[i
], &out
[i
]);
2709 #endif /* USE_STRUCT_CONVERSION */
2711 #if defined(USE_STRUCT_CONVERSION)
2712 static inline void convert_VkCopyBufferInfo2_win32_to_host(struct conversion_context
*ctx
, const VkCopyBufferInfo232
*in
, VkCopyBufferInfo2
*out
)
2716 out
->sType
= in
->sType
;
2717 out
->pNext
= in
->pNext
;
2718 out
->srcBuffer
= in
->srcBuffer
;
2719 out
->dstBuffer
= in
->dstBuffer
;
2720 out
->regionCount
= in
->regionCount
;
2721 out
->pRegions
= convert_VkBufferCopy2_array_win32_to_host(ctx
, in
->pRegions
, in
->regionCount
);
2723 #endif /* USE_STRUCT_CONVERSION */
2725 #if defined(USE_STRUCT_CONVERSION)
2726 static inline void convert_VkBufferImageCopy_win32_to_host(const VkBufferImageCopy32
*in
, VkBufferImageCopy
*out
)
2730 out
->bufferOffset
= in
->bufferOffset
;
2731 out
->bufferRowLength
= in
->bufferRowLength
;
2732 out
->bufferImageHeight
= in
->bufferImageHeight
;
2733 out
->imageSubresource
= in
->imageSubresource
;
2734 out
->imageOffset
= in
->imageOffset
;
2735 out
->imageExtent
= in
->imageExtent
;
2737 #endif /* USE_STRUCT_CONVERSION */
2739 #if defined(USE_STRUCT_CONVERSION)
2740 static inline const VkBufferImageCopy
*convert_VkBufferImageCopy_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferImageCopy32
*in
, uint32_t count
)
2742 VkBufferImageCopy
*out
;
2745 if (!in
|| !count
) return NULL
;
2747 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2748 for (i
= 0; i
< count
; i
++)
2750 convert_VkBufferImageCopy_win32_to_host(&in
[i
], &out
[i
]);
2755 #endif /* USE_STRUCT_CONVERSION */
2757 #if defined(USE_STRUCT_CONVERSION)
2758 static inline void convert_VkBufferImageCopy2_win32_to_host(const VkBufferImageCopy232
*in
, VkBufferImageCopy2
*out
)
2762 out
->sType
= in
->sType
;
2763 out
->pNext
= in
->pNext
;
2764 out
->bufferOffset
= in
->bufferOffset
;
2765 out
->bufferRowLength
= in
->bufferRowLength
;
2766 out
->bufferImageHeight
= in
->bufferImageHeight
;
2767 out
->imageSubresource
= in
->imageSubresource
;
2768 out
->imageOffset
= in
->imageOffset
;
2769 out
->imageExtent
= in
->imageExtent
;
2771 #endif /* USE_STRUCT_CONVERSION */
2773 #if defined(USE_STRUCT_CONVERSION)
2774 static inline const VkBufferImageCopy2
*convert_VkBufferImageCopy2_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferImageCopy232
*in
, uint32_t count
)
2776 VkBufferImageCopy2
*out
;
2779 if (!in
|| !count
) return NULL
;
2781 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2782 for (i
= 0; i
< count
; i
++)
2784 convert_VkBufferImageCopy2_win32_to_host(&in
[i
], &out
[i
]);
2789 #endif /* USE_STRUCT_CONVERSION */
2791 #if defined(USE_STRUCT_CONVERSION)
2792 static inline void convert_VkCopyBufferToImageInfo2_win32_to_host(struct conversion_context
*ctx
, const VkCopyBufferToImageInfo232
*in
, VkCopyBufferToImageInfo2
*out
)
2796 out
->sType
= in
->sType
;
2797 out
->pNext
= in
->pNext
;
2798 out
->srcBuffer
= in
->srcBuffer
;
2799 out
->dstImage
= in
->dstImage
;
2800 out
->dstImageLayout
= in
->dstImageLayout
;
2801 out
->regionCount
= in
->regionCount
;
2802 out
->pRegions
= convert_VkBufferImageCopy2_array_win32_to_host(ctx
, in
->pRegions
, in
->regionCount
);
2804 #endif /* USE_STRUCT_CONVERSION */
2806 #if defined(USE_STRUCT_CONVERSION)
2807 static inline void convert_VkCopyImageInfo2_win32_to_host(const VkCopyImageInfo232
*in
, VkCopyImageInfo2
*out
)
2811 out
->sType
= in
->sType
;
2812 out
->pNext
= in
->pNext
;
2813 out
->srcImage
= in
->srcImage
;
2814 out
->srcImageLayout
= in
->srcImageLayout
;
2815 out
->dstImage
= in
->dstImage
;
2816 out
->dstImageLayout
= in
->dstImageLayout
;
2817 out
->regionCount
= in
->regionCount
;
2818 out
->pRegions
= in
->pRegions
;
2820 #endif /* USE_STRUCT_CONVERSION */
2822 #if defined(USE_STRUCT_CONVERSION)
2823 static inline void convert_VkCopyImageToBufferInfo2_win32_to_host(struct conversion_context
*ctx
, const VkCopyImageToBufferInfo232
*in
, VkCopyImageToBufferInfo2
*out
)
2827 out
->sType
= in
->sType
;
2828 out
->pNext
= in
->pNext
;
2829 out
->srcImage
= in
->srcImage
;
2830 out
->srcImageLayout
= in
->srcImageLayout
;
2831 out
->dstBuffer
= in
->dstBuffer
;
2832 out
->regionCount
= in
->regionCount
;
2833 out
->pRegions
= convert_VkBufferImageCopy2_array_win32_to_host(ctx
, in
->pRegions
, in
->regionCount
);
2835 #endif /* USE_STRUCT_CONVERSION */
2837 #if defined(USE_STRUCT_CONVERSION)
2838 static inline void convert_VkCopyMemoryToAccelerationStructureInfoKHR_win32_to_host(const VkCopyMemoryToAccelerationStructureInfoKHR32
*in
, VkCopyMemoryToAccelerationStructureInfoKHR
*out
)
2842 out
->sType
= in
->sType
;
2843 out
->pNext
= in
->pNext
;
2846 out
->mode
= in
->mode
;
2848 #endif /* USE_STRUCT_CONVERSION */
2850 #if defined(USE_STRUCT_CONVERSION)
2851 static inline void convert_VkCopyMemoryToMicromapInfoEXT_win32_to_host(const VkCopyMemoryToMicromapInfoEXT32
*in
, VkCopyMemoryToMicromapInfoEXT
*out
)
2855 out
->sType
= in
->sType
;
2856 out
->pNext
= in
->pNext
;
2859 out
->mode
= in
->mode
;
2861 #endif /* USE_STRUCT_CONVERSION */
2863 #if defined(USE_STRUCT_CONVERSION)
2864 static inline void convert_VkCopyMicromapInfoEXT_win32_to_host(const VkCopyMicromapInfoEXT32
*in
, VkCopyMicromapInfoEXT
*out
)
2868 out
->sType
= in
->sType
;
2869 out
->pNext
= in
->pNext
;
2872 out
->mode
= in
->mode
;
2874 #endif /* USE_STRUCT_CONVERSION */
2876 #if defined(USE_STRUCT_CONVERSION)
2877 static inline void convert_VkCopyMicromapToMemoryInfoEXT_win32_to_host(const VkCopyMicromapToMemoryInfoEXT32
*in
, VkCopyMicromapToMemoryInfoEXT
*out
)
2881 out
->sType
= in
->sType
;
2882 out
->pNext
= in
->pNext
;
2885 out
->mode
= in
->mode
;
2887 #endif /* USE_STRUCT_CONVERSION */
2889 #if defined(USE_STRUCT_CONVERSION)
2890 static inline void convert_VkCuLaunchInfoNVX_win32_to_host(const VkCuLaunchInfoNVX32
*in
, VkCuLaunchInfoNVX
*out
)
2894 out
->sType
= in
->sType
;
2895 out
->pNext
= in
->pNext
;
2896 out
->function
= in
->function
;
2897 out
->gridDimX
= in
->gridDimX
;
2898 out
->gridDimY
= in
->gridDimY
;
2899 out
->gridDimZ
= in
->gridDimZ
;
2900 out
->blockDimX
= in
->blockDimX
;
2901 out
->blockDimY
= in
->blockDimY
;
2902 out
->blockDimZ
= in
->blockDimZ
;
2903 out
->sharedMemBytes
= in
->sharedMemBytes
;
2904 out
->paramCount
= in
->paramCount
;
2905 out
->pParams
= in
->pParams
;
2906 out
->extraCount
= in
->extraCount
;
2907 out
->pExtras
= in
->pExtras
;
2909 #endif /* USE_STRUCT_CONVERSION */
2911 #if defined(USE_STRUCT_CONVERSION)
2912 static inline void convert_VkDecompressMemoryRegionNV_win32_to_host(const VkDecompressMemoryRegionNV32
*in
, VkDecompressMemoryRegionNV
*out
)
2916 out
->srcAddress
= in
->srcAddress
;
2917 out
->dstAddress
= in
->dstAddress
;
2918 out
->compressedSize
= in
->compressedSize
;
2919 out
->decompressedSize
= in
->decompressedSize
;
2920 out
->decompressionMethod
= in
->decompressionMethod
;
2922 #endif /* USE_STRUCT_CONVERSION */
2924 #if defined(USE_STRUCT_CONVERSION)
2925 static inline const VkDecompressMemoryRegionNV
*convert_VkDecompressMemoryRegionNV_array_win32_to_host(struct conversion_context
*ctx
, const VkDecompressMemoryRegionNV32
*in
, uint32_t count
)
2927 VkDecompressMemoryRegionNV
*out
;
2930 if (!in
|| !count
) return NULL
;
2932 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2933 for (i
= 0; i
< count
; i
++)
2935 convert_VkDecompressMemoryRegionNV_win32_to_host(&in
[i
], &out
[i
]);
2940 #endif /* USE_STRUCT_CONVERSION */
2942 #if !defined(USE_STRUCT_CONVERSION)
2943 static inline const VkCommandBuffer
*convert_VkCommandBuffer_array_win64_to_host(struct conversion_context
*ctx
, const VkCommandBuffer
*in
, uint32_t count
)
2945 VkCommandBuffer
*out
;
2948 if (!in
|| !count
) return NULL
;
2950 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2951 for (i
= 0; i
< count
; i
++)
2953 out
[i
] = wine_cmd_buffer_from_handle(in
[i
])->command_buffer
;
2958 #endif /* USE_STRUCT_CONVERSION */
2960 #if defined(USE_STRUCT_CONVERSION)
2961 static inline const VkCommandBuffer
*convert_VkCommandBuffer_array_win32_to_host(struct conversion_context
*ctx
, const VkCommandBuffer
*in
, uint32_t count
)
2963 VkCommandBuffer
*out
;
2966 if (!in
|| !count
) return NULL
;
2968 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2969 for (i
= 0; i
< count
; i
++)
2971 out
[i
] = wine_cmd_buffer_from_handle(in
[i
])->command_buffer
;
2976 #endif /* USE_STRUCT_CONVERSION */
2978 #if defined(USE_STRUCT_CONVERSION)
2979 static inline void convert_VkIndirectCommandsStreamNV_win32_to_host(const VkIndirectCommandsStreamNV32
*in
, VkIndirectCommandsStreamNV
*out
)
2983 out
->buffer
= in
->buffer
;
2984 out
->offset
= in
->offset
;
2986 #endif /* USE_STRUCT_CONVERSION */
2988 #if defined(USE_STRUCT_CONVERSION)
2989 static inline const VkIndirectCommandsStreamNV
*convert_VkIndirectCommandsStreamNV_array_win32_to_host(struct conversion_context
*ctx
, const VkIndirectCommandsStreamNV32
*in
, uint32_t count
)
2991 VkIndirectCommandsStreamNV
*out
;
2994 if (!in
|| !count
) return NULL
;
2996 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
2997 for (i
= 0; i
< count
; i
++)
2999 convert_VkIndirectCommandsStreamNV_win32_to_host(&in
[i
], &out
[i
]);
3004 #endif /* USE_STRUCT_CONVERSION */
3006 #if defined(USE_STRUCT_CONVERSION)
3007 static inline void convert_VkGeneratedCommandsInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkGeneratedCommandsInfoNV32
*in
, VkGeneratedCommandsInfoNV
*out
)
3011 out
->sType
= in
->sType
;
3012 out
->pNext
= in
->pNext
;
3013 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
3014 out
->pipeline
= in
->pipeline
;
3015 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
3016 out
->streamCount
= in
->streamCount
;
3017 out
->pStreams
= convert_VkIndirectCommandsStreamNV_array_win32_to_host(ctx
, in
->pStreams
, in
->streamCount
);
3018 out
->sequencesCount
= in
->sequencesCount
;
3019 out
->preprocessBuffer
= in
->preprocessBuffer
;
3020 out
->preprocessOffset
= in
->preprocessOffset
;
3021 out
->preprocessSize
= in
->preprocessSize
;
3022 out
->sequencesCountBuffer
= in
->sequencesCountBuffer
;
3023 out
->sequencesCountOffset
= in
->sequencesCountOffset
;
3024 out
->sequencesIndexBuffer
= in
->sequencesIndexBuffer
;
3025 out
->sequencesIndexOffset
= in
->sequencesIndexOffset
;
3027 #endif /* USE_STRUCT_CONVERSION */
3029 #if defined(USE_STRUCT_CONVERSION)
3030 static inline void convert_VkBufferMemoryBarrier_win32_to_host(const VkBufferMemoryBarrier32
*in
, VkBufferMemoryBarrier
*out
)
3034 out
->sType
= in
->sType
;
3035 out
->pNext
= in
->pNext
;
3036 out
->srcAccessMask
= in
->srcAccessMask
;
3037 out
->dstAccessMask
= in
->dstAccessMask
;
3038 out
->srcQueueFamilyIndex
= in
->srcQueueFamilyIndex
;
3039 out
->dstQueueFamilyIndex
= in
->dstQueueFamilyIndex
;
3040 out
->buffer
= in
->buffer
;
3041 out
->offset
= in
->offset
;
3042 out
->size
= in
->size
;
3044 #endif /* USE_STRUCT_CONVERSION */
3046 #if defined(USE_STRUCT_CONVERSION)
3047 static inline const VkBufferMemoryBarrier
*convert_VkBufferMemoryBarrier_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferMemoryBarrier32
*in
, uint32_t count
)
3049 VkBufferMemoryBarrier
*out
;
3052 if (!in
|| !count
) return NULL
;
3054 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3055 for (i
= 0; i
< count
; i
++)
3057 convert_VkBufferMemoryBarrier_win32_to_host(&in
[i
], &out
[i
]);
3062 #endif /* USE_STRUCT_CONVERSION */
3064 #if defined(USE_STRUCT_CONVERSION)
3065 static inline void convert_VkImageMemoryBarrier_win32_to_host(const VkImageMemoryBarrier32
*in
, VkImageMemoryBarrier
*out
)
3069 out
->sType
= in
->sType
;
3070 out
->pNext
= in
->pNext
;
3071 out
->srcAccessMask
= in
->srcAccessMask
;
3072 out
->dstAccessMask
= in
->dstAccessMask
;
3073 out
->oldLayout
= in
->oldLayout
;
3074 out
->newLayout
= in
->newLayout
;
3075 out
->srcQueueFamilyIndex
= in
->srcQueueFamilyIndex
;
3076 out
->dstQueueFamilyIndex
= in
->dstQueueFamilyIndex
;
3077 out
->image
= in
->image
;
3078 out
->subresourceRange
= in
->subresourceRange
;
3080 #endif /* USE_STRUCT_CONVERSION */
3082 #if defined(USE_STRUCT_CONVERSION)
3083 static inline const VkImageMemoryBarrier
*convert_VkImageMemoryBarrier_array_win32_to_host(struct conversion_context
*ctx
, const VkImageMemoryBarrier32
*in
, uint32_t count
)
3085 VkImageMemoryBarrier
*out
;
3088 if (!in
|| !count
) return NULL
;
3090 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3091 for (i
= 0; i
< count
; i
++)
3093 convert_VkImageMemoryBarrier_win32_to_host(&in
[i
], &out
[i
]);
3098 #endif /* USE_STRUCT_CONVERSION */
3100 #if defined(USE_STRUCT_CONVERSION)
3101 static inline void convert_VkBufferMemoryBarrier2_win32_to_host(const VkBufferMemoryBarrier232
*in
, VkBufferMemoryBarrier2
*out
)
3105 out
->sType
= in
->sType
;
3106 out
->pNext
= in
->pNext
;
3107 out
->srcStageMask
= in
->srcStageMask
;
3108 out
->srcAccessMask
= in
->srcAccessMask
;
3109 out
->dstStageMask
= in
->dstStageMask
;
3110 out
->dstAccessMask
= in
->dstAccessMask
;
3111 out
->srcQueueFamilyIndex
= in
->srcQueueFamilyIndex
;
3112 out
->dstQueueFamilyIndex
= in
->dstQueueFamilyIndex
;
3113 out
->buffer
= in
->buffer
;
3114 out
->offset
= in
->offset
;
3115 out
->size
= in
->size
;
3117 #endif /* USE_STRUCT_CONVERSION */
3119 #if defined(USE_STRUCT_CONVERSION)
3120 static inline const VkBufferMemoryBarrier2
*convert_VkBufferMemoryBarrier2_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferMemoryBarrier232
*in
, uint32_t count
)
3122 VkBufferMemoryBarrier2
*out
;
3125 if (!in
|| !count
) return NULL
;
3127 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3128 for (i
= 0; i
< count
; i
++)
3130 convert_VkBufferMemoryBarrier2_win32_to_host(&in
[i
], &out
[i
]);
3135 #endif /* USE_STRUCT_CONVERSION */
3137 #if defined(USE_STRUCT_CONVERSION)
3138 static inline void convert_VkImageMemoryBarrier2_win32_to_host(const VkImageMemoryBarrier232
*in
, VkImageMemoryBarrier2
*out
)
3142 out
->sType
= in
->sType
;
3143 out
->pNext
= in
->pNext
;
3144 out
->srcStageMask
= in
->srcStageMask
;
3145 out
->srcAccessMask
= in
->srcAccessMask
;
3146 out
->dstStageMask
= in
->dstStageMask
;
3147 out
->dstAccessMask
= in
->dstAccessMask
;
3148 out
->oldLayout
= in
->oldLayout
;
3149 out
->newLayout
= in
->newLayout
;
3150 out
->srcQueueFamilyIndex
= in
->srcQueueFamilyIndex
;
3151 out
->dstQueueFamilyIndex
= in
->dstQueueFamilyIndex
;
3152 out
->image
= in
->image
;
3153 out
->subresourceRange
= in
->subresourceRange
;
3155 #endif /* USE_STRUCT_CONVERSION */
3157 #if defined(USE_STRUCT_CONVERSION)
3158 static inline const VkImageMemoryBarrier2
*convert_VkImageMemoryBarrier2_array_win32_to_host(struct conversion_context
*ctx
, const VkImageMemoryBarrier232
*in
, uint32_t count
)
3160 VkImageMemoryBarrier2
*out
;
3163 if (!in
|| !count
) return NULL
;
3165 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3166 for (i
= 0; i
< count
; i
++)
3168 convert_VkImageMemoryBarrier2_win32_to_host(&in
[i
], &out
[i
]);
3173 #endif /* USE_STRUCT_CONVERSION */
3175 #if defined(USE_STRUCT_CONVERSION)
3176 static inline void convert_VkDependencyInfo_win32_to_host(struct conversion_context
*ctx
, const VkDependencyInfo32
*in
, VkDependencyInfo
*out
)
3180 out
->sType
= in
->sType
;
3181 out
->pNext
= in
->pNext
;
3182 out
->dependencyFlags
= in
->dependencyFlags
;
3183 out
->memoryBarrierCount
= in
->memoryBarrierCount
;
3184 out
->pMemoryBarriers
= in
->pMemoryBarriers
;
3185 out
->bufferMemoryBarrierCount
= in
->bufferMemoryBarrierCount
;
3186 out
->pBufferMemoryBarriers
= convert_VkBufferMemoryBarrier2_array_win32_to_host(ctx
, in
->pBufferMemoryBarriers
, in
->bufferMemoryBarrierCount
);
3187 out
->imageMemoryBarrierCount
= in
->imageMemoryBarrierCount
;
3188 out
->pImageMemoryBarriers
= convert_VkImageMemoryBarrier2_array_win32_to_host(ctx
, in
->pImageMemoryBarriers
, in
->imageMemoryBarrierCount
);
3190 #endif /* USE_STRUCT_CONVERSION */
3192 #if defined(USE_STRUCT_CONVERSION)
3193 static inline void convert_VkDescriptorImageInfo_win32_to_host(const VkDescriptorImageInfo32
*in
, VkDescriptorImageInfo
*out
)
3197 out
->sampler
= in
->sampler
;
3198 out
->imageView
= in
->imageView
;
3199 out
->imageLayout
= in
->imageLayout
;
3201 #endif /* USE_STRUCT_CONVERSION */
3203 #if defined(USE_STRUCT_CONVERSION)
3204 static inline const VkDescriptorImageInfo
*convert_VkDescriptorImageInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorImageInfo32
*in
, uint32_t count
)
3206 VkDescriptorImageInfo
*out
;
3209 if (!in
|| !count
) return NULL
;
3211 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3212 for (i
= 0; i
< count
; i
++)
3214 convert_VkDescriptorImageInfo_win32_to_host(&in
[i
], &out
[i
]);
3219 #endif /* USE_STRUCT_CONVERSION */
3221 #if defined(USE_STRUCT_CONVERSION)
3222 static inline void convert_VkDescriptorBufferInfo_win32_to_host(const VkDescriptorBufferInfo32
*in
, VkDescriptorBufferInfo
*out
)
3226 out
->buffer
= in
->buffer
;
3227 out
->offset
= in
->offset
;
3228 out
->range
= in
->range
;
3230 #endif /* USE_STRUCT_CONVERSION */
3232 #if defined(USE_STRUCT_CONVERSION)
3233 static inline const VkDescriptorBufferInfo
*convert_VkDescriptorBufferInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorBufferInfo32
*in
, uint32_t count
)
3235 VkDescriptorBufferInfo
*out
;
3238 if (!in
|| !count
) return NULL
;
3240 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3241 for (i
= 0; i
< count
; i
++)
3243 convert_VkDescriptorBufferInfo_win32_to_host(&in
[i
], &out
[i
]);
3248 #endif /* USE_STRUCT_CONVERSION */
3250 #if defined(USE_STRUCT_CONVERSION)
3251 static inline void convert_VkWriteDescriptorSet_win32_to_host(struct conversion_context
*ctx
, const VkWriteDescriptorSet32
*in
, VkWriteDescriptorSet
*out
)
3255 out
->sType
= in
->sType
;
3256 out
->pNext
= in
->pNext
;
3257 out
->dstSet
= in
->dstSet
;
3258 out
->dstBinding
= in
->dstBinding
;
3259 out
->dstArrayElement
= in
->dstArrayElement
;
3260 out
->descriptorCount
= in
->descriptorCount
;
3261 out
->descriptorType
= in
->descriptorType
;
3262 out
->pImageInfo
= convert_VkDescriptorImageInfo_array_win32_to_host(ctx
, in
->pImageInfo
, in
->descriptorCount
);
3263 out
->pBufferInfo
= convert_VkDescriptorBufferInfo_array_win32_to_host(ctx
, in
->pBufferInfo
, in
->descriptorCount
);
3264 out
->pTexelBufferView
= in
->pTexelBufferView
;
3266 #endif /* USE_STRUCT_CONVERSION */
3268 #if defined(USE_STRUCT_CONVERSION)
3269 static inline const VkWriteDescriptorSet
*convert_VkWriteDescriptorSet_array_win32_to_host(struct conversion_context
*ctx
, const VkWriteDescriptorSet32
*in
, uint32_t count
)
3271 VkWriteDescriptorSet
*out
;
3274 if (!in
|| !count
) return NULL
;
3276 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3277 for (i
= 0; i
< count
; i
++)
3279 convert_VkWriteDescriptorSet_win32_to_host(ctx
, &in
[i
], &out
[i
]);
3284 #endif /* USE_STRUCT_CONVERSION */
3286 #if defined(USE_STRUCT_CONVERSION)
3287 static inline void convert_VkResolveImageInfo2_win32_to_host(const VkResolveImageInfo232
*in
, VkResolveImageInfo2
*out
)
3291 out
->sType
= in
->sType
;
3292 out
->pNext
= in
->pNext
;
3293 out
->srcImage
= in
->srcImage
;
3294 out
->srcImageLayout
= in
->srcImageLayout
;
3295 out
->dstImage
= in
->dstImage
;
3296 out
->dstImageLayout
= in
->dstImageLayout
;
3297 out
->regionCount
= in
->regionCount
;
3298 out
->pRegions
= in
->pRegions
;
3300 #endif /* USE_STRUCT_CONVERSION */
3302 #if defined(USE_STRUCT_CONVERSION)
3303 static inline void convert_VkPerformanceMarkerInfoINTEL_win32_to_host(const VkPerformanceMarkerInfoINTEL32
*in
, VkPerformanceMarkerInfoINTEL
*out
)
3307 out
->sType
= in
->sType
;
3308 out
->pNext
= in
->pNext
;
3309 out
->marker
= in
->marker
;
3311 #endif /* USE_STRUCT_CONVERSION */
3313 #if defined(USE_STRUCT_CONVERSION)
3314 static inline void convert_VkPerformanceOverrideInfoINTEL_win32_to_host(const VkPerformanceOverrideInfoINTEL32
*in
, VkPerformanceOverrideInfoINTEL
*out
)
3318 out
->sType
= in
->sType
;
3319 out
->pNext
= in
->pNext
;
3320 out
->type
= in
->type
;
3321 out
->enable
= in
->enable
;
3322 out
->parameter
= in
->parameter
;
3324 #endif /* USE_STRUCT_CONVERSION */
3326 #if defined(USE_STRUCT_CONVERSION)
3327 static inline void convert_VkStridedDeviceAddressRegionKHR_win32_to_host(const VkStridedDeviceAddressRegionKHR32
*in
, VkStridedDeviceAddressRegionKHR
*out
)
3331 out
->deviceAddress
= in
->deviceAddress
;
3332 out
->stride
= in
->stride
;
3333 out
->size
= in
->size
;
3335 #endif /* USE_STRUCT_CONVERSION */
3337 #if defined(USE_STRUCT_CONVERSION)
3338 static inline const VkDependencyInfo
*convert_VkDependencyInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkDependencyInfo32
*in
, uint32_t count
)
3340 VkDependencyInfo
*out
;
3343 if (!in
|| !count
) return NULL
;
3345 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3346 for (i
= 0; i
< count
; i
++)
3348 convert_VkDependencyInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
3353 #endif /* USE_STRUCT_CONVERSION */
3355 #if defined(USE_STRUCT_CONVERSION)
3356 static inline void convert_VkAccelerationStructureCreateInfoKHR_win32_to_host(const VkAccelerationStructureCreateInfoKHR32
*in
, VkAccelerationStructureCreateInfoKHR
*out
)
3360 out
->sType
= in
->sType
;
3361 out
->pNext
= in
->pNext
;
3362 out
->createFlags
= in
->createFlags
;
3363 out
->buffer
= in
->buffer
;
3364 out
->offset
= in
->offset
;
3365 out
->size
= in
->size
;
3366 out
->type
= in
->type
;
3367 out
->deviceAddress
= in
->deviceAddress
;
3369 #endif /* USE_STRUCT_CONVERSION */
3371 #if defined(USE_STRUCT_CONVERSION)
3372 static inline void convert_VkAccelerationStructureCreateInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureCreateInfoNV32
*in
, VkAccelerationStructureCreateInfoNV
*out
)
3376 out
->sType
= in
->sType
;
3377 out
->pNext
= in
->pNext
;
3378 out
->compactedSize
= in
->compactedSize
;
3379 convert_VkAccelerationStructureInfoNV_win32_to_host(ctx
, &in
->info
, &out
->info
);
3381 #endif /* USE_STRUCT_CONVERSION */
3383 #if defined(USE_STRUCT_CONVERSION)
3384 static inline void convert_VkBufferCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkBufferCreateInfo32
*in
, VkBufferCreateInfo
*out
)
3386 const VkBaseInStructure
*in_header
;
3387 VkBaseOutStructure
*out_header
= (void *)out
;
3391 out
->sType
= in
->sType
;
3393 out
->flags
= in
->flags
;
3394 out
->size
= in
->size
;
3395 out
->usage
= in
->usage
;
3396 out
->sharingMode
= in
->sharingMode
;
3397 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
3398 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
3400 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
3402 switch (in_header
->sType
)
3404 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV
:
3406 VkDedicatedAllocationBufferCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3407 const VkDedicatedAllocationBufferCreateInfoNV
*in_ext
= (const VkDedicatedAllocationBufferCreateInfoNV
*)in_header
;
3408 out_ext
->sType
= VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV
;
3409 out_ext
->pNext
= NULL
;
3410 out_ext
->dedicatedAllocation
= in_ext
->dedicatedAllocation
;
3411 out_header
->pNext
= (void *)out_ext
;
3412 out_header
= (void *)out_ext
;
3415 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO
:
3417 VkExternalMemoryBufferCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3418 const VkExternalMemoryBufferCreateInfo
*in_ext
= (const VkExternalMemoryBufferCreateInfo
*)in_header
;
3419 out_ext
->sType
= VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO
;
3420 out_ext
->pNext
= NULL
;
3421 out_ext
->handleTypes
= in_ext
->handleTypes
;
3422 out_header
->pNext
= (void *)out_ext
;
3423 out_header
= (void *)out_ext
;
3426 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO
:
3428 VkBufferOpaqueCaptureAddressCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3429 const VkBufferOpaqueCaptureAddressCreateInfo32
*in_ext
= (const VkBufferOpaqueCaptureAddressCreateInfo32
*)in_header
;
3430 out_ext
->sType
= VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO
;
3431 out_ext
->pNext
= NULL
;
3432 out_ext
->opaqueCaptureAddress
= in_ext
->opaqueCaptureAddress
;
3433 out_header
->pNext
= (void *)out_ext
;
3434 out_header
= (void *)out_ext
;
3437 case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT
:
3439 VkBufferDeviceAddressCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3440 const VkBufferDeviceAddressCreateInfoEXT32
*in_ext
= (const VkBufferDeviceAddressCreateInfoEXT32
*)in_header
;
3441 out_ext
->sType
= VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT
;
3442 out_ext
->pNext
= NULL
;
3443 out_ext
->deviceAddress
= in_ext
->deviceAddress
;
3444 out_header
->pNext
= (void *)out_ext
;
3445 out_header
= (void *)out_ext
;
3449 FIXME("Unhandled sType %u.", in_header
->sType
);
3454 #endif /* USE_STRUCT_CONVERSION */
3456 #if defined(USE_STRUCT_CONVERSION)
3457 static inline void convert_VkBufferViewCreateInfo_win32_to_host(const VkBufferViewCreateInfo32
*in
, VkBufferViewCreateInfo
*out
)
3461 out
->sType
= in
->sType
;
3462 out
->pNext
= in
->pNext
;
3463 out
->flags
= in
->flags
;
3464 out
->buffer
= in
->buffer
;
3465 out
->format
= in
->format
;
3466 out
->offset
= in
->offset
;
3467 out
->range
= in
->range
;
3469 #endif /* USE_STRUCT_CONVERSION */
3471 #if defined(USE_STRUCT_CONVERSION)
3472 static inline void convert_VkPipelineCreationFeedback_host_to_win32(const VkPipelineCreationFeedback
*in
, VkPipelineCreationFeedback32
*out
)
3476 out
->flags
= in
->flags
;
3477 out
->duration
= in
->duration
;
3479 #endif /* USE_STRUCT_CONVERSION */
3481 #if defined(USE_STRUCT_CONVERSION)
3482 static inline VkPipelineCreationFeedback
*convert_VkPipelineCreationFeedback_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineCreationFeedback32
*in
, uint32_t count
)
3484 VkPipelineCreationFeedback
*out
;
3485 if (!in
|| !count
) return NULL
;
3487 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3491 #endif /* USE_STRUCT_CONVERSION */
3493 #if defined(USE_STRUCT_CONVERSION)
3494 static inline void convert_VkPipelineCreationFeedback_array_host_to_win32(const VkPipelineCreationFeedback
*in
, VkPipelineCreationFeedback32
*out
, uint32_t count
)
3500 for (i
= 0; i
< count
; i
++)
3502 convert_VkPipelineCreationFeedback_host_to_win32(&in
[i
], &out
[i
]);
3505 #endif /* USE_STRUCT_CONVERSION */
3507 #if !defined(USE_STRUCT_CONVERSION)
3508 static inline void convert_VkPipelineShaderStageCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkPipelineShaderStageCreateInfo
*in
, VkPipelineShaderStageCreateInfo
*out
)
3510 const VkBaseInStructure
*in_header
;
3511 VkBaseOutStructure
*out_header
= (void *)out
;
3515 out
->sType
= in
->sType
;
3517 out
->flags
= in
->flags
;
3518 out
->stage
= in
->stage
;
3519 out
->module
= in
->module
;
3520 out
->pName
= in
->pName
;
3521 out
->pSpecializationInfo
= in
->pSpecializationInfo
;
3523 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
3525 switch (in_header
->sType
)
3527 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
:
3529 VkShaderModuleCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3530 const VkShaderModuleCreateInfo
*in_ext
= (const VkShaderModuleCreateInfo
*)in_header
;
3531 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
;
3532 out_ext
->pNext
= NULL
;
3533 out_ext
->flags
= in_ext
->flags
;
3534 out_ext
->codeSize
= in_ext
->codeSize
;
3535 out_ext
->pCode
= in_ext
->pCode
;
3536 out_header
->pNext
= (void *)out_ext
;
3537 out_header
= (void *)out_ext
;
3540 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
:
3542 VkShaderModuleValidationCacheCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3543 const VkShaderModuleValidationCacheCreateInfoEXT
*in_ext
= (const VkShaderModuleValidationCacheCreateInfoEXT
*)in_header
;
3544 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
;
3545 out_ext
->pNext
= NULL
;
3546 out_ext
->validationCache
= in_ext
->validationCache
;
3547 out_header
->pNext
= (void *)out_ext
;
3548 out_header
= (void *)out_ext
;
3551 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
:
3553 VkDebugUtilsObjectNameInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3554 const VkDebugUtilsObjectNameInfoEXT
*in_ext
= (const VkDebugUtilsObjectNameInfoEXT
*)in_header
;
3555 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
;
3556 out_ext
->pNext
= NULL
;
3557 out_ext
->objectType
= in_ext
->objectType
;
3558 out_ext
->objectHandle
= wine_vk_unwrap_handle(in_ext
->objectType
, in_ext
->objectHandle
);
3559 out_ext
->pObjectName
= in_ext
->pObjectName
;
3560 out_header
->pNext
= (void *)out_ext
;
3561 out_header
= (void *)out_ext
;
3564 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO
:
3566 VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3567 const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*in_ext
= (const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*)in_header
;
3568 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO
;
3569 out_ext
->pNext
= NULL
;
3570 out_ext
->requiredSubgroupSize
= in_ext
->requiredSubgroupSize
;
3571 out_header
->pNext
= (void *)out_ext
;
3572 out_header
= (void *)out_ext
;
3575 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
:
3577 VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3578 const VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*in_ext
= (const VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*)in_header
;
3579 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
;
3580 out_ext
->pNext
= NULL
;
3581 out_ext
->identifierSize
= in_ext
->identifierSize
;
3582 out_ext
->pIdentifier
= in_ext
->pIdentifier
;
3583 out_header
->pNext
= (void *)out_ext
;
3584 out_header
= (void *)out_ext
;
3587 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
3589 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3590 const VkPipelineRobustnessCreateInfoEXT
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT
*)in_header
;
3591 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
3592 out_ext
->pNext
= NULL
;
3593 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
3594 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
3595 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
3596 out_ext
->images
= in_ext
->images
;
3597 out_header
->pNext
= (void *)out_ext
;
3598 out_header
= (void *)out_ext
;
3602 FIXME("Unhandled sType %u.", in_header
->sType
);
3607 #endif /* USE_STRUCT_CONVERSION */
3609 #if defined(USE_STRUCT_CONVERSION)
3610 static inline void convert_VkPipelineShaderStageCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkPipelineShaderStageCreateInfo32
*in
, VkPipelineShaderStageCreateInfo
*out
)
3612 const VkBaseInStructure
*in_header
;
3613 VkBaseOutStructure
*out_header
= (void *)out
;
3617 out
->sType
= in
->sType
;
3619 out
->flags
= in
->flags
;
3620 out
->stage
= in
->stage
;
3621 out
->module
= in
->module
;
3622 out
->pName
= in
->pName
;
3623 out
->pSpecializationInfo
= in
->pSpecializationInfo
;
3625 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
3627 switch (in_header
->sType
)
3629 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
:
3631 VkShaderModuleCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3632 const VkShaderModuleCreateInfo
*in_ext
= (const VkShaderModuleCreateInfo
*)in_header
;
3633 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
;
3634 out_ext
->pNext
= NULL
;
3635 out_ext
->flags
= in_ext
->flags
;
3636 out_ext
->codeSize
= in_ext
->codeSize
;
3637 out_ext
->pCode
= in_ext
->pCode
;
3638 out_header
->pNext
= (void *)out_ext
;
3639 out_header
= (void *)out_ext
;
3642 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
:
3644 VkShaderModuleValidationCacheCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3645 const VkShaderModuleValidationCacheCreateInfoEXT32
*in_ext
= (const VkShaderModuleValidationCacheCreateInfoEXT32
*)in_header
;
3646 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
;
3647 out_ext
->pNext
= NULL
;
3648 out_ext
->validationCache
= in_ext
->validationCache
;
3649 out_header
->pNext
= (void *)out_ext
;
3650 out_header
= (void *)out_ext
;
3653 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
:
3655 VkDebugUtilsObjectNameInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3656 const VkDebugUtilsObjectNameInfoEXT32
*in_ext
= (const VkDebugUtilsObjectNameInfoEXT32
*)in_header
;
3657 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
;
3658 out_ext
->pNext
= NULL
;
3659 out_ext
->objectType
= in_ext
->objectType
;
3660 out_ext
->objectHandle
= wine_vk_unwrap_handle(in_ext
->objectType
, in_ext
->objectHandle
);
3661 out_ext
->pObjectName
= in_ext
->pObjectName
;
3662 out_header
->pNext
= (void *)out_ext
;
3663 out_header
= (void *)out_ext
;
3666 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO
:
3668 VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3669 const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*in_ext
= (const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*)in_header
;
3670 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO
;
3671 out_ext
->pNext
= NULL
;
3672 out_ext
->requiredSubgroupSize
= in_ext
->requiredSubgroupSize
;
3673 out_header
->pNext
= (void *)out_ext
;
3674 out_header
= (void *)out_ext
;
3677 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
:
3679 VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3680 const VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*in_ext
= (const VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*)in_header
;
3681 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
;
3682 out_ext
->pNext
= NULL
;
3683 out_ext
->identifierSize
= in_ext
->identifierSize
;
3684 out_ext
->pIdentifier
= in_ext
->pIdentifier
;
3685 out_header
->pNext
= (void *)out_ext
;
3686 out_header
= (void *)out_ext
;
3689 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
3691 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3692 const VkPipelineRobustnessCreateInfoEXT
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT
*)in_header
;
3693 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
3694 out_ext
->pNext
= NULL
;
3695 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
3696 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
3697 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
3698 out_ext
->images
= in_ext
->images
;
3699 out_header
->pNext
= (void *)out_ext
;
3700 out_header
= (void *)out_ext
;
3704 FIXME("Unhandled sType %u.", in_header
->sType
);
3709 #endif /* USE_STRUCT_CONVERSION */
3711 #if !defined(USE_STRUCT_CONVERSION)
3712 static inline void convert_VkComputePipelineCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkComputePipelineCreateInfo
*in
, VkComputePipelineCreateInfo
*out
)
3716 out
->sType
= in
->sType
;
3717 out
->pNext
= in
->pNext
;
3718 out
->flags
= in
->flags
;
3719 convert_VkPipelineShaderStageCreateInfo_win64_to_host(ctx
, &in
->stage
, &out
->stage
);
3720 out
->layout
= in
->layout
;
3721 out
->basePipelineHandle
= in
->basePipelineHandle
;
3722 out
->basePipelineIndex
= in
->basePipelineIndex
;
3724 #endif /* USE_STRUCT_CONVERSION */
3726 #if defined(USE_STRUCT_CONVERSION)
3727 static inline void convert_VkComputePipelineCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkComputePipelineCreateInfo32
*in
, VkComputePipelineCreateInfo
*out
)
3729 const VkBaseInStructure
*in_header
;
3730 VkBaseOutStructure
*out_header
= (void *)out
;
3734 out
->sType
= in
->sType
;
3736 out
->flags
= in
->flags
;
3737 convert_VkPipelineShaderStageCreateInfo_win32_to_host(ctx
, &in
->stage
, &out
->stage
);
3738 out
->layout
= in
->layout
;
3739 out
->basePipelineHandle
= in
->basePipelineHandle
;
3740 out
->basePipelineIndex
= in
->basePipelineIndex
;
3742 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
3744 switch (in_header
->sType
)
3746 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
3748 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3749 const VkPipelineCreationFeedbackCreateInfo32
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo32
*)in_header
;
3750 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
3751 out_ext
->pNext
= NULL
;
3752 out_ext
->pPipelineCreationFeedback
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, in_ext
->pPipelineCreationFeedback
, 1);
3753 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
3754 out_ext
->pPipelineStageCreationFeedbacks
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, in_ext
->pPipelineStageCreationFeedbacks
, in_ext
->pipelineStageCreationFeedbackCount
);
3755 out_header
->pNext
= (void *)out_ext
;
3756 out_header
= (void *)out_ext
;
3759 case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI
:
3761 VkSubpassShadingPipelineCreateInfoHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3762 const VkSubpassShadingPipelineCreateInfoHUAWEI32
*in_ext
= (const VkSubpassShadingPipelineCreateInfoHUAWEI32
*)in_header
;
3763 out_ext
->sType
= VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI
;
3764 out_ext
->pNext
= NULL
;
3765 out_ext
->renderPass
= in_ext
->renderPass
;
3766 out_ext
->subpass
= in_ext
->subpass
;
3767 out_header
->pNext
= (void *)out_ext
;
3768 out_header
= (void *)out_ext
;
3771 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
:
3773 VkPipelineCompilerControlCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3774 const VkPipelineCompilerControlCreateInfoAMD
*in_ext
= (const VkPipelineCompilerControlCreateInfoAMD
*)in_header
;
3775 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
;
3776 out_ext
->pNext
= NULL
;
3777 out_ext
->compilerControlFlags
= in_ext
->compilerControlFlags
;
3778 out_header
->pNext
= (void *)out_ext
;
3779 out_header
= (void *)out_ext
;
3782 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
3784 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3785 const VkPipelineRobustnessCreateInfoEXT
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT
*)in_header
;
3786 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
3787 out_ext
->pNext
= NULL
;
3788 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
3789 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
3790 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
3791 out_ext
->images
= in_ext
->images
;
3792 out_header
->pNext
= (void *)out_ext
;
3793 out_header
= (void *)out_ext
;
3797 FIXME("Unhandled sType %u.", in_header
->sType
);
3802 #endif /* USE_STRUCT_CONVERSION */
3804 #if defined(USE_STRUCT_CONVERSION)
3805 static inline void convert_VkComputePipelineCreateInfo_host_to_win32(const VkComputePipelineCreateInfo
*in
, const VkComputePipelineCreateInfo32
*out
)
3807 const VkBaseInStructure
*in_header
;
3808 VkBaseOutStructure
*out_header
= (void *)out
;
3813 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
3815 switch (in_header
->sType
)
3817 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
3819 VkPipelineCreationFeedbackCreateInfo32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
);
3820 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
3821 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
3822 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineCreationFeedback
, out_ext
->pPipelineCreationFeedback
, 1);
3823 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineStageCreationFeedbacks
, out_ext
->pPipelineStageCreationFeedbacks
, in_ext
->pipelineStageCreationFeedbackCount
);
3824 out_header
= (void *)out_ext
;
3832 #endif /* USE_STRUCT_CONVERSION */
3834 #if !defined(USE_STRUCT_CONVERSION)
3835 static inline const VkComputePipelineCreateInfo
*convert_VkComputePipelineCreateInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkComputePipelineCreateInfo
*in
, uint32_t count
)
3837 VkComputePipelineCreateInfo
*out
;
3840 if (!in
|| !count
) return NULL
;
3842 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3843 for (i
= 0; i
< count
; i
++)
3845 convert_VkComputePipelineCreateInfo_win64_to_host(ctx
, &in
[i
], &out
[i
]);
3850 #endif /* USE_STRUCT_CONVERSION */
3852 #if defined(USE_STRUCT_CONVERSION)
3853 static inline const VkComputePipelineCreateInfo
*convert_VkComputePipelineCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkComputePipelineCreateInfo32
*in
, uint32_t count
)
3855 VkComputePipelineCreateInfo
*out
;
3858 if (!in
|| !count
) return NULL
;
3860 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3861 for (i
= 0; i
< count
; i
++)
3863 convert_VkComputePipelineCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
3868 #endif /* USE_STRUCT_CONVERSION */
3870 #if defined(USE_STRUCT_CONVERSION)
3871 static inline void convert_VkComputePipelineCreateInfo_array_host_to_win32(const VkComputePipelineCreateInfo
*in
, const VkComputePipelineCreateInfo32
*out
, uint32_t count
)
3877 for (i
= 0; i
< count
; i
++)
3879 convert_VkComputePipelineCreateInfo_host_to_win32(&in
[i
], &out
[i
]);
3882 #endif /* USE_STRUCT_CONVERSION */
3884 #if defined(USE_STRUCT_CONVERSION)
3885 static inline void convert_VkCuFunctionCreateInfoNVX_win32_to_host(const VkCuFunctionCreateInfoNVX32
*in
, VkCuFunctionCreateInfoNVX
*out
)
3889 out
->sType
= in
->sType
;
3890 out
->pNext
= in
->pNext
;
3891 out
->module
= in
->module
;
3892 out
->pName
= in
->pName
;
3894 #endif /* USE_STRUCT_CONVERSION */
3896 #if defined(USE_STRUCT_CONVERSION)
3897 static inline void convert_VkDescriptorUpdateTemplateCreateInfo_win32_to_host(const VkDescriptorUpdateTemplateCreateInfo32
*in
, VkDescriptorUpdateTemplateCreateInfo
*out
)
3901 out
->sType
= in
->sType
;
3902 out
->pNext
= in
->pNext
;
3903 out
->flags
= in
->flags
;
3904 out
->descriptorUpdateEntryCount
= in
->descriptorUpdateEntryCount
;
3905 out
->pDescriptorUpdateEntries
= in
->pDescriptorUpdateEntries
;
3906 out
->templateType
= in
->templateType
;
3907 out
->descriptorSetLayout
= in
->descriptorSetLayout
;
3908 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
3909 out
->pipelineLayout
= in
->pipelineLayout
;
3912 #endif /* USE_STRUCT_CONVERSION */
3914 #if !defined(USE_STRUCT_CONVERSION)
3915 static inline const VkPhysicalDevice
*convert_VkPhysicalDevice_array_win64_to_host(struct conversion_context
*ctx
, const VkPhysicalDevice
*in
, uint32_t count
)
3917 VkPhysicalDevice
*out
;
3920 if (!in
|| !count
) return NULL
;
3922 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3923 for (i
= 0; i
< count
; i
++)
3925 out
[i
] = wine_phys_dev_from_handle(in
[i
])->phys_dev
;
3930 #endif /* USE_STRUCT_CONVERSION */
3932 #if defined(USE_STRUCT_CONVERSION)
3933 static inline const VkPhysicalDevice
*convert_VkPhysicalDevice_array_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDevice
*in
, uint32_t count
)
3935 VkPhysicalDevice
*out
;
3938 if (!in
|| !count
) return NULL
;
3940 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
3941 for (i
= 0; i
< count
; i
++)
3943 out
[i
] = wine_phys_dev_from_handle(in
[i
])->phys_dev
;
3948 #endif /* USE_STRUCT_CONVERSION */
3950 #if !defined(USE_STRUCT_CONVERSION)
3951 static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkDeviceCreateInfo
*in
, VkDeviceCreateInfo
*out
)
3953 const VkBaseInStructure
*in_header
;
3954 VkBaseOutStructure
*out_header
= (void *)out
;
3958 out
->sType
= in
->sType
;
3960 out
->flags
= in
->flags
;
3961 out
->queueCreateInfoCount
= in
->queueCreateInfoCount
;
3962 out
->pQueueCreateInfos
= in
->pQueueCreateInfos
;
3963 out
->enabledLayerCount
= in
->enabledLayerCount
;
3964 out
->ppEnabledLayerNames
= in
->ppEnabledLayerNames
;
3965 out
->enabledExtensionCount
= in
->enabledExtensionCount
;
3966 out
->ppEnabledExtensionNames
= in
->ppEnabledExtensionNames
;
3967 out
->pEnabledFeatures
= in
->pEnabledFeatures
;
3969 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
3971 switch (in_header
->sType
)
3973 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
:
3975 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
:
3977 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3978 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*in_ext
= (const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*)in_header
;
3979 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
;
3980 out_ext
->pNext
= NULL
;
3981 out_ext
->deviceGeneratedCommands
= in_ext
->deviceGeneratedCommands
;
3982 out_header
->pNext
= (void *)out_ext
;
3983 out_header
= (void *)out_ext
;
3986 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO
:
3988 VkDevicePrivateDataCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
3989 const VkDevicePrivateDataCreateInfo
*in_ext
= (const VkDevicePrivateDataCreateInfo
*)in_header
;
3990 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO
;
3991 out_ext
->pNext
= NULL
;
3992 out_ext
->privateDataSlotRequestCount
= in_ext
->privateDataSlotRequestCount
;
3993 out_header
->pNext
= (void *)out_ext
;
3994 out_header
= (void *)out_ext
;
3997 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
:
3999 VkPhysicalDevicePrivateDataFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4000 const VkPhysicalDevicePrivateDataFeatures
*in_ext
= (const VkPhysicalDevicePrivateDataFeatures
*)in_header
;
4001 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
;
4002 out_ext
->pNext
= NULL
;
4003 out_ext
->privateData
= in_ext
->privateData
;
4004 out_header
->pNext
= (void *)out_ext
;
4005 out_header
= (void *)out_ext
;
4008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
:
4010 VkPhysicalDeviceFeatures2
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4011 const VkPhysicalDeviceFeatures2
*in_ext
= (const VkPhysicalDeviceFeatures2
*)in_header
;
4012 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
;
4013 out_ext
->pNext
= NULL
;
4014 out_ext
->features
= in_ext
->features
;
4015 out_header
->pNext
= (void *)out_ext
;
4016 out_header
= (void *)out_ext
;
4019 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
:
4021 VkPhysicalDeviceVariablePointersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4022 const VkPhysicalDeviceVariablePointersFeatures
*in_ext
= (const VkPhysicalDeviceVariablePointersFeatures
*)in_header
;
4023 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
;
4024 out_ext
->pNext
= NULL
;
4025 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
4026 out_ext
->variablePointers
= in_ext
->variablePointers
;
4027 out_header
->pNext
= (void *)out_ext
;
4028 out_header
= (void *)out_ext
;
4031 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
:
4033 VkPhysicalDeviceMultiviewFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4034 const VkPhysicalDeviceMultiviewFeatures
*in_ext
= (const VkPhysicalDeviceMultiviewFeatures
*)in_header
;
4035 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
;
4036 out_ext
->pNext
= NULL
;
4037 out_ext
->multiview
= in_ext
->multiview
;
4038 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
4039 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
4040 out_header
->pNext
= (void *)out_ext
;
4041 out_header
= (void *)out_ext
;
4044 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
:
4046 VkDeviceGroupDeviceCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4047 const VkDeviceGroupDeviceCreateInfo
*in_ext
= (const VkDeviceGroupDeviceCreateInfo
*)in_header
;
4048 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
;
4049 out_ext
->pNext
= NULL
;
4050 out_ext
->physicalDeviceCount
= in_ext
->physicalDeviceCount
;
4051 out_ext
->pPhysicalDevices
= convert_VkPhysicalDevice_array_win64_to_host(ctx
, in_ext
->pPhysicalDevices
, in_ext
->physicalDeviceCount
);
4052 out_header
->pNext
= (void *)out_ext
;
4053 out_header
= (void *)out_ext
;
4056 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
:
4058 VkPhysicalDevicePresentIdFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4059 const VkPhysicalDevicePresentIdFeaturesKHR
*in_ext
= (const VkPhysicalDevicePresentIdFeaturesKHR
*)in_header
;
4060 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
;
4061 out_ext
->pNext
= NULL
;
4062 out_ext
->presentId
= in_ext
->presentId
;
4063 out_header
->pNext
= (void *)out_ext
;
4064 out_header
= (void *)out_ext
;
4067 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
:
4069 VkPhysicalDevicePresentWaitFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4070 const VkPhysicalDevicePresentWaitFeaturesKHR
*in_ext
= (const VkPhysicalDevicePresentWaitFeaturesKHR
*)in_header
;
4071 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
;
4072 out_ext
->pNext
= NULL
;
4073 out_ext
->presentWait
= in_ext
->presentWait
;
4074 out_header
->pNext
= (void *)out_ext
;
4075 out_header
= (void *)out_ext
;
4078 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
:
4080 VkPhysicalDevice16BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4081 const VkPhysicalDevice16BitStorageFeatures
*in_ext
= (const VkPhysicalDevice16BitStorageFeatures
*)in_header
;
4082 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
;
4083 out_ext
->pNext
= NULL
;
4084 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
4085 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
4086 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
4087 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
4088 out_header
->pNext
= (void *)out_ext
;
4089 out_header
= (void *)out_ext
;
4092 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
:
4094 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4095 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*in_ext
= (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*)in_header
;
4096 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
;
4097 out_ext
->pNext
= NULL
;
4098 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
4099 out_header
->pNext
= (void *)out_ext
;
4100 out_header
= (void *)out_ext
;
4103 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
:
4105 VkPhysicalDeviceSamplerYcbcrConversionFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4106 const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*in_ext
= (const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*)in_header
;
4107 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
;
4108 out_ext
->pNext
= NULL
;
4109 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
4110 out_header
->pNext
= (void *)out_ext
;
4111 out_header
= (void *)out_ext
;
4114 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
:
4116 VkPhysicalDeviceProtectedMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4117 const VkPhysicalDeviceProtectedMemoryFeatures
*in_ext
= (const VkPhysicalDeviceProtectedMemoryFeatures
*)in_header
;
4118 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
;
4119 out_ext
->pNext
= NULL
;
4120 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
4121 out_header
->pNext
= (void *)out_ext
;
4122 out_header
= (void *)out_ext
;
4125 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
:
4127 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4128 const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*)in_header
;
4129 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
;
4130 out_ext
->pNext
= NULL
;
4131 out_ext
->advancedBlendCoherentOperations
= in_ext
->advancedBlendCoherentOperations
;
4132 out_header
->pNext
= (void *)out_ext
;
4133 out_header
= (void *)out_ext
;
4136 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
:
4138 VkPhysicalDeviceMultiDrawFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4139 const VkPhysicalDeviceMultiDrawFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMultiDrawFeaturesEXT
*)in_header
;
4140 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
;
4141 out_ext
->pNext
= NULL
;
4142 out_ext
->multiDraw
= in_ext
->multiDraw
;
4143 out_header
->pNext
= (void *)out_ext
;
4144 out_header
= (void *)out_ext
;
4147 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
:
4149 VkPhysicalDeviceInlineUniformBlockFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4150 const VkPhysicalDeviceInlineUniformBlockFeatures
*in_ext
= (const VkPhysicalDeviceInlineUniformBlockFeatures
*)in_header
;
4151 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
;
4152 out_ext
->pNext
= NULL
;
4153 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
4154 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
4155 out_header
->pNext
= (void *)out_ext
;
4156 out_header
= (void *)out_ext
;
4159 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
:
4161 VkPhysicalDeviceMaintenance4Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4162 const VkPhysicalDeviceMaintenance4Features
*in_ext
= (const VkPhysicalDeviceMaintenance4Features
*)in_header
;
4163 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
;
4164 out_ext
->pNext
= NULL
;
4165 out_ext
->maintenance4
= in_ext
->maintenance4
;
4166 out_header
->pNext
= (void *)out_ext
;
4167 out_header
= (void *)out_ext
;
4170 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
:
4172 VkPhysicalDeviceShaderDrawParametersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4173 const VkPhysicalDeviceShaderDrawParametersFeatures
*in_ext
= (const VkPhysicalDeviceShaderDrawParametersFeatures
*)in_header
;
4174 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
;
4175 out_ext
->pNext
= NULL
;
4176 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
4177 out_header
->pNext
= (void *)out_ext
;
4178 out_header
= (void *)out_ext
;
4181 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
:
4183 VkPhysicalDeviceShaderFloat16Int8Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4184 const VkPhysicalDeviceShaderFloat16Int8Features
*in_ext
= (const VkPhysicalDeviceShaderFloat16Int8Features
*)in_header
;
4185 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
;
4186 out_ext
->pNext
= NULL
;
4187 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
4188 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
4189 out_header
->pNext
= (void *)out_ext
;
4190 out_header
= (void *)out_ext
;
4193 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
:
4195 VkPhysicalDeviceHostQueryResetFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4196 const VkPhysicalDeviceHostQueryResetFeatures
*in_ext
= (const VkPhysicalDeviceHostQueryResetFeatures
*)in_header
;
4197 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
;
4198 out_ext
->pNext
= NULL
;
4199 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
4200 out_header
->pNext
= (void *)out_ext
;
4201 out_header
= (void *)out_ext
;
4204 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
:
4206 VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4207 const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*in_ext
= (const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*)in_header
;
4208 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
;
4209 out_ext
->pNext
= NULL
;
4210 out_ext
->globalPriorityQuery
= in_ext
->globalPriorityQuery
;
4211 out_header
->pNext
= (void *)out_ext
;
4212 out_header
= (void *)out_ext
;
4215 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
:
4217 VkPhysicalDeviceDescriptorIndexingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4218 const VkPhysicalDeviceDescriptorIndexingFeatures
*in_ext
= (const VkPhysicalDeviceDescriptorIndexingFeatures
*)in_header
;
4219 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
;
4220 out_ext
->pNext
= NULL
;
4221 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
4222 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
4223 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
4224 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
4225 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
4226 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
4227 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
4228 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
4229 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
4230 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
4231 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
4232 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
4233 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
4234 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
4235 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
4236 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
4237 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
4238 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
4239 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
4240 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
4241 out_header
->pNext
= (void *)out_ext
;
4242 out_header
= (void *)out_ext
;
4245 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
:
4247 VkPhysicalDeviceTimelineSemaphoreFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4248 const VkPhysicalDeviceTimelineSemaphoreFeatures
*in_ext
= (const VkPhysicalDeviceTimelineSemaphoreFeatures
*)in_header
;
4249 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
;
4250 out_ext
->pNext
= NULL
;
4251 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
4252 out_header
->pNext
= (void *)out_ext
;
4253 out_header
= (void *)out_ext
;
4256 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
:
4258 VkPhysicalDevice8BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4259 const VkPhysicalDevice8BitStorageFeatures
*in_ext
= (const VkPhysicalDevice8BitStorageFeatures
*)in_header
;
4260 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
;
4261 out_ext
->pNext
= NULL
;
4262 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
4263 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
4264 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
4265 out_header
->pNext
= (void *)out_ext
;
4266 out_header
= (void *)out_ext
;
4269 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
:
4271 VkPhysicalDeviceConditionalRenderingFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4272 const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*in_ext
= (const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*)in_header
;
4273 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
;
4274 out_ext
->pNext
= NULL
;
4275 out_ext
->conditionalRendering
= in_ext
->conditionalRendering
;
4276 out_ext
->inheritedConditionalRendering
= in_ext
->inheritedConditionalRendering
;
4277 out_header
->pNext
= (void *)out_ext
;
4278 out_header
= (void *)out_ext
;
4281 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
:
4283 VkPhysicalDeviceVulkanMemoryModelFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4284 const VkPhysicalDeviceVulkanMemoryModelFeatures
*in_ext
= (const VkPhysicalDeviceVulkanMemoryModelFeatures
*)in_header
;
4285 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
;
4286 out_ext
->pNext
= NULL
;
4287 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
4288 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
4289 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
4290 out_header
->pNext
= (void *)out_ext
;
4291 out_header
= (void *)out_ext
;
4294 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
:
4296 VkPhysicalDeviceShaderAtomicInt64Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4297 const VkPhysicalDeviceShaderAtomicInt64Features
*in_ext
= (const VkPhysicalDeviceShaderAtomicInt64Features
*)in_header
;
4298 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
;
4299 out_ext
->pNext
= NULL
;
4300 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
4301 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
4302 out_header
->pNext
= (void *)out_ext
;
4303 out_header
= (void *)out_ext
;
4306 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
:
4308 VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4309 const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*)in_header
;
4310 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
;
4311 out_ext
->pNext
= NULL
;
4312 out_ext
->shaderBufferFloat32Atomics
= in_ext
->shaderBufferFloat32Atomics
;
4313 out_ext
->shaderBufferFloat32AtomicAdd
= in_ext
->shaderBufferFloat32AtomicAdd
;
4314 out_ext
->shaderBufferFloat64Atomics
= in_ext
->shaderBufferFloat64Atomics
;
4315 out_ext
->shaderBufferFloat64AtomicAdd
= in_ext
->shaderBufferFloat64AtomicAdd
;
4316 out_ext
->shaderSharedFloat32Atomics
= in_ext
->shaderSharedFloat32Atomics
;
4317 out_ext
->shaderSharedFloat32AtomicAdd
= in_ext
->shaderSharedFloat32AtomicAdd
;
4318 out_ext
->shaderSharedFloat64Atomics
= in_ext
->shaderSharedFloat64Atomics
;
4319 out_ext
->shaderSharedFloat64AtomicAdd
= in_ext
->shaderSharedFloat64AtomicAdd
;
4320 out_ext
->shaderImageFloat32Atomics
= in_ext
->shaderImageFloat32Atomics
;
4321 out_ext
->shaderImageFloat32AtomicAdd
= in_ext
->shaderImageFloat32AtomicAdd
;
4322 out_ext
->sparseImageFloat32Atomics
= in_ext
->sparseImageFloat32Atomics
;
4323 out_ext
->sparseImageFloat32AtomicAdd
= in_ext
->sparseImageFloat32AtomicAdd
;
4324 out_header
->pNext
= (void *)out_ext
;
4325 out_header
= (void *)out_ext
;
4328 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
:
4330 VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4331 const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*)in_header
;
4332 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
;
4333 out_ext
->pNext
= NULL
;
4334 out_ext
->shaderBufferFloat16Atomics
= in_ext
->shaderBufferFloat16Atomics
;
4335 out_ext
->shaderBufferFloat16AtomicAdd
= in_ext
->shaderBufferFloat16AtomicAdd
;
4336 out_ext
->shaderBufferFloat16AtomicMinMax
= in_ext
->shaderBufferFloat16AtomicMinMax
;
4337 out_ext
->shaderBufferFloat32AtomicMinMax
= in_ext
->shaderBufferFloat32AtomicMinMax
;
4338 out_ext
->shaderBufferFloat64AtomicMinMax
= in_ext
->shaderBufferFloat64AtomicMinMax
;
4339 out_ext
->shaderSharedFloat16Atomics
= in_ext
->shaderSharedFloat16Atomics
;
4340 out_ext
->shaderSharedFloat16AtomicAdd
= in_ext
->shaderSharedFloat16AtomicAdd
;
4341 out_ext
->shaderSharedFloat16AtomicMinMax
= in_ext
->shaderSharedFloat16AtomicMinMax
;
4342 out_ext
->shaderSharedFloat32AtomicMinMax
= in_ext
->shaderSharedFloat32AtomicMinMax
;
4343 out_ext
->shaderSharedFloat64AtomicMinMax
= in_ext
->shaderSharedFloat64AtomicMinMax
;
4344 out_ext
->shaderImageFloat32AtomicMinMax
= in_ext
->shaderImageFloat32AtomicMinMax
;
4345 out_ext
->sparseImageFloat32AtomicMinMax
= in_ext
->sparseImageFloat32AtomicMinMax
;
4346 out_header
->pNext
= (void *)out_ext
;
4347 out_header
= (void *)out_ext
;
4350 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
:
4352 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4353 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*in_ext
= (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*)in_header
;
4354 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
;
4355 out_ext
->pNext
= NULL
;
4356 out_ext
->vertexAttributeInstanceRateDivisor
= in_ext
->vertexAttributeInstanceRateDivisor
;
4357 out_ext
->vertexAttributeInstanceRateZeroDivisor
= in_ext
->vertexAttributeInstanceRateZeroDivisor
;
4358 out_header
->pNext
= (void *)out_ext
;
4359 out_header
= (void *)out_ext
;
4362 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
:
4364 VkPhysicalDeviceASTCDecodeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4365 const VkPhysicalDeviceASTCDecodeFeaturesEXT
*in_ext
= (const VkPhysicalDeviceASTCDecodeFeaturesEXT
*)in_header
;
4366 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
;
4367 out_ext
->pNext
= NULL
;
4368 out_ext
->decodeModeSharedExponent
= in_ext
->decodeModeSharedExponent
;
4369 out_header
->pNext
= (void *)out_ext
;
4370 out_header
= (void *)out_ext
;
4373 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
:
4375 VkPhysicalDeviceTransformFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4376 const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*in_ext
= (const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*)in_header
;
4377 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
;
4378 out_ext
->pNext
= NULL
;
4379 out_ext
->transformFeedback
= in_ext
->transformFeedback
;
4380 out_ext
->geometryStreams
= in_ext
->geometryStreams
;
4381 out_header
->pNext
= (void *)out_ext
;
4382 out_header
= (void *)out_ext
;
4385 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
:
4387 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4388 const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*in_ext
= (const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*)in_header
;
4389 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
;
4390 out_ext
->pNext
= NULL
;
4391 out_ext
->representativeFragmentTest
= in_ext
->representativeFragmentTest
;
4392 out_header
->pNext
= (void *)out_ext
;
4393 out_header
= (void *)out_ext
;
4396 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
:
4398 VkPhysicalDeviceExclusiveScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4399 const VkPhysicalDeviceExclusiveScissorFeaturesNV
*in_ext
= (const VkPhysicalDeviceExclusiveScissorFeaturesNV
*)in_header
;
4400 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
;
4401 out_ext
->pNext
= NULL
;
4402 out_ext
->exclusiveScissor
= in_ext
->exclusiveScissor
;
4403 out_header
->pNext
= (void *)out_ext
;
4404 out_header
= (void *)out_ext
;
4407 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
:
4409 VkPhysicalDeviceCornerSampledImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4410 const VkPhysicalDeviceCornerSampledImageFeaturesNV
*in_ext
= (const VkPhysicalDeviceCornerSampledImageFeaturesNV
*)in_header
;
4411 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
;
4412 out_ext
->pNext
= NULL
;
4413 out_ext
->cornerSampledImage
= in_ext
->cornerSampledImage
;
4414 out_header
->pNext
= (void *)out_ext
;
4415 out_header
= (void *)out_ext
;
4418 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
:
4420 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4421 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*in_ext
= (const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*)in_header
;
4422 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
;
4423 out_ext
->pNext
= NULL
;
4424 out_ext
->computeDerivativeGroupQuads
= in_ext
->computeDerivativeGroupQuads
;
4425 out_ext
->computeDerivativeGroupLinear
= in_ext
->computeDerivativeGroupLinear
;
4426 out_header
->pNext
= (void *)out_ext
;
4427 out_header
= (void *)out_ext
;
4430 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
:
4432 VkPhysicalDeviceShaderImageFootprintFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4433 const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*in_ext
= (const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*)in_header
;
4434 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
;
4435 out_ext
->pNext
= NULL
;
4436 out_ext
->imageFootprint
= in_ext
->imageFootprint
;
4437 out_header
->pNext
= (void *)out_ext
;
4438 out_header
= (void *)out_ext
;
4441 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
:
4443 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4444 const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*in_ext
= (const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*)in_header
;
4445 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
;
4446 out_ext
->pNext
= NULL
;
4447 out_ext
->dedicatedAllocationImageAliasing
= in_ext
->dedicatedAllocationImageAliasing
;
4448 out_header
->pNext
= (void *)out_ext
;
4449 out_header
= (void *)out_ext
;
4452 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
:
4454 VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4455 const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*in_ext
= (const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*)in_header
;
4456 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
;
4457 out_ext
->pNext
= NULL
;
4458 out_ext
->indirectCopy
= in_ext
->indirectCopy
;
4459 out_header
->pNext
= (void *)out_ext
;
4460 out_header
= (void *)out_ext
;
4463 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
:
4465 VkPhysicalDeviceMemoryDecompressionFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4466 const VkPhysicalDeviceMemoryDecompressionFeaturesNV
*in_ext
= (const VkPhysicalDeviceMemoryDecompressionFeaturesNV
*)in_header
;
4467 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
;
4468 out_ext
->pNext
= NULL
;
4469 out_ext
->memoryDecompression
= in_ext
->memoryDecompression
;
4470 out_header
->pNext
= (void *)out_ext
;
4471 out_header
= (void *)out_ext
;
4474 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
:
4476 VkPhysicalDeviceShadingRateImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4477 const VkPhysicalDeviceShadingRateImageFeaturesNV
*in_ext
= (const VkPhysicalDeviceShadingRateImageFeaturesNV
*)in_header
;
4478 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
;
4479 out_ext
->pNext
= NULL
;
4480 out_ext
->shadingRateImage
= in_ext
->shadingRateImage
;
4481 out_ext
->shadingRateCoarseSampleOrder
= in_ext
->shadingRateCoarseSampleOrder
;
4482 out_header
->pNext
= (void *)out_ext
;
4483 out_header
= (void *)out_ext
;
4486 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
:
4488 VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4489 const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*in_ext
= (const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*)in_header
;
4490 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
;
4491 out_ext
->pNext
= NULL
;
4492 out_ext
->invocationMask
= in_ext
->invocationMask
;
4493 out_header
->pNext
= (void *)out_ext
;
4494 out_header
= (void *)out_ext
;
4497 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
:
4499 VkPhysicalDeviceMeshShaderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4500 const VkPhysicalDeviceMeshShaderFeaturesNV
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesNV
*)in_header
;
4501 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
;
4502 out_ext
->pNext
= NULL
;
4503 out_ext
->taskShader
= in_ext
->taskShader
;
4504 out_ext
->meshShader
= in_ext
->meshShader
;
4505 out_header
->pNext
= (void *)out_ext
;
4506 out_header
= (void *)out_ext
;
4509 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
:
4511 VkPhysicalDeviceMeshShaderFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4512 const VkPhysicalDeviceMeshShaderFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesEXT
*)in_header
;
4513 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
;
4514 out_ext
->pNext
= NULL
;
4515 out_ext
->taskShader
= in_ext
->taskShader
;
4516 out_ext
->meshShader
= in_ext
->meshShader
;
4517 out_ext
->multiviewMeshShader
= in_ext
->multiviewMeshShader
;
4518 out_ext
->primitiveFragmentShadingRateMeshShader
= in_ext
->primitiveFragmentShadingRateMeshShader
;
4519 out_ext
->meshShaderQueries
= in_ext
->meshShaderQueries
;
4520 out_header
->pNext
= (void *)out_ext
;
4521 out_header
= (void *)out_ext
;
4524 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
:
4526 VkPhysicalDeviceAccelerationStructureFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4527 const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*in_ext
= (const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*)in_header
;
4528 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
;
4529 out_ext
->pNext
= NULL
;
4530 out_ext
->accelerationStructure
= in_ext
->accelerationStructure
;
4531 out_ext
->accelerationStructureCaptureReplay
= in_ext
->accelerationStructureCaptureReplay
;
4532 out_ext
->accelerationStructureIndirectBuild
= in_ext
->accelerationStructureIndirectBuild
;
4533 out_ext
->accelerationStructureHostCommands
= in_ext
->accelerationStructureHostCommands
;
4534 out_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
= in_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
;
4535 out_header
->pNext
= (void *)out_ext
;
4536 out_header
= (void *)out_ext
;
4539 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
:
4541 VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4542 const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*)in_header
;
4543 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
;
4544 out_ext
->pNext
= NULL
;
4545 out_ext
->rayTracingPipeline
= in_ext
->rayTracingPipeline
;
4546 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
;
4547 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
;
4548 out_ext
->rayTracingPipelineTraceRaysIndirect
= in_ext
->rayTracingPipelineTraceRaysIndirect
;
4549 out_ext
->rayTraversalPrimitiveCulling
= in_ext
->rayTraversalPrimitiveCulling
;
4550 out_header
->pNext
= (void *)out_ext
;
4551 out_header
= (void *)out_ext
;
4554 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
:
4556 VkPhysicalDeviceRayQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4557 const VkPhysicalDeviceRayQueryFeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayQueryFeaturesKHR
*)in_header
;
4558 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
;
4559 out_ext
->pNext
= NULL
;
4560 out_ext
->rayQuery
= in_ext
->rayQuery
;
4561 out_header
->pNext
= (void *)out_ext
;
4562 out_header
= (void *)out_ext
;
4565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
:
4567 VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4568 const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*)in_header
;
4569 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
;
4570 out_ext
->pNext
= NULL
;
4571 out_ext
->rayTracingMaintenance1
= in_ext
->rayTracingMaintenance1
;
4572 out_ext
->rayTracingPipelineTraceRaysIndirect2
= in_ext
->rayTracingPipelineTraceRaysIndirect2
;
4573 out_header
->pNext
= (void *)out_ext
;
4574 out_header
= (void *)out_ext
;
4577 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
:
4579 VkDeviceMemoryOverallocationCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4580 const VkDeviceMemoryOverallocationCreateInfoAMD
*in_ext
= (const VkDeviceMemoryOverallocationCreateInfoAMD
*)in_header
;
4581 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
;
4582 out_ext
->pNext
= NULL
;
4583 out_ext
->overallocationBehavior
= in_ext
->overallocationBehavior
;
4584 out_header
->pNext
= (void *)out_ext
;
4585 out_header
= (void *)out_ext
;
4588 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
:
4590 VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4591 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*)in_header
;
4592 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
;
4593 out_ext
->pNext
= NULL
;
4594 out_ext
->fragmentDensityMap
= in_ext
->fragmentDensityMap
;
4595 out_ext
->fragmentDensityMapDynamic
= in_ext
->fragmentDensityMapDynamic
;
4596 out_ext
->fragmentDensityMapNonSubsampledImages
= in_ext
->fragmentDensityMapNonSubsampledImages
;
4597 out_header
->pNext
= (void *)out_ext
;
4598 out_header
= (void *)out_ext
;
4601 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
:
4603 VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4604 const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*)in_header
;
4605 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
;
4606 out_ext
->pNext
= NULL
;
4607 out_ext
->fragmentDensityMapDeferred
= in_ext
->fragmentDensityMapDeferred
;
4608 out_header
->pNext
= (void *)out_ext
;
4609 out_header
= (void *)out_ext
;
4612 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
:
4614 VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4615 const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*)in_header
;
4616 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
;
4617 out_ext
->pNext
= NULL
;
4618 out_ext
->fragmentDensityMapOffset
= in_ext
->fragmentDensityMapOffset
;
4619 out_header
->pNext
= (void *)out_ext
;
4620 out_header
= (void *)out_ext
;
4623 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
:
4625 VkPhysicalDeviceScalarBlockLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4626 const VkPhysicalDeviceScalarBlockLayoutFeatures
*in_ext
= (const VkPhysicalDeviceScalarBlockLayoutFeatures
*)in_header
;
4627 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
;
4628 out_ext
->pNext
= NULL
;
4629 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
4630 out_header
->pNext
= (void *)out_ext
;
4631 out_header
= (void *)out_ext
;
4634 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
:
4636 VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4637 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*in_ext
= (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*)in_header
;
4638 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
;
4639 out_ext
->pNext
= NULL
;
4640 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
4641 out_header
->pNext
= (void *)out_ext
;
4642 out_header
= (void *)out_ext
;
4645 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
:
4647 VkPhysicalDeviceDepthClipEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4648 const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*)in_header
;
4649 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
;
4650 out_ext
->pNext
= NULL
;
4651 out_ext
->depthClipEnable
= in_ext
->depthClipEnable
;
4652 out_header
->pNext
= (void *)out_ext
;
4653 out_header
= (void *)out_ext
;
4656 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
:
4658 VkPhysicalDeviceMemoryPriorityFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4659 const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*)in_header
;
4660 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
;
4661 out_ext
->pNext
= NULL
;
4662 out_ext
->memoryPriority
= in_ext
->memoryPriority
;
4663 out_header
->pNext
= (void *)out_ext
;
4664 out_header
= (void *)out_ext
;
4667 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
:
4669 VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4670 const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*in_ext
= (const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*)in_header
;
4671 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
;
4672 out_ext
->pNext
= NULL
;
4673 out_ext
->pageableDeviceLocalMemory
= in_ext
->pageableDeviceLocalMemory
;
4674 out_header
->pNext
= (void *)out_ext
;
4675 out_header
= (void *)out_ext
;
4678 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
:
4680 VkPhysicalDeviceBufferDeviceAddressFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4681 const VkPhysicalDeviceBufferDeviceAddressFeatures
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeatures
*)in_header
;
4682 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
;
4683 out_ext
->pNext
= NULL
;
4684 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
4685 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
4686 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
4687 out_header
->pNext
= (void *)out_ext
;
4688 out_header
= (void *)out_ext
;
4691 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
:
4693 VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4694 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*)in_header
;
4695 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
;
4696 out_ext
->pNext
= NULL
;
4697 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
4698 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
4699 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
4700 out_header
->pNext
= (void *)out_ext
;
4701 out_header
= (void *)out_ext
;
4704 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
:
4706 VkPhysicalDeviceImagelessFramebufferFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4707 const VkPhysicalDeviceImagelessFramebufferFeatures
*in_ext
= (const VkPhysicalDeviceImagelessFramebufferFeatures
*)in_header
;
4708 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
;
4709 out_ext
->pNext
= NULL
;
4710 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
4711 out_header
->pNext
= (void *)out_ext
;
4712 out_header
= (void *)out_ext
;
4715 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
:
4717 VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4718 const VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*in_ext
= (const VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*)in_header
;
4719 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
;
4720 out_ext
->pNext
= NULL
;
4721 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
4722 out_header
->pNext
= (void *)out_ext
;
4723 out_header
= (void *)out_ext
;
4726 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
:
4728 VkPhysicalDeviceCooperativeMatrixFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4729 const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*in_ext
= (const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*)in_header
;
4730 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
;
4731 out_ext
->pNext
= NULL
;
4732 out_ext
->cooperativeMatrix
= in_ext
->cooperativeMatrix
;
4733 out_ext
->cooperativeMatrixRobustBufferAccess
= in_ext
->cooperativeMatrixRobustBufferAccess
;
4734 out_header
->pNext
= (void *)out_ext
;
4735 out_header
= (void *)out_ext
;
4738 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
:
4740 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4741 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*in_ext
= (const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*)in_header
;
4742 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
;
4743 out_ext
->pNext
= NULL
;
4744 out_ext
->ycbcrImageArrays
= in_ext
->ycbcrImageArrays
;
4745 out_header
->pNext
= (void *)out_ext
;
4746 out_header
= (void *)out_ext
;
4749 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
:
4751 VkPhysicalDevicePresentBarrierFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4752 const VkPhysicalDevicePresentBarrierFeaturesNV
*in_ext
= (const VkPhysicalDevicePresentBarrierFeaturesNV
*)in_header
;
4753 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
;
4754 out_ext
->pNext
= NULL
;
4755 out_ext
->presentBarrier
= in_ext
->presentBarrier
;
4756 out_header
->pNext
= (void *)out_ext
;
4757 out_header
= (void *)out_ext
;
4760 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
:
4762 VkPhysicalDevicePerformanceQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4763 const VkPhysicalDevicePerformanceQueryFeaturesKHR
*in_ext
= (const VkPhysicalDevicePerformanceQueryFeaturesKHR
*)in_header
;
4764 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
;
4765 out_ext
->pNext
= NULL
;
4766 out_ext
->performanceCounterQueryPools
= in_ext
->performanceCounterQueryPools
;
4767 out_ext
->performanceCounterMultipleQueryPools
= in_ext
->performanceCounterMultipleQueryPools
;
4768 out_header
->pNext
= (void *)out_ext
;
4769 out_header
= (void *)out_ext
;
4772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
:
4774 VkPhysicalDeviceCoverageReductionModeFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4775 const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*in_ext
= (const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*)in_header
;
4776 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
;
4777 out_ext
->pNext
= NULL
;
4778 out_ext
->coverageReductionMode
= in_ext
->coverageReductionMode
;
4779 out_header
->pNext
= (void *)out_ext
;
4780 out_header
= (void *)out_ext
;
4783 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
:
4785 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4786 const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*in_ext
= (const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*)in_header
;
4787 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
;
4788 out_ext
->pNext
= NULL
;
4789 out_ext
->shaderIntegerFunctions2
= in_ext
->shaderIntegerFunctions2
;
4790 out_header
->pNext
= (void *)out_ext
;
4791 out_header
= (void *)out_ext
;
4794 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
:
4796 VkPhysicalDeviceShaderClockFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4797 const VkPhysicalDeviceShaderClockFeaturesKHR
*in_ext
= (const VkPhysicalDeviceShaderClockFeaturesKHR
*)in_header
;
4798 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
;
4799 out_ext
->pNext
= NULL
;
4800 out_ext
->shaderSubgroupClock
= in_ext
->shaderSubgroupClock
;
4801 out_ext
->shaderDeviceClock
= in_ext
->shaderDeviceClock
;
4802 out_header
->pNext
= (void *)out_ext
;
4803 out_header
= (void *)out_ext
;
4806 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
:
4808 VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4809 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*in_ext
= (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*)in_header
;
4810 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
;
4811 out_ext
->pNext
= NULL
;
4812 out_ext
->indexTypeUint8
= in_ext
->indexTypeUint8
;
4813 out_header
->pNext
= (void *)out_ext
;
4814 out_header
= (void *)out_ext
;
4817 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
:
4819 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4820 const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*in_ext
= (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*)in_header
;
4821 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
;
4822 out_ext
->pNext
= NULL
;
4823 out_ext
->shaderSMBuiltins
= in_ext
->shaderSMBuiltins
;
4824 out_header
->pNext
= (void *)out_ext
;
4825 out_header
= (void *)out_ext
;
4828 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
:
4830 VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4831 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*)in_header
;
4832 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
;
4833 out_ext
->pNext
= NULL
;
4834 out_ext
->fragmentShaderSampleInterlock
= in_ext
->fragmentShaderSampleInterlock
;
4835 out_ext
->fragmentShaderPixelInterlock
= in_ext
->fragmentShaderPixelInterlock
;
4836 out_ext
->fragmentShaderShadingRateInterlock
= in_ext
->fragmentShaderShadingRateInterlock
;
4837 out_header
->pNext
= (void *)out_ext
;
4838 out_header
= (void *)out_ext
;
4841 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
:
4843 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4844 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*in_ext
= (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*)in_header
;
4845 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
;
4846 out_ext
->pNext
= NULL
;
4847 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
4848 out_header
->pNext
= (void *)out_ext
;
4849 out_header
= (void *)out_ext
;
4852 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
:
4854 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4855 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*in_ext
= (const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*)in_header
;
4856 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
;
4857 out_ext
->pNext
= NULL
;
4858 out_ext
->primitiveTopologyListRestart
= in_ext
->primitiveTopologyListRestart
;
4859 out_ext
->primitiveTopologyPatchListRestart
= in_ext
->primitiveTopologyPatchListRestart
;
4860 out_header
->pNext
= (void *)out_ext
;
4861 out_header
= (void *)out_ext
;
4864 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
:
4866 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4867 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*in_ext
= (const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*)in_header
;
4868 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
;
4869 out_ext
->pNext
= NULL
;
4870 out_ext
->pipelineExecutableInfo
= in_ext
->pipelineExecutableInfo
;
4871 out_header
->pNext
= (void *)out_ext
;
4872 out_header
= (void *)out_ext
;
4875 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
:
4877 VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4878 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*in_ext
= (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*)in_header
;
4879 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
;
4880 out_ext
->pNext
= NULL
;
4881 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
4882 out_header
->pNext
= (void *)out_ext
;
4883 out_header
= (void *)out_ext
;
4886 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
:
4888 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4889 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*in_ext
= (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*)in_header
;
4890 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
;
4891 out_ext
->pNext
= NULL
;
4892 out_ext
->texelBufferAlignment
= in_ext
->texelBufferAlignment
;
4893 out_header
->pNext
= (void *)out_ext
;
4894 out_header
= (void *)out_ext
;
4897 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
:
4899 VkPhysicalDeviceSubgroupSizeControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4900 const VkPhysicalDeviceSubgroupSizeControlFeatures
*in_ext
= (const VkPhysicalDeviceSubgroupSizeControlFeatures
*)in_header
;
4901 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
;
4902 out_ext
->pNext
= NULL
;
4903 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
4904 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
4905 out_header
->pNext
= (void *)out_ext
;
4906 out_header
= (void *)out_ext
;
4909 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
:
4911 VkPhysicalDeviceLineRasterizationFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4912 const VkPhysicalDeviceLineRasterizationFeaturesEXT
*in_ext
= (const VkPhysicalDeviceLineRasterizationFeaturesEXT
*)in_header
;
4913 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
;
4914 out_ext
->pNext
= NULL
;
4915 out_ext
->rectangularLines
= in_ext
->rectangularLines
;
4916 out_ext
->bresenhamLines
= in_ext
->bresenhamLines
;
4917 out_ext
->smoothLines
= in_ext
->smoothLines
;
4918 out_ext
->stippledRectangularLines
= in_ext
->stippledRectangularLines
;
4919 out_ext
->stippledBresenhamLines
= in_ext
->stippledBresenhamLines
;
4920 out_ext
->stippledSmoothLines
= in_ext
->stippledSmoothLines
;
4921 out_header
->pNext
= (void *)out_ext
;
4922 out_header
= (void *)out_ext
;
4925 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
:
4927 VkPhysicalDevicePipelineCreationCacheControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4928 const VkPhysicalDevicePipelineCreationCacheControlFeatures
*in_ext
= (const VkPhysicalDevicePipelineCreationCacheControlFeatures
*)in_header
;
4929 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
;
4930 out_ext
->pNext
= NULL
;
4931 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
4932 out_header
->pNext
= (void *)out_ext
;
4933 out_header
= (void *)out_ext
;
4936 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
:
4938 VkPhysicalDeviceVulkan11Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4939 const VkPhysicalDeviceVulkan11Features
*in_ext
= (const VkPhysicalDeviceVulkan11Features
*)in_header
;
4940 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
;
4941 out_ext
->pNext
= NULL
;
4942 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
4943 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
4944 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
4945 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
4946 out_ext
->multiview
= in_ext
->multiview
;
4947 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
4948 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
4949 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
4950 out_ext
->variablePointers
= in_ext
->variablePointers
;
4951 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
4952 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
4953 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
4954 out_header
->pNext
= (void *)out_ext
;
4955 out_header
= (void *)out_ext
;
4958 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
:
4960 VkPhysicalDeviceVulkan12Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
4961 const VkPhysicalDeviceVulkan12Features
*in_ext
= (const VkPhysicalDeviceVulkan12Features
*)in_header
;
4962 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
;
4963 out_ext
->pNext
= NULL
;
4964 out_ext
->samplerMirrorClampToEdge
= in_ext
->samplerMirrorClampToEdge
;
4965 out_ext
->drawIndirectCount
= in_ext
->drawIndirectCount
;
4966 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
4967 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
4968 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
4969 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
4970 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
4971 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
4972 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
4973 out_ext
->descriptorIndexing
= in_ext
->descriptorIndexing
;
4974 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
4975 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
4976 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
4977 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
4978 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
4979 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
4980 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
4981 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
4982 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
4983 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
4984 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
4985 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
4986 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
4987 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
4988 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
4989 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
4990 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
4991 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
4992 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
4993 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
4994 out_ext
->samplerFilterMinmax
= in_ext
->samplerFilterMinmax
;
4995 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
4996 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
4997 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
4998 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
4999 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
5000 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
5001 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
5002 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
5003 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
5004 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
5005 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
5006 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
5007 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
5008 out_ext
->shaderOutputViewportIndex
= in_ext
->shaderOutputViewportIndex
;
5009 out_ext
->shaderOutputLayer
= in_ext
->shaderOutputLayer
;
5010 out_ext
->subgroupBroadcastDynamicId
= in_ext
->subgroupBroadcastDynamicId
;
5011 out_header
->pNext
= (void *)out_ext
;
5012 out_header
= (void *)out_ext
;
5015 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
:
5017 VkPhysicalDeviceVulkan13Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5018 const VkPhysicalDeviceVulkan13Features
*in_ext
= (const VkPhysicalDeviceVulkan13Features
*)in_header
;
5019 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
;
5020 out_ext
->pNext
= NULL
;
5021 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
5022 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
5023 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
5024 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
5025 out_ext
->privateData
= in_ext
->privateData
;
5026 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
5027 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
5028 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
5029 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
5030 out_ext
->synchronization2
= in_ext
->synchronization2
;
5031 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
5032 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
5033 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
5034 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
5035 out_ext
->maintenance4
= in_ext
->maintenance4
;
5036 out_header
->pNext
= (void *)out_ext
;
5037 out_header
= (void *)out_ext
;
5040 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
:
5042 VkPhysicalDeviceCoherentMemoryFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5043 const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*in_ext
= (const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*)in_header
;
5044 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
;
5045 out_ext
->pNext
= NULL
;
5046 out_ext
->deviceCoherentMemory
= in_ext
->deviceCoherentMemory
;
5047 out_header
->pNext
= (void *)out_ext
;
5048 out_header
= (void *)out_ext
;
5051 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
:
5053 VkPhysicalDeviceCustomBorderColorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5054 const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*in_ext
= (const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*)in_header
;
5055 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
;
5056 out_ext
->pNext
= NULL
;
5057 out_ext
->customBorderColors
= in_ext
->customBorderColors
;
5058 out_ext
->customBorderColorWithoutFormat
= in_ext
->customBorderColorWithoutFormat
;
5059 out_header
->pNext
= (void *)out_ext
;
5060 out_header
= (void *)out_ext
;
5063 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
:
5065 VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5066 const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*)in_header
;
5067 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
;
5068 out_ext
->pNext
= NULL
;
5069 out_ext
->borderColorSwizzle
= in_ext
->borderColorSwizzle
;
5070 out_ext
->borderColorSwizzleFromImage
= in_ext
->borderColorSwizzleFromImage
;
5071 out_header
->pNext
= (void *)out_ext
;
5072 out_header
= (void *)out_ext
;
5075 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
:
5077 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5078 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*)in_header
;
5079 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
;
5080 out_ext
->pNext
= NULL
;
5081 out_ext
->extendedDynamicState
= in_ext
->extendedDynamicState
;
5082 out_header
->pNext
= (void *)out_ext
;
5083 out_header
= (void *)out_ext
;
5086 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
:
5088 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5089 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*)in_header
;
5090 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
;
5091 out_ext
->pNext
= NULL
;
5092 out_ext
->extendedDynamicState2
= in_ext
->extendedDynamicState2
;
5093 out_ext
->extendedDynamicState2LogicOp
= in_ext
->extendedDynamicState2LogicOp
;
5094 out_ext
->extendedDynamicState2PatchControlPoints
= in_ext
->extendedDynamicState2PatchControlPoints
;
5095 out_header
->pNext
= (void *)out_ext
;
5096 out_header
= (void *)out_ext
;
5099 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
:
5101 VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5102 const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*)in_header
;
5103 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
;
5104 out_ext
->pNext
= NULL
;
5105 out_ext
->extendedDynamicState3TessellationDomainOrigin
= in_ext
->extendedDynamicState3TessellationDomainOrigin
;
5106 out_ext
->extendedDynamicState3DepthClampEnable
= in_ext
->extendedDynamicState3DepthClampEnable
;
5107 out_ext
->extendedDynamicState3PolygonMode
= in_ext
->extendedDynamicState3PolygonMode
;
5108 out_ext
->extendedDynamicState3RasterizationSamples
= in_ext
->extendedDynamicState3RasterizationSamples
;
5109 out_ext
->extendedDynamicState3SampleMask
= in_ext
->extendedDynamicState3SampleMask
;
5110 out_ext
->extendedDynamicState3AlphaToCoverageEnable
= in_ext
->extendedDynamicState3AlphaToCoverageEnable
;
5111 out_ext
->extendedDynamicState3AlphaToOneEnable
= in_ext
->extendedDynamicState3AlphaToOneEnable
;
5112 out_ext
->extendedDynamicState3LogicOpEnable
= in_ext
->extendedDynamicState3LogicOpEnable
;
5113 out_ext
->extendedDynamicState3ColorBlendEnable
= in_ext
->extendedDynamicState3ColorBlendEnable
;
5114 out_ext
->extendedDynamicState3ColorBlendEquation
= in_ext
->extendedDynamicState3ColorBlendEquation
;
5115 out_ext
->extendedDynamicState3ColorWriteMask
= in_ext
->extendedDynamicState3ColorWriteMask
;
5116 out_ext
->extendedDynamicState3RasterizationStream
= in_ext
->extendedDynamicState3RasterizationStream
;
5117 out_ext
->extendedDynamicState3ConservativeRasterizationMode
= in_ext
->extendedDynamicState3ConservativeRasterizationMode
;
5118 out_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
= in_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
;
5119 out_ext
->extendedDynamicState3DepthClipEnable
= in_ext
->extendedDynamicState3DepthClipEnable
;
5120 out_ext
->extendedDynamicState3SampleLocationsEnable
= in_ext
->extendedDynamicState3SampleLocationsEnable
;
5121 out_ext
->extendedDynamicState3ColorBlendAdvanced
= in_ext
->extendedDynamicState3ColorBlendAdvanced
;
5122 out_ext
->extendedDynamicState3ProvokingVertexMode
= in_ext
->extendedDynamicState3ProvokingVertexMode
;
5123 out_ext
->extendedDynamicState3LineRasterizationMode
= in_ext
->extendedDynamicState3LineRasterizationMode
;
5124 out_ext
->extendedDynamicState3LineStippleEnable
= in_ext
->extendedDynamicState3LineStippleEnable
;
5125 out_ext
->extendedDynamicState3DepthClipNegativeOneToOne
= in_ext
->extendedDynamicState3DepthClipNegativeOneToOne
;
5126 out_ext
->extendedDynamicState3ViewportWScalingEnable
= in_ext
->extendedDynamicState3ViewportWScalingEnable
;
5127 out_ext
->extendedDynamicState3ViewportSwizzle
= in_ext
->extendedDynamicState3ViewportSwizzle
;
5128 out_ext
->extendedDynamicState3CoverageToColorEnable
= in_ext
->extendedDynamicState3CoverageToColorEnable
;
5129 out_ext
->extendedDynamicState3CoverageToColorLocation
= in_ext
->extendedDynamicState3CoverageToColorLocation
;
5130 out_ext
->extendedDynamicState3CoverageModulationMode
= in_ext
->extendedDynamicState3CoverageModulationMode
;
5131 out_ext
->extendedDynamicState3CoverageModulationTableEnable
= in_ext
->extendedDynamicState3CoverageModulationTableEnable
;
5132 out_ext
->extendedDynamicState3CoverageModulationTable
= in_ext
->extendedDynamicState3CoverageModulationTable
;
5133 out_ext
->extendedDynamicState3CoverageReductionMode
= in_ext
->extendedDynamicState3CoverageReductionMode
;
5134 out_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
= in_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
;
5135 out_ext
->extendedDynamicState3ShadingRateImageEnable
= in_ext
->extendedDynamicState3ShadingRateImageEnable
;
5136 out_header
->pNext
= (void *)out_ext
;
5137 out_header
= (void *)out_ext
;
5140 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
:
5142 VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5143 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*in_ext
= (const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*)in_header
;
5144 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
;
5145 out_ext
->pNext
= NULL
;
5146 out_ext
->diagnosticsConfig
= in_ext
->diagnosticsConfig
;
5147 out_header
->pNext
= (void *)out_ext
;
5148 out_header
= (void *)out_ext
;
5151 case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
:
5153 VkDeviceDiagnosticsConfigCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5154 const VkDeviceDiagnosticsConfigCreateInfoNV
*in_ext
= (const VkDeviceDiagnosticsConfigCreateInfoNV
*)in_header
;
5155 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
;
5156 out_ext
->pNext
= NULL
;
5157 out_ext
->flags
= in_ext
->flags
;
5158 out_header
->pNext
= (void *)out_ext
;
5159 out_header
= (void *)out_ext
;
5162 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
:
5164 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5165 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*in_ext
= (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*)in_header
;
5166 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
;
5167 out_ext
->pNext
= NULL
;
5168 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
5169 out_header
->pNext
= (void *)out_ext
;
5170 out_header
= (void *)out_ext
;
5173 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
:
5175 VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5176 const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*in_ext
= (const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*)in_header
;
5177 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
;
5178 out_ext
->pNext
= NULL
;
5179 out_ext
->shaderSubgroupUniformControlFlow
= in_ext
->shaderSubgroupUniformControlFlow
;
5180 out_header
->pNext
= (void *)out_ext
;
5181 out_header
= (void *)out_ext
;
5184 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
:
5186 VkPhysicalDeviceRobustness2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5187 const VkPhysicalDeviceRobustness2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceRobustness2FeaturesEXT
*)in_header
;
5188 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
;
5189 out_ext
->pNext
= NULL
;
5190 out_ext
->robustBufferAccess2
= in_ext
->robustBufferAccess2
;
5191 out_ext
->robustImageAccess2
= in_ext
->robustImageAccess2
;
5192 out_ext
->nullDescriptor
= in_ext
->nullDescriptor
;
5193 out_header
->pNext
= (void *)out_ext
;
5194 out_header
= (void *)out_ext
;
5197 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
:
5199 VkPhysicalDeviceImageRobustnessFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5200 const VkPhysicalDeviceImageRobustnessFeatures
*in_ext
= (const VkPhysicalDeviceImageRobustnessFeatures
*)in_header
;
5201 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
;
5202 out_ext
->pNext
= NULL
;
5203 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
5204 out_header
->pNext
= (void *)out_ext
;
5205 out_header
= (void *)out_ext
;
5208 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
:
5210 VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5211 const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*in_ext
= (const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*)in_header
;
5212 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
;
5213 out_ext
->pNext
= NULL
;
5214 out_ext
->workgroupMemoryExplicitLayout
= in_ext
->workgroupMemoryExplicitLayout
;
5215 out_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
= in_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
;
5216 out_ext
->workgroupMemoryExplicitLayout8BitAccess
= in_ext
->workgroupMemoryExplicitLayout8BitAccess
;
5217 out_ext
->workgroupMemoryExplicitLayout16BitAccess
= in_ext
->workgroupMemoryExplicitLayout16BitAccess
;
5218 out_header
->pNext
= (void *)out_ext
;
5219 out_header
= (void *)out_ext
;
5222 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
:
5224 VkPhysicalDevice4444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5225 const VkPhysicalDevice4444FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDevice4444FormatsFeaturesEXT
*)in_header
;
5226 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
;
5227 out_ext
->pNext
= NULL
;
5228 out_ext
->formatA4R4G4B4
= in_ext
->formatA4R4G4B4
;
5229 out_ext
->formatA4B4G4R4
= in_ext
->formatA4B4G4R4
;
5230 out_header
->pNext
= (void *)out_ext
;
5231 out_header
= (void *)out_ext
;
5234 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
:
5236 VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5237 const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*in_ext
= (const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*)in_header
;
5238 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
;
5239 out_ext
->pNext
= NULL
;
5240 out_ext
->subpassShading
= in_ext
->subpassShading
;
5241 out_header
->pNext
= (void *)out_ext
;
5242 out_header
= (void *)out_ext
;
5245 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
:
5247 VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5248 const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*)in_header
;
5249 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
;
5250 out_ext
->pNext
= NULL
;
5251 out_ext
->shaderImageInt64Atomics
= in_ext
->shaderImageInt64Atomics
;
5252 out_ext
->sparseImageInt64Atomics
= in_ext
->sparseImageInt64Atomics
;
5253 out_header
->pNext
= (void *)out_ext
;
5254 out_header
= (void *)out_ext
;
5257 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
:
5259 VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5260 const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*)in_header
;
5261 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
;
5262 out_ext
->pNext
= NULL
;
5263 out_ext
->pipelineFragmentShadingRate
= in_ext
->pipelineFragmentShadingRate
;
5264 out_ext
->primitiveFragmentShadingRate
= in_ext
->primitiveFragmentShadingRate
;
5265 out_ext
->attachmentFragmentShadingRate
= in_ext
->attachmentFragmentShadingRate
;
5266 out_header
->pNext
= (void *)out_ext
;
5267 out_header
= (void *)out_ext
;
5270 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
:
5272 VkPhysicalDeviceShaderTerminateInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5273 const VkPhysicalDeviceShaderTerminateInvocationFeatures
*in_ext
= (const VkPhysicalDeviceShaderTerminateInvocationFeatures
*)in_header
;
5274 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
;
5275 out_ext
->pNext
= NULL
;
5276 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
5277 out_header
->pNext
= (void *)out_ext
;
5278 out_header
= (void *)out_ext
;
5281 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
:
5283 VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5284 const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*)in_header
;
5285 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
;
5286 out_ext
->pNext
= NULL
;
5287 out_ext
->fragmentShadingRateEnums
= in_ext
->fragmentShadingRateEnums
;
5288 out_ext
->supersampleFragmentShadingRates
= in_ext
->supersampleFragmentShadingRates
;
5289 out_ext
->noInvocationFragmentShadingRates
= in_ext
->noInvocationFragmentShadingRates
;
5290 out_header
->pNext
= (void *)out_ext
;
5291 out_header
= (void *)out_ext
;
5294 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
:
5296 VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5297 const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*)in_header
;
5298 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
;
5299 out_ext
->pNext
= NULL
;
5300 out_ext
->image2DViewOf3D
= in_ext
->image2DViewOf3D
;
5301 out_ext
->sampler2DViewOf3D
= in_ext
->sampler2DViewOf3D
;
5302 out_header
->pNext
= (void *)out_ext
;
5303 out_header
= (void *)out_ext
;
5306 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
:
5308 VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5309 const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*)in_header
;
5310 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
;
5311 out_ext
->pNext
= NULL
;
5312 out_ext
->mutableDescriptorType
= in_ext
->mutableDescriptorType
;
5313 out_header
->pNext
= (void *)out_ext
;
5314 out_header
= (void *)out_ext
;
5317 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
:
5319 VkPhysicalDeviceDepthClipControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5320 const VkPhysicalDeviceDepthClipControlFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClipControlFeaturesEXT
*)in_header
;
5321 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
;
5322 out_ext
->pNext
= NULL
;
5323 out_ext
->depthClipControl
= in_ext
->depthClipControl
;
5324 out_header
->pNext
= (void *)out_ext
;
5325 out_header
= (void *)out_ext
;
5328 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
:
5330 VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5331 const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*in_ext
= (const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*)in_header
;
5332 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
;
5333 out_ext
->pNext
= NULL
;
5334 out_ext
->vertexInputDynamicState
= in_ext
->vertexInputDynamicState
;
5335 out_header
->pNext
= (void *)out_ext
;
5336 out_header
= (void *)out_ext
;
5339 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
:
5341 VkPhysicalDeviceColorWriteEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5342 const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*in_ext
= (const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*)in_header
;
5343 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
;
5344 out_ext
->pNext
= NULL
;
5345 out_ext
->colorWriteEnable
= in_ext
->colorWriteEnable
;
5346 out_header
->pNext
= (void *)out_ext
;
5347 out_header
= (void *)out_ext
;
5350 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
:
5352 VkPhysicalDeviceSynchronization2Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5353 const VkPhysicalDeviceSynchronization2Features
*in_ext
= (const VkPhysicalDeviceSynchronization2Features
*)in_header
;
5354 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
;
5355 out_ext
->pNext
= NULL
;
5356 out_ext
->synchronization2
= in_ext
->synchronization2
;
5357 out_header
->pNext
= (void *)out_ext
;
5358 out_header
= (void *)out_ext
;
5361 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
:
5363 VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5364 const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*in_ext
= (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*)in_header
;
5365 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
;
5366 out_ext
->pNext
= NULL
;
5367 out_ext
->primitivesGeneratedQuery
= in_ext
->primitivesGeneratedQuery
;
5368 out_ext
->primitivesGeneratedQueryWithRasterizerDiscard
= in_ext
->primitivesGeneratedQueryWithRasterizerDiscard
;
5369 out_ext
->primitivesGeneratedQueryWithNonZeroStreams
= in_ext
->primitivesGeneratedQueryWithNonZeroStreams
;
5370 out_header
->pNext
= (void *)out_ext
;
5371 out_header
= (void *)out_ext
;
5374 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
:
5376 VkPhysicalDeviceLegacyDitheringFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5377 const VkPhysicalDeviceLegacyDitheringFeaturesEXT
*in_ext
= (const VkPhysicalDeviceLegacyDitheringFeaturesEXT
*)in_header
;
5378 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
;
5379 out_ext
->pNext
= NULL
;
5380 out_ext
->legacyDithering
= in_ext
->legacyDithering
;
5381 out_header
->pNext
= (void *)out_ext
;
5382 out_header
= (void *)out_ext
;
5385 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
:
5387 VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5388 const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*)in_header
;
5389 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
;
5390 out_ext
->pNext
= NULL
;
5391 out_ext
->multisampledRenderToSingleSampled
= in_ext
->multisampledRenderToSingleSampled
;
5392 out_header
->pNext
= (void *)out_ext
;
5393 out_header
= (void *)out_ext
;
5396 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
:
5398 VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5399 const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*)in_header
;
5400 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
;
5401 out_ext
->pNext
= NULL
;
5402 out_ext
->pipelineProtectedAccess
= in_ext
->pipelineProtectedAccess
;
5403 out_header
->pNext
= (void *)out_ext
;
5404 out_header
= (void *)out_ext
;
5407 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
:
5409 VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5410 const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*in_ext
= (const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*)in_header
;
5411 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
;
5412 out_ext
->pNext
= NULL
;
5413 out_ext
->inheritedViewportScissor2D
= in_ext
->inheritedViewportScissor2D
;
5414 out_header
->pNext
= (void *)out_ext
;
5415 out_header
= (void *)out_ext
;
5418 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
:
5420 VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5421 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*)in_header
;
5422 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
;
5423 out_ext
->pNext
= NULL
;
5424 out_ext
->ycbcr2plane444Formats
= in_ext
->ycbcr2plane444Formats
;
5425 out_header
->pNext
= (void *)out_ext
;
5426 out_header
= (void *)out_ext
;
5429 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
:
5431 VkPhysicalDeviceProvokingVertexFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5432 const VkPhysicalDeviceProvokingVertexFeaturesEXT
*in_ext
= (const VkPhysicalDeviceProvokingVertexFeaturesEXT
*)in_header
;
5433 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
;
5434 out_ext
->pNext
= NULL
;
5435 out_ext
->provokingVertexLast
= in_ext
->provokingVertexLast
;
5436 out_ext
->transformFeedbackPreservesProvokingVertex
= in_ext
->transformFeedbackPreservesProvokingVertex
;
5437 out_header
->pNext
= (void *)out_ext
;
5438 out_header
= (void *)out_ext
;
5441 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
:
5443 VkPhysicalDeviceShaderIntegerDotProductFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5444 const VkPhysicalDeviceShaderIntegerDotProductFeatures
*in_ext
= (const VkPhysicalDeviceShaderIntegerDotProductFeatures
*)in_header
;
5445 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
;
5446 out_ext
->pNext
= NULL
;
5447 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
5448 out_header
->pNext
= (void *)out_ext
;
5449 out_header
= (void *)out_ext
;
5452 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
:
5454 VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5455 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*)in_header
;
5456 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
;
5457 out_ext
->pNext
= NULL
;
5458 out_ext
->fragmentShaderBarycentric
= in_ext
->fragmentShaderBarycentric
;
5459 out_header
->pNext
= (void *)out_ext
;
5460 out_header
= (void *)out_ext
;
5463 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
:
5465 VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5466 const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*in_ext
= (const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*)in_header
;
5467 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
;
5468 out_ext
->pNext
= NULL
;
5469 out_ext
->rayTracingMotionBlur
= in_ext
->rayTracingMotionBlur
;
5470 out_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
= in_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
;
5471 out_header
->pNext
= (void *)out_ext
;
5472 out_header
= (void *)out_ext
;
5475 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
:
5477 VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5478 const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*)in_header
;
5479 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
;
5480 out_ext
->pNext
= NULL
;
5481 out_ext
->formatRgba10x6WithoutYCbCrSampler
= in_ext
->formatRgba10x6WithoutYCbCrSampler
;
5482 out_header
->pNext
= (void *)out_ext
;
5483 out_header
= (void *)out_ext
;
5486 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
:
5488 VkPhysicalDeviceDynamicRenderingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5489 const VkPhysicalDeviceDynamicRenderingFeatures
*in_ext
= (const VkPhysicalDeviceDynamicRenderingFeatures
*)in_header
;
5490 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
;
5491 out_ext
->pNext
= NULL
;
5492 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
5493 out_header
->pNext
= (void *)out_ext
;
5494 out_header
= (void *)out_ext
;
5497 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
:
5499 VkPhysicalDeviceImageViewMinLodFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5500 const VkPhysicalDeviceImageViewMinLodFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageViewMinLodFeaturesEXT
*)in_header
;
5501 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
;
5502 out_ext
->pNext
= NULL
;
5503 out_ext
->minLod
= in_ext
->minLod
;
5504 out_header
->pNext
= (void *)out_ext
;
5505 out_header
= (void *)out_ext
;
5508 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
:
5510 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5511 const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*in_ext
= (const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*)in_header
;
5512 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
;
5513 out_ext
->pNext
= NULL
;
5514 out_ext
->rasterizationOrderColorAttachmentAccess
= in_ext
->rasterizationOrderColorAttachmentAccess
;
5515 out_ext
->rasterizationOrderDepthAttachmentAccess
= in_ext
->rasterizationOrderDepthAttachmentAccess
;
5516 out_ext
->rasterizationOrderStencilAttachmentAccess
= in_ext
->rasterizationOrderStencilAttachmentAccess
;
5517 out_header
->pNext
= (void *)out_ext
;
5518 out_header
= (void *)out_ext
;
5521 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
:
5523 VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5524 const VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*in_ext
= (const VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*)in_header
;
5525 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
;
5526 out_ext
->pNext
= NULL
;
5527 out_ext
->linearColorAttachment
= in_ext
->linearColorAttachment
;
5528 out_header
->pNext
= (void *)out_ext
;
5529 out_header
= (void *)out_ext
;
5532 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
:
5534 VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5535 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*)in_header
;
5536 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
;
5537 out_ext
->pNext
= NULL
;
5538 out_ext
->graphicsPipelineLibrary
= in_ext
->graphicsPipelineLibrary
;
5539 out_header
->pNext
= (void *)out_ext
;
5540 out_header
= (void *)out_ext
;
5543 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
:
5545 VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5546 const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*in_ext
= (const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*)in_header
;
5547 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
;
5548 out_ext
->pNext
= NULL
;
5549 out_ext
->descriptorSetHostMapping
= in_ext
->descriptorSetHostMapping
;
5550 out_header
->pNext
= (void *)out_ext
;
5551 out_header
= (void *)out_ext
;
5554 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
:
5556 VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5557 const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*)in_header
;
5558 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
;
5559 out_ext
->pNext
= NULL
;
5560 out_ext
->shaderModuleIdentifier
= in_ext
->shaderModuleIdentifier
;
5561 out_header
->pNext
= (void *)out_ext
;
5562 out_header
= (void *)out_ext
;
5565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
:
5567 VkPhysicalDeviceImageCompressionControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5568 const VkPhysicalDeviceImageCompressionControlFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageCompressionControlFeaturesEXT
*)in_header
;
5569 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
;
5570 out_ext
->pNext
= NULL
;
5571 out_ext
->imageCompressionControl
= in_ext
->imageCompressionControl
;
5572 out_header
->pNext
= (void *)out_ext
;
5573 out_header
= (void *)out_ext
;
5576 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
:
5578 VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5579 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*)in_header
;
5580 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
;
5581 out_ext
->pNext
= NULL
;
5582 out_ext
->imageCompressionControlSwapchain
= in_ext
->imageCompressionControlSwapchain
;
5583 out_header
->pNext
= (void *)out_ext
;
5584 out_header
= (void *)out_ext
;
5587 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
:
5589 VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5590 const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*in_ext
= (const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*)in_header
;
5591 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
;
5592 out_ext
->pNext
= NULL
;
5593 out_ext
->subpassMergeFeedback
= in_ext
->subpassMergeFeedback
;
5594 out_header
->pNext
= (void *)out_ext
;
5595 out_header
= (void *)out_ext
;
5598 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
:
5600 VkPhysicalDeviceOpacityMicromapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5601 const VkPhysicalDeviceOpacityMicromapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceOpacityMicromapFeaturesEXT
*)in_header
;
5602 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
;
5603 out_ext
->pNext
= NULL
;
5604 out_ext
->micromap
= in_ext
->micromap
;
5605 out_ext
->micromapCaptureReplay
= in_ext
->micromapCaptureReplay
;
5606 out_ext
->micromapHostCommands
= in_ext
->micromapHostCommands
;
5607 out_header
->pNext
= (void *)out_ext
;
5608 out_header
= (void *)out_ext
;
5611 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
:
5613 VkPhysicalDevicePipelinePropertiesFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5614 const VkPhysicalDevicePipelinePropertiesFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelinePropertiesFeaturesEXT
*)in_header
;
5615 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
;
5616 out_ext
->pNext
= NULL
;
5617 out_ext
->pipelinePropertiesIdentifier
= in_ext
->pipelinePropertiesIdentifier
;
5618 out_header
->pNext
= (void *)out_ext
;
5619 out_header
= (void *)out_ext
;
5622 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
:
5624 VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5625 const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*in_ext
= (const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*)in_header
;
5626 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
;
5627 out_ext
->pNext
= NULL
;
5628 out_ext
->shaderEarlyAndLateFragmentTests
= in_ext
->shaderEarlyAndLateFragmentTests
;
5629 out_header
->pNext
= (void *)out_ext
;
5630 out_header
= (void *)out_ext
;
5633 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
:
5635 VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5636 const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*)in_header
;
5637 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
;
5638 out_ext
->pNext
= NULL
;
5639 out_ext
->nonSeamlessCubeMap
= in_ext
->nonSeamlessCubeMap
;
5640 out_header
->pNext
= (void *)out_ext
;
5641 out_header
= (void *)out_ext
;
5644 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
:
5646 VkPhysicalDevicePipelineRobustnessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5647 const VkPhysicalDevicePipelineRobustnessFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelineRobustnessFeaturesEXT
*)in_header
;
5648 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
;
5649 out_ext
->pNext
= NULL
;
5650 out_ext
->pipelineRobustness
= in_ext
->pipelineRobustness
;
5651 out_header
->pNext
= (void *)out_ext
;
5652 out_header
= (void *)out_ext
;
5655 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
:
5657 VkPhysicalDeviceImageProcessingFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5658 const VkPhysicalDeviceImageProcessingFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceImageProcessingFeaturesQCOM
*)in_header
;
5659 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
;
5660 out_ext
->pNext
= NULL
;
5661 out_ext
->textureSampleWeighted
= in_ext
->textureSampleWeighted
;
5662 out_ext
->textureBoxFilter
= in_ext
->textureBoxFilter
;
5663 out_ext
->textureBlockMatch
= in_ext
->textureBlockMatch
;
5664 out_header
->pNext
= (void *)out_ext
;
5665 out_header
= (void *)out_ext
;
5668 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
:
5670 VkPhysicalDeviceTilePropertiesFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5671 const VkPhysicalDeviceTilePropertiesFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceTilePropertiesFeaturesQCOM
*)in_header
;
5672 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
;
5673 out_ext
->pNext
= NULL
;
5674 out_ext
->tileProperties
= in_ext
->tileProperties
;
5675 out_header
->pNext
= (void *)out_ext
;
5676 out_header
= (void *)out_ext
;
5679 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
:
5681 VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5682 const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*in_ext
= (const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*)in_header
;
5683 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
;
5684 out_ext
->pNext
= NULL
;
5685 out_ext
->attachmentFeedbackLoopLayout
= in_ext
->attachmentFeedbackLoopLayout
;
5686 out_header
->pNext
= (void *)out_ext
;
5687 out_header
= (void *)out_ext
;
5690 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
:
5692 VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5693 const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*)in_header
;
5694 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
;
5695 out_ext
->pNext
= NULL
;
5696 out_ext
->depthClampZeroOne
= in_ext
->depthClampZeroOne
;
5697 out_header
->pNext
= (void *)out_ext
;
5698 out_header
= (void *)out_ext
;
5701 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
:
5703 VkPhysicalDeviceAddressBindingReportFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5704 const VkPhysicalDeviceAddressBindingReportFeaturesEXT
*in_ext
= (const VkPhysicalDeviceAddressBindingReportFeaturesEXT
*)in_header
;
5705 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
;
5706 out_ext
->pNext
= NULL
;
5707 out_ext
->reportAddressBinding
= in_ext
->reportAddressBinding
;
5708 out_header
->pNext
= (void *)out_ext
;
5709 out_header
= (void *)out_ext
;
5712 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
:
5714 VkPhysicalDeviceOpticalFlowFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5715 const VkPhysicalDeviceOpticalFlowFeaturesNV
*in_ext
= (const VkPhysicalDeviceOpticalFlowFeaturesNV
*)in_header
;
5716 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
;
5717 out_ext
->pNext
= NULL
;
5718 out_ext
->opticalFlow
= in_ext
->opticalFlow
;
5719 out_header
->pNext
= (void *)out_ext
;
5720 out_header
= (void *)out_ext
;
5723 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
:
5725 VkPhysicalDeviceFaultFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5726 const VkPhysicalDeviceFaultFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFaultFeaturesEXT
*)in_header
;
5727 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
;
5728 out_ext
->pNext
= NULL
;
5729 out_ext
->deviceFault
= in_ext
->deviceFault
;
5730 out_ext
->deviceFaultVendorBinary
= in_ext
->deviceFaultVendorBinary
;
5731 out_header
->pNext
= (void *)out_ext
;
5732 out_header
= (void *)out_ext
;
5735 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
:
5737 VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5738 const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*in_ext
= (const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*)in_header
;
5739 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
;
5740 out_ext
->pNext
= NULL
;
5741 out_ext
->shaderCoreBuiltins
= in_ext
->shaderCoreBuiltins
;
5742 out_header
->pNext
= (void *)out_ext
;
5743 out_header
= (void *)out_ext
;
5746 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
:
5748 VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5749 const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*in_ext
= (const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*)in_header
;
5750 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
;
5751 out_ext
->pNext
= NULL
;
5752 out_ext
->rayTracingInvocationReorder
= in_ext
->rayTracingInvocationReorder
;
5753 out_header
->pNext
= (void *)out_ext
;
5754 out_header
= (void *)out_ext
;
5758 FIXME("Unhandled sType %u.", in_header
->sType
);
5763 #endif /* USE_STRUCT_CONVERSION */
5765 #if defined(USE_STRUCT_CONVERSION)
5766 static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkDeviceCreateInfo
*in
, VkDeviceCreateInfo
*out
)
5768 const VkBaseInStructure
*in_header
;
5769 VkBaseOutStructure
*out_header
= (void *)out
;
5773 out
->sType
= in
->sType
;
5775 out
->flags
= in
->flags
;
5776 out
->queueCreateInfoCount
= in
->queueCreateInfoCount
;
5777 out
->pQueueCreateInfos
= in
->pQueueCreateInfos
;
5778 out
->enabledLayerCount
= in
->enabledLayerCount
;
5779 out
->ppEnabledLayerNames
= in
->ppEnabledLayerNames
;
5780 out
->enabledExtensionCount
= in
->enabledExtensionCount
;
5781 out
->ppEnabledExtensionNames
= in
->ppEnabledExtensionNames
;
5782 out
->pEnabledFeatures
= in
->pEnabledFeatures
;
5784 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
5786 switch (in_header
->sType
)
5788 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
:
5790 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
:
5792 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5793 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*in_ext
= (const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*)in_header
;
5794 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
;
5795 out_ext
->pNext
= NULL
;
5796 out_ext
->deviceGeneratedCommands
= in_ext
->deviceGeneratedCommands
;
5797 out_header
->pNext
= (void *)out_ext
;
5798 out_header
= (void *)out_ext
;
5801 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO
:
5803 VkDevicePrivateDataCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5804 const VkDevicePrivateDataCreateInfo
*in_ext
= (const VkDevicePrivateDataCreateInfo
*)in_header
;
5805 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO
;
5806 out_ext
->pNext
= NULL
;
5807 out_ext
->privateDataSlotRequestCount
= in_ext
->privateDataSlotRequestCount
;
5808 out_header
->pNext
= (void *)out_ext
;
5809 out_header
= (void *)out_ext
;
5812 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
:
5814 VkPhysicalDevicePrivateDataFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5815 const VkPhysicalDevicePrivateDataFeatures
*in_ext
= (const VkPhysicalDevicePrivateDataFeatures
*)in_header
;
5816 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
;
5817 out_ext
->pNext
= NULL
;
5818 out_ext
->privateData
= in_ext
->privateData
;
5819 out_header
->pNext
= (void *)out_ext
;
5820 out_header
= (void *)out_ext
;
5823 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
:
5825 VkPhysicalDeviceFeatures2
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5826 const VkPhysicalDeviceFeatures2
*in_ext
= (const VkPhysicalDeviceFeatures2
*)in_header
;
5827 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
;
5828 out_ext
->pNext
= NULL
;
5829 out_ext
->features
= in_ext
->features
;
5830 out_header
->pNext
= (void *)out_ext
;
5831 out_header
= (void *)out_ext
;
5834 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
:
5836 VkPhysicalDeviceVariablePointersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5837 const VkPhysicalDeviceVariablePointersFeatures
*in_ext
= (const VkPhysicalDeviceVariablePointersFeatures
*)in_header
;
5838 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
;
5839 out_ext
->pNext
= NULL
;
5840 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
5841 out_ext
->variablePointers
= in_ext
->variablePointers
;
5842 out_header
->pNext
= (void *)out_ext
;
5843 out_header
= (void *)out_ext
;
5846 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
:
5848 VkPhysicalDeviceMultiviewFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5849 const VkPhysicalDeviceMultiviewFeatures
*in_ext
= (const VkPhysicalDeviceMultiviewFeatures
*)in_header
;
5850 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
;
5851 out_ext
->pNext
= NULL
;
5852 out_ext
->multiview
= in_ext
->multiview
;
5853 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
5854 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
5855 out_header
->pNext
= (void *)out_ext
;
5856 out_header
= (void *)out_ext
;
5859 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
:
5861 VkDeviceGroupDeviceCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5862 const VkDeviceGroupDeviceCreateInfo
*in_ext
= (const VkDeviceGroupDeviceCreateInfo
*)in_header
;
5863 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
;
5864 out_ext
->pNext
= NULL
;
5865 out_ext
->physicalDeviceCount
= in_ext
->physicalDeviceCount
;
5866 out_ext
->pPhysicalDevices
= convert_VkPhysicalDevice_array_win32_to_host(ctx
, in_ext
->pPhysicalDevices
, in_ext
->physicalDeviceCount
);
5867 out_header
->pNext
= (void *)out_ext
;
5868 out_header
= (void *)out_ext
;
5871 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
:
5873 VkPhysicalDevicePresentIdFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5874 const VkPhysicalDevicePresentIdFeaturesKHR
*in_ext
= (const VkPhysicalDevicePresentIdFeaturesKHR
*)in_header
;
5875 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
;
5876 out_ext
->pNext
= NULL
;
5877 out_ext
->presentId
= in_ext
->presentId
;
5878 out_header
->pNext
= (void *)out_ext
;
5879 out_header
= (void *)out_ext
;
5882 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
:
5884 VkPhysicalDevicePresentWaitFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5885 const VkPhysicalDevicePresentWaitFeaturesKHR
*in_ext
= (const VkPhysicalDevicePresentWaitFeaturesKHR
*)in_header
;
5886 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
;
5887 out_ext
->pNext
= NULL
;
5888 out_ext
->presentWait
= in_ext
->presentWait
;
5889 out_header
->pNext
= (void *)out_ext
;
5890 out_header
= (void *)out_ext
;
5893 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
:
5895 VkPhysicalDevice16BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5896 const VkPhysicalDevice16BitStorageFeatures
*in_ext
= (const VkPhysicalDevice16BitStorageFeatures
*)in_header
;
5897 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
;
5898 out_ext
->pNext
= NULL
;
5899 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
5900 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
5901 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
5902 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
5903 out_header
->pNext
= (void *)out_ext
;
5904 out_header
= (void *)out_ext
;
5907 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
:
5909 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5910 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*in_ext
= (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*)in_header
;
5911 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
;
5912 out_ext
->pNext
= NULL
;
5913 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
5914 out_header
->pNext
= (void *)out_ext
;
5915 out_header
= (void *)out_ext
;
5918 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
:
5920 VkPhysicalDeviceSamplerYcbcrConversionFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5921 const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*in_ext
= (const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*)in_header
;
5922 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
;
5923 out_ext
->pNext
= NULL
;
5924 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
5925 out_header
->pNext
= (void *)out_ext
;
5926 out_header
= (void *)out_ext
;
5929 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
:
5931 VkPhysicalDeviceProtectedMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5932 const VkPhysicalDeviceProtectedMemoryFeatures
*in_ext
= (const VkPhysicalDeviceProtectedMemoryFeatures
*)in_header
;
5933 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
;
5934 out_ext
->pNext
= NULL
;
5935 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
5936 out_header
->pNext
= (void *)out_ext
;
5937 out_header
= (void *)out_ext
;
5940 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
:
5942 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5943 const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*)in_header
;
5944 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
;
5945 out_ext
->pNext
= NULL
;
5946 out_ext
->advancedBlendCoherentOperations
= in_ext
->advancedBlendCoherentOperations
;
5947 out_header
->pNext
= (void *)out_ext
;
5948 out_header
= (void *)out_ext
;
5951 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
:
5953 VkPhysicalDeviceMultiDrawFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5954 const VkPhysicalDeviceMultiDrawFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMultiDrawFeaturesEXT
*)in_header
;
5955 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
;
5956 out_ext
->pNext
= NULL
;
5957 out_ext
->multiDraw
= in_ext
->multiDraw
;
5958 out_header
->pNext
= (void *)out_ext
;
5959 out_header
= (void *)out_ext
;
5962 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
:
5964 VkPhysicalDeviceInlineUniformBlockFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5965 const VkPhysicalDeviceInlineUniformBlockFeatures
*in_ext
= (const VkPhysicalDeviceInlineUniformBlockFeatures
*)in_header
;
5966 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
;
5967 out_ext
->pNext
= NULL
;
5968 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
5969 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
5970 out_header
->pNext
= (void *)out_ext
;
5971 out_header
= (void *)out_ext
;
5974 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
:
5976 VkPhysicalDeviceMaintenance4Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5977 const VkPhysicalDeviceMaintenance4Features
*in_ext
= (const VkPhysicalDeviceMaintenance4Features
*)in_header
;
5978 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
;
5979 out_ext
->pNext
= NULL
;
5980 out_ext
->maintenance4
= in_ext
->maintenance4
;
5981 out_header
->pNext
= (void *)out_ext
;
5982 out_header
= (void *)out_ext
;
5985 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
:
5987 VkPhysicalDeviceShaderDrawParametersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5988 const VkPhysicalDeviceShaderDrawParametersFeatures
*in_ext
= (const VkPhysicalDeviceShaderDrawParametersFeatures
*)in_header
;
5989 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
;
5990 out_ext
->pNext
= NULL
;
5991 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
5992 out_header
->pNext
= (void *)out_ext
;
5993 out_header
= (void *)out_ext
;
5996 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
:
5998 VkPhysicalDeviceShaderFloat16Int8Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
5999 const VkPhysicalDeviceShaderFloat16Int8Features
*in_ext
= (const VkPhysicalDeviceShaderFloat16Int8Features
*)in_header
;
6000 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
;
6001 out_ext
->pNext
= NULL
;
6002 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
6003 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
6004 out_header
->pNext
= (void *)out_ext
;
6005 out_header
= (void *)out_ext
;
6008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
:
6010 VkPhysicalDeviceHostQueryResetFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6011 const VkPhysicalDeviceHostQueryResetFeatures
*in_ext
= (const VkPhysicalDeviceHostQueryResetFeatures
*)in_header
;
6012 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
;
6013 out_ext
->pNext
= NULL
;
6014 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
6015 out_header
->pNext
= (void *)out_ext
;
6016 out_header
= (void *)out_ext
;
6019 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
:
6021 VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6022 const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*in_ext
= (const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*)in_header
;
6023 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
;
6024 out_ext
->pNext
= NULL
;
6025 out_ext
->globalPriorityQuery
= in_ext
->globalPriorityQuery
;
6026 out_header
->pNext
= (void *)out_ext
;
6027 out_header
= (void *)out_ext
;
6030 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
:
6032 VkPhysicalDeviceDescriptorIndexingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6033 const VkPhysicalDeviceDescriptorIndexingFeatures
*in_ext
= (const VkPhysicalDeviceDescriptorIndexingFeatures
*)in_header
;
6034 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
;
6035 out_ext
->pNext
= NULL
;
6036 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
6037 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
6038 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
6039 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
6040 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
6041 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
6042 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
6043 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
6044 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
6045 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
6046 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
6047 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
6048 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
6049 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
6050 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
6051 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
6052 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
6053 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
6054 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
6055 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
6056 out_header
->pNext
= (void *)out_ext
;
6057 out_header
= (void *)out_ext
;
6060 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
:
6062 VkPhysicalDeviceTimelineSemaphoreFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6063 const VkPhysicalDeviceTimelineSemaphoreFeatures
*in_ext
= (const VkPhysicalDeviceTimelineSemaphoreFeatures
*)in_header
;
6064 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
;
6065 out_ext
->pNext
= NULL
;
6066 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
6067 out_header
->pNext
= (void *)out_ext
;
6068 out_header
= (void *)out_ext
;
6071 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
:
6073 VkPhysicalDevice8BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6074 const VkPhysicalDevice8BitStorageFeatures
*in_ext
= (const VkPhysicalDevice8BitStorageFeatures
*)in_header
;
6075 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
;
6076 out_ext
->pNext
= NULL
;
6077 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
6078 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
6079 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
6080 out_header
->pNext
= (void *)out_ext
;
6081 out_header
= (void *)out_ext
;
6084 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
:
6086 VkPhysicalDeviceConditionalRenderingFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6087 const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*in_ext
= (const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*)in_header
;
6088 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
;
6089 out_ext
->pNext
= NULL
;
6090 out_ext
->conditionalRendering
= in_ext
->conditionalRendering
;
6091 out_ext
->inheritedConditionalRendering
= in_ext
->inheritedConditionalRendering
;
6092 out_header
->pNext
= (void *)out_ext
;
6093 out_header
= (void *)out_ext
;
6096 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
:
6098 VkPhysicalDeviceVulkanMemoryModelFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6099 const VkPhysicalDeviceVulkanMemoryModelFeatures
*in_ext
= (const VkPhysicalDeviceVulkanMemoryModelFeatures
*)in_header
;
6100 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
;
6101 out_ext
->pNext
= NULL
;
6102 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
6103 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
6104 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
6105 out_header
->pNext
= (void *)out_ext
;
6106 out_header
= (void *)out_ext
;
6109 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
:
6111 VkPhysicalDeviceShaderAtomicInt64Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6112 const VkPhysicalDeviceShaderAtomicInt64Features
*in_ext
= (const VkPhysicalDeviceShaderAtomicInt64Features
*)in_header
;
6113 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
;
6114 out_ext
->pNext
= NULL
;
6115 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
6116 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
6117 out_header
->pNext
= (void *)out_ext
;
6118 out_header
= (void *)out_ext
;
6121 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
:
6123 VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6124 const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*)in_header
;
6125 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
;
6126 out_ext
->pNext
= NULL
;
6127 out_ext
->shaderBufferFloat32Atomics
= in_ext
->shaderBufferFloat32Atomics
;
6128 out_ext
->shaderBufferFloat32AtomicAdd
= in_ext
->shaderBufferFloat32AtomicAdd
;
6129 out_ext
->shaderBufferFloat64Atomics
= in_ext
->shaderBufferFloat64Atomics
;
6130 out_ext
->shaderBufferFloat64AtomicAdd
= in_ext
->shaderBufferFloat64AtomicAdd
;
6131 out_ext
->shaderSharedFloat32Atomics
= in_ext
->shaderSharedFloat32Atomics
;
6132 out_ext
->shaderSharedFloat32AtomicAdd
= in_ext
->shaderSharedFloat32AtomicAdd
;
6133 out_ext
->shaderSharedFloat64Atomics
= in_ext
->shaderSharedFloat64Atomics
;
6134 out_ext
->shaderSharedFloat64AtomicAdd
= in_ext
->shaderSharedFloat64AtomicAdd
;
6135 out_ext
->shaderImageFloat32Atomics
= in_ext
->shaderImageFloat32Atomics
;
6136 out_ext
->shaderImageFloat32AtomicAdd
= in_ext
->shaderImageFloat32AtomicAdd
;
6137 out_ext
->sparseImageFloat32Atomics
= in_ext
->sparseImageFloat32Atomics
;
6138 out_ext
->sparseImageFloat32AtomicAdd
= in_ext
->sparseImageFloat32AtomicAdd
;
6139 out_header
->pNext
= (void *)out_ext
;
6140 out_header
= (void *)out_ext
;
6143 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
:
6145 VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6146 const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*)in_header
;
6147 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
;
6148 out_ext
->pNext
= NULL
;
6149 out_ext
->shaderBufferFloat16Atomics
= in_ext
->shaderBufferFloat16Atomics
;
6150 out_ext
->shaderBufferFloat16AtomicAdd
= in_ext
->shaderBufferFloat16AtomicAdd
;
6151 out_ext
->shaderBufferFloat16AtomicMinMax
= in_ext
->shaderBufferFloat16AtomicMinMax
;
6152 out_ext
->shaderBufferFloat32AtomicMinMax
= in_ext
->shaderBufferFloat32AtomicMinMax
;
6153 out_ext
->shaderBufferFloat64AtomicMinMax
= in_ext
->shaderBufferFloat64AtomicMinMax
;
6154 out_ext
->shaderSharedFloat16Atomics
= in_ext
->shaderSharedFloat16Atomics
;
6155 out_ext
->shaderSharedFloat16AtomicAdd
= in_ext
->shaderSharedFloat16AtomicAdd
;
6156 out_ext
->shaderSharedFloat16AtomicMinMax
= in_ext
->shaderSharedFloat16AtomicMinMax
;
6157 out_ext
->shaderSharedFloat32AtomicMinMax
= in_ext
->shaderSharedFloat32AtomicMinMax
;
6158 out_ext
->shaderSharedFloat64AtomicMinMax
= in_ext
->shaderSharedFloat64AtomicMinMax
;
6159 out_ext
->shaderImageFloat32AtomicMinMax
= in_ext
->shaderImageFloat32AtomicMinMax
;
6160 out_ext
->sparseImageFloat32AtomicMinMax
= in_ext
->sparseImageFloat32AtomicMinMax
;
6161 out_header
->pNext
= (void *)out_ext
;
6162 out_header
= (void *)out_ext
;
6165 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
:
6167 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6168 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*in_ext
= (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*)in_header
;
6169 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
;
6170 out_ext
->pNext
= NULL
;
6171 out_ext
->vertexAttributeInstanceRateDivisor
= in_ext
->vertexAttributeInstanceRateDivisor
;
6172 out_ext
->vertexAttributeInstanceRateZeroDivisor
= in_ext
->vertexAttributeInstanceRateZeroDivisor
;
6173 out_header
->pNext
= (void *)out_ext
;
6174 out_header
= (void *)out_ext
;
6177 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
:
6179 VkPhysicalDeviceASTCDecodeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6180 const VkPhysicalDeviceASTCDecodeFeaturesEXT
*in_ext
= (const VkPhysicalDeviceASTCDecodeFeaturesEXT
*)in_header
;
6181 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
;
6182 out_ext
->pNext
= NULL
;
6183 out_ext
->decodeModeSharedExponent
= in_ext
->decodeModeSharedExponent
;
6184 out_header
->pNext
= (void *)out_ext
;
6185 out_header
= (void *)out_ext
;
6188 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
:
6190 VkPhysicalDeviceTransformFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6191 const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*in_ext
= (const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*)in_header
;
6192 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
;
6193 out_ext
->pNext
= NULL
;
6194 out_ext
->transformFeedback
= in_ext
->transformFeedback
;
6195 out_ext
->geometryStreams
= in_ext
->geometryStreams
;
6196 out_header
->pNext
= (void *)out_ext
;
6197 out_header
= (void *)out_ext
;
6200 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
:
6202 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6203 const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*in_ext
= (const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*)in_header
;
6204 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
;
6205 out_ext
->pNext
= NULL
;
6206 out_ext
->representativeFragmentTest
= in_ext
->representativeFragmentTest
;
6207 out_header
->pNext
= (void *)out_ext
;
6208 out_header
= (void *)out_ext
;
6211 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
:
6213 VkPhysicalDeviceExclusiveScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6214 const VkPhysicalDeviceExclusiveScissorFeaturesNV
*in_ext
= (const VkPhysicalDeviceExclusiveScissorFeaturesNV
*)in_header
;
6215 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
;
6216 out_ext
->pNext
= NULL
;
6217 out_ext
->exclusiveScissor
= in_ext
->exclusiveScissor
;
6218 out_header
->pNext
= (void *)out_ext
;
6219 out_header
= (void *)out_ext
;
6222 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
:
6224 VkPhysicalDeviceCornerSampledImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6225 const VkPhysicalDeviceCornerSampledImageFeaturesNV
*in_ext
= (const VkPhysicalDeviceCornerSampledImageFeaturesNV
*)in_header
;
6226 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
;
6227 out_ext
->pNext
= NULL
;
6228 out_ext
->cornerSampledImage
= in_ext
->cornerSampledImage
;
6229 out_header
->pNext
= (void *)out_ext
;
6230 out_header
= (void *)out_ext
;
6233 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
:
6235 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6236 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*in_ext
= (const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*)in_header
;
6237 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
;
6238 out_ext
->pNext
= NULL
;
6239 out_ext
->computeDerivativeGroupQuads
= in_ext
->computeDerivativeGroupQuads
;
6240 out_ext
->computeDerivativeGroupLinear
= in_ext
->computeDerivativeGroupLinear
;
6241 out_header
->pNext
= (void *)out_ext
;
6242 out_header
= (void *)out_ext
;
6245 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
:
6247 VkPhysicalDeviceShaderImageFootprintFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6248 const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*in_ext
= (const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*)in_header
;
6249 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
;
6250 out_ext
->pNext
= NULL
;
6251 out_ext
->imageFootprint
= in_ext
->imageFootprint
;
6252 out_header
->pNext
= (void *)out_ext
;
6253 out_header
= (void *)out_ext
;
6256 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
:
6258 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6259 const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*in_ext
= (const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*)in_header
;
6260 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
;
6261 out_ext
->pNext
= NULL
;
6262 out_ext
->dedicatedAllocationImageAliasing
= in_ext
->dedicatedAllocationImageAliasing
;
6263 out_header
->pNext
= (void *)out_ext
;
6264 out_header
= (void *)out_ext
;
6267 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
:
6269 VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6270 const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*in_ext
= (const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*)in_header
;
6271 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
;
6272 out_ext
->pNext
= NULL
;
6273 out_ext
->indirectCopy
= in_ext
->indirectCopy
;
6274 out_header
->pNext
= (void *)out_ext
;
6275 out_header
= (void *)out_ext
;
6278 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
:
6280 VkPhysicalDeviceMemoryDecompressionFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6281 const VkPhysicalDeviceMemoryDecompressionFeaturesNV
*in_ext
= (const VkPhysicalDeviceMemoryDecompressionFeaturesNV
*)in_header
;
6282 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
;
6283 out_ext
->pNext
= NULL
;
6284 out_ext
->memoryDecompression
= in_ext
->memoryDecompression
;
6285 out_header
->pNext
= (void *)out_ext
;
6286 out_header
= (void *)out_ext
;
6289 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
:
6291 VkPhysicalDeviceShadingRateImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6292 const VkPhysicalDeviceShadingRateImageFeaturesNV
*in_ext
= (const VkPhysicalDeviceShadingRateImageFeaturesNV
*)in_header
;
6293 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
;
6294 out_ext
->pNext
= NULL
;
6295 out_ext
->shadingRateImage
= in_ext
->shadingRateImage
;
6296 out_ext
->shadingRateCoarseSampleOrder
= in_ext
->shadingRateCoarseSampleOrder
;
6297 out_header
->pNext
= (void *)out_ext
;
6298 out_header
= (void *)out_ext
;
6301 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
:
6303 VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6304 const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*in_ext
= (const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*)in_header
;
6305 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
;
6306 out_ext
->pNext
= NULL
;
6307 out_ext
->invocationMask
= in_ext
->invocationMask
;
6308 out_header
->pNext
= (void *)out_ext
;
6309 out_header
= (void *)out_ext
;
6312 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
:
6314 VkPhysicalDeviceMeshShaderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6315 const VkPhysicalDeviceMeshShaderFeaturesNV
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesNV
*)in_header
;
6316 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
;
6317 out_ext
->pNext
= NULL
;
6318 out_ext
->taskShader
= in_ext
->taskShader
;
6319 out_ext
->meshShader
= in_ext
->meshShader
;
6320 out_header
->pNext
= (void *)out_ext
;
6321 out_header
= (void *)out_ext
;
6324 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
:
6326 VkPhysicalDeviceMeshShaderFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6327 const VkPhysicalDeviceMeshShaderFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesEXT
*)in_header
;
6328 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
;
6329 out_ext
->pNext
= NULL
;
6330 out_ext
->taskShader
= in_ext
->taskShader
;
6331 out_ext
->meshShader
= in_ext
->meshShader
;
6332 out_ext
->multiviewMeshShader
= in_ext
->multiviewMeshShader
;
6333 out_ext
->primitiveFragmentShadingRateMeshShader
= in_ext
->primitiveFragmentShadingRateMeshShader
;
6334 out_ext
->meshShaderQueries
= in_ext
->meshShaderQueries
;
6335 out_header
->pNext
= (void *)out_ext
;
6336 out_header
= (void *)out_ext
;
6339 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
:
6341 VkPhysicalDeviceAccelerationStructureFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6342 const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*in_ext
= (const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*)in_header
;
6343 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
;
6344 out_ext
->pNext
= NULL
;
6345 out_ext
->accelerationStructure
= in_ext
->accelerationStructure
;
6346 out_ext
->accelerationStructureCaptureReplay
= in_ext
->accelerationStructureCaptureReplay
;
6347 out_ext
->accelerationStructureIndirectBuild
= in_ext
->accelerationStructureIndirectBuild
;
6348 out_ext
->accelerationStructureHostCommands
= in_ext
->accelerationStructureHostCommands
;
6349 out_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
= in_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
;
6350 out_header
->pNext
= (void *)out_ext
;
6351 out_header
= (void *)out_ext
;
6354 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
:
6356 VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6357 const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*)in_header
;
6358 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
;
6359 out_ext
->pNext
= NULL
;
6360 out_ext
->rayTracingPipeline
= in_ext
->rayTracingPipeline
;
6361 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
;
6362 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
;
6363 out_ext
->rayTracingPipelineTraceRaysIndirect
= in_ext
->rayTracingPipelineTraceRaysIndirect
;
6364 out_ext
->rayTraversalPrimitiveCulling
= in_ext
->rayTraversalPrimitiveCulling
;
6365 out_header
->pNext
= (void *)out_ext
;
6366 out_header
= (void *)out_ext
;
6369 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
:
6371 VkPhysicalDeviceRayQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6372 const VkPhysicalDeviceRayQueryFeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayQueryFeaturesKHR
*)in_header
;
6373 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
;
6374 out_ext
->pNext
= NULL
;
6375 out_ext
->rayQuery
= in_ext
->rayQuery
;
6376 out_header
->pNext
= (void *)out_ext
;
6377 out_header
= (void *)out_ext
;
6380 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
:
6382 VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6383 const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*)in_header
;
6384 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
;
6385 out_ext
->pNext
= NULL
;
6386 out_ext
->rayTracingMaintenance1
= in_ext
->rayTracingMaintenance1
;
6387 out_ext
->rayTracingPipelineTraceRaysIndirect2
= in_ext
->rayTracingPipelineTraceRaysIndirect2
;
6388 out_header
->pNext
= (void *)out_ext
;
6389 out_header
= (void *)out_ext
;
6392 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
:
6394 VkDeviceMemoryOverallocationCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6395 const VkDeviceMemoryOverallocationCreateInfoAMD
*in_ext
= (const VkDeviceMemoryOverallocationCreateInfoAMD
*)in_header
;
6396 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
;
6397 out_ext
->pNext
= NULL
;
6398 out_ext
->overallocationBehavior
= in_ext
->overallocationBehavior
;
6399 out_header
->pNext
= (void *)out_ext
;
6400 out_header
= (void *)out_ext
;
6403 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
:
6405 VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6406 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*)in_header
;
6407 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
;
6408 out_ext
->pNext
= NULL
;
6409 out_ext
->fragmentDensityMap
= in_ext
->fragmentDensityMap
;
6410 out_ext
->fragmentDensityMapDynamic
= in_ext
->fragmentDensityMapDynamic
;
6411 out_ext
->fragmentDensityMapNonSubsampledImages
= in_ext
->fragmentDensityMapNonSubsampledImages
;
6412 out_header
->pNext
= (void *)out_ext
;
6413 out_header
= (void *)out_ext
;
6416 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
:
6418 VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6419 const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*)in_header
;
6420 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
;
6421 out_ext
->pNext
= NULL
;
6422 out_ext
->fragmentDensityMapDeferred
= in_ext
->fragmentDensityMapDeferred
;
6423 out_header
->pNext
= (void *)out_ext
;
6424 out_header
= (void *)out_ext
;
6427 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
:
6429 VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6430 const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*)in_header
;
6431 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
;
6432 out_ext
->pNext
= NULL
;
6433 out_ext
->fragmentDensityMapOffset
= in_ext
->fragmentDensityMapOffset
;
6434 out_header
->pNext
= (void *)out_ext
;
6435 out_header
= (void *)out_ext
;
6438 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
:
6440 VkPhysicalDeviceScalarBlockLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6441 const VkPhysicalDeviceScalarBlockLayoutFeatures
*in_ext
= (const VkPhysicalDeviceScalarBlockLayoutFeatures
*)in_header
;
6442 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
;
6443 out_ext
->pNext
= NULL
;
6444 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
6445 out_header
->pNext
= (void *)out_ext
;
6446 out_header
= (void *)out_ext
;
6449 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
:
6451 VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6452 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*in_ext
= (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*)in_header
;
6453 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
;
6454 out_ext
->pNext
= NULL
;
6455 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
6456 out_header
->pNext
= (void *)out_ext
;
6457 out_header
= (void *)out_ext
;
6460 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
:
6462 VkPhysicalDeviceDepthClipEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6463 const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*)in_header
;
6464 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
;
6465 out_ext
->pNext
= NULL
;
6466 out_ext
->depthClipEnable
= in_ext
->depthClipEnable
;
6467 out_header
->pNext
= (void *)out_ext
;
6468 out_header
= (void *)out_ext
;
6471 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
:
6473 VkPhysicalDeviceMemoryPriorityFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6474 const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*)in_header
;
6475 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
;
6476 out_ext
->pNext
= NULL
;
6477 out_ext
->memoryPriority
= in_ext
->memoryPriority
;
6478 out_header
->pNext
= (void *)out_ext
;
6479 out_header
= (void *)out_ext
;
6482 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
:
6484 VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6485 const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*in_ext
= (const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*)in_header
;
6486 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
;
6487 out_ext
->pNext
= NULL
;
6488 out_ext
->pageableDeviceLocalMemory
= in_ext
->pageableDeviceLocalMemory
;
6489 out_header
->pNext
= (void *)out_ext
;
6490 out_header
= (void *)out_ext
;
6493 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
:
6495 VkPhysicalDeviceBufferDeviceAddressFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6496 const VkPhysicalDeviceBufferDeviceAddressFeatures
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeatures
*)in_header
;
6497 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
;
6498 out_ext
->pNext
= NULL
;
6499 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
6500 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
6501 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
6502 out_header
->pNext
= (void *)out_ext
;
6503 out_header
= (void *)out_ext
;
6506 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
:
6508 VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6509 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*)in_header
;
6510 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
;
6511 out_ext
->pNext
= NULL
;
6512 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
6513 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
6514 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
6515 out_header
->pNext
= (void *)out_ext
;
6516 out_header
= (void *)out_ext
;
6519 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
:
6521 VkPhysicalDeviceImagelessFramebufferFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6522 const VkPhysicalDeviceImagelessFramebufferFeatures
*in_ext
= (const VkPhysicalDeviceImagelessFramebufferFeatures
*)in_header
;
6523 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
;
6524 out_ext
->pNext
= NULL
;
6525 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
6526 out_header
->pNext
= (void *)out_ext
;
6527 out_header
= (void *)out_ext
;
6530 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
:
6532 VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6533 const VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*in_ext
= (const VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*)in_header
;
6534 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
;
6535 out_ext
->pNext
= NULL
;
6536 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
6537 out_header
->pNext
= (void *)out_ext
;
6538 out_header
= (void *)out_ext
;
6541 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
:
6543 VkPhysicalDeviceCooperativeMatrixFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6544 const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*in_ext
= (const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*)in_header
;
6545 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
;
6546 out_ext
->pNext
= NULL
;
6547 out_ext
->cooperativeMatrix
= in_ext
->cooperativeMatrix
;
6548 out_ext
->cooperativeMatrixRobustBufferAccess
= in_ext
->cooperativeMatrixRobustBufferAccess
;
6549 out_header
->pNext
= (void *)out_ext
;
6550 out_header
= (void *)out_ext
;
6553 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
:
6555 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6556 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*in_ext
= (const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*)in_header
;
6557 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
;
6558 out_ext
->pNext
= NULL
;
6559 out_ext
->ycbcrImageArrays
= in_ext
->ycbcrImageArrays
;
6560 out_header
->pNext
= (void *)out_ext
;
6561 out_header
= (void *)out_ext
;
6564 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
:
6566 VkPhysicalDevicePresentBarrierFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6567 const VkPhysicalDevicePresentBarrierFeaturesNV
*in_ext
= (const VkPhysicalDevicePresentBarrierFeaturesNV
*)in_header
;
6568 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
;
6569 out_ext
->pNext
= NULL
;
6570 out_ext
->presentBarrier
= in_ext
->presentBarrier
;
6571 out_header
->pNext
= (void *)out_ext
;
6572 out_header
= (void *)out_ext
;
6575 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
:
6577 VkPhysicalDevicePerformanceQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6578 const VkPhysicalDevicePerformanceQueryFeaturesKHR
*in_ext
= (const VkPhysicalDevicePerformanceQueryFeaturesKHR
*)in_header
;
6579 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
;
6580 out_ext
->pNext
= NULL
;
6581 out_ext
->performanceCounterQueryPools
= in_ext
->performanceCounterQueryPools
;
6582 out_ext
->performanceCounterMultipleQueryPools
= in_ext
->performanceCounterMultipleQueryPools
;
6583 out_header
->pNext
= (void *)out_ext
;
6584 out_header
= (void *)out_ext
;
6587 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
:
6589 VkPhysicalDeviceCoverageReductionModeFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6590 const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*in_ext
= (const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*)in_header
;
6591 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
;
6592 out_ext
->pNext
= NULL
;
6593 out_ext
->coverageReductionMode
= in_ext
->coverageReductionMode
;
6594 out_header
->pNext
= (void *)out_ext
;
6595 out_header
= (void *)out_ext
;
6598 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
:
6600 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6601 const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*in_ext
= (const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*)in_header
;
6602 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
;
6603 out_ext
->pNext
= NULL
;
6604 out_ext
->shaderIntegerFunctions2
= in_ext
->shaderIntegerFunctions2
;
6605 out_header
->pNext
= (void *)out_ext
;
6606 out_header
= (void *)out_ext
;
6609 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
:
6611 VkPhysicalDeviceShaderClockFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6612 const VkPhysicalDeviceShaderClockFeaturesKHR
*in_ext
= (const VkPhysicalDeviceShaderClockFeaturesKHR
*)in_header
;
6613 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
;
6614 out_ext
->pNext
= NULL
;
6615 out_ext
->shaderSubgroupClock
= in_ext
->shaderSubgroupClock
;
6616 out_ext
->shaderDeviceClock
= in_ext
->shaderDeviceClock
;
6617 out_header
->pNext
= (void *)out_ext
;
6618 out_header
= (void *)out_ext
;
6621 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
:
6623 VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6624 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*in_ext
= (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*)in_header
;
6625 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
;
6626 out_ext
->pNext
= NULL
;
6627 out_ext
->indexTypeUint8
= in_ext
->indexTypeUint8
;
6628 out_header
->pNext
= (void *)out_ext
;
6629 out_header
= (void *)out_ext
;
6632 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
:
6634 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6635 const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*in_ext
= (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*)in_header
;
6636 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
;
6637 out_ext
->pNext
= NULL
;
6638 out_ext
->shaderSMBuiltins
= in_ext
->shaderSMBuiltins
;
6639 out_header
->pNext
= (void *)out_ext
;
6640 out_header
= (void *)out_ext
;
6643 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
:
6645 VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6646 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*)in_header
;
6647 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
;
6648 out_ext
->pNext
= NULL
;
6649 out_ext
->fragmentShaderSampleInterlock
= in_ext
->fragmentShaderSampleInterlock
;
6650 out_ext
->fragmentShaderPixelInterlock
= in_ext
->fragmentShaderPixelInterlock
;
6651 out_ext
->fragmentShaderShadingRateInterlock
= in_ext
->fragmentShaderShadingRateInterlock
;
6652 out_header
->pNext
= (void *)out_ext
;
6653 out_header
= (void *)out_ext
;
6656 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
:
6658 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6659 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*in_ext
= (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*)in_header
;
6660 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
;
6661 out_ext
->pNext
= NULL
;
6662 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
6663 out_header
->pNext
= (void *)out_ext
;
6664 out_header
= (void *)out_ext
;
6667 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
:
6669 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6670 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*in_ext
= (const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*)in_header
;
6671 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
;
6672 out_ext
->pNext
= NULL
;
6673 out_ext
->primitiveTopologyListRestart
= in_ext
->primitiveTopologyListRestart
;
6674 out_ext
->primitiveTopologyPatchListRestart
= in_ext
->primitiveTopologyPatchListRestart
;
6675 out_header
->pNext
= (void *)out_ext
;
6676 out_header
= (void *)out_ext
;
6679 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
:
6681 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6682 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*in_ext
= (const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*)in_header
;
6683 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
;
6684 out_ext
->pNext
= NULL
;
6685 out_ext
->pipelineExecutableInfo
= in_ext
->pipelineExecutableInfo
;
6686 out_header
->pNext
= (void *)out_ext
;
6687 out_header
= (void *)out_ext
;
6690 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
:
6692 VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6693 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*in_ext
= (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*)in_header
;
6694 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
;
6695 out_ext
->pNext
= NULL
;
6696 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
6697 out_header
->pNext
= (void *)out_ext
;
6698 out_header
= (void *)out_ext
;
6701 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
:
6703 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6704 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*in_ext
= (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*)in_header
;
6705 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
;
6706 out_ext
->pNext
= NULL
;
6707 out_ext
->texelBufferAlignment
= in_ext
->texelBufferAlignment
;
6708 out_header
->pNext
= (void *)out_ext
;
6709 out_header
= (void *)out_ext
;
6712 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
:
6714 VkPhysicalDeviceSubgroupSizeControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6715 const VkPhysicalDeviceSubgroupSizeControlFeatures
*in_ext
= (const VkPhysicalDeviceSubgroupSizeControlFeatures
*)in_header
;
6716 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
;
6717 out_ext
->pNext
= NULL
;
6718 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
6719 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
6720 out_header
->pNext
= (void *)out_ext
;
6721 out_header
= (void *)out_ext
;
6724 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
:
6726 VkPhysicalDeviceLineRasterizationFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6727 const VkPhysicalDeviceLineRasterizationFeaturesEXT
*in_ext
= (const VkPhysicalDeviceLineRasterizationFeaturesEXT
*)in_header
;
6728 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
;
6729 out_ext
->pNext
= NULL
;
6730 out_ext
->rectangularLines
= in_ext
->rectangularLines
;
6731 out_ext
->bresenhamLines
= in_ext
->bresenhamLines
;
6732 out_ext
->smoothLines
= in_ext
->smoothLines
;
6733 out_ext
->stippledRectangularLines
= in_ext
->stippledRectangularLines
;
6734 out_ext
->stippledBresenhamLines
= in_ext
->stippledBresenhamLines
;
6735 out_ext
->stippledSmoothLines
= in_ext
->stippledSmoothLines
;
6736 out_header
->pNext
= (void *)out_ext
;
6737 out_header
= (void *)out_ext
;
6740 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
:
6742 VkPhysicalDevicePipelineCreationCacheControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6743 const VkPhysicalDevicePipelineCreationCacheControlFeatures
*in_ext
= (const VkPhysicalDevicePipelineCreationCacheControlFeatures
*)in_header
;
6744 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
;
6745 out_ext
->pNext
= NULL
;
6746 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
6747 out_header
->pNext
= (void *)out_ext
;
6748 out_header
= (void *)out_ext
;
6751 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
:
6753 VkPhysicalDeviceVulkan11Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6754 const VkPhysicalDeviceVulkan11Features
*in_ext
= (const VkPhysicalDeviceVulkan11Features
*)in_header
;
6755 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
;
6756 out_ext
->pNext
= NULL
;
6757 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
6758 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
6759 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
6760 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
6761 out_ext
->multiview
= in_ext
->multiview
;
6762 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
6763 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
6764 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
6765 out_ext
->variablePointers
= in_ext
->variablePointers
;
6766 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
6767 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
6768 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
6769 out_header
->pNext
= (void *)out_ext
;
6770 out_header
= (void *)out_ext
;
6773 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
:
6775 VkPhysicalDeviceVulkan12Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6776 const VkPhysicalDeviceVulkan12Features
*in_ext
= (const VkPhysicalDeviceVulkan12Features
*)in_header
;
6777 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
;
6778 out_ext
->pNext
= NULL
;
6779 out_ext
->samplerMirrorClampToEdge
= in_ext
->samplerMirrorClampToEdge
;
6780 out_ext
->drawIndirectCount
= in_ext
->drawIndirectCount
;
6781 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
6782 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
6783 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
6784 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
6785 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
6786 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
6787 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
6788 out_ext
->descriptorIndexing
= in_ext
->descriptorIndexing
;
6789 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
6790 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
6791 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
6792 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
6793 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
6794 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
6795 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
6796 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
6797 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
6798 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
6799 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
6800 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
6801 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
6802 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
6803 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
6804 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
6805 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
6806 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
6807 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
6808 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
6809 out_ext
->samplerFilterMinmax
= in_ext
->samplerFilterMinmax
;
6810 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
6811 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
6812 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
6813 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
6814 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
6815 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
6816 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
6817 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
6818 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
6819 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
6820 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
6821 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
6822 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
6823 out_ext
->shaderOutputViewportIndex
= in_ext
->shaderOutputViewportIndex
;
6824 out_ext
->shaderOutputLayer
= in_ext
->shaderOutputLayer
;
6825 out_ext
->subgroupBroadcastDynamicId
= in_ext
->subgroupBroadcastDynamicId
;
6826 out_header
->pNext
= (void *)out_ext
;
6827 out_header
= (void *)out_ext
;
6830 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
:
6832 VkPhysicalDeviceVulkan13Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6833 const VkPhysicalDeviceVulkan13Features
*in_ext
= (const VkPhysicalDeviceVulkan13Features
*)in_header
;
6834 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
;
6835 out_ext
->pNext
= NULL
;
6836 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
6837 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
6838 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
6839 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
6840 out_ext
->privateData
= in_ext
->privateData
;
6841 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
6842 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
6843 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
6844 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
6845 out_ext
->synchronization2
= in_ext
->synchronization2
;
6846 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
6847 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
6848 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
6849 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
6850 out_ext
->maintenance4
= in_ext
->maintenance4
;
6851 out_header
->pNext
= (void *)out_ext
;
6852 out_header
= (void *)out_ext
;
6855 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
:
6857 VkPhysicalDeviceCoherentMemoryFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6858 const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*in_ext
= (const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*)in_header
;
6859 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
;
6860 out_ext
->pNext
= NULL
;
6861 out_ext
->deviceCoherentMemory
= in_ext
->deviceCoherentMemory
;
6862 out_header
->pNext
= (void *)out_ext
;
6863 out_header
= (void *)out_ext
;
6866 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
:
6868 VkPhysicalDeviceCustomBorderColorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6869 const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*in_ext
= (const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*)in_header
;
6870 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
;
6871 out_ext
->pNext
= NULL
;
6872 out_ext
->customBorderColors
= in_ext
->customBorderColors
;
6873 out_ext
->customBorderColorWithoutFormat
= in_ext
->customBorderColorWithoutFormat
;
6874 out_header
->pNext
= (void *)out_ext
;
6875 out_header
= (void *)out_ext
;
6878 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
:
6880 VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6881 const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*)in_header
;
6882 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
;
6883 out_ext
->pNext
= NULL
;
6884 out_ext
->borderColorSwizzle
= in_ext
->borderColorSwizzle
;
6885 out_ext
->borderColorSwizzleFromImage
= in_ext
->borderColorSwizzleFromImage
;
6886 out_header
->pNext
= (void *)out_ext
;
6887 out_header
= (void *)out_ext
;
6890 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
:
6892 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6893 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*)in_header
;
6894 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
;
6895 out_ext
->pNext
= NULL
;
6896 out_ext
->extendedDynamicState
= in_ext
->extendedDynamicState
;
6897 out_header
->pNext
= (void *)out_ext
;
6898 out_header
= (void *)out_ext
;
6901 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
:
6903 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6904 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*)in_header
;
6905 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
;
6906 out_ext
->pNext
= NULL
;
6907 out_ext
->extendedDynamicState2
= in_ext
->extendedDynamicState2
;
6908 out_ext
->extendedDynamicState2LogicOp
= in_ext
->extendedDynamicState2LogicOp
;
6909 out_ext
->extendedDynamicState2PatchControlPoints
= in_ext
->extendedDynamicState2PatchControlPoints
;
6910 out_header
->pNext
= (void *)out_ext
;
6911 out_header
= (void *)out_ext
;
6914 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
:
6916 VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6917 const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*)in_header
;
6918 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
;
6919 out_ext
->pNext
= NULL
;
6920 out_ext
->extendedDynamicState3TessellationDomainOrigin
= in_ext
->extendedDynamicState3TessellationDomainOrigin
;
6921 out_ext
->extendedDynamicState3DepthClampEnable
= in_ext
->extendedDynamicState3DepthClampEnable
;
6922 out_ext
->extendedDynamicState3PolygonMode
= in_ext
->extendedDynamicState3PolygonMode
;
6923 out_ext
->extendedDynamicState3RasterizationSamples
= in_ext
->extendedDynamicState3RasterizationSamples
;
6924 out_ext
->extendedDynamicState3SampleMask
= in_ext
->extendedDynamicState3SampleMask
;
6925 out_ext
->extendedDynamicState3AlphaToCoverageEnable
= in_ext
->extendedDynamicState3AlphaToCoverageEnable
;
6926 out_ext
->extendedDynamicState3AlphaToOneEnable
= in_ext
->extendedDynamicState3AlphaToOneEnable
;
6927 out_ext
->extendedDynamicState3LogicOpEnable
= in_ext
->extendedDynamicState3LogicOpEnable
;
6928 out_ext
->extendedDynamicState3ColorBlendEnable
= in_ext
->extendedDynamicState3ColorBlendEnable
;
6929 out_ext
->extendedDynamicState3ColorBlendEquation
= in_ext
->extendedDynamicState3ColorBlendEquation
;
6930 out_ext
->extendedDynamicState3ColorWriteMask
= in_ext
->extendedDynamicState3ColorWriteMask
;
6931 out_ext
->extendedDynamicState3RasterizationStream
= in_ext
->extendedDynamicState3RasterizationStream
;
6932 out_ext
->extendedDynamicState3ConservativeRasterizationMode
= in_ext
->extendedDynamicState3ConservativeRasterizationMode
;
6933 out_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
= in_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
;
6934 out_ext
->extendedDynamicState3DepthClipEnable
= in_ext
->extendedDynamicState3DepthClipEnable
;
6935 out_ext
->extendedDynamicState3SampleLocationsEnable
= in_ext
->extendedDynamicState3SampleLocationsEnable
;
6936 out_ext
->extendedDynamicState3ColorBlendAdvanced
= in_ext
->extendedDynamicState3ColorBlendAdvanced
;
6937 out_ext
->extendedDynamicState3ProvokingVertexMode
= in_ext
->extendedDynamicState3ProvokingVertexMode
;
6938 out_ext
->extendedDynamicState3LineRasterizationMode
= in_ext
->extendedDynamicState3LineRasterizationMode
;
6939 out_ext
->extendedDynamicState3LineStippleEnable
= in_ext
->extendedDynamicState3LineStippleEnable
;
6940 out_ext
->extendedDynamicState3DepthClipNegativeOneToOne
= in_ext
->extendedDynamicState3DepthClipNegativeOneToOne
;
6941 out_ext
->extendedDynamicState3ViewportWScalingEnable
= in_ext
->extendedDynamicState3ViewportWScalingEnable
;
6942 out_ext
->extendedDynamicState3ViewportSwizzle
= in_ext
->extendedDynamicState3ViewportSwizzle
;
6943 out_ext
->extendedDynamicState3CoverageToColorEnable
= in_ext
->extendedDynamicState3CoverageToColorEnable
;
6944 out_ext
->extendedDynamicState3CoverageToColorLocation
= in_ext
->extendedDynamicState3CoverageToColorLocation
;
6945 out_ext
->extendedDynamicState3CoverageModulationMode
= in_ext
->extendedDynamicState3CoverageModulationMode
;
6946 out_ext
->extendedDynamicState3CoverageModulationTableEnable
= in_ext
->extendedDynamicState3CoverageModulationTableEnable
;
6947 out_ext
->extendedDynamicState3CoverageModulationTable
= in_ext
->extendedDynamicState3CoverageModulationTable
;
6948 out_ext
->extendedDynamicState3CoverageReductionMode
= in_ext
->extendedDynamicState3CoverageReductionMode
;
6949 out_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
= in_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
;
6950 out_ext
->extendedDynamicState3ShadingRateImageEnable
= in_ext
->extendedDynamicState3ShadingRateImageEnable
;
6951 out_header
->pNext
= (void *)out_ext
;
6952 out_header
= (void *)out_ext
;
6955 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
:
6957 VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6958 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*in_ext
= (const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*)in_header
;
6959 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
;
6960 out_ext
->pNext
= NULL
;
6961 out_ext
->diagnosticsConfig
= in_ext
->diagnosticsConfig
;
6962 out_header
->pNext
= (void *)out_ext
;
6963 out_header
= (void *)out_ext
;
6966 case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
:
6968 VkDeviceDiagnosticsConfigCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6969 const VkDeviceDiagnosticsConfigCreateInfoNV
*in_ext
= (const VkDeviceDiagnosticsConfigCreateInfoNV
*)in_header
;
6970 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
;
6971 out_ext
->pNext
= NULL
;
6972 out_ext
->flags
= in_ext
->flags
;
6973 out_header
->pNext
= (void *)out_ext
;
6974 out_header
= (void *)out_ext
;
6977 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
:
6979 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6980 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*in_ext
= (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*)in_header
;
6981 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
;
6982 out_ext
->pNext
= NULL
;
6983 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
6984 out_header
->pNext
= (void *)out_ext
;
6985 out_header
= (void *)out_ext
;
6988 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
:
6990 VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6991 const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*in_ext
= (const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*)in_header
;
6992 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
;
6993 out_ext
->pNext
= NULL
;
6994 out_ext
->shaderSubgroupUniformControlFlow
= in_ext
->shaderSubgroupUniformControlFlow
;
6995 out_header
->pNext
= (void *)out_ext
;
6996 out_header
= (void *)out_ext
;
6999 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
:
7001 VkPhysicalDeviceRobustness2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7002 const VkPhysicalDeviceRobustness2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceRobustness2FeaturesEXT
*)in_header
;
7003 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
;
7004 out_ext
->pNext
= NULL
;
7005 out_ext
->robustBufferAccess2
= in_ext
->robustBufferAccess2
;
7006 out_ext
->robustImageAccess2
= in_ext
->robustImageAccess2
;
7007 out_ext
->nullDescriptor
= in_ext
->nullDescriptor
;
7008 out_header
->pNext
= (void *)out_ext
;
7009 out_header
= (void *)out_ext
;
7012 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
:
7014 VkPhysicalDeviceImageRobustnessFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7015 const VkPhysicalDeviceImageRobustnessFeatures
*in_ext
= (const VkPhysicalDeviceImageRobustnessFeatures
*)in_header
;
7016 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
;
7017 out_ext
->pNext
= NULL
;
7018 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
7019 out_header
->pNext
= (void *)out_ext
;
7020 out_header
= (void *)out_ext
;
7023 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
:
7025 VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7026 const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*in_ext
= (const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*)in_header
;
7027 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
;
7028 out_ext
->pNext
= NULL
;
7029 out_ext
->workgroupMemoryExplicitLayout
= in_ext
->workgroupMemoryExplicitLayout
;
7030 out_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
= in_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
;
7031 out_ext
->workgroupMemoryExplicitLayout8BitAccess
= in_ext
->workgroupMemoryExplicitLayout8BitAccess
;
7032 out_ext
->workgroupMemoryExplicitLayout16BitAccess
= in_ext
->workgroupMemoryExplicitLayout16BitAccess
;
7033 out_header
->pNext
= (void *)out_ext
;
7034 out_header
= (void *)out_ext
;
7037 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
:
7039 VkPhysicalDevice4444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7040 const VkPhysicalDevice4444FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDevice4444FormatsFeaturesEXT
*)in_header
;
7041 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
;
7042 out_ext
->pNext
= NULL
;
7043 out_ext
->formatA4R4G4B4
= in_ext
->formatA4R4G4B4
;
7044 out_ext
->formatA4B4G4R4
= in_ext
->formatA4B4G4R4
;
7045 out_header
->pNext
= (void *)out_ext
;
7046 out_header
= (void *)out_ext
;
7049 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
:
7051 VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7052 const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*in_ext
= (const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*)in_header
;
7053 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
;
7054 out_ext
->pNext
= NULL
;
7055 out_ext
->subpassShading
= in_ext
->subpassShading
;
7056 out_header
->pNext
= (void *)out_ext
;
7057 out_header
= (void *)out_ext
;
7060 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
:
7062 VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7063 const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*)in_header
;
7064 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
;
7065 out_ext
->pNext
= NULL
;
7066 out_ext
->shaderImageInt64Atomics
= in_ext
->shaderImageInt64Atomics
;
7067 out_ext
->sparseImageInt64Atomics
= in_ext
->sparseImageInt64Atomics
;
7068 out_header
->pNext
= (void *)out_ext
;
7069 out_header
= (void *)out_ext
;
7072 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
:
7074 VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7075 const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*)in_header
;
7076 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
;
7077 out_ext
->pNext
= NULL
;
7078 out_ext
->pipelineFragmentShadingRate
= in_ext
->pipelineFragmentShadingRate
;
7079 out_ext
->primitiveFragmentShadingRate
= in_ext
->primitiveFragmentShadingRate
;
7080 out_ext
->attachmentFragmentShadingRate
= in_ext
->attachmentFragmentShadingRate
;
7081 out_header
->pNext
= (void *)out_ext
;
7082 out_header
= (void *)out_ext
;
7085 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
:
7087 VkPhysicalDeviceShaderTerminateInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7088 const VkPhysicalDeviceShaderTerminateInvocationFeatures
*in_ext
= (const VkPhysicalDeviceShaderTerminateInvocationFeatures
*)in_header
;
7089 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
;
7090 out_ext
->pNext
= NULL
;
7091 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
7092 out_header
->pNext
= (void *)out_ext
;
7093 out_header
= (void *)out_ext
;
7096 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
:
7098 VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7099 const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*)in_header
;
7100 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
;
7101 out_ext
->pNext
= NULL
;
7102 out_ext
->fragmentShadingRateEnums
= in_ext
->fragmentShadingRateEnums
;
7103 out_ext
->supersampleFragmentShadingRates
= in_ext
->supersampleFragmentShadingRates
;
7104 out_ext
->noInvocationFragmentShadingRates
= in_ext
->noInvocationFragmentShadingRates
;
7105 out_header
->pNext
= (void *)out_ext
;
7106 out_header
= (void *)out_ext
;
7109 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
:
7111 VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7112 const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*)in_header
;
7113 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
;
7114 out_ext
->pNext
= NULL
;
7115 out_ext
->image2DViewOf3D
= in_ext
->image2DViewOf3D
;
7116 out_ext
->sampler2DViewOf3D
= in_ext
->sampler2DViewOf3D
;
7117 out_header
->pNext
= (void *)out_ext
;
7118 out_header
= (void *)out_ext
;
7121 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
:
7123 VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7124 const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*)in_header
;
7125 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
;
7126 out_ext
->pNext
= NULL
;
7127 out_ext
->mutableDescriptorType
= in_ext
->mutableDescriptorType
;
7128 out_header
->pNext
= (void *)out_ext
;
7129 out_header
= (void *)out_ext
;
7132 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
:
7134 VkPhysicalDeviceDepthClipControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7135 const VkPhysicalDeviceDepthClipControlFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClipControlFeaturesEXT
*)in_header
;
7136 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
;
7137 out_ext
->pNext
= NULL
;
7138 out_ext
->depthClipControl
= in_ext
->depthClipControl
;
7139 out_header
->pNext
= (void *)out_ext
;
7140 out_header
= (void *)out_ext
;
7143 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
:
7145 VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7146 const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*in_ext
= (const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*)in_header
;
7147 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
;
7148 out_ext
->pNext
= NULL
;
7149 out_ext
->vertexInputDynamicState
= in_ext
->vertexInputDynamicState
;
7150 out_header
->pNext
= (void *)out_ext
;
7151 out_header
= (void *)out_ext
;
7154 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
:
7156 VkPhysicalDeviceColorWriteEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7157 const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*in_ext
= (const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*)in_header
;
7158 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
;
7159 out_ext
->pNext
= NULL
;
7160 out_ext
->colorWriteEnable
= in_ext
->colorWriteEnable
;
7161 out_header
->pNext
= (void *)out_ext
;
7162 out_header
= (void *)out_ext
;
7165 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
:
7167 VkPhysicalDeviceSynchronization2Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7168 const VkPhysicalDeviceSynchronization2Features
*in_ext
= (const VkPhysicalDeviceSynchronization2Features
*)in_header
;
7169 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
;
7170 out_ext
->pNext
= NULL
;
7171 out_ext
->synchronization2
= in_ext
->synchronization2
;
7172 out_header
->pNext
= (void *)out_ext
;
7173 out_header
= (void *)out_ext
;
7176 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
:
7178 VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7179 const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*in_ext
= (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*)in_header
;
7180 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
;
7181 out_ext
->pNext
= NULL
;
7182 out_ext
->primitivesGeneratedQuery
= in_ext
->primitivesGeneratedQuery
;
7183 out_ext
->primitivesGeneratedQueryWithRasterizerDiscard
= in_ext
->primitivesGeneratedQueryWithRasterizerDiscard
;
7184 out_ext
->primitivesGeneratedQueryWithNonZeroStreams
= in_ext
->primitivesGeneratedQueryWithNonZeroStreams
;
7185 out_header
->pNext
= (void *)out_ext
;
7186 out_header
= (void *)out_ext
;
7189 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
:
7191 VkPhysicalDeviceLegacyDitheringFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7192 const VkPhysicalDeviceLegacyDitheringFeaturesEXT
*in_ext
= (const VkPhysicalDeviceLegacyDitheringFeaturesEXT
*)in_header
;
7193 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
;
7194 out_ext
->pNext
= NULL
;
7195 out_ext
->legacyDithering
= in_ext
->legacyDithering
;
7196 out_header
->pNext
= (void *)out_ext
;
7197 out_header
= (void *)out_ext
;
7200 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
:
7202 VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7203 const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*)in_header
;
7204 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
;
7205 out_ext
->pNext
= NULL
;
7206 out_ext
->multisampledRenderToSingleSampled
= in_ext
->multisampledRenderToSingleSampled
;
7207 out_header
->pNext
= (void *)out_ext
;
7208 out_header
= (void *)out_ext
;
7211 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
:
7213 VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7214 const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*)in_header
;
7215 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
;
7216 out_ext
->pNext
= NULL
;
7217 out_ext
->pipelineProtectedAccess
= in_ext
->pipelineProtectedAccess
;
7218 out_header
->pNext
= (void *)out_ext
;
7219 out_header
= (void *)out_ext
;
7222 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
:
7224 VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7225 const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*in_ext
= (const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*)in_header
;
7226 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
;
7227 out_ext
->pNext
= NULL
;
7228 out_ext
->inheritedViewportScissor2D
= in_ext
->inheritedViewportScissor2D
;
7229 out_header
->pNext
= (void *)out_ext
;
7230 out_header
= (void *)out_ext
;
7233 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
:
7235 VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7236 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*)in_header
;
7237 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
;
7238 out_ext
->pNext
= NULL
;
7239 out_ext
->ycbcr2plane444Formats
= in_ext
->ycbcr2plane444Formats
;
7240 out_header
->pNext
= (void *)out_ext
;
7241 out_header
= (void *)out_ext
;
7244 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
:
7246 VkPhysicalDeviceProvokingVertexFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7247 const VkPhysicalDeviceProvokingVertexFeaturesEXT
*in_ext
= (const VkPhysicalDeviceProvokingVertexFeaturesEXT
*)in_header
;
7248 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
;
7249 out_ext
->pNext
= NULL
;
7250 out_ext
->provokingVertexLast
= in_ext
->provokingVertexLast
;
7251 out_ext
->transformFeedbackPreservesProvokingVertex
= in_ext
->transformFeedbackPreservesProvokingVertex
;
7252 out_header
->pNext
= (void *)out_ext
;
7253 out_header
= (void *)out_ext
;
7256 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
:
7258 VkPhysicalDeviceShaderIntegerDotProductFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7259 const VkPhysicalDeviceShaderIntegerDotProductFeatures
*in_ext
= (const VkPhysicalDeviceShaderIntegerDotProductFeatures
*)in_header
;
7260 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
;
7261 out_ext
->pNext
= NULL
;
7262 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
7263 out_header
->pNext
= (void *)out_ext
;
7264 out_header
= (void *)out_ext
;
7267 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
:
7269 VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7270 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*)in_header
;
7271 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
;
7272 out_ext
->pNext
= NULL
;
7273 out_ext
->fragmentShaderBarycentric
= in_ext
->fragmentShaderBarycentric
;
7274 out_header
->pNext
= (void *)out_ext
;
7275 out_header
= (void *)out_ext
;
7278 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
:
7280 VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7281 const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*in_ext
= (const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*)in_header
;
7282 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
;
7283 out_ext
->pNext
= NULL
;
7284 out_ext
->rayTracingMotionBlur
= in_ext
->rayTracingMotionBlur
;
7285 out_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
= in_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
;
7286 out_header
->pNext
= (void *)out_ext
;
7287 out_header
= (void *)out_ext
;
7290 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
:
7292 VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7293 const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*)in_header
;
7294 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
;
7295 out_ext
->pNext
= NULL
;
7296 out_ext
->formatRgba10x6WithoutYCbCrSampler
= in_ext
->formatRgba10x6WithoutYCbCrSampler
;
7297 out_header
->pNext
= (void *)out_ext
;
7298 out_header
= (void *)out_ext
;
7301 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
:
7303 VkPhysicalDeviceDynamicRenderingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7304 const VkPhysicalDeviceDynamicRenderingFeatures
*in_ext
= (const VkPhysicalDeviceDynamicRenderingFeatures
*)in_header
;
7305 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
;
7306 out_ext
->pNext
= NULL
;
7307 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
7308 out_header
->pNext
= (void *)out_ext
;
7309 out_header
= (void *)out_ext
;
7312 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
:
7314 VkPhysicalDeviceImageViewMinLodFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7315 const VkPhysicalDeviceImageViewMinLodFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageViewMinLodFeaturesEXT
*)in_header
;
7316 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
;
7317 out_ext
->pNext
= NULL
;
7318 out_ext
->minLod
= in_ext
->minLod
;
7319 out_header
->pNext
= (void *)out_ext
;
7320 out_header
= (void *)out_ext
;
7323 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
:
7325 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7326 const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*in_ext
= (const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*)in_header
;
7327 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
;
7328 out_ext
->pNext
= NULL
;
7329 out_ext
->rasterizationOrderColorAttachmentAccess
= in_ext
->rasterizationOrderColorAttachmentAccess
;
7330 out_ext
->rasterizationOrderDepthAttachmentAccess
= in_ext
->rasterizationOrderDepthAttachmentAccess
;
7331 out_ext
->rasterizationOrderStencilAttachmentAccess
= in_ext
->rasterizationOrderStencilAttachmentAccess
;
7332 out_header
->pNext
= (void *)out_ext
;
7333 out_header
= (void *)out_ext
;
7336 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
:
7338 VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7339 const VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*in_ext
= (const VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*)in_header
;
7340 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
;
7341 out_ext
->pNext
= NULL
;
7342 out_ext
->linearColorAttachment
= in_ext
->linearColorAttachment
;
7343 out_header
->pNext
= (void *)out_ext
;
7344 out_header
= (void *)out_ext
;
7347 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
:
7349 VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7350 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*)in_header
;
7351 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
;
7352 out_ext
->pNext
= NULL
;
7353 out_ext
->graphicsPipelineLibrary
= in_ext
->graphicsPipelineLibrary
;
7354 out_header
->pNext
= (void *)out_ext
;
7355 out_header
= (void *)out_ext
;
7358 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
:
7360 VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7361 const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*in_ext
= (const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*)in_header
;
7362 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
;
7363 out_ext
->pNext
= NULL
;
7364 out_ext
->descriptorSetHostMapping
= in_ext
->descriptorSetHostMapping
;
7365 out_header
->pNext
= (void *)out_ext
;
7366 out_header
= (void *)out_ext
;
7369 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
:
7371 VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7372 const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*)in_header
;
7373 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
;
7374 out_ext
->pNext
= NULL
;
7375 out_ext
->shaderModuleIdentifier
= in_ext
->shaderModuleIdentifier
;
7376 out_header
->pNext
= (void *)out_ext
;
7377 out_header
= (void *)out_ext
;
7380 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
:
7382 VkPhysicalDeviceImageCompressionControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7383 const VkPhysicalDeviceImageCompressionControlFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageCompressionControlFeaturesEXT
*)in_header
;
7384 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
;
7385 out_ext
->pNext
= NULL
;
7386 out_ext
->imageCompressionControl
= in_ext
->imageCompressionControl
;
7387 out_header
->pNext
= (void *)out_ext
;
7388 out_header
= (void *)out_ext
;
7391 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
:
7393 VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7394 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*)in_header
;
7395 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
;
7396 out_ext
->pNext
= NULL
;
7397 out_ext
->imageCompressionControlSwapchain
= in_ext
->imageCompressionControlSwapchain
;
7398 out_header
->pNext
= (void *)out_ext
;
7399 out_header
= (void *)out_ext
;
7402 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
:
7404 VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7405 const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*in_ext
= (const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*)in_header
;
7406 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
;
7407 out_ext
->pNext
= NULL
;
7408 out_ext
->subpassMergeFeedback
= in_ext
->subpassMergeFeedback
;
7409 out_header
->pNext
= (void *)out_ext
;
7410 out_header
= (void *)out_ext
;
7413 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
:
7415 VkPhysicalDeviceOpacityMicromapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7416 const VkPhysicalDeviceOpacityMicromapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceOpacityMicromapFeaturesEXT
*)in_header
;
7417 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
;
7418 out_ext
->pNext
= NULL
;
7419 out_ext
->micromap
= in_ext
->micromap
;
7420 out_ext
->micromapCaptureReplay
= in_ext
->micromapCaptureReplay
;
7421 out_ext
->micromapHostCommands
= in_ext
->micromapHostCommands
;
7422 out_header
->pNext
= (void *)out_ext
;
7423 out_header
= (void *)out_ext
;
7426 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
:
7428 VkPhysicalDevicePipelinePropertiesFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7429 const VkPhysicalDevicePipelinePropertiesFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelinePropertiesFeaturesEXT
*)in_header
;
7430 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
;
7431 out_ext
->pNext
= NULL
;
7432 out_ext
->pipelinePropertiesIdentifier
= in_ext
->pipelinePropertiesIdentifier
;
7433 out_header
->pNext
= (void *)out_ext
;
7434 out_header
= (void *)out_ext
;
7437 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
:
7439 VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7440 const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*in_ext
= (const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*)in_header
;
7441 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
;
7442 out_ext
->pNext
= NULL
;
7443 out_ext
->shaderEarlyAndLateFragmentTests
= in_ext
->shaderEarlyAndLateFragmentTests
;
7444 out_header
->pNext
= (void *)out_ext
;
7445 out_header
= (void *)out_ext
;
7448 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
:
7450 VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7451 const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*)in_header
;
7452 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
;
7453 out_ext
->pNext
= NULL
;
7454 out_ext
->nonSeamlessCubeMap
= in_ext
->nonSeamlessCubeMap
;
7455 out_header
->pNext
= (void *)out_ext
;
7456 out_header
= (void *)out_ext
;
7459 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
:
7461 VkPhysicalDevicePipelineRobustnessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7462 const VkPhysicalDevicePipelineRobustnessFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelineRobustnessFeaturesEXT
*)in_header
;
7463 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
;
7464 out_ext
->pNext
= NULL
;
7465 out_ext
->pipelineRobustness
= in_ext
->pipelineRobustness
;
7466 out_header
->pNext
= (void *)out_ext
;
7467 out_header
= (void *)out_ext
;
7470 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
:
7472 VkPhysicalDeviceImageProcessingFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7473 const VkPhysicalDeviceImageProcessingFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceImageProcessingFeaturesQCOM
*)in_header
;
7474 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
;
7475 out_ext
->pNext
= NULL
;
7476 out_ext
->textureSampleWeighted
= in_ext
->textureSampleWeighted
;
7477 out_ext
->textureBoxFilter
= in_ext
->textureBoxFilter
;
7478 out_ext
->textureBlockMatch
= in_ext
->textureBlockMatch
;
7479 out_header
->pNext
= (void *)out_ext
;
7480 out_header
= (void *)out_ext
;
7483 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
:
7485 VkPhysicalDeviceTilePropertiesFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7486 const VkPhysicalDeviceTilePropertiesFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceTilePropertiesFeaturesQCOM
*)in_header
;
7487 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
;
7488 out_ext
->pNext
= NULL
;
7489 out_ext
->tileProperties
= in_ext
->tileProperties
;
7490 out_header
->pNext
= (void *)out_ext
;
7491 out_header
= (void *)out_ext
;
7494 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
:
7496 VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7497 const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*in_ext
= (const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*)in_header
;
7498 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
;
7499 out_ext
->pNext
= NULL
;
7500 out_ext
->attachmentFeedbackLoopLayout
= in_ext
->attachmentFeedbackLoopLayout
;
7501 out_header
->pNext
= (void *)out_ext
;
7502 out_header
= (void *)out_ext
;
7505 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
:
7507 VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7508 const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*)in_header
;
7509 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
;
7510 out_ext
->pNext
= NULL
;
7511 out_ext
->depthClampZeroOne
= in_ext
->depthClampZeroOne
;
7512 out_header
->pNext
= (void *)out_ext
;
7513 out_header
= (void *)out_ext
;
7516 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
:
7518 VkPhysicalDeviceAddressBindingReportFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7519 const VkPhysicalDeviceAddressBindingReportFeaturesEXT
*in_ext
= (const VkPhysicalDeviceAddressBindingReportFeaturesEXT
*)in_header
;
7520 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
;
7521 out_ext
->pNext
= NULL
;
7522 out_ext
->reportAddressBinding
= in_ext
->reportAddressBinding
;
7523 out_header
->pNext
= (void *)out_ext
;
7524 out_header
= (void *)out_ext
;
7527 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
:
7529 VkPhysicalDeviceOpticalFlowFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7530 const VkPhysicalDeviceOpticalFlowFeaturesNV
*in_ext
= (const VkPhysicalDeviceOpticalFlowFeaturesNV
*)in_header
;
7531 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
;
7532 out_ext
->pNext
= NULL
;
7533 out_ext
->opticalFlow
= in_ext
->opticalFlow
;
7534 out_header
->pNext
= (void *)out_ext
;
7535 out_header
= (void *)out_ext
;
7538 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
:
7540 VkPhysicalDeviceFaultFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7541 const VkPhysicalDeviceFaultFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFaultFeaturesEXT
*)in_header
;
7542 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
;
7543 out_ext
->pNext
= NULL
;
7544 out_ext
->deviceFault
= in_ext
->deviceFault
;
7545 out_ext
->deviceFaultVendorBinary
= in_ext
->deviceFaultVendorBinary
;
7546 out_header
->pNext
= (void *)out_ext
;
7547 out_header
= (void *)out_ext
;
7550 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
:
7552 VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7553 const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*in_ext
= (const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*)in_header
;
7554 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
;
7555 out_ext
->pNext
= NULL
;
7556 out_ext
->shaderCoreBuiltins
= in_ext
->shaderCoreBuiltins
;
7557 out_header
->pNext
= (void *)out_ext
;
7558 out_header
= (void *)out_ext
;
7561 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
:
7563 VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7564 const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*in_ext
= (const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*)in_header
;
7565 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
;
7566 out_ext
->pNext
= NULL
;
7567 out_ext
->rayTracingInvocationReorder
= in_ext
->rayTracingInvocationReorder
;
7568 out_header
->pNext
= (void *)out_ext
;
7569 out_header
= (void *)out_ext
;
7573 FIXME("Unhandled sType %u.", in_header
->sType
);
7578 #endif /* USE_STRUCT_CONVERSION */
7580 #if defined(USE_STRUCT_CONVERSION)
7581 static inline void convert_VkFramebufferCreateInfo_win32_to_host(const VkFramebufferCreateInfo32
*in
, VkFramebufferCreateInfo
*out
)
7585 out
->sType
= in
->sType
;
7586 out
->pNext
= in
->pNext
;
7587 out
->flags
= in
->flags
;
7588 out
->renderPass
= in
->renderPass
;
7589 out
->attachmentCount
= in
->attachmentCount
;
7590 out
->pAttachments
= in
->pAttachments
;
7591 out
->width
= in
->width
;
7592 out
->height
= in
->height
;
7593 out
->layers
= in
->layers
;
7595 #endif /* USE_STRUCT_CONVERSION */
7597 #if !defined(USE_STRUCT_CONVERSION)
7598 static inline const VkPipelineShaderStageCreateInfo
*convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkPipelineShaderStageCreateInfo
*in
, uint32_t count
)
7600 VkPipelineShaderStageCreateInfo
*out
;
7603 if (!in
|| !count
) return NULL
;
7605 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7606 for (i
= 0; i
< count
; i
++)
7608 convert_VkPipelineShaderStageCreateInfo_win64_to_host(ctx
, &in
[i
], &out
[i
]);
7613 #endif /* USE_STRUCT_CONVERSION */
7615 #if defined(USE_STRUCT_CONVERSION)
7616 static inline const VkPipelineShaderStageCreateInfo
*convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineShaderStageCreateInfo32
*in
, uint32_t count
)
7618 VkPipelineShaderStageCreateInfo
*out
;
7621 if (!in
|| !count
) return NULL
;
7623 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7624 for (i
= 0; i
< count
; i
++)
7626 convert_VkPipelineShaderStageCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
7631 #endif /* USE_STRUCT_CONVERSION */
7633 #if !defined(USE_STRUCT_CONVERSION)
7634 static inline void convert_VkGraphicsShaderGroupCreateInfoNV_win64_to_host(struct conversion_context
*ctx
, const VkGraphicsShaderGroupCreateInfoNV
*in
, VkGraphicsShaderGroupCreateInfoNV
*out
)
7638 out
->sType
= in
->sType
;
7639 out
->pNext
= in
->pNext
;
7640 out
->stageCount
= in
->stageCount
;
7641 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(ctx
, in
->pStages
, in
->stageCount
);
7642 out
->pVertexInputState
= in
->pVertexInputState
;
7643 out
->pTessellationState
= in
->pTessellationState
;
7645 #endif /* USE_STRUCT_CONVERSION */
7647 #if defined(USE_STRUCT_CONVERSION)
7648 static inline void convert_VkGraphicsShaderGroupCreateInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkGraphicsShaderGroupCreateInfoNV32
*in
, VkGraphicsShaderGroupCreateInfoNV
*out
)
7652 out
->sType
= in
->sType
;
7653 out
->pNext
= in
->pNext
;
7654 out
->stageCount
= in
->stageCount
;
7655 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(ctx
, in
->pStages
, in
->stageCount
);
7656 out
->pVertexInputState
= in
->pVertexInputState
;
7657 out
->pTessellationState
= in
->pTessellationState
;
7659 #endif /* USE_STRUCT_CONVERSION */
7661 #if !defined(USE_STRUCT_CONVERSION)
7662 static inline const VkGraphicsShaderGroupCreateInfoNV
*convert_VkGraphicsShaderGroupCreateInfoNV_array_win64_to_host(struct conversion_context
*ctx
, const VkGraphicsShaderGroupCreateInfoNV
*in
, uint32_t count
)
7664 VkGraphicsShaderGroupCreateInfoNV
*out
;
7667 if (!in
|| !count
) return NULL
;
7669 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7670 for (i
= 0; i
< count
; i
++)
7672 convert_VkGraphicsShaderGroupCreateInfoNV_win64_to_host(ctx
, &in
[i
], &out
[i
]);
7677 #endif /* USE_STRUCT_CONVERSION */
7679 #if defined(USE_STRUCT_CONVERSION)
7680 static inline const VkGraphicsShaderGroupCreateInfoNV
*convert_VkGraphicsShaderGroupCreateInfoNV_array_win32_to_host(struct conversion_context
*ctx
, const VkGraphicsShaderGroupCreateInfoNV32
*in
, uint32_t count
)
7682 VkGraphicsShaderGroupCreateInfoNV
*out
;
7685 if (!in
|| !count
) return NULL
;
7687 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7688 for (i
= 0; i
< count
; i
++)
7690 convert_VkGraphicsShaderGroupCreateInfoNV_win32_to_host(ctx
, &in
[i
], &out
[i
]);
7695 #endif /* USE_STRUCT_CONVERSION */
7697 #if !defined(USE_STRUCT_CONVERSION)
7698 static inline void convert_VkGraphicsPipelineCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkGraphicsPipelineCreateInfo
*in
, VkGraphicsPipelineCreateInfo
*out
)
7700 const VkBaseInStructure
*in_header
;
7701 VkBaseOutStructure
*out_header
= (void *)out
;
7705 out
->sType
= in
->sType
;
7707 out
->flags
= in
->flags
;
7708 out
->stageCount
= in
->stageCount
;
7709 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(ctx
, in
->pStages
, in
->stageCount
);
7710 out
->pVertexInputState
= in
->pVertexInputState
;
7711 out
->pInputAssemblyState
= in
->pInputAssemblyState
;
7712 out
->pTessellationState
= in
->pTessellationState
;
7713 out
->pViewportState
= in
->pViewportState
;
7714 out
->pRasterizationState
= in
->pRasterizationState
;
7715 out
->pMultisampleState
= in
->pMultisampleState
;
7716 out
->pDepthStencilState
= in
->pDepthStencilState
;
7717 out
->pColorBlendState
= in
->pColorBlendState
;
7718 out
->pDynamicState
= in
->pDynamicState
;
7719 out
->layout
= in
->layout
;
7720 out
->renderPass
= in
->renderPass
;
7721 out
->subpass
= in
->subpass
;
7722 out
->basePipelineHandle
= in
->basePipelineHandle
;
7723 out
->basePipelineIndex
= in
->basePipelineIndex
;
7725 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
7727 switch (in_header
->sType
)
7729 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
:
7731 VkGraphicsPipelineShaderGroupsCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7732 const VkGraphicsPipelineShaderGroupsCreateInfoNV
*in_ext
= (const VkGraphicsPipelineShaderGroupsCreateInfoNV
*)in_header
;
7733 out_ext
->sType
= VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
;
7734 out_ext
->pNext
= NULL
;
7735 out_ext
->groupCount
= in_ext
->groupCount
;
7736 out_ext
->pGroups
= convert_VkGraphicsShaderGroupCreateInfoNV_array_win64_to_host(ctx
, in_ext
->pGroups
, in_ext
->groupCount
);
7737 out_ext
->pipelineCount
= in_ext
->pipelineCount
;
7738 out_ext
->pPipelines
= in_ext
->pPipelines
;
7739 out_header
->pNext
= (void *)out_ext
;
7740 out_header
= (void *)out_ext
;
7743 case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
:
7745 VkPipelineDiscardRectangleStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7746 const VkPipelineDiscardRectangleStateCreateInfoEXT
*in_ext
= (const VkPipelineDiscardRectangleStateCreateInfoEXT
*)in_header
;
7747 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
;
7748 out_ext
->pNext
= NULL
;
7749 out_ext
->flags
= in_ext
->flags
;
7750 out_ext
->discardRectangleMode
= in_ext
->discardRectangleMode
;
7751 out_ext
->discardRectangleCount
= in_ext
->discardRectangleCount
;
7752 out_ext
->pDiscardRectangles
= in_ext
->pDiscardRectangles
;
7753 out_header
->pNext
= (void *)out_ext
;
7754 out_header
= (void *)out_ext
;
7757 case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
:
7759 VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7760 const VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*in_ext
= (const VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*)in_header
;
7761 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
;
7762 out_ext
->pNext
= NULL
;
7763 out_ext
->representativeFragmentTestEnable
= in_ext
->representativeFragmentTestEnable
;
7764 out_header
->pNext
= (void *)out_ext
;
7765 out_header
= (void *)out_ext
;
7768 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
7770 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7771 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
7772 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
7773 out_ext
->pNext
= NULL
;
7774 out_ext
->pPipelineCreationFeedback
= in_ext
->pPipelineCreationFeedback
;
7775 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
7776 out_ext
->pPipelineStageCreationFeedbacks
= in_ext
->pPipelineStageCreationFeedbacks
;
7777 out_header
->pNext
= (void *)out_ext
;
7778 out_header
= (void *)out_ext
;
7781 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
:
7783 VkPipelineCompilerControlCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7784 const VkPipelineCompilerControlCreateInfoAMD
*in_ext
= (const VkPipelineCompilerControlCreateInfoAMD
*)in_header
;
7785 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
;
7786 out_ext
->pNext
= NULL
;
7787 out_ext
->compilerControlFlags
= in_ext
->compilerControlFlags
;
7788 out_header
->pNext
= (void *)out_ext
;
7789 out_header
= (void *)out_ext
;
7792 case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR
:
7794 VkPipelineLibraryCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7795 const VkPipelineLibraryCreateInfoKHR
*in_ext
= (const VkPipelineLibraryCreateInfoKHR
*)in_header
;
7796 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR
;
7797 out_ext
->pNext
= NULL
;
7798 out_ext
->libraryCount
= in_ext
->libraryCount
;
7799 out_ext
->pLibraries
= in_ext
->pLibraries
;
7800 out_header
->pNext
= (void *)out_ext
;
7801 out_header
= (void *)out_ext
;
7804 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR
:
7806 VkPipelineFragmentShadingRateStateCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7807 const VkPipelineFragmentShadingRateStateCreateInfoKHR
*in_ext
= (const VkPipelineFragmentShadingRateStateCreateInfoKHR
*)in_header
;
7808 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR
;
7809 out_ext
->pNext
= NULL
;
7810 out_ext
->fragmentSize
= in_ext
->fragmentSize
;
7811 memcpy(out_ext
->combinerOps
, in_ext
->combinerOps
, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR
));
7812 out_header
->pNext
= (void *)out_ext
;
7813 out_header
= (void *)out_ext
;
7816 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
:
7818 VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7819 const VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*in_ext
= (const VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*)in_header
;
7820 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
;
7821 out_ext
->pNext
= NULL
;
7822 out_ext
->shadingRateType
= in_ext
->shadingRateType
;
7823 out_ext
->shadingRate
= in_ext
->shadingRate
;
7824 memcpy(out_ext
->combinerOps
, in_ext
->combinerOps
, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR
));
7825 out_header
->pNext
= (void *)out_ext
;
7826 out_header
= (void *)out_ext
;
7829 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO
:
7831 VkPipelineRenderingCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7832 const VkPipelineRenderingCreateInfo
*in_ext
= (const VkPipelineRenderingCreateInfo
*)in_header
;
7833 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO
;
7834 out_ext
->pNext
= NULL
;
7835 out_ext
->viewMask
= in_ext
->viewMask
;
7836 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
7837 out_ext
->pColorAttachmentFormats
= in_ext
->pColorAttachmentFormats
;
7838 out_ext
->depthAttachmentFormat
= in_ext
->depthAttachmentFormat
;
7839 out_ext
->stencilAttachmentFormat
= in_ext
->stencilAttachmentFormat
;
7840 out_header
->pNext
= (void *)out_ext
;
7841 out_header
= (void *)out_ext
;
7844 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
:
7846 VkAttachmentSampleCountInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7847 const VkAttachmentSampleCountInfoAMD
*in_ext
= (const VkAttachmentSampleCountInfoAMD
*)in_header
;
7848 out_ext
->sType
= VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
;
7849 out_ext
->pNext
= NULL
;
7850 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
7851 out_ext
->pColorAttachmentSamples
= in_ext
->pColorAttachmentSamples
;
7852 out_ext
->depthStencilAttachmentSamples
= in_ext
->depthStencilAttachmentSamples
;
7853 out_header
->pNext
= (void *)out_ext
;
7854 out_header
= (void *)out_ext
;
7857 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
:
7859 VkMultiviewPerViewAttributesInfoNVX
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7860 const VkMultiviewPerViewAttributesInfoNVX
*in_ext
= (const VkMultiviewPerViewAttributesInfoNVX
*)in_header
;
7861 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
;
7862 out_ext
->pNext
= NULL
;
7863 out_ext
->perViewAttributes
= in_ext
->perViewAttributes
;
7864 out_ext
->perViewAttributesPositionXOnly
= in_ext
->perViewAttributesPositionXOnly
;
7865 out_header
->pNext
= (void *)out_ext
;
7866 out_header
= (void *)out_ext
;
7869 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT
:
7871 VkGraphicsPipelineLibraryCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7872 const VkGraphicsPipelineLibraryCreateInfoEXT
*in_ext
= (const VkGraphicsPipelineLibraryCreateInfoEXT
*)in_header
;
7873 out_ext
->sType
= VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT
;
7874 out_ext
->pNext
= NULL
;
7875 out_ext
->flags
= in_ext
->flags
;
7876 out_header
->pNext
= (void *)out_ext
;
7877 out_header
= (void *)out_ext
;
7880 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
7882 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7883 const VkPipelineRobustnessCreateInfoEXT
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT
*)in_header
;
7884 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
7885 out_ext
->pNext
= NULL
;
7886 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
7887 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
7888 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
7889 out_ext
->images
= in_ext
->images
;
7890 out_header
->pNext
= (void *)out_ext
;
7891 out_header
= (void *)out_ext
;
7895 FIXME("Unhandled sType %u.", in_header
->sType
);
7900 #endif /* USE_STRUCT_CONVERSION */
7902 #if defined(USE_STRUCT_CONVERSION)
7903 static inline void convert_VkGraphicsPipelineCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkGraphicsPipelineCreateInfo32
*in
, VkGraphicsPipelineCreateInfo
*out
)
7905 const VkBaseInStructure
*in_header
;
7906 VkBaseOutStructure
*out_header
= (void *)out
;
7910 out
->sType
= in
->sType
;
7912 out
->flags
= in
->flags
;
7913 out
->stageCount
= in
->stageCount
;
7914 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(ctx
, in
->pStages
, in
->stageCount
);
7915 out
->pVertexInputState
= in
->pVertexInputState
;
7916 out
->pInputAssemblyState
= in
->pInputAssemblyState
;
7917 out
->pTessellationState
= in
->pTessellationState
;
7918 out
->pViewportState
= in
->pViewportState
;
7919 out
->pRasterizationState
= in
->pRasterizationState
;
7920 out
->pMultisampleState
= in
->pMultisampleState
;
7921 out
->pDepthStencilState
= in
->pDepthStencilState
;
7922 out
->pColorBlendState
= in
->pColorBlendState
;
7923 out
->pDynamicState
= in
->pDynamicState
;
7924 out
->layout
= in
->layout
;
7925 out
->renderPass
= in
->renderPass
;
7926 out
->subpass
= in
->subpass
;
7927 out
->basePipelineHandle
= in
->basePipelineHandle
;
7928 out
->basePipelineIndex
= in
->basePipelineIndex
;
7930 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
7932 switch (in_header
->sType
)
7934 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
:
7936 VkGraphicsPipelineShaderGroupsCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7937 const VkGraphicsPipelineShaderGroupsCreateInfoNV32
*in_ext
= (const VkGraphicsPipelineShaderGroupsCreateInfoNV32
*)in_header
;
7938 out_ext
->sType
= VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
;
7939 out_ext
->pNext
= NULL
;
7940 out_ext
->groupCount
= in_ext
->groupCount
;
7941 out_ext
->pGroups
= convert_VkGraphicsShaderGroupCreateInfoNV_array_win32_to_host(ctx
, in_ext
->pGroups
, in_ext
->groupCount
);
7942 out_ext
->pipelineCount
= in_ext
->pipelineCount
;
7943 out_ext
->pPipelines
= in_ext
->pPipelines
;
7944 out_header
->pNext
= (void *)out_ext
;
7945 out_header
= (void *)out_ext
;
7948 case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
:
7950 VkPipelineDiscardRectangleStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7951 const VkPipelineDiscardRectangleStateCreateInfoEXT
*in_ext
= (const VkPipelineDiscardRectangleStateCreateInfoEXT
*)in_header
;
7952 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
;
7953 out_ext
->pNext
= NULL
;
7954 out_ext
->flags
= in_ext
->flags
;
7955 out_ext
->discardRectangleMode
= in_ext
->discardRectangleMode
;
7956 out_ext
->discardRectangleCount
= in_ext
->discardRectangleCount
;
7957 out_ext
->pDiscardRectangles
= in_ext
->pDiscardRectangles
;
7958 out_header
->pNext
= (void *)out_ext
;
7959 out_header
= (void *)out_ext
;
7962 case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
:
7964 VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7965 const VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*in_ext
= (const VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*)in_header
;
7966 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
;
7967 out_ext
->pNext
= NULL
;
7968 out_ext
->representativeFragmentTestEnable
= in_ext
->representativeFragmentTestEnable
;
7969 out_header
->pNext
= (void *)out_ext
;
7970 out_header
= (void *)out_ext
;
7973 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
7975 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7976 const VkPipelineCreationFeedbackCreateInfo32
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo32
*)in_header
;
7977 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
7978 out_ext
->pNext
= NULL
;
7979 out_ext
->pPipelineCreationFeedback
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, in_ext
->pPipelineCreationFeedback
, 1);
7980 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
7981 out_ext
->pPipelineStageCreationFeedbacks
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, in_ext
->pPipelineStageCreationFeedbacks
, in_ext
->pipelineStageCreationFeedbackCount
);
7982 out_header
->pNext
= (void *)out_ext
;
7983 out_header
= (void *)out_ext
;
7986 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
:
7988 VkPipelineCompilerControlCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7989 const VkPipelineCompilerControlCreateInfoAMD
*in_ext
= (const VkPipelineCompilerControlCreateInfoAMD
*)in_header
;
7990 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
;
7991 out_ext
->pNext
= NULL
;
7992 out_ext
->compilerControlFlags
= in_ext
->compilerControlFlags
;
7993 out_header
->pNext
= (void *)out_ext
;
7994 out_header
= (void *)out_ext
;
7997 case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR
:
7999 VkPipelineLibraryCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8000 const VkPipelineLibraryCreateInfoKHR
*in_ext
= (const VkPipelineLibraryCreateInfoKHR
*)in_header
;
8001 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR
;
8002 out_ext
->pNext
= NULL
;
8003 out_ext
->libraryCount
= in_ext
->libraryCount
;
8004 out_ext
->pLibraries
= in_ext
->pLibraries
;
8005 out_header
->pNext
= (void *)out_ext
;
8006 out_header
= (void *)out_ext
;
8009 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR
:
8011 VkPipelineFragmentShadingRateStateCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8012 const VkPipelineFragmentShadingRateStateCreateInfoKHR
*in_ext
= (const VkPipelineFragmentShadingRateStateCreateInfoKHR
*)in_header
;
8013 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR
;
8014 out_ext
->pNext
= NULL
;
8015 out_ext
->fragmentSize
= in_ext
->fragmentSize
;
8016 memcpy(out_ext
->combinerOps
, in_ext
->combinerOps
, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR
));
8017 out_header
->pNext
= (void *)out_ext
;
8018 out_header
= (void *)out_ext
;
8021 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
:
8023 VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8024 const VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*in_ext
= (const VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*)in_header
;
8025 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
;
8026 out_ext
->pNext
= NULL
;
8027 out_ext
->shadingRateType
= in_ext
->shadingRateType
;
8028 out_ext
->shadingRate
= in_ext
->shadingRate
;
8029 memcpy(out_ext
->combinerOps
, in_ext
->combinerOps
, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR
));
8030 out_header
->pNext
= (void *)out_ext
;
8031 out_header
= (void *)out_ext
;
8034 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO
:
8036 VkPipelineRenderingCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8037 const VkPipelineRenderingCreateInfo
*in_ext
= (const VkPipelineRenderingCreateInfo
*)in_header
;
8038 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO
;
8039 out_ext
->pNext
= NULL
;
8040 out_ext
->viewMask
= in_ext
->viewMask
;
8041 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
8042 out_ext
->pColorAttachmentFormats
= in_ext
->pColorAttachmentFormats
;
8043 out_ext
->depthAttachmentFormat
= in_ext
->depthAttachmentFormat
;
8044 out_ext
->stencilAttachmentFormat
= in_ext
->stencilAttachmentFormat
;
8045 out_header
->pNext
= (void *)out_ext
;
8046 out_header
= (void *)out_ext
;
8049 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
:
8051 VkAttachmentSampleCountInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8052 const VkAttachmentSampleCountInfoAMD
*in_ext
= (const VkAttachmentSampleCountInfoAMD
*)in_header
;
8053 out_ext
->sType
= VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
;
8054 out_ext
->pNext
= NULL
;
8055 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
8056 out_ext
->pColorAttachmentSamples
= in_ext
->pColorAttachmentSamples
;
8057 out_ext
->depthStencilAttachmentSamples
= in_ext
->depthStencilAttachmentSamples
;
8058 out_header
->pNext
= (void *)out_ext
;
8059 out_header
= (void *)out_ext
;
8062 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
:
8064 VkMultiviewPerViewAttributesInfoNVX
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8065 const VkMultiviewPerViewAttributesInfoNVX
*in_ext
= (const VkMultiviewPerViewAttributesInfoNVX
*)in_header
;
8066 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
;
8067 out_ext
->pNext
= NULL
;
8068 out_ext
->perViewAttributes
= in_ext
->perViewAttributes
;
8069 out_ext
->perViewAttributesPositionXOnly
= in_ext
->perViewAttributesPositionXOnly
;
8070 out_header
->pNext
= (void *)out_ext
;
8071 out_header
= (void *)out_ext
;
8074 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT
:
8076 VkGraphicsPipelineLibraryCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8077 const VkGraphicsPipelineLibraryCreateInfoEXT
*in_ext
= (const VkGraphicsPipelineLibraryCreateInfoEXT
*)in_header
;
8078 out_ext
->sType
= VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT
;
8079 out_ext
->pNext
= NULL
;
8080 out_ext
->flags
= in_ext
->flags
;
8081 out_header
->pNext
= (void *)out_ext
;
8082 out_header
= (void *)out_ext
;
8085 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
8087 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8088 const VkPipelineRobustnessCreateInfoEXT
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT
*)in_header
;
8089 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
8090 out_ext
->pNext
= NULL
;
8091 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
8092 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
8093 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
8094 out_ext
->images
= in_ext
->images
;
8095 out_header
->pNext
= (void *)out_ext
;
8096 out_header
= (void *)out_ext
;
8100 FIXME("Unhandled sType %u.", in_header
->sType
);
8105 #endif /* USE_STRUCT_CONVERSION */
8107 #if defined(USE_STRUCT_CONVERSION)
8108 static inline void convert_VkGraphicsPipelineCreateInfo_host_to_win32(const VkGraphicsPipelineCreateInfo
*in
, const VkGraphicsPipelineCreateInfo32
*out
)
8110 const VkBaseInStructure
*in_header
;
8111 VkBaseOutStructure
*out_header
= (void *)out
;
8116 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8118 switch (in_header
->sType
)
8120 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
8122 VkPipelineCreationFeedbackCreateInfo32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
);
8123 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
8124 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
8125 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineCreationFeedback
, out_ext
->pPipelineCreationFeedback
, 1);
8126 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineStageCreationFeedbacks
, out_ext
->pPipelineStageCreationFeedbacks
, in_ext
->pipelineStageCreationFeedbackCount
);
8127 out_header
= (void *)out_ext
;
8135 #endif /* USE_STRUCT_CONVERSION */
8137 #if !defined(USE_STRUCT_CONVERSION)
8138 static inline const VkGraphicsPipelineCreateInfo
*convert_VkGraphicsPipelineCreateInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkGraphicsPipelineCreateInfo
*in
, uint32_t count
)
8140 VkGraphicsPipelineCreateInfo
*out
;
8143 if (!in
|| !count
) return NULL
;
8145 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8146 for (i
= 0; i
< count
; i
++)
8148 convert_VkGraphicsPipelineCreateInfo_win64_to_host(ctx
, &in
[i
], &out
[i
]);
8153 #endif /* USE_STRUCT_CONVERSION */
8155 #if defined(USE_STRUCT_CONVERSION)
8156 static inline const VkGraphicsPipelineCreateInfo
*convert_VkGraphicsPipelineCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkGraphicsPipelineCreateInfo32
*in
, uint32_t count
)
8158 VkGraphicsPipelineCreateInfo
*out
;
8161 if (!in
|| !count
) return NULL
;
8163 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8164 for (i
= 0; i
< count
; i
++)
8166 convert_VkGraphicsPipelineCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
8171 #endif /* USE_STRUCT_CONVERSION */
8173 #if defined(USE_STRUCT_CONVERSION)
8174 static inline void convert_VkGraphicsPipelineCreateInfo_array_host_to_win32(const VkGraphicsPipelineCreateInfo
*in
, const VkGraphicsPipelineCreateInfo32
*out
, uint32_t count
)
8180 for (i
= 0; i
< count
; i
++)
8182 convert_VkGraphicsPipelineCreateInfo_host_to_win32(&in
[i
], &out
[i
]);
8185 #endif /* USE_STRUCT_CONVERSION */
8187 #if defined(USE_STRUCT_CONVERSION)
8188 static inline void convert_VkImageCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkImageCreateInfo
*in
, VkImageCreateInfo
*out
)
8190 const VkBaseInStructure
*in_header
;
8191 VkBaseOutStructure
*out_header
= (void *)out
;
8195 out
->sType
= in
->sType
;
8197 out
->flags
= in
->flags
;
8198 out
->imageType
= in
->imageType
;
8199 out
->format
= in
->format
;
8200 out
->extent
= in
->extent
;
8201 out
->mipLevels
= in
->mipLevels
;
8202 out
->arrayLayers
= in
->arrayLayers
;
8203 out
->samples
= in
->samples
;
8204 out
->tiling
= in
->tiling
;
8205 out
->usage
= in
->usage
;
8206 out
->sharingMode
= in
->sharingMode
;
8207 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
8208 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
8209 out
->initialLayout
= in
->initialLayout
;
8211 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8213 switch (in_header
->sType
)
8215 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV
:
8217 VkDedicatedAllocationImageCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8218 const VkDedicatedAllocationImageCreateInfoNV
*in_ext
= (const VkDedicatedAllocationImageCreateInfoNV
*)in_header
;
8219 out_ext
->sType
= VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV
;
8220 out_ext
->pNext
= NULL
;
8221 out_ext
->dedicatedAllocation
= in_ext
->dedicatedAllocation
;
8222 out_header
->pNext
= (void *)out_ext
;
8223 out_header
= (void *)out_ext
;
8226 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO
:
8228 VkExternalMemoryImageCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8229 const VkExternalMemoryImageCreateInfo
*in_ext
= (const VkExternalMemoryImageCreateInfo
*)in_header
;
8230 out_ext
->sType
= VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO
;
8231 out_ext
->pNext
= NULL
;
8232 out_ext
->handleTypes
= in_ext
->handleTypes
;
8233 out_header
->pNext
= (void *)out_ext
;
8234 out_header
= (void *)out_ext
;
8237 case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR
:
8239 VkImageSwapchainCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8240 const VkImageSwapchainCreateInfoKHR32
*in_ext
= (const VkImageSwapchainCreateInfoKHR32
*)in_header
;
8241 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR
;
8242 out_ext
->pNext
= NULL
;
8243 out_ext
->swapchain
= in_ext
->swapchain
;
8244 out_header
->pNext
= (void *)out_ext
;
8245 out_header
= (void *)out_ext
;
8248 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
:
8250 VkImageFormatListCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8251 const VkImageFormatListCreateInfo
*in_ext
= (const VkImageFormatListCreateInfo
*)in_header
;
8252 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
;
8253 out_ext
->pNext
= NULL
;
8254 out_ext
->viewFormatCount
= in_ext
->viewFormatCount
;
8255 out_ext
->pViewFormats
= in_ext
->pViewFormats
;
8256 out_header
->pNext
= (void *)out_ext
;
8257 out_header
= (void *)out_ext
;
8260 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO
:
8262 VkImageStencilUsageCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8263 const VkImageStencilUsageCreateInfo
*in_ext
= (const VkImageStencilUsageCreateInfo
*)in_header
;
8264 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO
;
8265 out_ext
->pNext
= NULL
;
8266 out_ext
->stencilUsage
= in_ext
->stencilUsage
;
8267 out_header
->pNext
= (void *)out_ext
;
8268 out_header
= (void *)out_ext
;
8271 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT
:
8273 VkImageCompressionControlEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8274 const VkImageCompressionControlEXT
*in_ext
= (const VkImageCompressionControlEXT
*)in_header
;
8275 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT
;
8276 out_ext
->pNext
= NULL
;
8277 out_ext
->flags
= in_ext
->flags
;
8278 out_ext
->compressionControlPlaneCount
= in_ext
->compressionControlPlaneCount
;
8279 out_ext
->pFixedRateFlags
= in_ext
->pFixedRateFlags
;
8280 out_header
->pNext
= (void *)out_ext
;
8281 out_header
= (void *)out_ext
;
8284 case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV
:
8286 VkOpticalFlowImageFormatInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8287 const VkOpticalFlowImageFormatInfoNV
*in_ext
= (const VkOpticalFlowImageFormatInfoNV
*)in_header
;
8288 out_ext
->sType
= VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV
;
8289 out_ext
->pNext
= NULL
;
8290 out_ext
->usage
= in_ext
->usage
;
8291 out_header
->pNext
= (void *)out_ext
;
8292 out_header
= (void *)out_ext
;
8296 FIXME("Unhandled sType %u.", in_header
->sType
);
8301 #endif /* USE_STRUCT_CONVERSION */
8303 #if defined(USE_STRUCT_CONVERSION)
8304 static inline void convert_VkImageViewCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkImageViewCreateInfo32
*in
, VkImageViewCreateInfo
*out
)
8306 const VkBaseInStructure
*in_header
;
8307 VkBaseOutStructure
*out_header
= (void *)out
;
8311 out
->sType
= in
->sType
;
8313 out
->flags
= in
->flags
;
8314 out
->image
= in
->image
;
8315 out
->viewType
= in
->viewType
;
8316 out
->format
= in
->format
;
8317 out
->components
= in
->components
;
8318 out
->subresourceRange
= in
->subresourceRange
;
8320 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8322 switch (in_header
->sType
)
8324 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO
:
8326 VkImageViewUsageCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8327 const VkImageViewUsageCreateInfo
*in_ext
= (const VkImageViewUsageCreateInfo
*)in_header
;
8328 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO
;
8329 out_ext
->pNext
= NULL
;
8330 out_ext
->usage
= in_ext
->usage
;
8331 out_header
->pNext
= (void *)out_ext
;
8332 out_header
= (void *)out_ext
;
8335 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
:
8337 VkSamplerYcbcrConversionInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8338 const VkSamplerYcbcrConversionInfo32
*in_ext
= (const VkSamplerYcbcrConversionInfo32
*)in_header
;
8339 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
;
8340 out_ext
->pNext
= NULL
;
8341 out_ext
->conversion
= in_ext
->conversion
;
8342 out_header
->pNext
= (void *)out_ext
;
8343 out_header
= (void *)out_ext
;
8346 case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT
:
8348 VkImageViewASTCDecodeModeEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8349 const VkImageViewASTCDecodeModeEXT
*in_ext
= (const VkImageViewASTCDecodeModeEXT
*)in_header
;
8350 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT
;
8351 out_ext
->pNext
= NULL
;
8352 out_ext
->decodeMode
= in_ext
->decodeMode
;
8353 out_header
->pNext
= (void *)out_ext
;
8354 out_header
= (void *)out_ext
;
8357 case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT
:
8359 VkImageViewMinLodCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8360 const VkImageViewMinLodCreateInfoEXT
*in_ext
= (const VkImageViewMinLodCreateInfoEXT
*)in_header
;
8361 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT
;
8362 out_ext
->pNext
= NULL
;
8363 out_ext
->minLod
= in_ext
->minLod
;
8364 out_header
->pNext
= (void *)out_ext
;
8365 out_header
= (void *)out_ext
;
8368 case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM
:
8370 VkImageViewSampleWeightCreateInfoQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8371 const VkImageViewSampleWeightCreateInfoQCOM
*in_ext
= (const VkImageViewSampleWeightCreateInfoQCOM
*)in_header
;
8372 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM
;
8373 out_ext
->pNext
= NULL
;
8374 out_ext
->filterCenter
= in_ext
->filterCenter
;
8375 out_ext
->filterSize
= in_ext
->filterSize
;
8376 out_ext
->numPhases
= in_ext
->numPhases
;
8377 out_header
->pNext
= (void *)out_ext
;
8378 out_header
= (void *)out_ext
;
8382 FIXME("Unhandled sType %u.", in_header
->sType
);
8387 #endif /* USE_STRUCT_CONVERSION */
8389 #if defined(USE_STRUCT_CONVERSION)
8390 static inline void convert_VkIndirectCommandsLayoutTokenNV_win32_to_host(const VkIndirectCommandsLayoutTokenNV32
*in
, VkIndirectCommandsLayoutTokenNV
*out
)
8394 out
->sType
= in
->sType
;
8395 out
->pNext
= in
->pNext
;
8396 out
->tokenType
= in
->tokenType
;
8397 out
->stream
= in
->stream
;
8398 out
->offset
= in
->offset
;
8399 out
->vertexBindingUnit
= in
->vertexBindingUnit
;
8400 out
->vertexDynamicStride
= in
->vertexDynamicStride
;
8401 out
->pushconstantPipelineLayout
= in
->pushconstantPipelineLayout
;
8402 out
->pushconstantShaderStageFlags
= in
->pushconstantShaderStageFlags
;
8403 out
->pushconstantOffset
= in
->pushconstantOffset
;
8404 out
->pushconstantSize
= in
->pushconstantSize
;
8405 out
->indirectStateFlags
= in
->indirectStateFlags
;
8406 out
->indexTypeCount
= in
->indexTypeCount
;
8407 out
->pIndexTypes
= in
->pIndexTypes
;
8408 out
->pIndexTypeValues
= in
->pIndexTypeValues
;
8410 #endif /* USE_STRUCT_CONVERSION */
8412 #if defined(USE_STRUCT_CONVERSION)
8413 static inline const VkIndirectCommandsLayoutTokenNV
*convert_VkIndirectCommandsLayoutTokenNV_array_win32_to_host(struct conversion_context
*ctx
, const VkIndirectCommandsLayoutTokenNV32
*in
, uint32_t count
)
8415 VkIndirectCommandsLayoutTokenNV
*out
;
8418 if (!in
|| !count
) return NULL
;
8420 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8421 for (i
= 0; i
< count
; i
++)
8423 convert_VkIndirectCommandsLayoutTokenNV_win32_to_host(&in
[i
], &out
[i
]);
8428 #endif /* USE_STRUCT_CONVERSION */
8430 #if defined(USE_STRUCT_CONVERSION)
8431 static inline void convert_VkIndirectCommandsLayoutCreateInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkIndirectCommandsLayoutCreateInfoNV32
*in
, VkIndirectCommandsLayoutCreateInfoNV
*out
)
8435 out
->sType
= in
->sType
;
8436 out
->pNext
= in
->pNext
;
8437 out
->flags
= in
->flags
;
8438 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
8439 out
->tokenCount
= in
->tokenCount
;
8440 out
->pTokens
= convert_VkIndirectCommandsLayoutTokenNV_array_win32_to_host(ctx
, in
->pTokens
, in
->tokenCount
);
8441 out
->streamCount
= in
->streamCount
;
8442 out
->pStreamStrides
= in
->pStreamStrides
;
8444 #endif /* USE_STRUCT_CONVERSION */
8446 #if !defined(USE_STRUCT_CONVERSION)
8447 static inline void convert_VkInstanceCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkInstanceCreateInfo
*in
, VkInstanceCreateInfo
*out
)
8449 const VkBaseInStructure
*in_header
;
8450 VkBaseOutStructure
*out_header
= (void *)out
;
8454 out
->sType
= in
->sType
;
8456 out
->flags
= in
->flags
;
8457 out
->pApplicationInfo
= in
->pApplicationInfo
;
8458 out
->enabledLayerCount
= in
->enabledLayerCount
;
8459 out
->ppEnabledLayerNames
= in
->ppEnabledLayerNames
;
8460 out
->enabledExtensionCount
= in
->enabledExtensionCount
;
8461 out
->ppEnabledExtensionNames
= in
->ppEnabledExtensionNames
;
8463 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8465 switch (in_header
->sType
)
8467 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
:
8469 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
:
8471 VkDebugReportCallbackCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8472 const VkDebugReportCallbackCreateInfoEXT
*in_ext
= (const VkDebugReportCallbackCreateInfoEXT
*)in_header
;
8473 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
;
8474 out_ext
->pNext
= NULL
;
8475 out_ext
->flags
= in_ext
->flags
;
8476 out_ext
->pfnCallback
= in_ext
->pfnCallback
;
8477 out_ext
->pUserData
= in_ext
->pUserData
;
8478 out_header
->pNext
= (void *)out_ext
;
8479 out_header
= (void *)out_ext
;
8482 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
:
8484 VkValidationFlagsEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8485 const VkValidationFlagsEXT
*in_ext
= (const VkValidationFlagsEXT
*)in_header
;
8486 out_ext
->sType
= VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
;
8487 out_ext
->pNext
= NULL
;
8488 out_ext
->disabledValidationCheckCount
= in_ext
->disabledValidationCheckCount
;
8489 out_ext
->pDisabledValidationChecks
= in_ext
->pDisabledValidationChecks
;
8490 out_header
->pNext
= (void *)out_ext
;
8491 out_header
= (void *)out_ext
;
8494 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
:
8496 VkValidationFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8497 const VkValidationFeaturesEXT
*in_ext
= (const VkValidationFeaturesEXT
*)in_header
;
8498 out_ext
->sType
= VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
;
8499 out_ext
->pNext
= NULL
;
8500 out_ext
->enabledValidationFeatureCount
= in_ext
->enabledValidationFeatureCount
;
8501 out_ext
->pEnabledValidationFeatures
= in_ext
->pEnabledValidationFeatures
;
8502 out_ext
->disabledValidationFeatureCount
= in_ext
->disabledValidationFeatureCount
;
8503 out_ext
->pDisabledValidationFeatures
= in_ext
->pDisabledValidationFeatures
;
8504 out_header
->pNext
= (void *)out_ext
;
8505 out_header
= (void *)out_ext
;
8508 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
:
8510 VkDebugUtilsMessengerCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8511 const VkDebugUtilsMessengerCreateInfoEXT
*in_ext
= (const VkDebugUtilsMessengerCreateInfoEXT
*)in_header
;
8512 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
;
8513 out_ext
->pNext
= NULL
;
8514 out_ext
->flags
= in_ext
->flags
;
8515 out_ext
->messageSeverity
= in_ext
->messageSeverity
;
8516 out_ext
->messageType
= in_ext
->messageType
;
8517 out_ext
->pfnUserCallback
= in_ext
->pfnUserCallback
;
8518 out_ext
->pUserData
= in_ext
->pUserData
;
8519 out_header
->pNext
= (void *)out_ext
;
8520 out_header
= (void *)out_ext
;
8524 FIXME("Unhandled sType %u.", in_header
->sType
);
8529 #endif /* USE_STRUCT_CONVERSION */
8531 #if defined(USE_STRUCT_CONVERSION)
8532 static inline void convert_VkInstanceCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkInstanceCreateInfo
*in
, VkInstanceCreateInfo
*out
)
8534 const VkBaseInStructure
*in_header
;
8535 VkBaseOutStructure
*out_header
= (void *)out
;
8539 out
->sType
= in
->sType
;
8541 out
->flags
= in
->flags
;
8542 out
->pApplicationInfo
= in
->pApplicationInfo
;
8543 out
->enabledLayerCount
= in
->enabledLayerCount
;
8544 out
->ppEnabledLayerNames
= in
->ppEnabledLayerNames
;
8545 out
->enabledExtensionCount
= in
->enabledExtensionCount
;
8546 out
->ppEnabledExtensionNames
= in
->ppEnabledExtensionNames
;
8548 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8550 switch (in_header
->sType
)
8552 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
:
8554 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
:
8556 VkDebugReportCallbackCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8557 const VkDebugReportCallbackCreateInfoEXT
*in_ext
= (const VkDebugReportCallbackCreateInfoEXT
*)in_header
;
8558 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
;
8559 out_ext
->pNext
= NULL
;
8560 out_ext
->flags
= in_ext
->flags
;
8561 out_ext
->pfnCallback
= in_ext
->pfnCallback
;
8562 out_ext
->pUserData
= in_ext
->pUserData
;
8563 out_header
->pNext
= (void *)out_ext
;
8564 out_header
= (void *)out_ext
;
8567 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
:
8569 VkValidationFlagsEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8570 const VkValidationFlagsEXT
*in_ext
= (const VkValidationFlagsEXT
*)in_header
;
8571 out_ext
->sType
= VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
;
8572 out_ext
->pNext
= NULL
;
8573 out_ext
->disabledValidationCheckCount
= in_ext
->disabledValidationCheckCount
;
8574 out_ext
->pDisabledValidationChecks
= in_ext
->pDisabledValidationChecks
;
8575 out_header
->pNext
= (void *)out_ext
;
8576 out_header
= (void *)out_ext
;
8579 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
:
8581 VkValidationFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8582 const VkValidationFeaturesEXT
*in_ext
= (const VkValidationFeaturesEXT
*)in_header
;
8583 out_ext
->sType
= VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
;
8584 out_ext
->pNext
= NULL
;
8585 out_ext
->enabledValidationFeatureCount
= in_ext
->enabledValidationFeatureCount
;
8586 out_ext
->pEnabledValidationFeatures
= in_ext
->pEnabledValidationFeatures
;
8587 out_ext
->disabledValidationFeatureCount
= in_ext
->disabledValidationFeatureCount
;
8588 out_ext
->pDisabledValidationFeatures
= in_ext
->pDisabledValidationFeatures
;
8589 out_header
->pNext
= (void *)out_ext
;
8590 out_header
= (void *)out_ext
;
8593 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
:
8595 VkDebugUtilsMessengerCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8596 const VkDebugUtilsMessengerCreateInfoEXT
*in_ext
= (const VkDebugUtilsMessengerCreateInfoEXT
*)in_header
;
8597 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
;
8598 out_ext
->pNext
= NULL
;
8599 out_ext
->flags
= in_ext
->flags
;
8600 out_ext
->messageSeverity
= in_ext
->messageSeverity
;
8601 out_ext
->messageType
= in_ext
->messageType
;
8602 out_ext
->pfnUserCallback
= in_ext
->pfnUserCallback
;
8603 out_ext
->pUserData
= in_ext
->pUserData
;
8604 out_header
->pNext
= (void *)out_ext
;
8605 out_header
= (void *)out_ext
;
8609 FIXME("Unhandled sType %u.", in_header
->sType
);
8614 #endif /* USE_STRUCT_CONVERSION */
8616 #if defined(USE_STRUCT_CONVERSION)
8617 static inline void convert_VkMicromapCreateInfoEXT_win32_to_host(const VkMicromapCreateInfoEXT32
*in
, VkMicromapCreateInfoEXT
*out
)
8621 out
->sType
= in
->sType
;
8622 out
->pNext
= in
->pNext
;
8623 out
->createFlags
= in
->createFlags
;
8624 out
->buffer
= in
->buffer
;
8625 out
->offset
= in
->offset
;
8626 out
->size
= in
->size
;
8627 out
->type
= in
->type
;
8628 out
->deviceAddress
= in
->deviceAddress
;
8630 #endif /* USE_STRUCT_CONVERSION */
8632 #if !defined(USE_STRUCT_CONVERSION)
8633 static inline void convert_VkRayTracingPipelineCreateInfoKHR_win64_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoKHR
*in
, VkRayTracingPipelineCreateInfoKHR
*out
)
8637 out
->sType
= in
->sType
;
8638 out
->pNext
= in
->pNext
;
8639 out
->flags
= in
->flags
;
8640 out
->stageCount
= in
->stageCount
;
8641 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(ctx
, in
->pStages
, in
->stageCount
);
8642 out
->groupCount
= in
->groupCount
;
8643 out
->pGroups
= in
->pGroups
;
8644 out
->maxPipelineRayRecursionDepth
= in
->maxPipelineRayRecursionDepth
;
8645 out
->pLibraryInfo
= in
->pLibraryInfo
;
8646 out
->pLibraryInterface
= in
->pLibraryInterface
;
8647 out
->pDynamicState
= in
->pDynamicState
;
8648 out
->layout
= in
->layout
;
8649 out
->basePipelineHandle
= in
->basePipelineHandle
;
8650 out
->basePipelineIndex
= in
->basePipelineIndex
;
8652 #endif /* USE_STRUCT_CONVERSION */
8654 #if defined(USE_STRUCT_CONVERSION)
8655 static inline void convert_VkRayTracingPipelineCreateInfoKHR_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoKHR32
*in
, VkRayTracingPipelineCreateInfoKHR
*out
)
8657 const VkBaseInStructure
*in_header
;
8658 VkBaseOutStructure
*out_header
= (void *)out
;
8662 out
->sType
= in
->sType
;
8664 out
->flags
= in
->flags
;
8665 out
->stageCount
= in
->stageCount
;
8666 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(ctx
, in
->pStages
, in
->stageCount
);
8667 out
->groupCount
= in
->groupCount
;
8668 out
->pGroups
= in
->pGroups
;
8669 out
->maxPipelineRayRecursionDepth
= in
->maxPipelineRayRecursionDepth
;
8670 out
->pLibraryInfo
= in
->pLibraryInfo
;
8671 out
->pLibraryInterface
= in
->pLibraryInterface
;
8672 out
->pDynamicState
= in
->pDynamicState
;
8673 out
->layout
= in
->layout
;
8674 out
->basePipelineHandle
= in
->basePipelineHandle
;
8675 out
->basePipelineIndex
= in
->basePipelineIndex
;
8677 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8679 switch (in_header
->sType
)
8681 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
8683 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8684 const VkPipelineCreationFeedbackCreateInfo32
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo32
*)in_header
;
8685 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
8686 out_ext
->pNext
= NULL
;
8687 out_ext
->pPipelineCreationFeedback
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, in_ext
->pPipelineCreationFeedback
, 1);
8688 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
8689 out_ext
->pPipelineStageCreationFeedbacks
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, in_ext
->pPipelineStageCreationFeedbacks
, in_ext
->pipelineStageCreationFeedbackCount
);
8690 out_header
->pNext
= (void *)out_ext
;
8691 out_header
= (void *)out_ext
;
8694 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
8696 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8697 const VkPipelineRobustnessCreateInfoEXT
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT
*)in_header
;
8698 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
8699 out_ext
->pNext
= NULL
;
8700 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
8701 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
8702 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
8703 out_ext
->images
= in_ext
->images
;
8704 out_header
->pNext
= (void *)out_ext
;
8705 out_header
= (void *)out_ext
;
8709 FIXME("Unhandled sType %u.", in_header
->sType
);
8714 #endif /* USE_STRUCT_CONVERSION */
8716 #if defined(USE_STRUCT_CONVERSION)
8717 static inline void convert_VkRayTracingPipelineCreateInfoKHR_host_to_win32(const VkRayTracingPipelineCreateInfoKHR
*in
, const VkRayTracingPipelineCreateInfoKHR32
*out
)
8719 const VkBaseInStructure
*in_header
;
8720 VkBaseOutStructure
*out_header
= (void *)out
;
8725 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8727 switch (in_header
->sType
)
8729 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
8731 VkPipelineCreationFeedbackCreateInfo32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
);
8732 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
8733 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
8734 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineCreationFeedback
, out_ext
->pPipelineCreationFeedback
, 1);
8735 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineStageCreationFeedbacks
, out_ext
->pPipelineStageCreationFeedbacks
, in_ext
->pipelineStageCreationFeedbackCount
);
8736 out_header
= (void *)out_ext
;
8744 #endif /* USE_STRUCT_CONVERSION */
8746 #if !defined(USE_STRUCT_CONVERSION)
8747 static inline const VkRayTracingPipelineCreateInfoKHR
*convert_VkRayTracingPipelineCreateInfoKHR_array_win64_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoKHR
*in
, uint32_t count
)
8749 VkRayTracingPipelineCreateInfoKHR
*out
;
8752 if (!in
|| !count
) return NULL
;
8754 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8755 for (i
= 0; i
< count
; i
++)
8757 convert_VkRayTracingPipelineCreateInfoKHR_win64_to_host(ctx
, &in
[i
], &out
[i
]);
8762 #endif /* USE_STRUCT_CONVERSION */
8764 #if defined(USE_STRUCT_CONVERSION)
8765 static inline const VkRayTracingPipelineCreateInfoKHR
*convert_VkRayTracingPipelineCreateInfoKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoKHR32
*in
, uint32_t count
)
8767 VkRayTracingPipelineCreateInfoKHR
*out
;
8770 if (!in
|| !count
) return NULL
;
8772 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8773 for (i
= 0; i
< count
; i
++)
8775 convert_VkRayTracingPipelineCreateInfoKHR_win32_to_host(ctx
, &in
[i
], &out
[i
]);
8780 #endif /* USE_STRUCT_CONVERSION */
8782 #if defined(USE_STRUCT_CONVERSION)
8783 static inline void convert_VkRayTracingPipelineCreateInfoKHR_array_host_to_win32(const VkRayTracingPipelineCreateInfoKHR
*in
, const VkRayTracingPipelineCreateInfoKHR32
*out
, uint32_t count
)
8789 for (i
= 0; i
< count
; i
++)
8791 convert_VkRayTracingPipelineCreateInfoKHR_host_to_win32(&in
[i
], &out
[i
]);
8794 #endif /* USE_STRUCT_CONVERSION */
8796 #if !defined(USE_STRUCT_CONVERSION)
8797 static inline void convert_VkRayTracingPipelineCreateInfoNV_win64_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoNV
*in
, VkRayTracingPipelineCreateInfoNV
*out
)
8801 out
->sType
= in
->sType
;
8802 out
->pNext
= in
->pNext
;
8803 out
->flags
= in
->flags
;
8804 out
->stageCount
= in
->stageCount
;
8805 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(ctx
, in
->pStages
, in
->stageCount
);
8806 out
->groupCount
= in
->groupCount
;
8807 out
->pGroups
= in
->pGroups
;
8808 out
->maxRecursionDepth
= in
->maxRecursionDepth
;
8809 out
->layout
= in
->layout
;
8810 out
->basePipelineHandle
= in
->basePipelineHandle
;
8811 out
->basePipelineIndex
= in
->basePipelineIndex
;
8813 #endif /* USE_STRUCT_CONVERSION */
8815 #if defined(USE_STRUCT_CONVERSION)
8816 static inline void convert_VkRayTracingPipelineCreateInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoNV32
*in
, VkRayTracingPipelineCreateInfoNV
*out
)
8818 const VkBaseInStructure
*in_header
;
8819 VkBaseOutStructure
*out_header
= (void *)out
;
8823 out
->sType
= in
->sType
;
8825 out
->flags
= in
->flags
;
8826 out
->stageCount
= in
->stageCount
;
8827 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(ctx
, in
->pStages
, in
->stageCount
);
8828 out
->groupCount
= in
->groupCount
;
8829 out
->pGroups
= in
->pGroups
;
8830 out
->maxRecursionDepth
= in
->maxRecursionDepth
;
8831 out
->layout
= in
->layout
;
8832 out
->basePipelineHandle
= in
->basePipelineHandle
;
8833 out
->basePipelineIndex
= in
->basePipelineIndex
;
8835 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8837 switch (in_header
->sType
)
8839 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
8841 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8842 const VkPipelineCreationFeedbackCreateInfo32
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo32
*)in_header
;
8843 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
8844 out_ext
->pNext
= NULL
;
8845 out_ext
->pPipelineCreationFeedback
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, in_ext
->pPipelineCreationFeedback
, 1);
8846 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
8847 out_ext
->pPipelineStageCreationFeedbacks
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, in_ext
->pPipelineStageCreationFeedbacks
, in_ext
->pipelineStageCreationFeedbackCount
);
8848 out_header
->pNext
= (void *)out_ext
;
8849 out_header
= (void *)out_ext
;
8853 FIXME("Unhandled sType %u.", in_header
->sType
);
8858 #endif /* USE_STRUCT_CONVERSION */
8860 #if defined(USE_STRUCT_CONVERSION)
8861 static inline void convert_VkRayTracingPipelineCreateInfoNV_host_to_win32(const VkRayTracingPipelineCreateInfoNV
*in
, const VkRayTracingPipelineCreateInfoNV32
*out
)
8863 const VkBaseInStructure
*in_header
;
8864 VkBaseOutStructure
*out_header
= (void *)out
;
8869 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8871 switch (in_header
->sType
)
8873 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
8875 VkPipelineCreationFeedbackCreateInfo32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
);
8876 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
8877 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
8878 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineCreationFeedback
, out_ext
->pPipelineCreationFeedback
, 1);
8879 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineStageCreationFeedbacks
, out_ext
->pPipelineStageCreationFeedbacks
, in_ext
->pipelineStageCreationFeedbackCount
);
8880 out_header
= (void *)out_ext
;
8888 #endif /* USE_STRUCT_CONVERSION */
8890 #if !defined(USE_STRUCT_CONVERSION)
8891 static inline const VkRayTracingPipelineCreateInfoNV
*convert_VkRayTracingPipelineCreateInfoNV_array_win64_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoNV
*in
, uint32_t count
)
8893 VkRayTracingPipelineCreateInfoNV
*out
;
8896 if (!in
|| !count
) return NULL
;
8898 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8899 for (i
= 0; i
< count
; i
++)
8901 convert_VkRayTracingPipelineCreateInfoNV_win64_to_host(ctx
, &in
[i
], &out
[i
]);
8906 #endif /* USE_STRUCT_CONVERSION */
8908 #if defined(USE_STRUCT_CONVERSION)
8909 static inline const VkRayTracingPipelineCreateInfoNV
*convert_VkRayTracingPipelineCreateInfoNV_array_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoNV32
*in
, uint32_t count
)
8911 VkRayTracingPipelineCreateInfoNV
*out
;
8914 if (!in
|| !count
) return NULL
;
8916 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8917 for (i
= 0; i
< count
; i
++)
8919 convert_VkRayTracingPipelineCreateInfoNV_win32_to_host(ctx
, &in
[i
], &out
[i
]);
8924 #endif /* USE_STRUCT_CONVERSION */
8926 #if defined(USE_STRUCT_CONVERSION)
8927 static inline void convert_VkRayTracingPipelineCreateInfoNV_array_host_to_win32(const VkRayTracingPipelineCreateInfoNV
*in
, const VkRayTracingPipelineCreateInfoNV32
*out
, uint32_t count
)
8933 for (i
= 0; i
< count
; i
++)
8935 convert_VkRayTracingPipelineCreateInfoNV_host_to_win32(&in
[i
], &out
[i
]);
8938 #endif /* USE_STRUCT_CONVERSION */
8940 #if defined(USE_STRUCT_CONVERSION)
8941 static inline void convert_VkSamplerCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkSamplerCreateInfo
*in
, VkSamplerCreateInfo
*out
)
8943 const VkBaseInStructure
*in_header
;
8944 VkBaseOutStructure
*out_header
= (void *)out
;
8948 out
->sType
= in
->sType
;
8950 out
->flags
= in
->flags
;
8951 out
->magFilter
= in
->magFilter
;
8952 out
->minFilter
= in
->minFilter
;
8953 out
->mipmapMode
= in
->mipmapMode
;
8954 out
->addressModeU
= in
->addressModeU
;
8955 out
->addressModeV
= in
->addressModeV
;
8956 out
->addressModeW
= in
->addressModeW
;
8957 out
->mipLodBias
= in
->mipLodBias
;
8958 out
->anisotropyEnable
= in
->anisotropyEnable
;
8959 out
->maxAnisotropy
= in
->maxAnisotropy
;
8960 out
->compareEnable
= in
->compareEnable
;
8961 out
->compareOp
= in
->compareOp
;
8962 out
->minLod
= in
->minLod
;
8963 out
->maxLod
= in
->maxLod
;
8964 out
->borderColor
= in
->borderColor
;
8965 out
->unnormalizedCoordinates
= in
->unnormalizedCoordinates
;
8967 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
8969 switch (in_header
->sType
)
8971 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
:
8973 VkSamplerYcbcrConversionInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8974 const VkSamplerYcbcrConversionInfo32
*in_ext
= (const VkSamplerYcbcrConversionInfo32
*)in_header
;
8975 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
;
8976 out_ext
->pNext
= NULL
;
8977 out_ext
->conversion
= in_ext
->conversion
;
8978 out_header
->pNext
= (void *)out_ext
;
8979 out_header
= (void *)out_ext
;
8982 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO
:
8984 VkSamplerReductionModeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8985 const VkSamplerReductionModeCreateInfo
*in_ext
= (const VkSamplerReductionModeCreateInfo
*)in_header
;
8986 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO
;
8987 out_ext
->pNext
= NULL
;
8988 out_ext
->reductionMode
= in_ext
->reductionMode
;
8989 out_header
->pNext
= (void *)out_ext
;
8990 out_header
= (void *)out_ext
;
8993 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT
:
8995 VkSamplerCustomBorderColorCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8996 const VkSamplerCustomBorderColorCreateInfoEXT
*in_ext
= (const VkSamplerCustomBorderColorCreateInfoEXT
*)in_header
;
8997 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT
;
8998 out_ext
->pNext
= NULL
;
8999 out_ext
->customBorderColor
= in_ext
->customBorderColor
;
9000 out_ext
->format
= in_ext
->format
;
9001 out_header
->pNext
= (void *)out_ext
;
9002 out_header
= (void *)out_ext
;
9005 case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT
:
9007 VkSamplerBorderColorComponentMappingCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9008 const VkSamplerBorderColorComponentMappingCreateInfoEXT
*in_ext
= (const VkSamplerBorderColorComponentMappingCreateInfoEXT
*)in_header
;
9009 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT
;
9010 out_ext
->pNext
= NULL
;
9011 out_ext
->components
= in_ext
->components
;
9012 out_ext
->srgb
= in_ext
->srgb
;
9013 out_header
->pNext
= (void *)out_ext
;
9014 out_header
= (void *)out_ext
;
9018 FIXME("Unhandled sType %u.", in_header
->sType
);
9023 #endif /* USE_STRUCT_CONVERSION */
9025 #if defined(USE_STRUCT_CONVERSION)
9026 static inline void convert_VkSemaphoreCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkSemaphoreCreateInfo
*in
, VkSemaphoreCreateInfo
*out
)
9028 const VkBaseInStructure
*in_header
;
9029 VkBaseOutStructure
*out_header
= (void *)out
;
9033 out
->sType
= in
->sType
;
9035 out
->flags
= in
->flags
;
9037 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
9039 switch (in_header
->sType
)
9041 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO
:
9043 VkExportSemaphoreCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9044 const VkExportSemaphoreCreateInfo
*in_ext
= (const VkExportSemaphoreCreateInfo
*)in_header
;
9045 out_ext
->sType
= VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO
;
9046 out_ext
->pNext
= NULL
;
9047 out_ext
->handleTypes
= in_ext
->handleTypes
;
9048 out_header
->pNext
= (void *)out_ext
;
9049 out_header
= (void *)out_ext
;
9052 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO
:
9054 VkSemaphoreTypeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9055 const VkSemaphoreTypeCreateInfo32
*in_ext
= (const VkSemaphoreTypeCreateInfo32
*)in_header
;
9056 out_ext
->sType
= VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO
;
9057 out_ext
->pNext
= NULL
;
9058 out_ext
->semaphoreType
= in_ext
->semaphoreType
;
9059 out_ext
->initialValue
= in_ext
->initialValue
;
9060 out_header
->pNext
= (void *)out_ext
;
9061 out_header
= (void *)out_ext
;
9065 FIXME("Unhandled sType %u.", in_header
->sType
);
9070 #endif /* USE_STRUCT_CONVERSION */
9072 #if defined(USE_STRUCT_CONVERSION)
9073 static inline void convert_VkShaderModuleCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkShaderModuleCreateInfo
*in
, VkShaderModuleCreateInfo
*out
)
9075 const VkBaseInStructure
*in_header
;
9076 VkBaseOutStructure
*out_header
= (void *)out
;
9080 out
->sType
= in
->sType
;
9082 out
->flags
= in
->flags
;
9083 out
->codeSize
= in
->codeSize
;
9084 out
->pCode
= in
->pCode
;
9086 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
9088 switch (in_header
->sType
)
9090 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
:
9092 VkShaderModuleValidationCacheCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9093 const VkShaderModuleValidationCacheCreateInfoEXT32
*in_ext
= (const VkShaderModuleValidationCacheCreateInfoEXT32
*)in_header
;
9094 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
;
9095 out_ext
->pNext
= NULL
;
9096 out_ext
->validationCache
= in_ext
->validationCache
;
9097 out_header
->pNext
= (void *)out_ext
;
9098 out_header
= (void *)out_ext
;
9102 FIXME("Unhandled sType %u.", in_header
->sType
);
9107 #endif /* USE_STRUCT_CONVERSION */
9109 #if !defined(USE_STRUCT_CONVERSION)
9110 static inline void convert_VkSwapchainCreateInfoKHR_win64_to_host(const VkSwapchainCreateInfoKHR
*in
, VkSwapchainCreateInfoKHR
*out
)
9114 out
->sType
= in
->sType
;
9115 out
->pNext
= in
->pNext
;
9116 out
->flags
= in
->flags
;
9117 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
9118 out
->minImageCount
= in
->minImageCount
;
9119 out
->imageFormat
= in
->imageFormat
;
9120 out
->imageColorSpace
= in
->imageColorSpace
;
9121 out
->imageExtent
= in
->imageExtent
;
9122 out
->imageArrayLayers
= in
->imageArrayLayers
;
9123 out
->imageUsage
= in
->imageUsage
;
9124 out
->imageSharingMode
= in
->imageSharingMode
;
9125 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
9126 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
9127 out
->preTransform
= in
->preTransform
;
9128 out
->compositeAlpha
= in
->compositeAlpha
;
9129 out
->presentMode
= in
->presentMode
;
9130 out
->clipped
= in
->clipped
;
9131 out
->oldSwapchain
= in
->oldSwapchain
;
9133 #endif /* USE_STRUCT_CONVERSION */
9135 #if defined(USE_STRUCT_CONVERSION)
9136 static inline void convert_VkSwapchainCreateInfoKHR_win32_to_host(const VkSwapchainCreateInfoKHR32
*in
, VkSwapchainCreateInfoKHR
*out
)
9140 out
->sType
= in
->sType
;
9141 out
->pNext
= in
->pNext
;
9142 out
->flags
= in
->flags
;
9143 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
9144 out
->minImageCount
= in
->minImageCount
;
9145 out
->imageFormat
= in
->imageFormat
;
9146 out
->imageColorSpace
= in
->imageColorSpace
;
9147 out
->imageExtent
= in
->imageExtent
;
9148 out
->imageArrayLayers
= in
->imageArrayLayers
;
9149 out
->imageUsage
= in
->imageUsage
;
9150 out
->imageSharingMode
= in
->imageSharingMode
;
9151 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
9152 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
9153 out
->preTransform
= in
->preTransform
;
9154 out
->compositeAlpha
= in
->compositeAlpha
;
9155 out
->presentMode
= in
->presentMode
;
9156 out
->clipped
= in
->clipped
;
9157 out
->oldSwapchain
= in
->oldSwapchain
;
9159 #endif /* USE_STRUCT_CONVERSION */
9161 #if !defined(USE_STRUCT_CONVERSION)
9162 static inline void convert_VkDebugMarkerObjectNameInfoEXT_win64_to_host(const VkDebugMarkerObjectNameInfoEXT
*in
, VkDebugMarkerObjectNameInfoEXT
*out
)
9166 out
->sType
= in
->sType
;
9167 out
->pNext
= in
->pNext
;
9168 out
->objectType
= in
->objectType
;
9169 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
9170 out
->pObjectName
= in
->pObjectName
;
9172 #endif /* USE_STRUCT_CONVERSION */
9174 #if defined(USE_STRUCT_CONVERSION)
9175 static inline void convert_VkDebugMarkerObjectNameInfoEXT_win32_to_host(const VkDebugMarkerObjectNameInfoEXT32
*in
, VkDebugMarkerObjectNameInfoEXT
*out
)
9179 out
->sType
= in
->sType
;
9180 out
->pNext
= in
->pNext
;
9181 out
->objectType
= in
->objectType
;
9182 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
9183 out
->pObjectName
= in
->pObjectName
;
9185 #endif /* USE_STRUCT_CONVERSION */
9187 #if !defined(USE_STRUCT_CONVERSION)
9188 static inline void convert_VkDebugMarkerObjectTagInfoEXT_win64_to_host(const VkDebugMarkerObjectTagInfoEXT
*in
, VkDebugMarkerObjectTagInfoEXT
*out
)
9192 out
->sType
= in
->sType
;
9193 out
->pNext
= in
->pNext
;
9194 out
->objectType
= in
->objectType
;
9195 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
9196 out
->tagName
= in
->tagName
;
9197 out
->tagSize
= in
->tagSize
;
9198 out
->pTag
= in
->pTag
;
9200 #endif /* USE_STRUCT_CONVERSION */
9202 #if defined(USE_STRUCT_CONVERSION)
9203 static inline void convert_VkDebugMarkerObjectTagInfoEXT_win32_to_host(const VkDebugMarkerObjectTagInfoEXT32
*in
, VkDebugMarkerObjectTagInfoEXT
*out
)
9207 out
->sType
= in
->sType
;
9208 out
->pNext
= in
->pNext
;
9209 out
->objectType
= in
->objectType
;
9210 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
9211 out
->tagName
= in
->tagName
;
9212 out
->tagSize
= in
->tagSize
;
9213 out
->pTag
= in
->pTag
;
9215 #endif /* USE_STRUCT_CONVERSION */
9217 #if defined(USE_STRUCT_CONVERSION)
9218 static inline void convert_VkMappedMemoryRange_win32_to_host(const VkMappedMemoryRange32
*in
, VkMappedMemoryRange
*out
)
9222 out
->sType
= in
->sType
;
9223 out
->pNext
= in
->pNext
;
9224 out
->memory
= in
->memory
;
9225 out
->offset
= in
->offset
;
9226 out
->size
= in
->size
;
9228 #endif /* USE_STRUCT_CONVERSION */
9230 #if defined(USE_STRUCT_CONVERSION)
9231 static inline const VkMappedMemoryRange
*convert_VkMappedMemoryRange_array_win32_to_host(struct conversion_context
*ctx
, const VkMappedMemoryRange32
*in
, uint32_t count
)
9233 VkMappedMemoryRange
*out
;
9236 if (!in
|| !count
) return NULL
;
9238 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9239 for (i
= 0; i
< count
; i
++)
9241 convert_VkMappedMemoryRange_win32_to_host(&in
[i
], &out
[i
]);
9246 #endif /* USE_STRUCT_CONVERSION */
9248 #if defined(USE_STRUCT_CONVERSION)
9249 static inline void convert_VkAccelerationStructureBuildSizesInfoKHR_win32_to_host(const VkAccelerationStructureBuildSizesInfoKHR32
*in
, VkAccelerationStructureBuildSizesInfoKHR
*out
)
9253 out
->sType
= in
->sType
;
9254 out
->pNext
= in
->pNext
;
9255 out
->accelerationStructureSize
= in
->accelerationStructureSize
;
9256 out
->updateScratchSize
= in
->updateScratchSize
;
9257 out
->buildScratchSize
= in
->buildScratchSize
;
9259 #endif /* USE_STRUCT_CONVERSION */
9261 #if defined(USE_STRUCT_CONVERSION)
9262 static inline void convert_VkAccelerationStructureBuildSizesInfoKHR_host_to_win32(const VkAccelerationStructureBuildSizesInfoKHR
*in
, VkAccelerationStructureBuildSizesInfoKHR32
*out
)
9266 out
->accelerationStructureSize
= in
->accelerationStructureSize
;
9267 out
->updateScratchSize
= in
->updateScratchSize
;
9268 out
->buildScratchSize
= in
->buildScratchSize
;
9270 #endif /* USE_STRUCT_CONVERSION */
9272 #if defined(USE_STRUCT_CONVERSION)
9273 static inline void convert_VkAccelerationStructureDeviceAddressInfoKHR_win32_to_host(const VkAccelerationStructureDeviceAddressInfoKHR32
*in
, VkAccelerationStructureDeviceAddressInfoKHR
*out
)
9277 out
->sType
= in
->sType
;
9278 out
->pNext
= in
->pNext
;
9279 out
->accelerationStructure
= in
->accelerationStructure
;
9281 #endif /* USE_STRUCT_CONVERSION */
9283 #if defined(USE_STRUCT_CONVERSION)
9284 static inline void convert_VkAccelerationStructureMemoryRequirementsInfoNV_win32_to_host(const VkAccelerationStructureMemoryRequirementsInfoNV32
*in
, VkAccelerationStructureMemoryRequirementsInfoNV
*out
)
9288 out
->sType
= in
->sType
;
9289 out
->pNext
= in
->pNext
;
9290 out
->type
= in
->type
;
9291 out
->accelerationStructure
= in
->accelerationStructure
;
9293 #endif /* USE_STRUCT_CONVERSION */
9295 #if defined(USE_STRUCT_CONVERSION)
9296 static inline void convert_VkMemoryRequirements_host_to_win32(const VkMemoryRequirements
*in
, VkMemoryRequirements32
*out
)
9300 out
->size
= in
->size
;
9301 out
->alignment
= in
->alignment
;
9302 out
->memoryTypeBits
= in
->memoryTypeBits
;
9304 #endif /* USE_STRUCT_CONVERSION */
9306 #if defined(USE_STRUCT_CONVERSION)
9307 static inline void convert_VkMemoryRequirements2KHR_win32_to_host(const VkMemoryRequirements2KHR32
*in
, VkMemoryRequirements2KHR
*out
)
9311 out
->sType
= in
->sType
;
9312 out
->pNext
= in
->pNext
;
9314 #endif /* USE_STRUCT_CONVERSION */
9316 #if defined(USE_STRUCT_CONVERSION)
9317 static inline void convert_VkMemoryRequirements2KHR_host_to_win32(const VkMemoryRequirements2KHR
*in
, VkMemoryRequirements2KHR32
*out
)
9321 convert_VkMemoryRequirements_host_to_win32(&in
->memoryRequirements
, &out
->memoryRequirements
);
9323 #endif /* USE_STRUCT_CONVERSION */
9325 #if defined(USE_STRUCT_CONVERSION)
9326 static inline void convert_VkBufferDeviceAddressInfo_win32_to_host(const VkBufferDeviceAddressInfo32
*in
, VkBufferDeviceAddressInfo
*out
)
9330 out
->sType
= in
->sType
;
9331 out
->pNext
= in
->pNext
;
9332 out
->buffer
= in
->buffer
;
9334 #endif /* USE_STRUCT_CONVERSION */
9336 #if defined(USE_STRUCT_CONVERSION)
9337 static inline void convert_VkBufferMemoryRequirementsInfo2_win32_to_host(const VkBufferMemoryRequirementsInfo232
*in
, VkBufferMemoryRequirementsInfo2
*out
)
9341 out
->sType
= in
->sType
;
9342 out
->pNext
= in
->pNext
;
9343 out
->buffer
= in
->buffer
;
9345 #endif /* USE_STRUCT_CONVERSION */
9347 #if defined(USE_STRUCT_CONVERSION)
9348 static inline void convert_VkMemoryRequirements2_win32_to_host(const VkMemoryRequirements232
*in
, VkMemoryRequirements2
*out
)
9352 out
->sType
= in
->sType
;
9353 out
->pNext
= in
->pNext
;
9355 #endif /* USE_STRUCT_CONVERSION */
9357 #if defined(USE_STRUCT_CONVERSION)
9358 static inline void convert_VkMemoryRequirements2_host_to_win32(const VkMemoryRequirements2
*in
, VkMemoryRequirements232
*out
)
9362 convert_VkMemoryRequirements_host_to_win32(&in
->memoryRequirements
, &out
->memoryRequirements
);
9364 #endif /* USE_STRUCT_CONVERSION */
9366 #if defined(USE_STRUCT_CONVERSION)
9367 static inline void convert_VkDescriptorSetBindingReferenceVALVE_win32_to_host(const VkDescriptorSetBindingReferenceVALVE32
*in
, VkDescriptorSetBindingReferenceVALVE
*out
)
9371 out
->sType
= in
->sType
;
9372 out
->pNext
= in
->pNext
;
9373 out
->descriptorSetLayout
= in
->descriptorSetLayout
;
9374 out
->binding
= in
->binding
;
9376 #endif /* USE_STRUCT_CONVERSION */
9378 #if defined(USE_STRUCT_CONVERSION)
9379 static inline const VkBufferCreateInfo
*convert_VkBufferCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferCreateInfo32
*in
, uint32_t count
)
9381 VkBufferCreateInfo
*out
;
9384 if (!in
|| !count
) return NULL
;
9386 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9387 for (i
= 0; i
< count
; i
++)
9389 convert_VkBufferCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
9394 #endif /* USE_STRUCT_CONVERSION */
9396 #if defined(USE_STRUCT_CONVERSION)
9397 static inline void convert_VkDeviceBufferMemoryRequirements_win32_to_host(struct conversion_context
*ctx
, const VkDeviceBufferMemoryRequirements32
*in
, VkDeviceBufferMemoryRequirements
*out
)
9401 out
->sType
= in
->sType
;
9402 out
->pNext
= in
->pNext
;
9403 out
->pCreateInfo
= convert_VkBufferCreateInfo_array_win32_to_host(ctx
, in
->pCreateInfo
, 1);
9405 #endif /* USE_STRUCT_CONVERSION */
9407 #if defined(USE_STRUCT_CONVERSION)
9408 static inline void convert_VkDeviceFaultCountsEXT_win32_to_host(const VkDeviceFaultCountsEXT32
*in
, VkDeviceFaultCountsEXT
*out
)
9412 out
->sType
= in
->sType
;
9413 out
->pNext
= in
->pNext
;
9414 out
->addressInfoCount
= in
->addressInfoCount
;
9415 out
->vendorInfoCount
= in
->vendorInfoCount
;
9416 out
->vendorBinarySize
= in
->vendorBinarySize
;
9418 #endif /* USE_STRUCT_CONVERSION */
9420 #if defined(USE_STRUCT_CONVERSION)
9421 static inline void convert_VkDeviceFaultCountsEXT_host_to_win32(const VkDeviceFaultCountsEXT
*in
, VkDeviceFaultCountsEXT32
*out
)
9425 out
->addressInfoCount
= in
->addressInfoCount
;
9426 out
->vendorInfoCount
= in
->vendorInfoCount
;
9427 out
->vendorBinarySize
= in
->vendorBinarySize
;
9429 #endif /* USE_STRUCT_CONVERSION */
9431 #if defined(USE_STRUCT_CONVERSION)
9432 static inline void convert_VkDeviceFaultAddressInfoEXT_win32_to_host(const VkDeviceFaultAddressInfoEXT32
*in
, VkDeviceFaultAddressInfoEXT
*out
)
9436 out
->addressType
= in
->addressType
;
9437 out
->reportedAddress
= in
->reportedAddress
;
9438 out
->addressPrecision
= in
->addressPrecision
;
9440 #endif /* USE_STRUCT_CONVERSION */
9442 #if defined(USE_STRUCT_CONVERSION)
9443 static inline void convert_VkDeviceFaultAddressInfoEXT_host_to_win32(const VkDeviceFaultAddressInfoEXT
*in
, VkDeviceFaultAddressInfoEXT32
*out
)
9447 out
->addressType
= in
->addressType
;
9448 out
->reportedAddress
= in
->reportedAddress
;
9449 out
->addressPrecision
= in
->addressPrecision
;
9451 #endif /* USE_STRUCT_CONVERSION */
9453 #if defined(USE_STRUCT_CONVERSION)
9454 static inline VkDeviceFaultAddressInfoEXT
*convert_VkDeviceFaultAddressInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkDeviceFaultAddressInfoEXT32
*in
, uint32_t count
)
9456 VkDeviceFaultAddressInfoEXT
*out
;
9459 if (!in
|| !count
) return NULL
;
9461 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9462 for (i
= 0; i
< count
; i
++)
9464 convert_VkDeviceFaultAddressInfoEXT_win32_to_host(&in
[i
], &out
[i
]);
9469 #endif /* USE_STRUCT_CONVERSION */
9471 #if defined(USE_STRUCT_CONVERSION)
9472 static inline void convert_VkDeviceFaultAddressInfoEXT_array_host_to_win32(const VkDeviceFaultAddressInfoEXT
*in
, VkDeviceFaultAddressInfoEXT32
*out
, uint32_t count
)
9478 for (i
= 0; i
< count
; i
++)
9480 convert_VkDeviceFaultAddressInfoEXT_host_to_win32(&in
[i
], &out
[i
]);
9483 #endif /* USE_STRUCT_CONVERSION */
9485 #if defined(USE_STRUCT_CONVERSION)
9486 static inline void convert_VkDeviceFaultVendorInfoEXT_win32_to_host(const VkDeviceFaultVendorInfoEXT32
*in
, VkDeviceFaultVendorInfoEXT
*out
)
9490 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
9491 out
->vendorFaultCode
= in
->vendorFaultCode
;
9492 out
->vendorFaultData
= in
->vendorFaultData
;
9494 #endif /* USE_STRUCT_CONVERSION */
9496 #if defined(USE_STRUCT_CONVERSION)
9497 static inline void convert_VkDeviceFaultVendorInfoEXT_host_to_win32(const VkDeviceFaultVendorInfoEXT
*in
, VkDeviceFaultVendorInfoEXT32
*out
)
9501 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
9502 out
->vendorFaultCode
= in
->vendorFaultCode
;
9503 out
->vendorFaultData
= in
->vendorFaultData
;
9505 #endif /* USE_STRUCT_CONVERSION */
9507 #if defined(USE_STRUCT_CONVERSION)
9508 static inline VkDeviceFaultVendorInfoEXT
*convert_VkDeviceFaultVendorInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkDeviceFaultVendorInfoEXT32
*in
, uint32_t count
)
9510 VkDeviceFaultVendorInfoEXT
*out
;
9513 if (!in
|| !count
) return NULL
;
9515 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9516 for (i
= 0; i
< count
; i
++)
9518 convert_VkDeviceFaultVendorInfoEXT_win32_to_host(&in
[i
], &out
[i
]);
9523 #endif /* USE_STRUCT_CONVERSION */
9525 #if defined(USE_STRUCT_CONVERSION)
9526 static inline void convert_VkDeviceFaultVendorInfoEXT_array_host_to_win32(const VkDeviceFaultVendorInfoEXT
*in
, VkDeviceFaultVendorInfoEXT32
*out
, uint32_t count
)
9532 for (i
= 0; i
< count
; i
++)
9534 convert_VkDeviceFaultVendorInfoEXT_host_to_win32(&in
[i
], &out
[i
]);
9537 #endif /* USE_STRUCT_CONVERSION */
9539 #if defined(USE_STRUCT_CONVERSION)
9540 static inline void convert_VkDeviceFaultInfoEXT_win32_to_host(struct conversion_context
*ctx
, const VkDeviceFaultInfoEXT32
*in
, VkDeviceFaultInfoEXT
*out
)
9544 out
->sType
= in
->sType
;
9545 out
->pNext
= in
->pNext
;
9546 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
9547 out
->pAddressInfos
= convert_VkDeviceFaultAddressInfoEXT_array_win32_to_host(ctx
, in
->pAddressInfos
, 1);
9548 out
->pVendorInfos
= convert_VkDeviceFaultVendorInfoEXT_array_win32_to_host(ctx
, in
->pVendorInfos
, 1);
9549 out
->pVendorBinaryData
= in
->pVendorBinaryData
;
9551 #endif /* USE_STRUCT_CONVERSION */
9553 #if defined(USE_STRUCT_CONVERSION)
9554 static inline void convert_VkDeviceFaultInfoEXT_host_to_win32(const VkDeviceFaultInfoEXT
*in
, VkDeviceFaultInfoEXT32
*out
)
9558 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
9559 convert_VkDeviceFaultAddressInfoEXT_array_host_to_win32(in
->pAddressInfos
, out
->pAddressInfos
, 1);
9560 convert_VkDeviceFaultVendorInfoEXT_array_host_to_win32(in
->pVendorInfos
, out
->pVendorInfos
, 1);
9561 out
->pVendorBinaryData
= in
->pVendorBinaryData
;
9563 #endif /* USE_STRUCT_CONVERSION */
9565 #if defined(USE_STRUCT_CONVERSION)
9566 static inline const VkImageCreateInfo
*convert_VkImageCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkImageCreateInfo
*in
, uint32_t count
)
9568 VkImageCreateInfo
*out
;
9571 if (!in
|| !count
) return NULL
;
9573 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9574 for (i
= 0; i
< count
; i
++)
9576 convert_VkImageCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
9581 #endif /* USE_STRUCT_CONVERSION */
9583 #if defined(USE_STRUCT_CONVERSION)
9584 static inline void convert_VkDeviceImageMemoryRequirements_win32_to_host(struct conversion_context
*ctx
, const VkDeviceImageMemoryRequirements
*in
, VkDeviceImageMemoryRequirements
*out
)
9588 out
->sType
= in
->sType
;
9589 out
->pNext
= in
->pNext
;
9590 out
->pCreateInfo
= convert_VkImageCreateInfo_array_win32_to_host(ctx
, in
->pCreateInfo
, 1);
9591 out
->planeAspect
= in
->planeAspect
;
9593 #endif /* USE_STRUCT_CONVERSION */
9595 #if defined(USE_STRUCT_CONVERSION)
9596 static inline void convert_VkSparseImageMemoryRequirements_host_to_win32(const VkSparseImageMemoryRequirements
*in
, VkSparseImageMemoryRequirements32
*out
)
9600 out
->formatProperties
= in
->formatProperties
;
9601 out
->imageMipTailFirstLod
= in
->imageMipTailFirstLod
;
9602 out
->imageMipTailSize
= in
->imageMipTailSize
;
9603 out
->imageMipTailOffset
= in
->imageMipTailOffset
;
9604 out
->imageMipTailStride
= in
->imageMipTailStride
;
9606 #endif /* USE_STRUCT_CONVERSION */
9608 #if defined(USE_STRUCT_CONVERSION)
9609 static inline void convert_VkSparseImageMemoryRequirements2_win32_to_host(const VkSparseImageMemoryRequirements232
*in
, VkSparseImageMemoryRequirements2
*out
)
9613 out
->sType
= in
->sType
;
9614 out
->pNext
= in
->pNext
;
9616 #endif /* USE_STRUCT_CONVERSION */
9618 #if defined(USE_STRUCT_CONVERSION)
9619 static inline void convert_VkSparseImageMemoryRequirements2_host_to_win32(const VkSparseImageMemoryRequirements2
*in
, VkSparseImageMemoryRequirements232
*out
)
9623 convert_VkSparseImageMemoryRequirements_host_to_win32(&in
->memoryRequirements
, &out
->memoryRequirements
);
9625 #endif /* USE_STRUCT_CONVERSION */
9627 #if defined(USE_STRUCT_CONVERSION)
9628 static inline VkSparseImageMemoryRequirements2
*convert_VkSparseImageMemoryRequirements2_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageMemoryRequirements232
*in
, uint32_t count
)
9630 VkSparseImageMemoryRequirements2
*out
;
9633 if (!in
|| !count
) return NULL
;
9635 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9636 for (i
= 0; i
< count
; i
++)
9638 convert_VkSparseImageMemoryRequirements2_win32_to_host(&in
[i
], &out
[i
]);
9643 #endif /* USE_STRUCT_CONVERSION */
9645 #if defined(USE_STRUCT_CONVERSION)
9646 static inline void convert_VkSparseImageMemoryRequirements2_array_host_to_win32(const VkSparseImageMemoryRequirements2
*in
, VkSparseImageMemoryRequirements232
*out
, uint32_t count
)
9652 for (i
= 0; i
< count
; i
++)
9654 convert_VkSparseImageMemoryRequirements2_host_to_win32(&in
[i
], &out
[i
]);
9657 #endif /* USE_STRUCT_CONVERSION */
9659 #if defined(USE_STRUCT_CONVERSION)
9660 static inline void convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win32_to_host(const VkDeviceMemoryOpaqueCaptureAddressInfo32
*in
, VkDeviceMemoryOpaqueCaptureAddressInfo
*out
)
9664 out
->sType
= in
->sType
;
9665 out
->pNext
= in
->pNext
;
9666 out
->memory
= in
->memory
;
9668 #endif /* USE_STRUCT_CONVERSION */
9670 #if defined(USE_STRUCT_CONVERSION)
9671 static inline void convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win32_to_host(const VkGeneratedCommandsMemoryRequirementsInfoNV32
*in
, VkGeneratedCommandsMemoryRequirementsInfoNV
*out
)
9675 out
->sType
= in
->sType
;
9676 out
->pNext
= in
->pNext
;
9677 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
9678 out
->pipeline
= in
->pipeline
;
9679 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
9680 out
->maxSequencesCount
= in
->maxSequencesCount
;
9682 #endif /* USE_STRUCT_CONVERSION */
9684 #if defined(USE_STRUCT_CONVERSION)
9685 static inline void convert_VkImageMemoryRequirementsInfo2_win32_to_host(const VkImageMemoryRequirementsInfo232
*in
, VkImageMemoryRequirementsInfo2
*out
)
9689 out
->sType
= in
->sType
;
9690 out
->pNext
= in
->pNext
;
9691 out
->image
= in
->image
;
9693 #endif /* USE_STRUCT_CONVERSION */
9695 #if defined(USE_STRUCT_CONVERSION)
9696 static inline void convert_VkSparseImageMemoryRequirements_array_host_to_win32(const VkSparseImageMemoryRequirements
*in
, VkSparseImageMemoryRequirements32
*out
, uint32_t count
)
9702 for (i
= 0; i
< count
; i
++)
9704 convert_VkSparseImageMemoryRequirements_host_to_win32(&in
[i
], &out
[i
]);
9707 #endif /* USE_STRUCT_CONVERSION */
9709 #if defined(USE_STRUCT_CONVERSION)
9710 static inline void convert_VkImageSparseMemoryRequirementsInfo2_win32_to_host(const VkImageSparseMemoryRequirementsInfo232
*in
, VkImageSparseMemoryRequirementsInfo2
*out
)
9714 out
->sType
= in
->sType
;
9715 out
->pNext
= in
->pNext
;
9716 out
->image
= in
->image
;
9718 #endif /* USE_STRUCT_CONVERSION */
9720 #if defined(USE_STRUCT_CONVERSION)
9721 static inline void convert_VkSubresourceLayout_host_to_win32(const VkSubresourceLayout
*in
, VkSubresourceLayout32
*out
)
9725 out
->offset
= in
->offset
;
9726 out
->size
= in
->size
;
9727 out
->rowPitch
= in
->rowPitch
;
9728 out
->arrayPitch
= in
->arrayPitch
;
9729 out
->depthPitch
= in
->depthPitch
;
9731 #endif /* USE_STRUCT_CONVERSION */
9733 #if defined(USE_STRUCT_CONVERSION)
9734 static inline void convert_VkSubresourceLayout2EXT_win32_to_host(const VkSubresourceLayout2EXT32
*in
, VkSubresourceLayout2EXT
*out
)
9738 out
->sType
= in
->sType
;
9739 out
->pNext
= in
->pNext
;
9741 #endif /* USE_STRUCT_CONVERSION */
9743 #if defined(USE_STRUCT_CONVERSION)
9744 static inline void convert_VkSubresourceLayout2EXT_host_to_win32(const VkSubresourceLayout2EXT
*in
, VkSubresourceLayout2EXT32
*out
)
9748 convert_VkSubresourceLayout_host_to_win32(&in
->subresourceLayout
, &out
->subresourceLayout
);
9750 #endif /* USE_STRUCT_CONVERSION */
9752 #if defined(USE_STRUCT_CONVERSION)
9753 static inline void convert_VkImageViewAddressPropertiesNVX_win32_to_host(const VkImageViewAddressPropertiesNVX32
*in
, VkImageViewAddressPropertiesNVX
*out
)
9757 out
->sType
= in
->sType
;
9758 out
->pNext
= in
->pNext
;
9760 #endif /* USE_STRUCT_CONVERSION */
9762 #if defined(USE_STRUCT_CONVERSION)
9763 static inline void convert_VkImageViewAddressPropertiesNVX_host_to_win32(const VkImageViewAddressPropertiesNVX
*in
, VkImageViewAddressPropertiesNVX32
*out
)
9767 out
->deviceAddress
= in
->deviceAddress
;
9768 out
->size
= in
->size
;
9770 #endif /* USE_STRUCT_CONVERSION */
9772 #if defined(USE_STRUCT_CONVERSION)
9773 static inline void convert_VkImageViewHandleInfoNVX_win32_to_host(const VkImageViewHandleInfoNVX32
*in
, VkImageViewHandleInfoNVX
*out
)
9777 out
->sType
= in
->sType
;
9778 out
->pNext
= in
->pNext
;
9779 out
->imageView
= in
->imageView
;
9780 out
->descriptorType
= in
->descriptorType
;
9781 out
->sampler
= in
->sampler
;
9783 #endif /* USE_STRUCT_CONVERSION */
9785 #if defined(USE_STRUCT_CONVERSION)
9786 static inline void convert_VkMicromapBuildSizesInfoEXT_win32_to_host(const VkMicromapBuildSizesInfoEXT32
*in
, VkMicromapBuildSizesInfoEXT
*out
)
9790 out
->sType
= in
->sType
;
9791 out
->pNext
= in
->pNext
;
9792 out
->micromapSize
= in
->micromapSize
;
9793 out
->buildScratchSize
= in
->buildScratchSize
;
9794 out
->discardable
= in
->discardable
;
9796 #endif /* USE_STRUCT_CONVERSION */
9798 #if defined(USE_STRUCT_CONVERSION)
9799 static inline void convert_VkMicromapBuildSizesInfoEXT_host_to_win32(const VkMicromapBuildSizesInfoEXT
*in
, VkMicromapBuildSizesInfoEXT32
*out
)
9803 out
->micromapSize
= in
->micromapSize
;
9804 out
->buildScratchSize
= in
->buildScratchSize
;
9805 out
->discardable
= in
->discardable
;
9807 #endif /* USE_STRUCT_CONVERSION */
9809 #if defined(USE_STRUCT_CONVERSION)
9810 static inline void convert_VkPerformanceValueINTEL_win32_to_host(const VkPerformanceValueINTEL32
*in
, VkPerformanceValueINTEL
*out
)
9814 out
->type
= in
->type
;
9815 out
->data
= in
->data
;
9817 #endif /* USE_STRUCT_CONVERSION */
9819 #if defined(USE_STRUCT_CONVERSION)
9820 static inline void convert_VkPerformanceValueINTEL_host_to_win32(const VkPerformanceValueINTEL
*in
, VkPerformanceValueINTEL32
*out
)
9824 out
->type
= in
->type
;
9825 out
->data
= in
->data
;
9827 #endif /* USE_STRUCT_CONVERSION */
9829 #if defined(USE_STRUCT_CONVERSION)
9830 static inline void convert_VkPhysicalDeviceExternalSemaphoreInfo_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceExternalSemaphoreInfo
*in
, VkPhysicalDeviceExternalSemaphoreInfo
*out
)
9832 const VkBaseInStructure
*in_header
;
9833 VkBaseOutStructure
*out_header
= (void *)out
;
9837 out
->sType
= in
->sType
;
9839 out
->handleType
= in
->handleType
;
9841 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
9843 switch (in_header
->sType
)
9845 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO
:
9847 VkSemaphoreTypeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9848 const VkSemaphoreTypeCreateInfo32
*in_ext
= (const VkSemaphoreTypeCreateInfo32
*)in_header
;
9849 out_ext
->sType
= VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO
;
9850 out_ext
->pNext
= NULL
;
9851 out_ext
->semaphoreType
= in_ext
->semaphoreType
;
9852 out_ext
->initialValue
= in_ext
->initialValue
;
9853 out_header
->pNext
= (void *)out_ext
;
9854 out_header
= (void *)out_ext
;
9858 FIXME("Unhandled sType %u.", in_header
->sType
);
9863 #endif /* USE_STRUCT_CONVERSION */
9865 #if defined(USE_STRUCT_CONVERSION)
9866 static inline void convert_VkImageFormatProperties_host_to_win32(const VkImageFormatProperties
*in
, VkImageFormatProperties32
*out
)
9870 out
->maxExtent
= in
->maxExtent
;
9871 out
->maxMipLevels
= in
->maxMipLevels
;
9872 out
->maxArrayLayers
= in
->maxArrayLayers
;
9873 out
->sampleCounts
= in
->sampleCounts
;
9874 out
->maxResourceSize
= in
->maxResourceSize
;
9876 #endif /* USE_STRUCT_CONVERSION */
9878 #if defined(USE_STRUCT_CONVERSION)
9879 static inline void convert_VkImageFormatProperties2_win32_to_host(const VkImageFormatProperties232
*in
, VkImageFormatProperties2
*out
)
9883 out
->sType
= in
->sType
;
9884 out
->pNext
= in
->pNext
;
9886 #endif /* USE_STRUCT_CONVERSION */
9888 #if defined(USE_STRUCT_CONVERSION)
9889 static inline void convert_VkImageFormatProperties2_host_to_win32(const VkImageFormatProperties2
*in
, VkImageFormatProperties232
*out
)
9893 convert_VkImageFormatProperties_host_to_win32(&in
->imageFormatProperties
, &out
->imageFormatProperties
);
9895 #endif /* USE_STRUCT_CONVERSION */
9897 #if defined(USE_STRUCT_CONVERSION)
9898 static inline void convert_VkMemoryHeap_host_to_win32(const VkMemoryHeap
*in
, VkMemoryHeap32
*out
)
9902 out
->size
= in
->size
;
9903 out
->flags
= in
->flags
;
9905 #endif /* USE_STRUCT_CONVERSION */
9907 #if defined(USE_STRUCT_CONVERSION)
9908 static inline void convert_VkMemoryHeap_array_host_to_win32(const VkMemoryHeap
*in
, VkMemoryHeap32
*out
, uint32_t count
)
9914 for (i
= 0; i
< count
; i
++)
9916 convert_VkMemoryHeap_host_to_win32(&in
[i
], &out
[i
]);
9919 #endif /* USE_STRUCT_CONVERSION */
9921 #if defined(USE_STRUCT_CONVERSION)
9922 static inline void convert_VkPhysicalDeviceMemoryProperties_host_to_win32(const VkPhysicalDeviceMemoryProperties
*in
, VkPhysicalDeviceMemoryProperties32
*out
)
9926 out
->memoryTypeCount
= in
->memoryTypeCount
;
9927 memcpy(out
->memoryTypes
, in
->memoryTypes
, VK_MAX_MEMORY_TYPES
* sizeof(VkMemoryType
));
9928 out
->memoryHeapCount
= in
->memoryHeapCount
;
9929 convert_VkMemoryHeap_array_host_to_win32(in
->memoryHeaps
, out
->memoryHeaps
, VK_MAX_MEMORY_HEAPS
);
9931 #endif /* USE_STRUCT_CONVERSION */
9933 #if defined(USE_STRUCT_CONVERSION)
9934 static inline void convert_VkPhysicalDeviceMemoryProperties2_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceMemoryProperties232
*in
, VkPhysicalDeviceMemoryProperties2
*out
)
9936 const VkBaseInStructure
*in_header
;
9937 VkBaseOutStructure
*out_header
= (void *)out
;
9941 out
->sType
= in
->sType
;
9944 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
9946 switch (in_header
->sType
)
9948 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
:
9950 VkPhysicalDeviceMemoryBudgetPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9951 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
;
9952 out_ext
->pNext
= NULL
;
9953 out_header
->pNext
= (void *)out_ext
;
9954 out_header
= (void *)out_ext
;
9958 FIXME("Unhandled sType %u.", in_header
->sType
);
9963 #endif /* USE_STRUCT_CONVERSION */
9965 #if defined(USE_STRUCT_CONVERSION)
9966 static inline void convert_VkPhysicalDeviceMemoryProperties2_host_to_win32(const VkPhysicalDeviceMemoryProperties2
*in
, VkPhysicalDeviceMemoryProperties232
*out
)
9968 const VkBaseInStructure
*in_header
;
9969 VkBaseOutStructure
*out_header
= (void *)out
;
9973 convert_VkPhysicalDeviceMemoryProperties_host_to_win32(&in
->memoryProperties
, &out
->memoryProperties
);
9975 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
9977 switch (in_header
->sType
)
9979 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
:
9981 VkPhysicalDeviceMemoryBudgetPropertiesEXT32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
);
9982 const VkPhysicalDeviceMemoryBudgetPropertiesEXT
*in_ext
= (const VkPhysicalDeviceMemoryBudgetPropertiesEXT
*)in_header
;
9983 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
;
9984 memcpy(out_ext
->heapBudget
, in_ext
->heapBudget
, VK_MAX_MEMORY_HEAPS
* sizeof(VkDeviceSize
));
9985 memcpy(out_ext
->heapUsage
, in_ext
->heapUsage
, VK_MAX_MEMORY_HEAPS
* sizeof(VkDeviceSize
));
9986 out_header
= (void *)out_ext
;
9994 #endif /* USE_STRUCT_CONVERSION */
9996 #if defined(USE_STRUCT_CONVERSION)
9997 static inline void convert_VkPhysicalDeviceLimits_host_to_win32(const VkPhysicalDeviceLimits
*in
, VkPhysicalDeviceLimits32
*out
)
10001 out
->maxImageDimension1D
= in
->maxImageDimension1D
;
10002 out
->maxImageDimension2D
= in
->maxImageDimension2D
;
10003 out
->maxImageDimension3D
= in
->maxImageDimension3D
;
10004 out
->maxImageDimensionCube
= in
->maxImageDimensionCube
;
10005 out
->maxImageArrayLayers
= in
->maxImageArrayLayers
;
10006 out
->maxTexelBufferElements
= in
->maxTexelBufferElements
;
10007 out
->maxUniformBufferRange
= in
->maxUniformBufferRange
;
10008 out
->maxStorageBufferRange
= in
->maxStorageBufferRange
;
10009 out
->maxPushConstantsSize
= in
->maxPushConstantsSize
;
10010 out
->maxMemoryAllocationCount
= in
->maxMemoryAllocationCount
;
10011 out
->maxSamplerAllocationCount
= in
->maxSamplerAllocationCount
;
10012 out
->bufferImageGranularity
= in
->bufferImageGranularity
;
10013 out
->sparseAddressSpaceSize
= in
->sparseAddressSpaceSize
;
10014 out
->maxBoundDescriptorSets
= in
->maxBoundDescriptorSets
;
10015 out
->maxPerStageDescriptorSamplers
= in
->maxPerStageDescriptorSamplers
;
10016 out
->maxPerStageDescriptorUniformBuffers
= in
->maxPerStageDescriptorUniformBuffers
;
10017 out
->maxPerStageDescriptorStorageBuffers
= in
->maxPerStageDescriptorStorageBuffers
;
10018 out
->maxPerStageDescriptorSampledImages
= in
->maxPerStageDescriptorSampledImages
;
10019 out
->maxPerStageDescriptorStorageImages
= in
->maxPerStageDescriptorStorageImages
;
10020 out
->maxPerStageDescriptorInputAttachments
= in
->maxPerStageDescriptorInputAttachments
;
10021 out
->maxPerStageResources
= in
->maxPerStageResources
;
10022 out
->maxDescriptorSetSamplers
= in
->maxDescriptorSetSamplers
;
10023 out
->maxDescriptorSetUniformBuffers
= in
->maxDescriptorSetUniformBuffers
;
10024 out
->maxDescriptorSetUniformBuffersDynamic
= in
->maxDescriptorSetUniformBuffersDynamic
;
10025 out
->maxDescriptorSetStorageBuffers
= in
->maxDescriptorSetStorageBuffers
;
10026 out
->maxDescriptorSetStorageBuffersDynamic
= in
->maxDescriptorSetStorageBuffersDynamic
;
10027 out
->maxDescriptorSetSampledImages
= in
->maxDescriptorSetSampledImages
;
10028 out
->maxDescriptorSetStorageImages
= in
->maxDescriptorSetStorageImages
;
10029 out
->maxDescriptorSetInputAttachments
= in
->maxDescriptorSetInputAttachments
;
10030 out
->maxVertexInputAttributes
= in
->maxVertexInputAttributes
;
10031 out
->maxVertexInputBindings
= in
->maxVertexInputBindings
;
10032 out
->maxVertexInputAttributeOffset
= in
->maxVertexInputAttributeOffset
;
10033 out
->maxVertexInputBindingStride
= in
->maxVertexInputBindingStride
;
10034 out
->maxVertexOutputComponents
= in
->maxVertexOutputComponents
;
10035 out
->maxTessellationGenerationLevel
= in
->maxTessellationGenerationLevel
;
10036 out
->maxTessellationPatchSize
= in
->maxTessellationPatchSize
;
10037 out
->maxTessellationControlPerVertexInputComponents
= in
->maxTessellationControlPerVertexInputComponents
;
10038 out
->maxTessellationControlPerVertexOutputComponents
= in
->maxTessellationControlPerVertexOutputComponents
;
10039 out
->maxTessellationControlPerPatchOutputComponents
= in
->maxTessellationControlPerPatchOutputComponents
;
10040 out
->maxTessellationControlTotalOutputComponents
= in
->maxTessellationControlTotalOutputComponents
;
10041 out
->maxTessellationEvaluationInputComponents
= in
->maxTessellationEvaluationInputComponents
;
10042 out
->maxTessellationEvaluationOutputComponents
= in
->maxTessellationEvaluationOutputComponents
;
10043 out
->maxGeometryShaderInvocations
= in
->maxGeometryShaderInvocations
;
10044 out
->maxGeometryInputComponents
= in
->maxGeometryInputComponents
;
10045 out
->maxGeometryOutputComponents
= in
->maxGeometryOutputComponents
;
10046 out
->maxGeometryOutputVertices
= in
->maxGeometryOutputVertices
;
10047 out
->maxGeometryTotalOutputComponents
= in
->maxGeometryTotalOutputComponents
;
10048 out
->maxFragmentInputComponents
= in
->maxFragmentInputComponents
;
10049 out
->maxFragmentOutputAttachments
= in
->maxFragmentOutputAttachments
;
10050 out
->maxFragmentDualSrcAttachments
= in
->maxFragmentDualSrcAttachments
;
10051 out
->maxFragmentCombinedOutputResources
= in
->maxFragmentCombinedOutputResources
;
10052 out
->maxComputeSharedMemorySize
= in
->maxComputeSharedMemorySize
;
10053 memcpy(out
->maxComputeWorkGroupCount
, in
->maxComputeWorkGroupCount
, 3 * sizeof(uint32_t));
10054 out
->maxComputeWorkGroupInvocations
= in
->maxComputeWorkGroupInvocations
;
10055 memcpy(out
->maxComputeWorkGroupSize
, in
->maxComputeWorkGroupSize
, 3 * sizeof(uint32_t));
10056 out
->subPixelPrecisionBits
= in
->subPixelPrecisionBits
;
10057 out
->subTexelPrecisionBits
= in
->subTexelPrecisionBits
;
10058 out
->mipmapPrecisionBits
= in
->mipmapPrecisionBits
;
10059 out
->maxDrawIndexedIndexValue
= in
->maxDrawIndexedIndexValue
;
10060 out
->maxDrawIndirectCount
= in
->maxDrawIndirectCount
;
10061 out
->maxSamplerLodBias
= in
->maxSamplerLodBias
;
10062 out
->maxSamplerAnisotropy
= in
->maxSamplerAnisotropy
;
10063 out
->maxViewports
= in
->maxViewports
;
10064 memcpy(out
->maxViewportDimensions
, in
->maxViewportDimensions
, 2 * sizeof(uint32_t));
10065 memcpy(out
->viewportBoundsRange
, in
->viewportBoundsRange
, 2 * sizeof(float));
10066 out
->viewportSubPixelBits
= in
->viewportSubPixelBits
;
10067 out
->minMemoryMapAlignment
= in
->minMemoryMapAlignment
;
10068 out
->minTexelBufferOffsetAlignment
= in
->minTexelBufferOffsetAlignment
;
10069 out
->minUniformBufferOffsetAlignment
= in
->minUniformBufferOffsetAlignment
;
10070 out
->minStorageBufferOffsetAlignment
= in
->minStorageBufferOffsetAlignment
;
10071 out
->minTexelOffset
= in
->minTexelOffset
;
10072 out
->maxTexelOffset
= in
->maxTexelOffset
;
10073 out
->minTexelGatherOffset
= in
->minTexelGatherOffset
;
10074 out
->maxTexelGatherOffset
= in
->maxTexelGatherOffset
;
10075 out
->minInterpolationOffset
= in
->minInterpolationOffset
;
10076 out
->maxInterpolationOffset
= in
->maxInterpolationOffset
;
10077 out
->subPixelInterpolationOffsetBits
= in
->subPixelInterpolationOffsetBits
;
10078 out
->maxFramebufferWidth
= in
->maxFramebufferWidth
;
10079 out
->maxFramebufferHeight
= in
->maxFramebufferHeight
;
10080 out
->maxFramebufferLayers
= in
->maxFramebufferLayers
;
10081 out
->framebufferColorSampleCounts
= in
->framebufferColorSampleCounts
;
10082 out
->framebufferDepthSampleCounts
= in
->framebufferDepthSampleCounts
;
10083 out
->framebufferStencilSampleCounts
= in
->framebufferStencilSampleCounts
;
10084 out
->framebufferNoAttachmentsSampleCounts
= in
->framebufferNoAttachmentsSampleCounts
;
10085 out
->maxColorAttachments
= in
->maxColorAttachments
;
10086 out
->sampledImageColorSampleCounts
= in
->sampledImageColorSampleCounts
;
10087 out
->sampledImageIntegerSampleCounts
= in
->sampledImageIntegerSampleCounts
;
10088 out
->sampledImageDepthSampleCounts
= in
->sampledImageDepthSampleCounts
;
10089 out
->sampledImageStencilSampleCounts
= in
->sampledImageStencilSampleCounts
;
10090 out
->storageImageSampleCounts
= in
->storageImageSampleCounts
;
10091 out
->maxSampleMaskWords
= in
->maxSampleMaskWords
;
10092 out
->timestampComputeAndGraphics
= in
->timestampComputeAndGraphics
;
10093 out
->timestampPeriod
= in
->timestampPeriod
;
10094 out
->maxClipDistances
= in
->maxClipDistances
;
10095 out
->maxCullDistances
= in
->maxCullDistances
;
10096 out
->maxCombinedClipAndCullDistances
= in
->maxCombinedClipAndCullDistances
;
10097 out
->discreteQueuePriorities
= in
->discreteQueuePriorities
;
10098 memcpy(out
->pointSizeRange
, in
->pointSizeRange
, 2 * sizeof(float));
10099 memcpy(out
->lineWidthRange
, in
->lineWidthRange
, 2 * sizeof(float));
10100 out
->pointSizeGranularity
= in
->pointSizeGranularity
;
10101 out
->lineWidthGranularity
= in
->lineWidthGranularity
;
10102 out
->strictLines
= in
->strictLines
;
10103 out
->standardSampleLocations
= in
->standardSampleLocations
;
10104 out
->optimalBufferCopyOffsetAlignment
= in
->optimalBufferCopyOffsetAlignment
;
10105 out
->optimalBufferCopyRowPitchAlignment
= in
->optimalBufferCopyRowPitchAlignment
;
10106 out
->nonCoherentAtomSize
= in
->nonCoherentAtomSize
;
10108 #endif /* USE_STRUCT_CONVERSION */
10110 #if defined(USE_STRUCT_CONVERSION)
10111 static inline void convert_VkPhysicalDeviceProperties_host_to_win32(const VkPhysicalDeviceProperties
*in
, VkPhysicalDeviceProperties32
*out
)
10115 out
->apiVersion
= in
->apiVersion
;
10116 out
->driverVersion
= in
->driverVersion
;
10117 out
->vendorID
= in
->vendorID
;
10118 out
->deviceID
= in
->deviceID
;
10119 out
->deviceType
= in
->deviceType
;
10120 memcpy(out
->deviceName
, in
->deviceName
, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
* sizeof(char));
10121 memcpy(out
->pipelineCacheUUID
, in
->pipelineCacheUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
10122 convert_VkPhysicalDeviceLimits_host_to_win32(&in
->limits
, &out
->limits
);
10123 out
->sparseProperties
= in
->sparseProperties
;
10125 #endif /* USE_STRUCT_CONVERSION */
10127 #if defined(USE_STRUCT_CONVERSION)
10128 static inline void convert_VkPhysicalDeviceProperties2_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceProperties232
*in
, VkPhysicalDeviceProperties2
*out
)
10130 const VkBaseInStructure
*in_header
;
10131 VkBaseOutStructure
*out_header
= (void *)out
;
10135 out
->sType
= in
->sType
;
10138 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
10140 switch (in_header
->sType
)
10142 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
:
10144 VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10145 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
;
10146 out_ext
->pNext
= NULL
;
10147 out_header
->pNext
= (void *)out_ext
;
10148 out_header
= (void *)out_ext
;
10151 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
:
10153 VkPhysicalDeviceMultiDrawPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10154 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
;
10155 out_ext
->pNext
= NULL
;
10156 out_header
->pNext
= (void *)out_ext
;
10157 out_header
= (void *)out_ext
;
10160 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
:
10162 VkPhysicalDevicePushDescriptorPropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10163 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
;
10164 out_ext
->pNext
= NULL
;
10165 out_header
->pNext
= (void *)out_ext
;
10166 out_header
= (void *)out_ext
;
10169 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
:
10171 VkPhysicalDeviceDriverProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10172 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
;
10173 out_ext
->pNext
= NULL
;
10174 out_header
->pNext
= (void *)out_ext
;
10175 out_header
= (void *)out_ext
;
10178 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
:
10180 VkPhysicalDeviceIDProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10181 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
;
10182 out_ext
->pNext
= NULL
;
10183 out_header
->pNext
= (void *)out_ext
;
10184 out_header
= (void *)out_ext
;
10187 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
:
10189 VkPhysicalDeviceMultiviewProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10190 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
;
10191 out_ext
->pNext
= NULL
;
10192 out_header
->pNext
= (void *)out_ext
;
10193 out_header
= (void *)out_ext
;
10196 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
:
10198 VkPhysicalDeviceDiscardRectanglePropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10199 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
;
10200 out_ext
->pNext
= NULL
;
10201 out_header
->pNext
= (void *)out_ext
;
10202 out_header
= (void *)out_ext
;
10205 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
:
10207 VkPhysicalDeviceSubgroupProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10208 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
;
10209 out_ext
->pNext
= NULL
;
10210 out_header
->pNext
= (void *)out_ext
;
10211 out_header
= (void *)out_ext
;
10214 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
:
10216 VkPhysicalDevicePointClippingProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10217 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
;
10218 out_ext
->pNext
= NULL
;
10219 out_header
->pNext
= (void *)out_ext
;
10220 out_header
= (void *)out_ext
;
10223 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
:
10225 VkPhysicalDeviceProtectedMemoryProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10226 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
;
10227 out_ext
->pNext
= NULL
;
10228 out_header
->pNext
= (void *)out_ext
;
10229 out_header
= (void *)out_ext
;
10232 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
:
10234 VkPhysicalDeviceSamplerFilterMinmaxProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10235 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
;
10236 out_ext
->pNext
= NULL
;
10237 out_header
->pNext
= (void *)out_ext
;
10238 out_header
= (void *)out_ext
;
10241 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
:
10243 VkPhysicalDeviceSampleLocationsPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10244 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
;
10245 out_ext
->pNext
= NULL
;
10246 out_header
->pNext
= (void *)out_ext
;
10247 out_header
= (void *)out_ext
;
10250 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
:
10252 VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10253 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
;
10254 out_ext
->pNext
= NULL
;
10255 out_header
->pNext
= (void *)out_ext
;
10256 out_header
= (void *)out_ext
;
10259 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
:
10261 VkPhysicalDeviceInlineUniformBlockProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10262 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
;
10263 out_ext
->pNext
= NULL
;
10264 out_header
->pNext
= (void *)out_ext
;
10265 out_header
= (void *)out_ext
;
10268 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
:
10270 VkPhysicalDeviceMaintenance3Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10271 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
;
10272 out_ext
->pNext
= NULL
;
10273 out_header
->pNext
= (void *)out_ext
;
10274 out_header
= (void *)out_ext
;
10277 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
:
10279 VkPhysicalDeviceMaintenance4Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10280 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
;
10281 out_ext
->pNext
= NULL
;
10282 out_header
->pNext
= (void *)out_ext
;
10283 out_header
= (void *)out_ext
;
10286 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
:
10288 VkPhysicalDeviceFloatControlsProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10289 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
;
10290 out_ext
->pNext
= NULL
;
10291 out_header
->pNext
= (void *)out_ext
;
10292 out_header
= (void *)out_ext
;
10295 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
:
10297 VkPhysicalDeviceExternalMemoryHostPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10298 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
;
10299 out_ext
->pNext
= NULL
;
10300 out_header
->pNext
= (void *)out_ext
;
10301 out_header
= (void *)out_ext
;
10304 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
:
10306 VkPhysicalDeviceConservativeRasterizationPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10307 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
;
10308 out_ext
->pNext
= NULL
;
10309 out_header
->pNext
= (void *)out_ext
;
10310 out_header
= (void *)out_ext
;
10313 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
:
10315 VkPhysicalDeviceShaderCorePropertiesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10316 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
;
10317 out_ext
->pNext
= NULL
;
10318 out_header
->pNext
= (void *)out_ext
;
10319 out_header
= (void *)out_ext
;
10322 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
:
10324 VkPhysicalDeviceShaderCoreProperties2AMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10325 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
;
10326 out_ext
->pNext
= NULL
;
10327 out_header
->pNext
= (void *)out_ext
;
10328 out_header
= (void *)out_ext
;
10331 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
:
10333 VkPhysicalDeviceDescriptorIndexingProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10334 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
;
10335 out_ext
->pNext
= NULL
;
10336 out_header
->pNext
= (void *)out_ext
;
10337 out_header
= (void *)out_ext
;
10340 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
:
10342 VkPhysicalDeviceTimelineSemaphoreProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10343 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
;
10344 out_ext
->pNext
= NULL
;
10345 out_header
->pNext
= (void *)out_ext
;
10346 out_header
= (void *)out_ext
;
10349 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
:
10351 VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10352 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
;
10353 out_ext
->pNext
= NULL
;
10354 out_header
->pNext
= (void *)out_ext
;
10355 out_header
= (void *)out_ext
;
10358 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
:
10360 VkPhysicalDevicePCIBusInfoPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10361 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
;
10362 out_ext
->pNext
= NULL
;
10363 out_header
->pNext
= (void *)out_ext
;
10364 out_header
= (void *)out_ext
;
10367 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
:
10369 VkPhysicalDeviceDepthStencilResolveProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10370 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
;
10371 out_ext
->pNext
= NULL
;
10372 out_header
->pNext
= (void *)out_ext
;
10373 out_header
= (void *)out_ext
;
10376 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
:
10378 VkPhysicalDeviceTransformFeedbackPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10379 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
;
10380 out_ext
->pNext
= NULL
;
10381 out_header
->pNext
= (void *)out_ext
;
10382 out_header
= (void *)out_ext
;
10385 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
:
10387 VkPhysicalDeviceCopyMemoryIndirectPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10388 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
;
10389 out_ext
->pNext
= NULL
;
10390 out_header
->pNext
= (void *)out_ext
;
10391 out_header
= (void *)out_ext
;
10394 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
:
10396 VkPhysicalDeviceMemoryDecompressionPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10397 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
;
10398 out_ext
->pNext
= NULL
;
10399 out_header
->pNext
= (void *)out_ext
;
10400 out_header
= (void *)out_ext
;
10403 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
:
10405 VkPhysicalDeviceShadingRateImagePropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10406 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
;
10407 out_ext
->pNext
= NULL
;
10408 out_header
->pNext
= (void *)out_ext
;
10409 out_header
= (void *)out_ext
;
10412 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
:
10414 VkPhysicalDeviceMeshShaderPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10415 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
;
10416 out_ext
->pNext
= NULL
;
10417 out_header
->pNext
= (void *)out_ext
;
10418 out_header
= (void *)out_ext
;
10421 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
:
10423 VkPhysicalDeviceMeshShaderPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10424 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
;
10425 out_ext
->pNext
= NULL
;
10426 out_header
->pNext
= (void *)out_ext
;
10427 out_header
= (void *)out_ext
;
10430 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
:
10432 VkPhysicalDeviceAccelerationStructurePropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10433 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
;
10434 out_ext
->pNext
= NULL
;
10435 out_header
->pNext
= (void *)out_ext
;
10436 out_header
= (void *)out_ext
;
10439 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
:
10441 VkPhysicalDeviceRayTracingPipelinePropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10442 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
;
10443 out_ext
->pNext
= NULL
;
10444 out_header
->pNext
= (void *)out_ext
;
10445 out_header
= (void *)out_ext
;
10448 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
:
10450 VkPhysicalDeviceRayTracingPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10451 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
;
10452 out_ext
->pNext
= NULL
;
10453 out_header
->pNext
= (void *)out_ext
;
10454 out_header
= (void *)out_ext
;
10457 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
:
10459 VkPhysicalDeviceFragmentDensityMapPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10460 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
;
10461 out_ext
->pNext
= NULL
;
10462 out_header
->pNext
= (void *)out_ext
;
10463 out_header
= (void *)out_ext
;
10466 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
:
10468 VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10469 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
;
10470 out_ext
->pNext
= NULL
;
10471 out_header
->pNext
= (void *)out_ext
;
10472 out_header
= (void *)out_ext
;
10475 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
:
10477 VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10478 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
;
10479 out_ext
->pNext
= NULL
;
10480 out_header
->pNext
= (void *)out_ext
;
10481 out_header
= (void *)out_ext
;
10484 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
:
10486 VkPhysicalDeviceCooperativeMatrixPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10487 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
;
10488 out_ext
->pNext
= NULL
;
10489 out_header
->pNext
= (void *)out_ext
;
10490 out_header
= (void *)out_ext
;
10493 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
:
10495 VkPhysicalDevicePerformanceQueryPropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10496 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
;
10497 out_ext
->pNext
= NULL
;
10498 out_header
->pNext
= (void *)out_ext
;
10499 out_header
= (void *)out_ext
;
10502 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
:
10504 VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10505 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
;
10506 out_ext
->pNext
= NULL
;
10507 out_header
->pNext
= (void *)out_ext
;
10508 out_header
= (void *)out_ext
;
10511 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
:
10513 VkPhysicalDeviceTexelBufferAlignmentProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10514 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
;
10515 out_ext
->pNext
= NULL
;
10516 out_header
->pNext
= (void *)out_ext
;
10517 out_header
= (void *)out_ext
;
10520 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
:
10522 VkPhysicalDeviceSubgroupSizeControlProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10523 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
;
10524 out_ext
->pNext
= NULL
;
10525 out_header
->pNext
= (void *)out_ext
;
10526 out_header
= (void *)out_ext
;
10529 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
:
10531 VkPhysicalDeviceSubpassShadingPropertiesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10532 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
;
10533 out_ext
->pNext
= NULL
;
10534 out_header
->pNext
= (void *)out_ext
;
10535 out_header
= (void *)out_ext
;
10538 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
:
10540 VkPhysicalDeviceLineRasterizationPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10541 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
;
10542 out_ext
->pNext
= NULL
;
10543 out_header
->pNext
= (void *)out_ext
;
10544 out_header
= (void *)out_ext
;
10547 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
:
10549 VkPhysicalDeviceVulkan11Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10550 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
;
10551 out_ext
->pNext
= NULL
;
10552 out_header
->pNext
= (void *)out_ext
;
10553 out_header
= (void *)out_ext
;
10556 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
:
10558 VkPhysicalDeviceVulkan12Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10559 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
;
10560 out_ext
->pNext
= NULL
;
10561 out_header
->pNext
= (void *)out_ext
;
10562 out_header
= (void *)out_ext
;
10565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
:
10567 VkPhysicalDeviceVulkan13Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10568 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
;
10569 out_ext
->pNext
= NULL
;
10570 out_header
->pNext
= (void *)out_ext
;
10571 out_header
= (void *)out_ext
;
10574 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
:
10576 VkPhysicalDeviceCustomBorderColorPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10577 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
;
10578 out_ext
->pNext
= NULL
;
10579 out_header
->pNext
= (void *)out_ext
;
10580 out_header
= (void *)out_ext
;
10583 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
:
10585 VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10586 const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
*)in_header
;
10587 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
;
10588 out_ext
->pNext
= NULL
;
10589 out_ext
->dynamicPrimitiveTopologyUnrestricted
= in_ext
->dynamicPrimitiveTopologyUnrestricted
;
10590 out_header
->pNext
= (void *)out_ext
;
10591 out_header
= (void *)out_ext
;
10594 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
:
10596 VkPhysicalDeviceRobustness2PropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10597 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
;
10598 out_ext
->pNext
= NULL
;
10599 out_header
->pNext
= (void *)out_ext
;
10600 out_header
= (void *)out_ext
;
10603 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
:
10605 VkPhysicalDeviceFragmentShadingRatePropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10606 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
;
10607 out_ext
->pNext
= NULL
;
10608 out_header
->pNext
= (void *)out_ext
;
10609 out_header
= (void *)out_ext
;
10612 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
:
10614 VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10615 const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
*)in_header
;
10616 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
;
10617 out_ext
->pNext
= NULL
;
10618 out_ext
->maxFragmentShadingRateInvocationCount
= in_ext
->maxFragmentShadingRateInvocationCount
;
10619 out_header
->pNext
= (void *)out_ext
;
10620 out_header
= (void *)out_ext
;
10623 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
:
10625 VkPhysicalDeviceProvokingVertexPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10626 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
;
10627 out_ext
->pNext
= NULL
;
10628 out_header
->pNext
= (void *)out_ext
;
10629 out_header
= (void *)out_ext
;
10632 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
:
10634 VkPhysicalDeviceShaderIntegerDotProductProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10635 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
;
10636 out_ext
->pNext
= NULL
;
10637 out_header
->pNext
= (void *)out_ext
;
10638 out_header
= (void *)out_ext
;
10641 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
:
10643 VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10644 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
;
10645 out_ext
->pNext
= NULL
;
10646 out_header
->pNext
= (void *)out_ext
;
10647 out_header
= (void *)out_ext
;
10650 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
:
10652 VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10653 const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
*)in_header
;
10654 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
;
10655 out_ext
->pNext
= NULL
;
10656 out_ext
->graphicsPipelineLibraryFastLinking
= in_ext
->graphicsPipelineLibraryFastLinking
;
10657 out_ext
->graphicsPipelineLibraryIndependentInterpolationDecoration
= in_ext
->graphicsPipelineLibraryIndependentInterpolationDecoration
;
10658 out_header
->pNext
= (void *)out_ext
;
10659 out_header
= (void *)out_ext
;
10662 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
:
10664 VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10665 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
;
10666 out_ext
->pNext
= NULL
;
10667 out_header
->pNext
= (void *)out_ext
;
10668 out_header
= (void *)out_ext
;
10671 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
:
10673 VkPhysicalDeviceOpacityMicromapPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10674 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
;
10675 out_ext
->pNext
= NULL
;
10676 out_header
->pNext
= (void *)out_ext
;
10677 out_header
= (void *)out_ext
;
10680 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
:
10682 VkPhysicalDevicePipelineRobustnessPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10683 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
;
10684 out_ext
->pNext
= NULL
;
10685 out_header
->pNext
= (void *)out_ext
;
10686 out_header
= (void *)out_ext
;
10689 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
:
10691 VkPhysicalDeviceImageProcessingPropertiesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10692 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
;
10693 out_ext
->pNext
= NULL
;
10694 out_header
->pNext
= (void *)out_ext
;
10695 out_header
= (void *)out_ext
;
10698 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
:
10700 VkPhysicalDeviceOpticalFlowPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10701 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
;
10702 out_ext
->pNext
= NULL
;
10703 out_header
->pNext
= (void *)out_ext
;
10704 out_header
= (void *)out_ext
;
10707 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
:
10709 VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10710 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
;
10711 out_ext
->pNext
= NULL
;
10712 out_header
->pNext
= (void *)out_ext
;
10713 out_header
= (void *)out_ext
;
10716 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
:
10718 VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10719 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
;
10720 out_ext
->pNext
= NULL
;
10721 out_header
->pNext
= (void *)out_ext
;
10722 out_header
= (void *)out_ext
;
10726 FIXME("Unhandled sType %u.", in_header
->sType
);
10731 #endif /* USE_STRUCT_CONVERSION */
10733 #if defined(USE_STRUCT_CONVERSION)
10734 static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhysicalDeviceProperties2
*in
, VkPhysicalDeviceProperties232
*out
)
10736 const VkBaseInStructure
*in_header
;
10737 VkBaseOutStructure
*out_header
= (void *)out
;
10741 convert_VkPhysicalDeviceProperties_host_to_win32(&in
->properties
, &out
->properties
);
10743 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
10745 switch (in_header
->sType
)
10747 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
:
10749 VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
);
10750 const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
*in_ext
= (const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
*)in_header
;
10751 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
;
10752 out_ext
->maxGraphicsShaderGroupCount
= in_ext
->maxGraphicsShaderGroupCount
;
10753 out_ext
->maxIndirectSequenceCount
= in_ext
->maxIndirectSequenceCount
;
10754 out_ext
->maxIndirectCommandsTokenCount
= in_ext
->maxIndirectCommandsTokenCount
;
10755 out_ext
->maxIndirectCommandsStreamCount
= in_ext
->maxIndirectCommandsStreamCount
;
10756 out_ext
->maxIndirectCommandsTokenOffset
= in_ext
->maxIndirectCommandsTokenOffset
;
10757 out_ext
->maxIndirectCommandsStreamStride
= in_ext
->maxIndirectCommandsStreamStride
;
10758 out_ext
->minSequencesCountBufferOffsetAlignment
= in_ext
->minSequencesCountBufferOffsetAlignment
;
10759 out_ext
->minSequencesIndexBufferOffsetAlignment
= in_ext
->minSequencesIndexBufferOffsetAlignment
;
10760 out_ext
->minIndirectCommandsBufferOffsetAlignment
= in_ext
->minIndirectCommandsBufferOffsetAlignment
;
10761 out_header
= (void *)out_ext
;
10764 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
:
10766 VkPhysicalDeviceMultiDrawPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
);
10767 const VkPhysicalDeviceMultiDrawPropertiesEXT
*in_ext
= (const VkPhysicalDeviceMultiDrawPropertiesEXT
*)in_header
;
10768 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
;
10769 out_ext
->maxMultiDrawCount
= in_ext
->maxMultiDrawCount
;
10770 out_header
= (void *)out_ext
;
10773 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
:
10775 VkPhysicalDevicePushDescriptorPropertiesKHR
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
);
10776 const VkPhysicalDevicePushDescriptorPropertiesKHR
*in_ext
= (const VkPhysicalDevicePushDescriptorPropertiesKHR
*)in_header
;
10777 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
;
10778 out_ext
->maxPushDescriptors
= in_ext
->maxPushDescriptors
;
10779 out_header
= (void *)out_ext
;
10782 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
:
10784 VkPhysicalDeviceDriverProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
);
10785 const VkPhysicalDeviceDriverProperties
*in_ext
= (const VkPhysicalDeviceDriverProperties
*)in_header
;
10786 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
;
10787 out_ext
->driverID
= in_ext
->driverID
;
10788 memcpy(out_ext
->driverName
, in_ext
->driverName
, VK_MAX_DRIVER_NAME_SIZE
* sizeof(char));
10789 memcpy(out_ext
->driverInfo
, in_ext
->driverInfo
, VK_MAX_DRIVER_INFO_SIZE
* sizeof(char));
10790 out_ext
->conformanceVersion
= in_ext
->conformanceVersion
;
10791 out_header
= (void *)out_ext
;
10794 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
:
10796 VkPhysicalDeviceIDProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
);
10797 const VkPhysicalDeviceIDProperties
*in_ext
= (const VkPhysicalDeviceIDProperties
*)in_header
;
10798 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
;
10799 memcpy(out_ext
->deviceUUID
, in_ext
->deviceUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
10800 memcpy(out_ext
->driverUUID
, in_ext
->driverUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
10801 memcpy(out_ext
->deviceLUID
, in_ext
->deviceLUID
, VK_LUID_SIZE
* sizeof(uint8_t));
10802 out_ext
->deviceNodeMask
= in_ext
->deviceNodeMask
;
10803 out_ext
->deviceLUIDValid
= in_ext
->deviceLUIDValid
;
10804 out_header
= (void *)out_ext
;
10807 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
:
10809 VkPhysicalDeviceMultiviewProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
);
10810 const VkPhysicalDeviceMultiviewProperties
*in_ext
= (const VkPhysicalDeviceMultiviewProperties
*)in_header
;
10811 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
;
10812 out_ext
->maxMultiviewViewCount
= in_ext
->maxMultiviewViewCount
;
10813 out_ext
->maxMultiviewInstanceIndex
= in_ext
->maxMultiviewInstanceIndex
;
10814 out_header
= (void *)out_ext
;
10817 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
:
10819 VkPhysicalDeviceDiscardRectanglePropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
);
10820 const VkPhysicalDeviceDiscardRectanglePropertiesEXT
*in_ext
= (const VkPhysicalDeviceDiscardRectanglePropertiesEXT
*)in_header
;
10821 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
;
10822 out_ext
->maxDiscardRectangles
= in_ext
->maxDiscardRectangles
;
10823 out_header
= (void *)out_ext
;
10826 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
:
10828 VkPhysicalDeviceSubgroupProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
);
10829 const VkPhysicalDeviceSubgroupProperties
*in_ext
= (const VkPhysicalDeviceSubgroupProperties
*)in_header
;
10830 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
;
10831 out_ext
->subgroupSize
= in_ext
->subgroupSize
;
10832 out_ext
->supportedStages
= in_ext
->supportedStages
;
10833 out_ext
->supportedOperations
= in_ext
->supportedOperations
;
10834 out_ext
->quadOperationsInAllStages
= in_ext
->quadOperationsInAllStages
;
10835 out_header
= (void *)out_ext
;
10838 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
:
10840 VkPhysicalDevicePointClippingProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
);
10841 const VkPhysicalDevicePointClippingProperties
*in_ext
= (const VkPhysicalDevicePointClippingProperties
*)in_header
;
10842 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
;
10843 out_ext
->pointClippingBehavior
= in_ext
->pointClippingBehavior
;
10844 out_header
= (void *)out_ext
;
10847 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
:
10849 VkPhysicalDeviceProtectedMemoryProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
);
10850 const VkPhysicalDeviceProtectedMemoryProperties
*in_ext
= (const VkPhysicalDeviceProtectedMemoryProperties
*)in_header
;
10851 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
;
10852 out_ext
->protectedNoFault
= in_ext
->protectedNoFault
;
10853 out_header
= (void *)out_ext
;
10856 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
:
10858 VkPhysicalDeviceSamplerFilterMinmaxProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
);
10859 const VkPhysicalDeviceSamplerFilterMinmaxProperties
*in_ext
= (const VkPhysicalDeviceSamplerFilterMinmaxProperties
*)in_header
;
10860 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
;
10861 out_ext
->filterMinmaxSingleComponentFormats
= in_ext
->filterMinmaxSingleComponentFormats
;
10862 out_ext
->filterMinmaxImageComponentMapping
= in_ext
->filterMinmaxImageComponentMapping
;
10863 out_header
= (void *)out_ext
;
10866 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
:
10868 VkPhysicalDeviceSampleLocationsPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
);
10869 const VkPhysicalDeviceSampleLocationsPropertiesEXT
*in_ext
= (const VkPhysicalDeviceSampleLocationsPropertiesEXT
*)in_header
;
10870 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
;
10871 out_ext
->sampleLocationSampleCounts
= in_ext
->sampleLocationSampleCounts
;
10872 out_ext
->maxSampleLocationGridSize
= in_ext
->maxSampleLocationGridSize
;
10873 memcpy(out_ext
->sampleLocationCoordinateRange
, in_ext
->sampleLocationCoordinateRange
, 2 * sizeof(float));
10874 out_ext
->sampleLocationSubPixelBits
= in_ext
->sampleLocationSubPixelBits
;
10875 out_ext
->variableSampleLocations
= in_ext
->variableSampleLocations
;
10876 out_header
= (void *)out_ext
;
10879 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
:
10881 VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
);
10882 const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
*in_ext
= (const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
*)in_header
;
10883 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
;
10884 out_ext
->advancedBlendMaxColorAttachments
= in_ext
->advancedBlendMaxColorAttachments
;
10885 out_ext
->advancedBlendIndependentBlend
= in_ext
->advancedBlendIndependentBlend
;
10886 out_ext
->advancedBlendNonPremultipliedSrcColor
= in_ext
->advancedBlendNonPremultipliedSrcColor
;
10887 out_ext
->advancedBlendNonPremultipliedDstColor
= in_ext
->advancedBlendNonPremultipliedDstColor
;
10888 out_ext
->advancedBlendCorrelatedOverlap
= in_ext
->advancedBlendCorrelatedOverlap
;
10889 out_ext
->advancedBlendAllOperations
= in_ext
->advancedBlendAllOperations
;
10890 out_header
= (void *)out_ext
;
10893 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
:
10895 VkPhysicalDeviceInlineUniformBlockProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
);
10896 const VkPhysicalDeviceInlineUniformBlockProperties
*in_ext
= (const VkPhysicalDeviceInlineUniformBlockProperties
*)in_header
;
10897 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
;
10898 out_ext
->maxInlineUniformBlockSize
= in_ext
->maxInlineUniformBlockSize
;
10899 out_ext
->maxPerStageDescriptorInlineUniformBlocks
= in_ext
->maxPerStageDescriptorInlineUniformBlocks
;
10900 out_ext
->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
= in_ext
->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
;
10901 out_ext
->maxDescriptorSetInlineUniformBlocks
= in_ext
->maxDescriptorSetInlineUniformBlocks
;
10902 out_ext
->maxDescriptorSetUpdateAfterBindInlineUniformBlocks
= in_ext
->maxDescriptorSetUpdateAfterBindInlineUniformBlocks
;
10903 out_header
= (void *)out_ext
;
10906 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
:
10908 VkPhysicalDeviceMaintenance3Properties32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
);
10909 const VkPhysicalDeviceMaintenance3Properties
*in_ext
= (const VkPhysicalDeviceMaintenance3Properties
*)in_header
;
10910 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
;
10911 out_ext
->maxPerSetDescriptors
= in_ext
->maxPerSetDescriptors
;
10912 out_ext
->maxMemoryAllocationSize
= in_ext
->maxMemoryAllocationSize
;
10913 out_header
= (void *)out_ext
;
10916 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
:
10918 VkPhysicalDeviceMaintenance4Properties32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
);
10919 const VkPhysicalDeviceMaintenance4Properties
*in_ext
= (const VkPhysicalDeviceMaintenance4Properties
*)in_header
;
10920 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
;
10921 out_ext
->maxBufferSize
= in_ext
->maxBufferSize
;
10922 out_header
= (void *)out_ext
;
10925 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
:
10927 VkPhysicalDeviceFloatControlsProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
);
10928 const VkPhysicalDeviceFloatControlsProperties
*in_ext
= (const VkPhysicalDeviceFloatControlsProperties
*)in_header
;
10929 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
;
10930 out_ext
->denormBehaviorIndependence
= in_ext
->denormBehaviorIndependence
;
10931 out_ext
->roundingModeIndependence
= in_ext
->roundingModeIndependence
;
10932 out_ext
->shaderSignedZeroInfNanPreserveFloat16
= in_ext
->shaderSignedZeroInfNanPreserveFloat16
;
10933 out_ext
->shaderSignedZeroInfNanPreserveFloat32
= in_ext
->shaderSignedZeroInfNanPreserveFloat32
;
10934 out_ext
->shaderSignedZeroInfNanPreserveFloat64
= in_ext
->shaderSignedZeroInfNanPreserveFloat64
;
10935 out_ext
->shaderDenormPreserveFloat16
= in_ext
->shaderDenormPreserveFloat16
;
10936 out_ext
->shaderDenormPreserveFloat32
= in_ext
->shaderDenormPreserveFloat32
;
10937 out_ext
->shaderDenormPreserveFloat64
= in_ext
->shaderDenormPreserveFloat64
;
10938 out_ext
->shaderDenormFlushToZeroFloat16
= in_ext
->shaderDenormFlushToZeroFloat16
;
10939 out_ext
->shaderDenormFlushToZeroFloat32
= in_ext
->shaderDenormFlushToZeroFloat32
;
10940 out_ext
->shaderDenormFlushToZeroFloat64
= in_ext
->shaderDenormFlushToZeroFloat64
;
10941 out_ext
->shaderRoundingModeRTEFloat16
= in_ext
->shaderRoundingModeRTEFloat16
;
10942 out_ext
->shaderRoundingModeRTEFloat32
= in_ext
->shaderRoundingModeRTEFloat32
;
10943 out_ext
->shaderRoundingModeRTEFloat64
= in_ext
->shaderRoundingModeRTEFloat64
;
10944 out_ext
->shaderRoundingModeRTZFloat16
= in_ext
->shaderRoundingModeRTZFloat16
;
10945 out_ext
->shaderRoundingModeRTZFloat32
= in_ext
->shaderRoundingModeRTZFloat32
;
10946 out_ext
->shaderRoundingModeRTZFloat64
= in_ext
->shaderRoundingModeRTZFloat64
;
10947 out_header
= (void *)out_ext
;
10950 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
:
10952 VkPhysicalDeviceExternalMemoryHostPropertiesEXT32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
);
10953 const VkPhysicalDeviceExternalMemoryHostPropertiesEXT
*in_ext
= (const VkPhysicalDeviceExternalMemoryHostPropertiesEXT
*)in_header
;
10954 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
;
10955 out_ext
->minImportedHostPointerAlignment
= in_ext
->minImportedHostPointerAlignment
;
10956 out_header
= (void *)out_ext
;
10959 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
:
10961 VkPhysicalDeviceConservativeRasterizationPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
);
10962 const VkPhysicalDeviceConservativeRasterizationPropertiesEXT
*in_ext
= (const VkPhysicalDeviceConservativeRasterizationPropertiesEXT
*)in_header
;
10963 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
;
10964 out_ext
->primitiveOverestimationSize
= in_ext
->primitiveOverestimationSize
;
10965 out_ext
->maxExtraPrimitiveOverestimationSize
= in_ext
->maxExtraPrimitiveOverestimationSize
;
10966 out_ext
->extraPrimitiveOverestimationSizeGranularity
= in_ext
->extraPrimitiveOverestimationSizeGranularity
;
10967 out_ext
->primitiveUnderestimation
= in_ext
->primitiveUnderestimation
;
10968 out_ext
->conservativePointAndLineRasterization
= in_ext
->conservativePointAndLineRasterization
;
10969 out_ext
->degenerateTrianglesRasterized
= in_ext
->degenerateTrianglesRasterized
;
10970 out_ext
->degenerateLinesRasterized
= in_ext
->degenerateLinesRasterized
;
10971 out_ext
->fullyCoveredFragmentShaderInputVariable
= in_ext
->fullyCoveredFragmentShaderInputVariable
;
10972 out_ext
->conservativeRasterizationPostDepthCoverage
= in_ext
->conservativeRasterizationPostDepthCoverage
;
10973 out_header
= (void *)out_ext
;
10976 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
:
10978 VkPhysicalDeviceShaderCorePropertiesAMD
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
);
10979 const VkPhysicalDeviceShaderCorePropertiesAMD
*in_ext
= (const VkPhysicalDeviceShaderCorePropertiesAMD
*)in_header
;
10980 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
;
10981 out_ext
->shaderEngineCount
= in_ext
->shaderEngineCount
;
10982 out_ext
->shaderArraysPerEngineCount
= in_ext
->shaderArraysPerEngineCount
;
10983 out_ext
->computeUnitsPerShaderArray
= in_ext
->computeUnitsPerShaderArray
;
10984 out_ext
->simdPerComputeUnit
= in_ext
->simdPerComputeUnit
;
10985 out_ext
->wavefrontsPerSimd
= in_ext
->wavefrontsPerSimd
;
10986 out_ext
->wavefrontSize
= in_ext
->wavefrontSize
;
10987 out_ext
->sgprsPerSimd
= in_ext
->sgprsPerSimd
;
10988 out_ext
->minSgprAllocation
= in_ext
->minSgprAllocation
;
10989 out_ext
->maxSgprAllocation
= in_ext
->maxSgprAllocation
;
10990 out_ext
->sgprAllocationGranularity
= in_ext
->sgprAllocationGranularity
;
10991 out_ext
->vgprsPerSimd
= in_ext
->vgprsPerSimd
;
10992 out_ext
->minVgprAllocation
= in_ext
->minVgprAllocation
;
10993 out_ext
->maxVgprAllocation
= in_ext
->maxVgprAllocation
;
10994 out_ext
->vgprAllocationGranularity
= in_ext
->vgprAllocationGranularity
;
10995 out_header
= (void *)out_ext
;
10998 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
:
11000 VkPhysicalDeviceShaderCoreProperties2AMD
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
);
11001 const VkPhysicalDeviceShaderCoreProperties2AMD
*in_ext
= (const VkPhysicalDeviceShaderCoreProperties2AMD
*)in_header
;
11002 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
;
11003 out_ext
->shaderCoreFeatures
= in_ext
->shaderCoreFeatures
;
11004 out_ext
->activeComputeUnitCount
= in_ext
->activeComputeUnitCount
;
11005 out_header
= (void *)out_ext
;
11008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
:
11010 VkPhysicalDeviceDescriptorIndexingProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
);
11011 const VkPhysicalDeviceDescriptorIndexingProperties
*in_ext
= (const VkPhysicalDeviceDescriptorIndexingProperties
*)in_header
;
11012 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
;
11013 out_ext
->maxUpdateAfterBindDescriptorsInAllPools
= in_ext
->maxUpdateAfterBindDescriptorsInAllPools
;
11014 out_ext
->shaderUniformBufferArrayNonUniformIndexingNative
= in_ext
->shaderUniformBufferArrayNonUniformIndexingNative
;
11015 out_ext
->shaderSampledImageArrayNonUniformIndexingNative
= in_ext
->shaderSampledImageArrayNonUniformIndexingNative
;
11016 out_ext
->shaderStorageBufferArrayNonUniformIndexingNative
= in_ext
->shaderStorageBufferArrayNonUniformIndexingNative
;
11017 out_ext
->shaderStorageImageArrayNonUniformIndexingNative
= in_ext
->shaderStorageImageArrayNonUniformIndexingNative
;
11018 out_ext
->shaderInputAttachmentArrayNonUniformIndexingNative
= in_ext
->shaderInputAttachmentArrayNonUniformIndexingNative
;
11019 out_ext
->robustBufferAccessUpdateAfterBind
= in_ext
->robustBufferAccessUpdateAfterBind
;
11020 out_ext
->quadDivergentImplicitLod
= in_ext
->quadDivergentImplicitLod
;
11021 out_ext
->maxPerStageDescriptorUpdateAfterBindSamplers
= in_ext
->maxPerStageDescriptorUpdateAfterBindSamplers
;
11022 out_ext
->maxPerStageDescriptorUpdateAfterBindUniformBuffers
= in_ext
->maxPerStageDescriptorUpdateAfterBindUniformBuffers
;
11023 out_ext
->maxPerStageDescriptorUpdateAfterBindStorageBuffers
= in_ext
->maxPerStageDescriptorUpdateAfterBindStorageBuffers
;
11024 out_ext
->maxPerStageDescriptorUpdateAfterBindSampledImages
= in_ext
->maxPerStageDescriptorUpdateAfterBindSampledImages
;
11025 out_ext
->maxPerStageDescriptorUpdateAfterBindStorageImages
= in_ext
->maxPerStageDescriptorUpdateAfterBindStorageImages
;
11026 out_ext
->maxPerStageDescriptorUpdateAfterBindInputAttachments
= in_ext
->maxPerStageDescriptorUpdateAfterBindInputAttachments
;
11027 out_ext
->maxPerStageUpdateAfterBindResources
= in_ext
->maxPerStageUpdateAfterBindResources
;
11028 out_ext
->maxDescriptorSetUpdateAfterBindSamplers
= in_ext
->maxDescriptorSetUpdateAfterBindSamplers
;
11029 out_ext
->maxDescriptorSetUpdateAfterBindUniformBuffers
= in_ext
->maxDescriptorSetUpdateAfterBindUniformBuffers
;
11030 out_ext
->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
= in_ext
->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
;
11031 out_ext
->maxDescriptorSetUpdateAfterBindStorageBuffers
= in_ext
->maxDescriptorSetUpdateAfterBindStorageBuffers
;
11032 out_ext
->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
= in_ext
->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
;
11033 out_ext
->maxDescriptorSetUpdateAfterBindSampledImages
= in_ext
->maxDescriptorSetUpdateAfterBindSampledImages
;
11034 out_ext
->maxDescriptorSetUpdateAfterBindStorageImages
= in_ext
->maxDescriptorSetUpdateAfterBindStorageImages
;
11035 out_ext
->maxDescriptorSetUpdateAfterBindInputAttachments
= in_ext
->maxDescriptorSetUpdateAfterBindInputAttachments
;
11036 out_header
= (void *)out_ext
;
11039 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
:
11041 VkPhysicalDeviceTimelineSemaphoreProperties32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
);
11042 const VkPhysicalDeviceTimelineSemaphoreProperties
*in_ext
= (const VkPhysicalDeviceTimelineSemaphoreProperties
*)in_header
;
11043 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
;
11044 out_ext
->maxTimelineSemaphoreValueDifference
= in_ext
->maxTimelineSemaphoreValueDifference
;
11045 out_header
= (void *)out_ext
;
11048 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
:
11050 VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
);
11051 const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
*in_ext
= (const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
*)in_header
;
11052 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
;
11053 out_ext
->maxVertexAttribDivisor
= in_ext
->maxVertexAttribDivisor
;
11054 out_header
= (void *)out_ext
;
11057 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
:
11059 VkPhysicalDevicePCIBusInfoPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
);
11060 const VkPhysicalDevicePCIBusInfoPropertiesEXT
*in_ext
= (const VkPhysicalDevicePCIBusInfoPropertiesEXT
*)in_header
;
11061 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
;
11062 out_ext
->pciDomain
= in_ext
->pciDomain
;
11063 out_ext
->pciBus
= in_ext
->pciBus
;
11064 out_ext
->pciDevice
= in_ext
->pciDevice
;
11065 out_ext
->pciFunction
= in_ext
->pciFunction
;
11066 out_header
= (void *)out_ext
;
11069 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
:
11071 VkPhysicalDeviceDepthStencilResolveProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
);
11072 const VkPhysicalDeviceDepthStencilResolveProperties
*in_ext
= (const VkPhysicalDeviceDepthStencilResolveProperties
*)in_header
;
11073 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
;
11074 out_ext
->supportedDepthResolveModes
= in_ext
->supportedDepthResolveModes
;
11075 out_ext
->supportedStencilResolveModes
= in_ext
->supportedStencilResolveModes
;
11076 out_ext
->independentResolveNone
= in_ext
->independentResolveNone
;
11077 out_ext
->independentResolve
= in_ext
->independentResolve
;
11078 out_header
= (void *)out_ext
;
11081 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
:
11083 VkPhysicalDeviceTransformFeedbackPropertiesEXT32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
);
11084 const VkPhysicalDeviceTransformFeedbackPropertiesEXT
*in_ext
= (const VkPhysicalDeviceTransformFeedbackPropertiesEXT
*)in_header
;
11085 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
;
11086 out_ext
->maxTransformFeedbackStreams
= in_ext
->maxTransformFeedbackStreams
;
11087 out_ext
->maxTransformFeedbackBuffers
= in_ext
->maxTransformFeedbackBuffers
;
11088 out_ext
->maxTransformFeedbackBufferSize
= in_ext
->maxTransformFeedbackBufferSize
;
11089 out_ext
->maxTransformFeedbackStreamDataSize
= in_ext
->maxTransformFeedbackStreamDataSize
;
11090 out_ext
->maxTransformFeedbackBufferDataSize
= in_ext
->maxTransformFeedbackBufferDataSize
;
11091 out_ext
->maxTransformFeedbackBufferDataStride
= in_ext
->maxTransformFeedbackBufferDataStride
;
11092 out_ext
->transformFeedbackQueries
= in_ext
->transformFeedbackQueries
;
11093 out_ext
->transformFeedbackStreamsLinesTriangles
= in_ext
->transformFeedbackStreamsLinesTriangles
;
11094 out_ext
->transformFeedbackRasterizationStreamSelect
= in_ext
->transformFeedbackRasterizationStreamSelect
;
11095 out_ext
->transformFeedbackDraw
= in_ext
->transformFeedbackDraw
;
11096 out_header
= (void *)out_ext
;
11099 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
:
11101 VkPhysicalDeviceCopyMemoryIndirectPropertiesNV
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
);
11102 const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV
*in_ext
= (const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV
*)in_header
;
11103 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
;
11104 out_ext
->supportedQueues
= in_ext
->supportedQueues
;
11105 out_header
= (void *)out_ext
;
11108 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
:
11110 VkPhysicalDeviceMemoryDecompressionPropertiesNV32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
);
11111 const VkPhysicalDeviceMemoryDecompressionPropertiesNV
*in_ext
= (const VkPhysicalDeviceMemoryDecompressionPropertiesNV
*)in_header
;
11112 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
;
11113 out_ext
->decompressionMethods
= in_ext
->decompressionMethods
;
11114 out_ext
->maxDecompressionIndirectCount
= in_ext
->maxDecompressionIndirectCount
;
11115 out_header
= (void *)out_ext
;
11118 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
:
11120 VkPhysicalDeviceShadingRateImagePropertiesNV
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
);
11121 const VkPhysicalDeviceShadingRateImagePropertiesNV
*in_ext
= (const VkPhysicalDeviceShadingRateImagePropertiesNV
*)in_header
;
11122 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
;
11123 out_ext
->shadingRateTexelSize
= in_ext
->shadingRateTexelSize
;
11124 out_ext
->shadingRatePaletteSize
= in_ext
->shadingRatePaletteSize
;
11125 out_ext
->shadingRateMaxCoarseSamples
= in_ext
->shadingRateMaxCoarseSamples
;
11126 out_header
= (void *)out_ext
;
11129 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
:
11131 VkPhysicalDeviceMeshShaderPropertiesNV
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
);
11132 const VkPhysicalDeviceMeshShaderPropertiesNV
*in_ext
= (const VkPhysicalDeviceMeshShaderPropertiesNV
*)in_header
;
11133 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
;
11134 out_ext
->maxDrawMeshTasksCount
= in_ext
->maxDrawMeshTasksCount
;
11135 out_ext
->maxTaskWorkGroupInvocations
= in_ext
->maxTaskWorkGroupInvocations
;
11136 memcpy(out_ext
->maxTaskWorkGroupSize
, in_ext
->maxTaskWorkGroupSize
, 3 * sizeof(uint32_t));
11137 out_ext
->maxTaskTotalMemorySize
= in_ext
->maxTaskTotalMemorySize
;
11138 out_ext
->maxTaskOutputCount
= in_ext
->maxTaskOutputCount
;
11139 out_ext
->maxMeshWorkGroupInvocations
= in_ext
->maxMeshWorkGroupInvocations
;
11140 memcpy(out_ext
->maxMeshWorkGroupSize
, in_ext
->maxMeshWorkGroupSize
, 3 * sizeof(uint32_t));
11141 out_ext
->maxMeshTotalMemorySize
= in_ext
->maxMeshTotalMemorySize
;
11142 out_ext
->maxMeshOutputVertices
= in_ext
->maxMeshOutputVertices
;
11143 out_ext
->maxMeshOutputPrimitives
= in_ext
->maxMeshOutputPrimitives
;
11144 out_ext
->maxMeshMultiviewViewCount
= in_ext
->maxMeshMultiviewViewCount
;
11145 out_ext
->meshOutputPerVertexGranularity
= in_ext
->meshOutputPerVertexGranularity
;
11146 out_ext
->meshOutputPerPrimitiveGranularity
= in_ext
->meshOutputPerPrimitiveGranularity
;
11147 out_header
= (void *)out_ext
;
11150 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
:
11152 VkPhysicalDeviceMeshShaderPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
);
11153 const VkPhysicalDeviceMeshShaderPropertiesEXT
*in_ext
= (const VkPhysicalDeviceMeshShaderPropertiesEXT
*)in_header
;
11154 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
;
11155 out_ext
->maxTaskWorkGroupTotalCount
= in_ext
->maxTaskWorkGroupTotalCount
;
11156 memcpy(out_ext
->maxTaskWorkGroupCount
, in_ext
->maxTaskWorkGroupCount
, 3 * sizeof(uint32_t));
11157 out_ext
->maxTaskWorkGroupInvocations
= in_ext
->maxTaskWorkGroupInvocations
;
11158 memcpy(out_ext
->maxTaskWorkGroupSize
, in_ext
->maxTaskWorkGroupSize
, 3 * sizeof(uint32_t));
11159 out_ext
->maxTaskPayloadSize
= in_ext
->maxTaskPayloadSize
;
11160 out_ext
->maxTaskSharedMemorySize
= in_ext
->maxTaskSharedMemorySize
;
11161 out_ext
->maxTaskPayloadAndSharedMemorySize
= in_ext
->maxTaskPayloadAndSharedMemorySize
;
11162 out_ext
->maxMeshWorkGroupTotalCount
= in_ext
->maxMeshWorkGroupTotalCount
;
11163 memcpy(out_ext
->maxMeshWorkGroupCount
, in_ext
->maxMeshWorkGroupCount
, 3 * sizeof(uint32_t));
11164 out_ext
->maxMeshWorkGroupInvocations
= in_ext
->maxMeshWorkGroupInvocations
;
11165 memcpy(out_ext
->maxMeshWorkGroupSize
, in_ext
->maxMeshWorkGroupSize
, 3 * sizeof(uint32_t));
11166 out_ext
->maxMeshSharedMemorySize
= in_ext
->maxMeshSharedMemorySize
;
11167 out_ext
->maxMeshPayloadAndSharedMemorySize
= in_ext
->maxMeshPayloadAndSharedMemorySize
;
11168 out_ext
->maxMeshOutputMemorySize
= in_ext
->maxMeshOutputMemorySize
;
11169 out_ext
->maxMeshPayloadAndOutputMemorySize
= in_ext
->maxMeshPayloadAndOutputMemorySize
;
11170 out_ext
->maxMeshOutputComponents
= in_ext
->maxMeshOutputComponents
;
11171 out_ext
->maxMeshOutputVertices
= in_ext
->maxMeshOutputVertices
;
11172 out_ext
->maxMeshOutputPrimitives
= in_ext
->maxMeshOutputPrimitives
;
11173 out_ext
->maxMeshOutputLayers
= in_ext
->maxMeshOutputLayers
;
11174 out_ext
->maxMeshMultiviewViewCount
= in_ext
->maxMeshMultiviewViewCount
;
11175 out_ext
->meshOutputPerVertexGranularity
= in_ext
->meshOutputPerVertexGranularity
;
11176 out_ext
->meshOutputPerPrimitiveGranularity
= in_ext
->meshOutputPerPrimitiveGranularity
;
11177 out_ext
->maxPreferredTaskWorkGroupInvocations
= in_ext
->maxPreferredTaskWorkGroupInvocations
;
11178 out_ext
->maxPreferredMeshWorkGroupInvocations
= in_ext
->maxPreferredMeshWorkGroupInvocations
;
11179 out_ext
->prefersLocalInvocationVertexOutput
= in_ext
->prefersLocalInvocationVertexOutput
;
11180 out_ext
->prefersLocalInvocationPrimitiveOutput
= in_ext
->prefersLocalInvocationPrimitiveOutput
;
11181 out_ext
->prefersCompactVertexOutput
= in_ext
->prefersCompactVertexOutput
;
11182 out_ext
->prefersCompactPrimitiveOutput
= in_ext
->prefersCompactPrimitiveOutput
;
11183 out_header
= (void *)out_ext
;
11186 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
:
11188 VkPhysicalDeviceAccelerationStructurePropertiesKHR32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
);
11189 const VkPhysicalDeviceAccelerationStructurePropertiesKHR
*in_ext
= (const VkPhysicalDeviceAccelerationStructurePropertiesKHR
*)in_header
;
11190 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
;
11191 out_ext
->maxGeometryCount
= in_ext
->maxGeometryCount
;
11192 out_ext
->maxInstanceCount
= in_ext
->maxInstanceCount
;
11193 out_ext
->maxPrimitiveCount
= in_ext
->maxPrimitiveCount
;
11194 out_ext
->maxPerStageDescriptorAccelerationStructures
= in_ext
->maxPerStageDescriptorAccelerationStructures
;
11195 out_ext
->maxPerStageDescriptorUpdateAfterBindAccelerationStructures
= in_ext
->maxPerStageDescriptorUpdateAfterBindAccelerationStructures
;
11196 out_ext
->maxDescriptorSetAccelerationStructures
= in_ext
->maxDescriptorSetAccelerationStructures
;
11197 out_ext
->maxDescriptorSetUpdateAfterBindAccelerationStructures
= in_ext
->maxDescriptorSetUpdateAfterBindAccelerationStructures
;
11198 out_ext
->minAccelerationStructureScratchOffsetAlignment
= in_ext
->minAccelerationStructureScratchOffsetAlignment
;
11199 out_header
= (void *)out_ext
;
11202 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
:
11204 VkPhysicalDeviceRayTracingPipelinePropertiesKHR
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
);
11205 const VkPhysicalDeviceRayTracingPipelinePropertiesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingPipelinePropertiesKHR
*)in_header
;
11206 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
;
11207 out_ext
->shaderGroupHandleSize
= in_ext
->shaderGroupHandleSize
;
11208 out_ext
->maxRayRecursionDepth
= in_ext
->maxRayRecursionDepth
;
11209 out_ext
->maxShaderGroupStride
= in_ext
->maxShaderGroupStride
;
11210 out_ext
->shaderGroupBaseAlignment
= in_ext
->shaderGroupBaseAlignment
;
11211 out_ext
->shaderGroupHandleCaptureReplaySize
= in_ext
->shaderGroupHandleCaptureReplaySize
;
11212 out_ext
->maxRayDispatchInvocationCount
= in_ext
->maxRayDispatchInvocationCount
;
11213 out_ext
->shaderGroupHandleAlignment
= in_ext
->shaderGroupHandleAlignment
;
11214 out_ext
->maxRayHitAttributeSize
= in_ext
->maxRayHitAttributeSize
;
11215 out_header
= (void *)out_ext
;
11218 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
:
11220 VkPhysicalDeviceRayTracingPropertiesNV32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
);
11221 const VkPhysicalDeviceRayTracingPropertiesNV
*in_ext
= (const VkPhysicalDeviceRayTracingPropertiesNV
*)in_header
;
11222 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
;
11223 out_ext
->shaderGroupHandleSize
= in_ext
->shaderGroupHandleSize
;
11224 out_ext
->maxRecursionDepth
= in_ext
->maxRecursionDepth
;
11225 out_ext
->maxShaderGroupStride
= in_ext
->maxShaderGroupStride
;
11226 out_ext
->shaderGroupBaseAlignment
= in_ext
->shaderGroupBaseAlignment
;
11227 out_ext
->maxGeometryCount
= in_ext
->maxGeometryCount
;
11228 out_ext
->maxInstanceCount
= in_ext
->maxInstanceCount
;
11229 out_ext
->maxTriangleCount
= in_ext
->maxTriangleCount
;
11230 out_ext
->maxDescriptorSetAccelerationStructures
= in_ext
->maxDescriptorSetAccelerationStructures
;
11231 out_header
= (void *)out_ext
;
11234 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
:
11236 VkPhysicalDeviceFragmentDensityMapPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
);
11237 const VkPhysicalDeviceFragmentDensityMapPropertiesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapPropertiesEXT
*)in_header
;
11238 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
;
11239 out_ext
->minFragmentDensityTexelSize
= in_ext
->minFragmentDensityTexelSize
;
11240 out_ext
->maxFragmentDensityTexelSize
= in_ext
->maxFragmentDensityTexelSize
;
11241 out_ext
->fragmentDensityInvocations
= in_ext
->fragmentDensityInvocations
;
11242 out_header
= (void *)out_ext
;
11245 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
:
11247 VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
);
11248 const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
*)in_header
;
11249 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
;
11250 out_ext
->subsampledLoads
= in_ext
->subsampledLoads
;
11251 out_ext
->subsampledCoarseReconstructionEarlyAccess
= in_ext
->subsampledCoarseReconstructionEarlyAccess
;
11252 out_ext
->maxSubsampledArrayLayers
= in_ext
->maxSubsampledArrayLayers
;
11253 out_ext
->maxDescriptorSetSubsampledSamplers
= in_ext
->maxDescriptorSetSubsampledSamplers
;
11254 out_header
= (void *)out_ext
;
11257 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
:
11259 VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
);
11260 const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM
*)in_header
;
11261 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
;
11262 out_ext
->fragmentDensityOffsetGranularity
= in_ext
->fragmentDensityOffsetGranularity
;
11263 out_header
= (void *)out_ext
;
11266 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
:
11268 VkPhysicalDeviceCooperativeMatrixPropertiesNV
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
);
11269 const VkPhysicalDeviceCooperativeMatrixPropertiesNV
*in_ext
= (const VkPhysicalDeviceCooperativeMatrixPropertiesNV
*)in_header
;
11270 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
;
11271 out_ext
->cooperativeMatrixSupportedStages
= in_ext
->cooperativeMatrixSupportedStages
;
11272 out_header
= (void *)out_ext
;
11275 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
:
11277 VkPhysicalDevicePerformanceQueryPropertiesKHR
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
);
11278 const VkPhysicalDevicePerformanceQueryPropertiesKHR
*in_ext
= (const VkPhysicalDevicePerformanceQueryPropertiesKHR
*)in_header
;
11279 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
;
11280 out_ext
->allowCommandBufferQueryCopies
= in_ext
->allowCommandBufferQueryCopies
;
11281 out_header
= (void *)out_ext
;
11284 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
:
11286 VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
);
11287 const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
*in_ext
= (const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
*)in_header
;
11288 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
;
11289 out_ext
->shaderSMCount
= in_ext
->shaderSMCount
;
11290 out_ext
->shaderWarpsPerSM
= in_ext
->shaderWarpsPerSM
;
11291 out_header
= (void *)out_ext
;
11294 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
:
11296 VkPhysicalDeviceTexelBufferAlignmentProperties32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
);
11297 const VkPhysicalDeviceTexelBufferAlignmentProperties
*in_ext
= (const VkPhysicalDeviceTexelBufferAlignmentProperties
*)in_header
;
11298 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
;
11299 out_ext
->storageTexelBufferOffsetAlignmentBytes
= in_ext
->storageTexelBufferOffsetAlignmentBytes
;
11300 out_ext
->storageTexelBufferOffsetSingleTexelAlignment
= in_ext
->storageTexelBufferOffsetSingleTexelAlignment
;
11301 out_ext
->uniformTexelBufferOffsetAlignmentBytes
= in_ext
->uniformTexelBufferOffsetAlignmentBytes
;
11302 out_ext
->uniformTexelBufferOffsetSingleTexelAlignment
= in_ext
->uniformTexelBufferOffsetSingleTexelAlignment
;
11303 out_header
= (void *)out_ext
;
11306 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
:
11308 VkPhysicalDeviceSubgroupSizeControlProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
);
11309 const VkPhysicalDeviceSubgroupSizeControlProperties
*in_ext
= (const VkPhysicalDeviceSubgroupSizeControlProperties
*)in_header
;
11310 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
;
11311 out_ext
->minSubgroupSize
= in_ext
->minSubgroupSize
;
11312 out_ext
->maxSubgroupSize
= in_ext
->maxSubgroupSize
;
11313 out_ext
->maxComputeWorkgroupSubgroups
= in_ext
->maxComputeWorkgroupSubgroups
;
11314 out_ext
->requiredSubgroupSizeStages
= in_ext
->requiredSubgroupSizeStages
;
11315 out_header
= (void *)out_ext
;
11318 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
:
11320 VkPhysicalDeviceSubpassShadingPropertiesHUAWEI
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
);
11321 const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI
*in_ext
= (const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI
*)in_header
;
11322 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
;
11323 out_ext
->maxSubpassShadingWorkgroupSizeAspectRatio
= in_ext
->maxSubpassShadingWorkgroupSizeAspectRatio
;
11324 out_header
= (void *)out_ext
;
11327 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
:
11329 VkPhysicalDeviceLineRasterizationPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
);
11330 const VkPhysicalDeviceLineRasterizationPropertiesEXT
*in_ext
= (const VkPhysicalDeviceLineRasterizationPropertiesEXT
*)in_header
;
11331 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
;
11332 out_ext
->lineSubPixelPrecisionBits
= in_ext
->lineSubPixelPrecisionBits
;
11333 out_header
= (void *)out_ext
;
11336 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
:
11338 VkPhysicalDeviceVulkan11Properties32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
);
11339 const VkPhysicalDeviceVulkan11Properties
*in_ext
= (const VkPhysicalDeviceVulkan11Properties
*)in_header
;
11340 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
;
11341 memcpy(out_ext
->deviceUUID
, in_ext
->deviceUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
11342 memcpy(out_ext
->driverUUID
, in_ext
->driverUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
11343 memcpy(out_ext
->deviceLUID
, in_ext
->deviceLUID
, VK_LUID_SIZE
* sizeof(uint8_t));
11344 out_ext
->deviceNodeMask
= in_ext
->deviceNodeMask
;
11345 out_ext
->deviceLUIDValid
= in_ext
->deviceLUIDValid
;
11346 out_ext
->subgroupSize
= in_ext
->subgroupSize
;
11347 out_ext
->subgroupSupportedStages
= in_ext
->subgroupSupportedStages
;
11348 out_ext
->subgroupSupportedOperations
= in_ext
->subgroupSupportedOperations
;
11349 out_ext
->subgroupQuadOperationsInAllStages
= in_ext
->subgroupQuadOperationsInAllStages
;
11350 out_ext
->pointClippingBehavior
= in_ext
->pointClippingBehavior
;
11351 out_ext
->maxMultiviewViewCount
= in_ext
->maxMultiviewViewCount
;
11352 out_ext
->maxMultiviewInstanceIndex
= in_ext
->maxMultiviewInstanceIndex
;
11353 out_ext
->protectedNoFault
= in_ext
->protectedNoFault
;
11354 out_ext
->maxPerSetDescriptors
= in_ext
->maxPerSetDescriptors
;
11355 out_ext
->maxMemoryAllocationSize
= in_ext
->maxMemoryAllocationSize
;
11356 out_header
= (void *)out_ext
;
11359 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
:
11361 VkPhysicalDeviceVulkan12Properties32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
);
11362 const VkPhysicalDeviceVulkan12Properties
*in_ext
= (const VkPhysicalDeviceVulkan12Properties
*)in_header
;
11363 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
;
11364 out_ext
->driverID
= in_ext
->driverID
;
11365 memcpy(out_ext
->driverName
, in_ext
->driverName
, VK_MAX_DRIVER_NAME_SIZE
* sizeof(char));
11366 memcpy(out_ext
->driverInfo
, in_ext
->driverInfo
, VK_MAX_DRIVER_INFO_SIZE
* sizeof(char));
11367 out_ext
->conformanceVersion
= in_ext
->conformanceVersion
;
11368 out_ext
->denormBehaviorIndependence
= in_ext
->denormBehaviorIndependence
;
11369 out_ext
->roundingModeIndependence
= in_ext
->roundingModeIndependence
;
11370 out_ext
->shaderSignedZeroInfNanPreserveFloat16
= in_ext
->shaderSignedZeroInfNanPreserveFloat16
;
11371 out_ext
->shaderSignedZeroInfNanPreserveFloat32
= in_ext
->shaderSignedZeroInfNanPreserveFloat32
;
11372 out_ext
->shaderSignedZeroInfNanPreserveFloat64
= in_ext
->shaderSignedZeroInfNanPreserveFloat64
;
11373 out_ext
->shaderDenormPreserveFloat16
= in_ext
->shaderDenormPreserveFloat16
;
11374 out_ext
->shaderDenormPreserveFloat32
= in_ext
->shaderDenormPreserveFloat32
;
11375 out_ext
->shaderDenormPreserveFloat64
= in_ext
->shaderDenormPreserveFloat64
;
11376 out_ext
->shaderDenormFlushToZeroFloat16
= in_ext
->shaderDenormFlushToZeroFloat16
;
11377 out_ext
->shaderDenormFlushToZeroFloat32
= in_ext
->shaderDenormFlushToZeroFloat32
;
11378 out_ext
->shaderDenormFlushToZeroFloat64
= in_ext
->shaderDenormFlushToZeroFloat64
;
11379 out_ext
->shaderRoundingModeRTEFloat16
= in_ext
->shaderRoundingModeRTEFloat16
;
11380 out_ext
->shaderRoundingModeRTEFloat32
= in_ext
->shaderRoundingModeRTEFloat32
;
11381 out_ext
->shaderRoundingModeRTEFloat64
= in_ext
->shaderRoundingModeRTEFloat64
;
11382 out_ext
->shaderRoundingModeRTZFloat16
= in_ext
->shaderRoundingModeRTZFloat16
;
11383 out_ext
->shaderRoundingModeRTZFloat32
= in_ext
->shaderRoundingModeRTZFloat32
;
11384 out_ext
->shaderRoundingModeRTZFloat64
= in_ext
->shaderRoundingModeRTZFloat64
;
11385 out_ext
->maxUpdateAfterBindDescriptorsInAllPools
= in_ext
->maxUpdateAfterBindDescriptorsInAllPools
;
11386 out_ext
->shaderUniformBufferArrayNonUniformIndexingNative
= in_ext
->shaderUniformBufferArrayNonUniformIndexingNative
;
11387 out_ext
->shaderSampledImageArrayNonUniformIndexingNative
= in_ext
->shaderSampledImageArrayNonUniformIndexingNative
;
11388 out_ext
->shaderStorageBufferArrayNonUniformIndexingNative
= in_ext
->shaderStorageBufferArrayNonUniformIndexingNative
;
11389 out_ext
->shaderStorageImageArrayNonUniformIndexingNative
= in_ext
->shaderStorageImageArrayNonUniformIndexingNative
;
11390 out_ext
->shaderInputAttachmentArrayNonUniformIndexingNative
= in_ext
->shaderInputAttachmentArrayNonUniformIndexingNative
;
11391 out_ext
->robustBufferAccessUpdateAfterBind
= in_ext
->robustBufferAccessUpdateAfterBind
;
11392 out_ext
->quadDivergentImplicitLod
= in_ext
->quadDivergentImplicitLod
;
11393 out_ext
->maxPerStageDescriptorUpdateAfterBindSamplers
= in_ext
->maxPerStageDescriptorUpdateAfterBindSamplers
;
11394 out_ext
->maxPerStageDescriptorUpdateAfterBindUniformBuffers
= in_ext
->maxPerStageDescriptorUpdateAfterBindUniformBuffers
;
11395 out_ext
->maxPerStageDescriptorUpdateAfterBindStorageBuffers
= in_ext
->maxPerStageDescriptorUpdateAfterBindStorageBuffers
;
11396 out_ext
->maxPerStageDescriptorUpdateAfterBindSampledImages
= in_ext
->maxPerStageDescriptorUpdateAfterBindSampledImages
;
11397 out_ext
->maxPerStageDescriptorUpdateAfterBindStorageImages
= in_ext
->maxPerStageDescriptorUpdateAfterBindStorageImages
;
11398 out_ext
->maxPerStageDescriptorUpdateAfterBindInputAttachments
= in_ext
->maxPerStageDescriptorUpdateAfterBindInputAttachments
;
11399 out_ext
->maxPerStageUpdateAfterBindResources
= in_ext
->maxPerStageUpdateAfterBindResources
;
11400 out_ext
->maxDescriptorSetUpdateAfterBindSamplers
= in_ext
->maxDescriptorSetUpdateAfterBindSamplers
;
11401 out_ext
->maxDescriptorSetUpdateAfterBindUniformBuffers
= in_ext
->maxDescriptorSetUpdateAfterBindUniformBuffers
;
11402 out_ext
->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
= in_ext
->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
;
11403 out_ext
->maxDescriptorSetUpdateAfterBindStorageBuffers
= in_ext
->maxDescriptorSetUpdateAfterBindStorageBuffers
;
11404 out_ext
->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
= in_ext
->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
;
11405 out_ext
->maxDescriptorSetUpdateAfterBindSampledImages
= in_ext
->maxDescriptorSetUpdateAfterBindSampledImages
;
11406 out_ext
->maxDescriptorSetUpdateAfterBindStorageImages
= in_ext
->maxDescriptorSetUpdateAfterBindStorageImages
;
11407 out_ext
->maxDescriptorSetUpdateAfterBindInputAttachments
= in_ext
->maxDescriptorSetUpdateAfterBindInputAttachments
;
11408 out_ext
->supportedDepthResolveModes
= in_ext
->supportedDepthResolveModes
;
11409 out_ext
->supportedStencilResolveModes
= in_ext
->supportedStencilResolveModes
;
11410 out_ext
->independentResolveNone
= in_ext
->independentResolveNone
;
11411 out_ext
->independentResolve
= in_ext
->independentResolve
;
11412 out_ext
->filterMinmaxSingleComponentFormats
= in_ext
->filterMinmaxSingleComponentFormats
;
11413 out_ext
->filterMinmaxImageComponentMapping
= in_ext
->filterMinmaxImageComponentMapping
;
11414 out_ext
->maxTimelineSemaphoreValueDifference
= in_ext
->maxTimelineSemaphoreValueDifference
;
11415 out_ext
->framebufferIntegerColorSampleCounts
= in_ext
->framebufferIntegerColorSampleCounts
;
11416 out_header
= (void *)out_ext
;
11419 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
:
11421 VkPhysicalDeviceVulkan13Properties32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
);
11422 const VkPhysicalDeviceVulkan13Properties
*in_ext
= (const VkPhysicalDeviceVulkan13Properties
*)in_header
;
11423 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
;
11424 out_ext
->minSubgroupSize
= in_ext
->minSubgroupSize
;
11425 out_ext
->maxSubgroupSize
= in_ext
->maxSubgroupSize
;
11426 out_ext
->maxComputeWorkgroupSubgroups
= in_ext
->maxComputeWorkgroupSubgroups
;
11427 out_ext
->requiredSubgroupSizeStages
= in_ext
->requiredSubgroupSizeStages
;
11428 out_ext
->maxInlineUniformBlockSize
= in_ext
->maxInlineUniformBlockSize
;
11429 out_ext
->maxPerStageDescriptorInlineUniformBlocks
= in_ext
->maxPerStageDescriptorInlineUniformBlocks
;
11430 out_ext
->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
= in_ext
->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
;
11431 out_ext
->maxDescriptorSetInlineUniformBlocks
= in_ext
->maxDescriptorSetInlineUniformBlocks
;
11432 out_ext
->maxDescriptorSetUpdateAfterBindInlineUniformBlocks
= in_ext
->maxDescriptorSetUpdateAfterBindInlineUniformBlocks
;
11433 out_ext
->maxInlineUniformTotalSize
= in_ext
->maxInlineUniformTotalSize
;
11434 out_ext
->integerDotProduct8BitUnsignedAccelerated
= in_ext
->integerDotProduct8BitUnsignedAccelerated
;
11435 out_ext
->integerDotProduct8BitSignedAccelerated
= in_ext
->integerDotProduct8BitSignedAccelerated
;
11436 out_ext
->integerDotProduct8BitMixedSignednessAccelerated
= in_ext
->integerDotProduct8BitMixedSignednessAccelerated
;
11437 out_ext
->integerDotProduct4x8BitPackedUnsignedAccelerated
= in_ext
->integerDotProduct4x8BitPackedUnsignedAccelerated
;
11438 out_ext
->integerDotProduct4x8BitPackedSignedAccelerated
= in_ext
->integerDotProduct4x8BitPackedSignedAccelerated
;
11439 out_ext
->integerDotProduct4x8BitPackedMixedSignednessAccelerated
= in_ext
->integerDotProduct4x8BitPackedMixedSignednessAccelerated
;
11440 out_ext
->integerDotProduct16BitUnsignedAccelerated
= in_ext
->integerDotProduct16BitUnsignedAccelerated
;
11441 out_ext
->integerDotProduct16BitSignedAccelerated
= in_ext
->integerDotProduct16BitSignedAccelerated
;
11442 out_ext
->integerDotProduct16BitMixedSignednessAccelerated
= in_ext
->integerDotProduct16BitMixedSignednessAccelerated
;
11443 out_ext
->integerDotProduct32BitUnsignedAccelerated
= in_ext
->integerDotProduct32BitUnsignedAccelerated
;
11444 out_ext
->integerDotProduct32BitSignedAccelerated
= in_ext
->integerDotProduct32BitSignedAccelerated
;
11445 out_ext
->integerDotProduct32BitMixedSignednessAccelerated
= in_ext
->integerDotProduct32BitMixedSignednessAccelerated
;
11446 out_ext
->integerDotProduct64BitUnsignedAccelerated
= in_ext
->integerDotProduct64BitUnsignedAccelerated
;
11447 out_ext
->integerDotProduct64BitSignedAccelerated
= in_ext
->integerDotProduct64BitSignedAccelerated
;
11448 out_ext
->integerDotProduct64BitMixedSignednessAccelerated
= in_ext
->integerDotProduct64BitMixedSignednessAccelerated
;
11449 out_ext
->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
;
11450 out_ext
->integerDotProductAccumulatingSaturating8BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitSignedAccelerated
;
11451 out_ext
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
;
11452 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
;
11453 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
;
11454 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
;
11455 out_ext
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
;
11456 out_ext
->integerDotProductAccumulatingSaturating16BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitSignedAccelerated
;
11457 out_ext
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
;
11458 out_ext
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
;
11459 out_ext
->integerDotProductAccumulatingSaturating32BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitSignedAccelerated
;
11460 out_ext
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
;
11461 out_ext
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
;
11462 out_ext
->integerDotProductAccumulatingSaturating64BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitSignedAccelerated
;
11463 out_ext
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
;
11464 out_ext
->storageTexelBufferOffsetAlignmentBytes
= in_ext
->storageTexelBufferOffsetAlignmentBytes
;
11465 out_ext
->storageTexelBufferOffsetSingleTexelAlignment
= in_ext
->storageTexelBufferOffsetSingleTexelAlignment
;
11466 out_ext
->uniformTexelBufferOffsetAlignmentBytes
= in_ext
->uniformTexelBufferOffsetAlignmentBytes
;
11467 out_ext
->uniformTexelBufferOffsetSingleTexelAlignment
= in_ext
->uniformTexelBufferOffsetSingleTexelAlignment
;
11468 out_ext
->maxBufferSize
= in_ext
->maxBufferSize
;
11469 out_header
= (void *)out_ext
;
11472 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
:
11474 VkPhysicalDeviceCustomBorderColorPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
);
11475 const VkPhysicalDeviceCustomBorderColorPropertiesEXT
*in_ext
= (const VkPhysicalDeviceCustomBorderColorPropertiesEXT
*)in_header
;
11476 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
;
11477 out_ext
->maxCustomBorderColorSamplers
= in_ext
->maxCustomBorderColorSamplers
;
11478 out_header
= (void *)out_ext
;
11481 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
:
11483 VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
);
11484 const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
*)in_header
;
11485 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
;
11486 out_ext
->dynamicPrimitiveTopologyUnrestricted
= in_ext
->dynamicPrimitiveTopologyUnrestricted
;
11487 out_header
= (void *)out_ext
;
11490 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
:
11492 VkPhysicalDeviceRobustness2PropertiesEXT32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
);
11493 const VkPhysicalDeviceRobustness2PropertiesEXT
*in_ext
= (const VkPhysicalDeviceRobustness2PropertiesEXT
*)in_header
;
11494 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
;
11495 out_ext
->robustStorageBufferAccessSizeAlignment
= in_ext
->robustStorageBufferAccessSizeAlignment
;
11496 out_ext
->robustUniformBufferAccessSizeAlignment
= in_ext
->robustUniformBufferAccessSizeAlignment
;
11497 out_header
= (void *)out_ext
;
11500 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
:
11502 VkPhysicalDeviceFragmentShadingRatePropertiesKHR
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
);
11503 const VkPhysicalDeviceFragmentShadingRatePropertiesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShadingRatePropertiesKHR
*)in_header
;
11504 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
;
11505 out_ext
->minFragmentShadingRateAttachmentTexelSize
= in_ext
->minFragmentShadingRateAttachmentTexelSize
;
11506 out_ext
->maxFragmentShadingRateAttachmentTexelSize
= in_ext
->maxFragmentShadingRateAttachmentTexelSize
;
11507 out_ext
->maxFragmentShadingRateAttachmentTexelSizeAspectRatio
= in_ext
->maxFragmentShadingRateAttachmentTexelSizeAspectRatio
;
11508 out_ext
->primitiveFragmentShadingRateWithMultipleViewports
= in_ext
->primitiveFragmentShadingRateWithMultipleViewports
;
11509 out_ext
->layeredShadingRateAttachments
= in_ext
->layeredShadingRateAttachments
;
11510 out_ext
->fragmentShadingRateNonTrivialCombinerOps
= in_ext
->fragmentShadingRateNonTrivialCombinerOps
;
11511 out_ext
->maxFragmentSize
= in_ext
->maxFragmentSize
;
11512 out_ext
->maxFragmentSizeAspectRatio
= in_ext
->maxFragmentSizeAspectRatio
;
11513 out_ext
->maxFragmentShadingRateCoverageSamples
= in_ext
->maxFragmentShadingRateCoverageSamples
;
11514 out_ext
->maxFragmentShadingRateRasterizationSamples
= in_ext
->maxFragmentShadingRateRasterizationSamples
;
11515 out_ext
->fragmentShadingRateWithShaderDepthStencilWrites
= in_ext
->fragmentShadingRateWithShaderDepthStencilWrites
;
11516 out_ext
->fragmentShadingRateWithSampleMask
= in_ext
->fragmentShadingRateWithSampleMask
;
11517 out_ext
->fragmentShadingRateWithShaderSampleMask
= in_ext
->fragmentShadingRateWithShaderSampleMask
;
11518 out_ext
->fragmentShadingRateWithConservativeRasterization
= in_ext
->fragmentShadingRateWithConservativeRasterization
;
11519 out_ext
->fragmentShadingRateWithFragmentShaderInterlock
= in_ext
->fragmentShadingRateWithFragmentShaderInterlock
;
11520 out_ext
->fragmentShadingRateWithCustomSampleLocations
= in_ext
->fragmentShadingRateWithCustomSampleLocations
;
11521 out_ext
->fragmentShadingRateStrictMultiplyCombiner
= in_ext
->fragmentShadingRateStrictMultiplyCombiner
;
11522 out_header
= (void *)out_ext
;
11525 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
:
11527 VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
);
11528 const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
*)in_header
;
11529 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
;
11530 out_ext
->maxFragmentShadingRateInvocationCount
= in_ext
->maxFragmentShadingRateInvocationCount
;
11531 out_header
= (void *)out_ext
;
11534 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
:
11536 VkPhysicalDeviceProvokingVertexPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
);
11537 const VkPhysicalDeviceProvokingVertexPropertiesEXT
*in_ext
= (const VkPhysicalDeviceProvokingVertexPropertiesEXT
*)in_header
;
11538 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
;
11539 out_ext
->provokingVertexModePerPipeline
= in_ext
->provokingVertexModePerPipeline
;
11540 out_ext
->transformFeedbackPreservesTriangleFanProvokingVertex
= in_ext
->transformFeedbackPreservesTriangleFanProvokingVertex
;
11541 out_header
= (void *)out_ext
;
11544 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
:
11546 VkPhysicalDeviceShaderIntegerDotProductProperties
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
);
11547 const VkPhysicalDeviceShaderIntegerDotProductProperties
*in_ext
= (const VkPhysicalDeviceShaderIntegerDotProductProperties
*)in_header
;
11548 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
;
11549 out_ext
->integerDotProduct8BitUnsignedAccelerated
= in_ext
->integerDotProduct8BitUnsignedAccelerated
;
11550 out_ext
->integerDotProduct8BitSignedAccelerated
= in_ext
->integerDotProduct8BitSignedAccelerated
;
11551 out_ext
->integerDotProduct8BitMixedSignednessAccelerated
= in_ext
->integerDotProduct8BitMixedSignednessAccelerated
;
11552 out_ext
->integerDotProduct4x8BitPackedUnsignedAccelerated
= in_ext
->integerDotProduct4x8BitPackedUnsignedAccelerated
;
11553 out_ext
->integerDotProduct4x8BitPackedSignedAccelerated
= in_ext
->integerDotProduct4x8BitPackedSignedAccelerated
;
11554 out_ext
->integerDotProduct4x8BitPackedMixedSignednessAccelerated
= in_ext
->integerDotProduct4x8BitPackedMixedSignednessAccelerated
;
11555 out_ext
->integerDotProduct16BitUnsignedAccelerated
= in_ext
->integerDotProduct16BitUnsignedAccelerated
;
11556 out_ext
->integerDotProduct16BitSignedAccelerated
= in_ext
->integerDotProduct16BitSignedAccelerated
;
11557 out_ext
->integerDotProduct16BitMixedSignednessAccelerated
= in_ext
->integerDotProduct16BitMixedSignednessAccelerated
;
11558 out_ext
->integerDotProduct32BitUnsignedAccelerated
= in_ext
->integerDotProduct32BitUnsignedAccelerated
;
11559 out_ext
->integerDotProduct32BitSignedAccelerated
= in_ext
->integerDotProduct32BitSignedAccelerated
;
11560 out_ext
->integerDotProduct32BitMixedSignednessAccelerated
= in_ext
->integerDotProduct32BitMixedSignednessAccelerated
;
11561 out_ext
->integerDotProduct64BitUnsignedAccelerated
= in_ext
->integerDotProduct64BitUnsignedAccelerated
;
11562 out_ext
->integerDotProduct64BitSignedAccelerated
= in_ext
->integerDotProduct64BitSignedAccelerated
;
11563 out_ext
->integerDotProduct64BitMixedSignednessAccelerated
= in_ext
->integerDotProduct64BitMixedSignednessAccelerated
;
11564 out_ext
->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
;
11565 out_ext
->integerDotProductAccumulatingSaturating8BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitSignedAccelerated
;
11566 out_ext
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
;
11567 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
;
11568 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
;
11569 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
;
11570 out_ext
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
;
11571 out_ext
->integerDotProductAccumulatingSaturating16BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitSignedAccelerated
;
11572 out_ext
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
;
11573 out_ext
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
;
11574 out_ext
->integerDotProductAccumulatingSaturating32BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitSignedAccelerated
;
11575 out_ext
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
;
11576 out_ext
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
;
11577 out_ext
->integerDotProductAccumulatingSaturating64BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitSignedAccelerated
;
11578 out_ext
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
;
11579 out_header
= (void *)out_ext
;
11582 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
:
11584 VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
);
11585 const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
*)in_header
;
11586 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
;
11587 out_ext
->triStripVertexOrderIndependentOfProvokingVertex
= in_ext
->triStripVertexOrderIndependentOfProvokingVertex
;
11588 out_header
= (void *)out_ext
;
11591 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
:
11593 VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
);
11594 const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
*)in_header
;
11595 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
;
11596 out_ext
->graphicsPipelineLibraryFastLinking
= in_ext
->graphicsPipelineLibraryFastLinking
;
11597 out_ext
->graphicsPipelineLibraryIndependentInterpolationDecoration
= in_ext
->graphicsPipelineLibraryIndependentInterpolationDecoration
;
11598 out_header
= (void *)out_ext
;
11601 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
:
11603 VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
);
11604 const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
*in_ext
= (const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
*)in_header
;
11605 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
;
11606 memcpy(out_ext
->shaderModuleIdentifierAlgorithmUUID
, in_ext
->shaderModuleIdentifierAlgorithmUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
11607 out_header
= (void *)out_ext
;
11610 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
:
11612 VkPhysicalDeviceOpacityMicromapPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
);
11613 const VkPhysicalDeviceOpacityMicromapPropertiesEXT
*in_ext
= (const VkPhysicalDeviceOpacityMicromapPropertiesEXT
*)in_header
;
11614 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
;
11615 out_ext
->maxOpacity2StateSubdivisionLevel
= in_ext
->maxOpacity2StateSubdivisionLevel
;
11616 out_ext
->maxOpacity4StateSubdivisionLevel
= in_ext
->maxOpacity4StateSubdivisionLevel
;
11617 out_header
= (void *)out_ext
;
11620 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
:
11622 VkPhysicalDevicePipelineRobustnessPropertiesEXT
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
);
11623 const VkPhysicalDevicePipelineRobustnessPropertiesEXT
*in_ext
= (const VkPhysicalDevicePipelineRobustnessPropertiesEXT
*)in_header
;
11624 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
;
11625 out_ext
->defaultRobustnessStorageBuffers
= in_ext
->defaultRobustnessStorageBuffers
;
11626 out_ext
->defaultRobustnessUniformBuffers
= in_ext
->defaultRobustnessUniformBuffers
;
11627 out_ext
->defaultRobustnessVertexInputs
= in_ext
->defaultRobustnessVertexInputs
;
11628 out_ext
->defaultRobustnessImages
= in_ext
->defaultRobustnessImages
;
11629 out_header
= (void *)out_ext
;
11632 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
:
11634 VkPhysicalDeviceImageProcessingPropertiesQCOM
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
);
11635 const VkPhysicalDeviceImageProcessingPropertiesQCOM
*in_ext
= (const VkPhysicalDeviceImageProcessingPropertiesQCOM
*)in_header
;
11636 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
;
11637 out_ext
->maxWeightFilterPhases
= in_ext
->maxWeightFilterPhases
;
11638 out_ext
->maxWeightFilterDimension
= in_ext
->maxWeightFilterDimension
;
11639 out_ext
->maxBlockMatchRegion
= in_ext
->maxBlockMatchRegion
;
11640 out_ext
->maxBoxFilterBlockSize
= in_ext
->maxBoxFilterBlockSize
;
11641 out_header
= (void *)out_ext
;
11644 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
:
11646 VkPhysicalDeviceOpticalFlowPropertiesNV
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
);
11647 const VkPhysicalDeviceOpticalFlowPropertiesNV
*in_ext
= (const VkPhysicalDeviceOpticalFlowPropertiesNV
*)in_header
;
11648 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
;
11649 out_ext
->supportedOutputGridSizes
= in_ext
->supportedOutputGridSizes
;
11650 out_ext
->supportedHintGridSizes
= in_ext
->supportedHintGridSizes
;
11651 out_ext
->hintSupported
= in_ext
->hintSupported
;
11652 out_ext
->costSupported
= in_ext
->costSupported
;
11653 out_ext
->bidirectionalFlowSupported
= in_ext
->bidirectionalFlowSupported
;
11654 out_ext
->globalFlowSupported
= in_ext
->globalFlowSupported
;
11655 out_ext
->minWidth
= in_ext
->minWidth
;
11656 out_ext
->minHeight
= in_ext
->minHeight
;
11657 out_ext
->maxWidth
= in_ext
->maxWidth
;
11658 out_ext
->maxHeight
= in_ext
->maxHeight
;
11659 out_ext
->maxNumRegionsOfInterest
= in_ext
->maxNumRegionsOfInterest
;
11660 out_header
= (void *)out_ext
;
11663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
:
11665 VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM32
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
);
11666 const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM
*in_ext
= (const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM
*)in_header
;
11667 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
;
11668 out_ext
->shaderCoreMask
= in_ext
->shaderCoreMask
;
11669 out_ext
->shaderCoreCount
= in_ext
->shaderCoreCount
;
11670 out_ext
->shaderWarpsPerCore
= in_ext
->shaderWarpsPerCore
;
11671 out_header
= (void *)out_ext
;
11674 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
:
11676 VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV
*out_ext
= find_next_struct(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
);
11677 const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV
*in_ext
= (const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV
*)in_header
;
11678 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
;
11679 out_ext
->rayTracingInvocationReorderReorderingHint
= in_ext
->rayTracingInvocationReorderReorderingHint
;
11680 out_header
= (void *)out_ext
;
11688 #endif /* USE_STRUCT_CONVERSION */
11690 #if defined(USE_STRUCT_CONVERSION)
11691 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host(const VkPhysicalDeviceSurfaceInfo2KHR32
*in
, VkPhysicalDeviceSurfaceInfo2KHR
*out
)
11695 out
->sType
= in
->sType
;
11696 out
->pNext
= in
->pNext
;
11697 out
->surface
= in
->surface
;
11699 #endif /* USE_STRUCT_CONVERSION */
11701 #if !defined(USE_STRUCT_CONVERSION)
11702 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win64_to_host(const VkPhysicalDeviceSurfaceInfo2KHR
*in
, VkPhysicalDeviceSurfaceInfo2KHR
*out
)
11706 out
->sType
= in
->sType
;
11707 out
->pNext
= in
->pNext
;
11708 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
11710 #endif /* USE_STRUCT_CONVERSION */
11712 #if defined(USE_STRUCT_CONVERSION)
11713 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host(const VkPhysicalDeviceSurfaceInfo2KHR32
*in
, VkPhysicalDeviceSurfaceInfo2KHR
*out
)
11717 out
->sType
= in
->sType
;
11718 out
->pNext
= in
->pNext
;
11719 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
11721 #endif /* USE_STRUCT_CONVERSION */
11723 #if defined(USE_STRUCT_CONVERSION)
11724 static inline void convert_VkPipelineExecutableInfoKHR_win32_to_host(const VkPipelineExecutableInfoKHR32
*in
, VkPipelineExecutableInfoKHR
*out
)
11728 out
->sType
= in
->sType
;
11729 out
->pNext
= in
->pNext
;
11730 out
->pipeline
= in
->pipeline
;
11731 out
->executableIndex
= in
->executableIndex
;
11733 #endif /* USE_STRUCT_CONVERSION */
11735 #if defined(USE_STRUCT_CONVERSION)
11736 static inline void convert_VkPipelineInfoKHR_win32_to_host(const VkPipelineInfoKHR32
*in
, VkPipelineInfoKHR
*out
)
11740 out
->sType
= in
->sType
;
11741 out
->pNext
= in
->pNext
;
11742 out
->pipeline
= in
->pipeline
;
11744 #endif /* USE_STRUCT_CONVERSION */
11746 #if defined(USE_STRUCT_CONVERSION)
11747 static inline void convert_VkPipelineExecutableStatisticKHR_win32_to_host(const VkPipelineExecutableStatisticKHR32
*in
, VkPipelineExecutableStatisticKHR
*out
)
11751 out
->sType
= in
->sType
;
11752 out
->pNext
= in
->pNext
;
11754 #endif /* USE_STRUCT_CONVERSION */
11756 #if defined(USE_STRUCT_CONVERSION)
11757 static inline void convert_VkPipelineExecutableStatisticKHR_host_to_win32(const VkPipelineExecutableStatisticKHR
*in
, VkPipelineExecutableStatisticKHR32
*out
)
11761 memcpy(out
->name
, in
->name
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
11762 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
11763 out
->format
= in
->format
;
11764 out
->value
= in
->value
;
11766 #endif /* USE_STRUCT_CONVERSION */
11768 #if defined(USE_STRUCT_CONVERSION)
11769 static inline VkPipelineExecutableStatisticKHR
*convert_VkPipelineExecutableStatisticKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineExecutableStatisticKHR32
*in
, uint32_t count
)
11771 VkPipelineExecutableStatisticKHR
*out
;
11774 if (!in
|| !count
) return NULL
;
11776 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
11777 for (i
= 0; i
< count
; i
++)
11779 convert_VkPipelineExecutableStatisticKHR_win32_to_host(&in
[i
], &out
[i
]);
11784 #endif /* USE_STRUCT_CONVERSION */
11786 #if defined(USE_STRUCT_CONVERSION)
11787 static inline void convert_VkPipelineExecutableStatisticKHR_array_host_to_win32(const VkPipelineExecutableStatisticKHR
*in
, VkPipelineExecutableStatisticKHR32
*out
, uint32_t count
)
11793 for (i
= 0; i
< count
; i
++)
11795 convert_VkPipelineExecutableStatisticKHR_host_to_win32(&in
[i
], &out
[i
]);
11798 #endif /* USE_STRUCT_CONVERSION */
11800 #if defined(USE_STRUCT_CONVERSION)
11801 static inline void convert_VkPipelineInfoEXT_win32_to_host(const VkPipelineInfoEXT32
*in
, VkPipelineInfoEXT
*out
)
11805 out
->sType
= in
->sType
;
11806 out
->pNext
= in
->pNext
;
11807 out
->pipeline
= in
->pipeline
;
11809 #endif /* USE_STRUCT_CONVERSION */
11811 #if defined(USE_STRUCT_CONVERSION)
11812 static inline void convert_VkSparseMemoryBind_win32_to_host(const VkSparseMemoryBind32
*in
, VkSparseMemoryBind
*out
)
11816 out
->resourceOffset
= in
->resourceOffset
;
11817 out
->size
= in
->size
;
11818 out
->memory
= in
->memory
;
11819 out
->memoryOffset
= in
->memoryOffset
;
11820 out
->flags
= in
->flags
;
11822 #endif /* USE_STRUCT_CONVERSION */
11824 #if defined(USE_STRUCT_CONVERSION)
11825 static inline const VkSparseMemoryBind
*convert_VkSparseMemoryBind_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseMemoryBind32
*in
, uint32_t count
)
11827 VkSparseMemoryBind
*out
;
11830 if (!in
|| !count
) return NULL
;
11832 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
11833 for (i
= 0; i
< count
; i
++)
11835 convert_VkSparseMemoryBind_win32_to_host(&in
[i
], &out
[i
]);
11840 #endif /* USE_STRUCT_CONVERSION */
11842 #if defined(USE_STRUCT_CONVERSION)
11843 static inline void convert_VkSparseBufferMemoryBindInfo_win32_to_host(struct conversion_context
*ctx
, const VkSparseBufferMemoryBindInfo32
*in
, VkSparseBufferMemoryBindInfo
*out
)
11847 out
->buffer
= in
->buffer
;
11848 out
->bindCount
= in
->bindCount
;
11849 out
->pBinds
= convert_VkSparseMemoryBind_array_win32_to_host(ctx
, in
->pBinds
, in
->bindCount
);
11851 #endif /* USE_STRUCT_CONVERSION */
11853 #if defined(USE_STRUCT_CONVERSION)
11854 static inline const VkSparseBufferMemoryBindInfo
*convert_VkSparseBufferMemoryBindInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseBufferMemoryBindInfo32
*in
, uint32_t count
)
11856 VkSparseBufferMemoryBindInfo
*out
;
11859 if (!in
|| !count
) return NULL
;
11861 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
11862 for (i
= 0; i
< count
; i
++)
11864 convert_VkSparseBufferMemoryBindInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
11869 #endif /* USE_STRUCT_CONVERSION */
11871 #if defined(USE_STRUCT_CONVERSION)
11872 static inline void convert_VkSparseImageOpaqueMemoryBindInfo_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageOpaqueMemoryBindInfo32
*in
, VkSparseImageOpaqueMemoryBindInfo
*out
)
11876 out
->image
= in
->image
;
11877 out
->bindCount
= in
->bindCount
;
11878 out
->pBinds
= convert_VkSparseMemoryBind_array_win32_to_host(ctx
, in
->pBinds
, in
->bindCount
);
11880 #endif /* USE_STRUCT_CONVERSION */
11882 #if defined(USE_STRUCT_CONVERSION)
11883 static inline const VkSparseImageOpaqueMemoryBindInfo
*convert_VkSparseImageOpaqueMemoryBindInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageOpaqueMemoryBindInfo32
*in
, uint32_t count
)
11885 VkSparseImageOpaqueMemoryBindInfo
*out
;
11888 if (!in
|| !count
) return NULL
;
11890 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
11891 for (i
= 0; i
< count
; i
++)
11893 convert_VkSparseImageOpaqueMemoryBindInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
11898 #endif /* USE_STRUCT_CONVERSION */
11900 #if defined(USE_STRUCT_CONVERSION)
11901 static inline void convert_VkSparseImageMemoryBind_win32_to_host(const VkSparseImageMemoryBind32
*in
, VkSparseImageMemoryBind
*out
)
11905 out
->subresource
= in
->subresource
;
11906 out
->offset
= in
->offset
;
11907 out
->extent
= in
->extent
;
11908 out
->memory
= in
->memory
;
11909 out
->memoryOffset
= in
->memoryOffset
;
11910 out
->flags
= in
->flags
;
11912 #endif /* USE_STRUCT_CONVERSION */
11914 #if defined(USE_STRUCT_CONVERSION)
11915 static inline const VkSparseImageMemoryBind
*convert_VkSparseImageMemoryBind_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageMemoryBind32
*in
, uint32_t count
)
11917 VkSparseImageMemoryBind
*out
;
11920 if (!in
|| !count
) return NULL
;
11922 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
11923 for (i
= 0; i
< count
; i
++)
11925 convert_VkSparseImageMemoryBind_win32_to_host(&in
[i
], &out
[i
]);
11930 #endif /* USE_STRUCT_CONVERSION */
11932 #if defined(USE_STRUCT_CONVERSION)
11933 static inline void convert_VkSparseImageMemoryBindInfo_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageMemoryBindInfo32
*in
, VkSparseImageMemoryBindInfo
*out
)
11937 out
->image
= in
->image
;
11938 out
->bindCount
= in
->bindCount
;
11939 out
->pBinds
= convert_VkSparseImageMemoryBind_array_win32_to_host(ctx
, in
->pBinds
, in
->bindCount
);
11941 #endif /* USE_STRUCT_CONVERSION */
11943 #if defined(USE_STRUCT_CONVERSION)
11944 static inline const VkSparseImageMemoryBindInfo
*convert_VkSparseImageMemoryBindInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageMemoryBindInfo32
*in
, uint32_t count
)
11946 VkSparseImageMemoryBindInfo
*out
;
11949 if (!in
|| !count
) return NULL
;
11951 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
11952 for (i
= 0; i
< count
; i
++)
11954 convert_VkSparseImageMemoryBindInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
11959 #endif /* USE_STRUCT_CONVERSION */
11961 #if defined(USE_STRUCT_CONVERSION)
11962 static inline void convert_VkBindSparseInfo_win32_to_host(struct conversion_context
*ctx
, const VkBindSparseInfo32
*in
, VkBindSparseInfo
*out
)
11966 out
->sType
= in
->sType
;
11967 out
->pNext
= in
->pNext
;
11968 out
->waitSemaphoreCount
= in
->waitSemaphoreCount
;
11969 out
->pWaitSemaphores
= in
->pWaitSemaphores
;
11970 out
->bufferBindCount
= in
->bufferBindCount
;
11971 out
->pBufferBinds
= convert_VkSparseBufferMemoryBindInfo_array_win32_to_host(ctx
, in
->pBufferBinds
, in
->bufferBindCount
);
11972 out
->imageOpaqueBindCount
= in
->imageOpaqueBindCount
;
11973 out
->pImageOpaqueBinds
= convert_VkSparseImageOpaqueMemoryBindInfo_array_win32_to_host(ctx
, in
->pImageOpaqueBinds
, in
->imageOpaqueBindCount
);
11974 out
->imageBindCount
= in
->imageBindCount
;
11975 out
->pImageBinds
= convert_VkSparseImageMemoryBindInfo_array_win32_to_host(ctx
, in
->pImageBinds
, in
->imageBindCount
);
11976 out
->signalSemaphoreCount
= in
->signalSemaphoreCount
;
11977 out
->pSignalSemaphores
= in
->pSignalSemaphores
;
11979 #endif /* USE_STRUCT_CONVERSION */
11981 #if defined(USE_STRUCT_CONVERSION)
11982 static inline const VkBindSparseInfo
*convert_VkBindSparseInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkBindSparseInfo32
*in
, uint32_t count
)
11984 VkBindSparseInfo
*out
;
11987 if (!in
|| !count
) return NULL
;
11989 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
11990 for (i
= 0; i
< count
; i
++)
11992 convert_VkBindSparseInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
11997 #endif /* USE_STRUCT_CONVERSION */
11999 #if !defined(USE_STRUCT_CONVERSION)
12000 static inline void convert_VkSubmitInfo_win64_to_host(struct conversion_context
*ctx
, const VkSubmitInfo
*in
, VkSubmitInfo
*out
)
12004 out
->sType
= in
->sType
;
12005 out
->pNext
= in
->pNext
;
12006 out
->waitSemaphoreCount
= in
->waitSemaphoreCount
;
12007 out
->pWaitSemaphores
= in
->pWaitSemaphores
;
12008 out
->pWaitDstStageMask
= in
->pWaitDstStageMask
;
12009 out
->commandBufferCount
= in
->commandBufferCount
;
12010 out
->pCommandBuffers
= convert_VkCommandBuffer_array_win64_to_host(ctx
, in
->pCommandBuffers
, in
->commandBufferCount
);
12011 out
->signalSemaphoreCount
= in
->signalSemaphoreCount
;
12012 out
->pSignalSemaphores
= in
->pSignalSemaphores
;
12014 #endif /* USE_STRUCT_CONVERSION */
12016 #if defined(USE_STRUCT_CONVERSION)
12017 static inline void convert_VkSubmitInfo_win32_to_host(struct conversion_context
*ctx
, const VkSubmitInfo
*in
, VkSubmitInfo
*out
)
12021 out
->sType
= in
->sType
;
12022 out
->pNext
= in
->pNext
;
12023 out
->waitSemaphoreCount
= in
->waitSemaphoreCount
;
12024 out
->pWaitSemaphores
= in
->pWaitSemaphores
;
12025 out
->pWaitDstStageMask
= in
->pWaitDstStageMask
;
12026 out
->commandBufferCount
= in
->commandBufferCount
;
12027 out
->pCommandBuffers
= convert_VkCommandBuffer_array_win32_to_host(ctx
, in
->pCommandBuffers
, in
->commandBufferCount
);
12028 out
->signalSemaphoreCount
= in
->signalSemaphoreCount
;
12029 out
->pSignalSemaphores
= in
->pSignalSemaphores
;
12031 #endif /* USE_STRUCT_CONVERSION */
12033 #if !defined(USE_STRUCT_CONVERSION)
12034 static inline const VkSubmitInfo
*convert_VkSubmitInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkSubmitInfo
*in
, uint32_t count
)
12039 if (!in
|| !count
) return NULL
;
12041 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12042 for (i
= 0; i
< count
; i
++)
12044 convert_VkSubmitInfo_win64_to_host(ctx
, &in
[i
], &out
[i
]);
12049 #endif /* USE_STRUCT_CONVERSION */
12051 #if defined(USE_STRUCT_CONVERSION)
12052 static inline const VkSubmitInfo
*convert_VkSubmitInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSubmitInfo
*in
, uint32_t count
)
12057 if (!in
|| !count
) return NULL
;
12059 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12060 for (i
= 0; i
< count
; i
++)
12062 convert_VkSubmitInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
12067 #endif /* USE_STRUCT_CONVERSION */
12069 #if defined(USE_STRUCT_CONVERSION)
12070 static inline void convert_VkSemaphoreSubmitInfo_win32_to_host(const VkSemaphoreSubmitInfo32
*in
, VkSemaphoreSubmitInfo
*out
)
12074 out
->sType
= in
->sType
;
12075 out
->pNext
= in
->pNext
;
12076 out
->semaphore
= in
->semaphore
;
12077 out
->value
= in
->value
;
12078 out
->stageMask
= in
->stageMask
;
12079 out
->deviceIndex
= in
->deviceIndex
;
12081 #endif /* USE_STRUCT_CONVERSION */
12083 #if defined(USE_STRUCT_CONVERSION)
12084 static inline const VkSemaphoreSubmitInfo
*convert_VkSemaphoreSubmitInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSemaphoreSubmitInfo32
*in
, uint32_t count
)
12086 VkSemaphoreSubmitInfo
*out
;
12089 if (!in
|| !count
) return NULL
;
12091 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12092 for (i
= 0; i
< count
; i
++)
12094 convert_VkSemaphoreSubmitInfo_win32_to_host(&in
[i
], &out
[i
]);
12099 #endif /* USE_STRUCT_CONVERSION */
12101 #if !defined(USE_STRUCT_CONVERSION)
12102 static inline void convert_VkCommandBufferSubmitInfo_win64_to_host(const VkCommandBufferSubmitInfo
*in
, VkCommandBufferSubmitInfo
*out
)
12106 out
->sType
= in
->sType
;
12107 out
->pNext
= in
->pNext
;
12108 out
->commandBuffer
= wine_cmd_buffer_from_handle(in
->commandBuffer
)->command_buffer
;
12109 out
->deviceMask
= in
->deviceMask
;
12111 #endif /* USE_STRUCT_CONVERSION */
12113 #if defined(USE_STRUCT_CONVERSION)
12114 static inline void convert_VkCommandBufferSubmitInfo_win32_to_host(const VkCommandBufferSubmitInfo
*in
, VkCommandBufferSubmitInfo
*out
)
12118 out
->sType
= in
->sType
;
12119 out
->pNext
= in
->pNext
;
12120 out
->commandBuffer
= wine_cmd_buffer_from_handle(in
->commandBuffer
)->command_buffer
;
12121 out
->deviceMask
= in
->deviceMask
;
12123 #endif /* USE_STRUCT_CONVERSION */
12125 #if !defined(USE_STRUCT_CONVERSION)
12126 static inline const VkCommandBufferSubmitInfo
*convert_VkCommandBufferSubmitInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkCommandBufferSubmitInfo
*in
, uint32_t count
)
12128 VkCommandBufferSubmitInfo
*out
;
12131 if (!in
|| !count
) return NULL
;
12133 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12134 for (i
= 0; i
< count
; i
++)
12136 convert_VkCommandBufferSubmitInfo_win64_to_host(&in
[i
], &out
[i
]);
12141 #endif /* USE_STRUCT_CONVERSION */
12143 #if defined(USE_STRUCT_CONVERSION)
12144 static inline const VkCommandBufferSubmitInfo
*convert_VkCommandBufferSubmitInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkCommandBufferSubmitInfo
*in
, uint32_t count
)
12146 VkCommandBufferSubmitInfo
*out
;
12149 if (!in
|| !count
) return NULL
;
12151 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12152 for (i
= 0; i
< count
; i
++)
12154 convert_VkCommandBufferSubmitInfo_win32_to_host(&in
[i
], &out
[i
]);
12159 #endif /* USE_STRUCT_CONVERSION */
12161 #if !defined(USE_STRUCT_CONVERSION)
12162 static inline void convert_VkSubmitInfo2_win64_to_host(struct conversion_context
*ctx
, const VkSubmitInfo2
*in
, VkSubmitInfo2
*out
)
12166 out
->sType
= in
->sType
;
12167 out
->pNext
= in
->pNext
;
12168 out
->flags
= in
->flags
;
12169 out
->waitSemaphoreInfoCount
= in
->waitSemaphoreInfoCount
;
12170 out
->pWaitSemaphoreInfos
= in
->pWaitSemaphoreInfos
;
12171 out
->commandBufferInfoCount
= in
->commandBufferInfoCount
;
12172 out
->pCommandBufferInfos
= convert_VkCommandBufferSubmitInfo_array_win64_to_host(ctx
, in
->pCommandBufferInfos
, in
->commandBufferInfoCount
);
12173 out
->signalSemaphoreInfoCount
= in
->signalSemaphoreInfoCount
;
12174 out
->pSignalSemaphoreInfos
= in
->pSignalSemaphoreInfos
;
12176 #endif /* USE_STRUCT_CONVERSION */
12178 #if defined(USE_STRUCT_CONVERSION)
12179 static inline void convert_VkSubmitInfo2_win32_to_host(struct conversion_context
*ctx
, const VkSubmitInfo232
*in
, VkSubmitInfo2
*out
)
12183 out
->sType
= in
->sType
;
12184 out
->pNext
= in
->pNext
;
12185 out
->flags
= in
->flags
;
12186 out
->waitSemaphoreInfoCount
= in
->waitSemaphoreInfoCount
;
12187 out
->pWaitSemaphoreInfos
= convert_VkSemaphoreSubmitInfo_array_win32_to_host(ctx
, in
->pWaitSemaphoreInfos
, in
->waitSemaphoreInfoCount
);
12188 out
->commandBufferInfoCount
= in
->commandBufferInfoCount
;
12189 out
->pCommandBufferInfos
= convert_VkCommandBufferSubmitInfo_array_win32_to_host(ctx
, in
->pCommandBufferInfos
, in
->commandBufferInfoCount
);
12190 out
->signalSemaphoreInfoCount
= in
->signalSemaphoreInfoCount
;
12191 out
->pSignalSemaphoreInfos
= convert_VkSemaphoreSubmitInfo_array_win32_to_host(ctx
, in
->pSignalSemaphoreInfos
, in
->signalSemaphoreInfoCount
);
12193 #endif /* USE_STRUCT_CONVERSION */
12195 #if !defined(USE_STRUCT_CONVERSION)
12196 static inline const VkSubmitInfo2
*convert_VkSubmitInfo2_array_win64_to_host(struct conversion_context
*ctx
, const VkSubmitInfo2
*in
, uint32_t count
)
12198 VkSubmitInfo2
*out
;
12201 if (!in
|| !count
) return NULL
;
12203 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12204 for (i
= 0; i
< count
; i
++)
12206 convert_VkSubmitInfo2_win64_to_host(ctx
, &in
[i
], &out
[i
]);
12211 #endif /* USE_STRUCT_CONVERSION */
12213 #if defined(USE_STRUCT_CONVERSION)
12214 static inline const VkSubmitInfo2
*convert_VkSubmitInfo2_array_win32_to_host(struct conversion_context
*ctx
, const VkSubmitInfo232
*in
, uint32_t count
)
12216 VkSubmitInfo2
*out
;
12219 if (!in
|| !count
) return NULL
;
12221 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12222 for (i
= 0; i
< count
; i
++)
12224 convert_VkSubmitInfo2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
12229 #endif /* USE_STRUCT_CONVERSION */
12231 #if !defined(USE_STRUCT_CONVERSION)
12232 static inline void convert_VkDebugUtilsObjectNameInfoEXT_win64_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, VkDebugUtilsObjectNameInfoEXT
*out
)
12236 out
->sType
= in
->sType
;
12237 out
->pNext
= in
->pNext
;
12238 out
->objectType
= in
->objectType
;
12239 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
12240 out
->pObjectName
= in
->pObjectName
;
12242 #endif /* USE_STRUCT_CONVERSION */
12244 #if defined(USE_STRUCT_CONVERSION)
12245 static inline void convert_VkDebugUtilsObjectNameInfoEXT_win32_to_host(const VkDebugUtilsObjectNameInfoEXT32
*in
, VkDebugUtilsObjectNameInfoEXT
*out
)
12249 out
->sType
= in
->sType
;
12250 out
->pNext
= in
->pNext
;
12251 out
->objectType
= in
->objectType
;
12252 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
12253 out
->pObjectName
= in
->pObjectName
;
12255 #endif /* USE_STRUCT_CONVERSION */
12257 #if !defined(USE_STRUCT_CONVERSION)
12258 static inline void convert_VkDebugUtilsObjectTagInfoEXT_win64_to_host(const VkDebugUtilsObjectTagInfoEXT
*in
, VkDebugUtilsObjectTagInfoEXT
*out
)
12262 out
->sType
= in
->sType
;
12263 out
->pNext
= in
->pNext
;
12264 out
->objectType
= in
->objectType
;
12265 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
12266 out
->tagName
= in
->tagName
;
12267 out
->tagSize
= in
->tagSize
;
12268 out
->pTag
= in
->pTag
;
12270 #endif /* USE_STRUCT_CONVERSION */
12272 #if defined(USE_STRUCT_CONVERSION)
12273 static inline void convert_VkDebugUtilsObjectTagInfoEXT_win32_to_host(const VkDebugUtilsObjectTagInfoEXT32
*in
, VkDebugUtilsObjectTagInfoEXT
*out
)
12277 out
->sType
= in
->sType
;
12278 out
->pNext
= in
->pNext
;
12279 out
->objectType
= in
->objectType
;
12280 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
12281 out
->tagName
= in
->tagName
;
12282 out
->tagSize
= in
->tagSize
;
12283 out
->pTag
= in
->pTag
;
12285 #endif /* USE_STRUCT_CONVERSION */
12287 #if defined(USE_STRUCT_CONVERSION)
12288 static inline void convert_VkSemaphoreSignalInfo_win32_to_host(const VkSemaphoreSignalInfo32
*in
, VkSemaphoreSignalInfo
*out
)
12292 out
->sType
= in
->sType
;
12293 out
->pNext
= in
->pNext
;
12294 out
->semaphore
= in
->semaphore
;
12295 out
->value
= in
->value
;
12297 #endif /* USE_STRUCT_CONVERSION */
12299 #if !defined(USE_STRUCT_CONVERSION)
12300 static inline const VkDebugUtilsObjectNameInfoEXT
*convert_VkDebugUtilsObjectNameInfoEXT_array_win64_to_host(struct conversion_context
*ctx
, const VkDebugUtilsObjectNameInfoEXT
*in
, uint32_t count
)
12302 VkDebugUtilsObjectNameInfoEXT
*out
;
12305 if (!in
|| !count
) return NULL
;
12307 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12308 for (i
= 0; i
< count
; i
++)
12310 convert_VkDebugUtilsObjectNameInfoEXT_win64_to_host(&in
[i
], &out
[i
]);
12315 #endif /* USE_STRUCT_CONVERSION */
12317 #if defined(USE_STRUCT_CONVERSION)
12318 static inline const VkDebugUtilsObjectNameInfoEXT
*convert_VkDebugUtilsObjectNameInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkDebugUtilsObjectNameInfoEXT32
*in
, uint32_t count
)
12320 VkDebugUtilsObjectNameInfoEXT
*out
;
12323 if (!in
|| !count
) return NULL
;
12325 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12326 for (i
= 0; i
< count
; i
++)
12328 convert_VkDebugUtilsObjectNameInfoEXT_win32_to_host(&in
[i
], &out
[i
]);
12333 #endif /* USE_STRUCT_CONVERSION */
12335 #if !defined(USE_STRUCT_CONVERSION)
12336 static inline void convert_VkDebugUtilsMessengerCallbackDataEXT_win64_to_host(struct conversion_context
*ctx
, const VkDebugUtilsMessengerCallbackDataEXT
*in
, VkDebugUtilsMessengerCallbackDataEXT
*out
)
12340 out
->sType
= in
->sType
;
12341 out
->pNext
= in
->pNext
;
12342 out
->flags
= in
->flags
;
12343 out
->pMessageIdName
= in
->pMessageIdName
;
12344 out
->messageIdNumber
= in
->messageIdNumber
;
12345 out
->pMessage
= in
->pMessage
;
12346 out
->queueLabelCount
= in
->queueLabelCount
;
12347 out
->pQueueLabels
= in
->pQueueLabels
;
12348 out
->cmdBufLabelCount
= in
->cmdBufLabelCount
;
12349 out
->pCmdBufLabels
= in
->pCmdBufLabels
;
12350 out
->objectCount
= in
->objectCount
;
12351 out
->pObjects
= convert_VkDebugUtilsObjectNameInfoEXT_array_win64_to_host(ctx
, in
->pObjects
, in
->objectCount
);
12353 #endif /* USE_STRUCT_CONVERSION */
12355 #if defined(USE_STRUCT_CONVERSION)
12356 static inline void convert_VkDebugUtilsMessengerCallbackDataEXT_win32_to_host(struct conversion_context
*ctx
, const VkDebugUtilsMessengerCallbackDataEXT32
*in
, VkDebugUtilsMessengerCallbackDataEXT
*out
)
12358 const VkBaseInStructure
*in_header
;
12359 VkBaseOutStructure
*out_header
= (void *)out
;
12363 out
->sType
= in
->sType
;
12365 out
->flags
= in
->flags
;
12366 out
->pMessageIdName
= in
->pMessageIdName
;
12367 out
->messageIdNumber
= in
->messageIdNumber
;
12368 out
->pMessage
= in
->pMessage
;
12369 out
->queueLabelCount
= in
->queueLabelCount
;
12370 out
->pQueueLabels
= in
->pQueueLabels
;
12371 out
->cmdBufLabelCount
= in
->cmdBufLabelCount
;
12372 out
->pCmdBufLabels
= in
->pCmdBufLabels
;
12373 out
->objectCount
= in
->objectCount
;
12374 out
->pObjects
= convert_VkDebugUtilsObjectNameInfoEXT_array_win32_to_host(ctx
, in
->pObjects
, in
->objectCount
);
12376 for (in_header
= in
->pNext
; in_header
; in_header
= in_header
->pNext
)
12378 switch (in_header
->sType
)
12380 case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT
:
12382 VkDeviceAddressBindingCallbackDataEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12383 const VkDeviceAddressBindingCallbackDataEXT32
*in_ext
= (const VkDeviceAddressBindingCallbackDataEXT32
*)in_header
;
12384 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT
;
12385 out_ext
->pNext
= NULL
;
12386 out_ext
->flags
= in_ext
->flags
;
12387 out_ext
->baseAddress
= in_ext
->baseAddress
;
12388 out_ext
->size
= in_ext
->size
;
12389 out_ext
->bindingType
= in_ext
->bindingType
;
12390 out_header
->pNext
= (void *)out_ext
;
12391 out_header
= (void *)out_ext
;
12395 FIXME("Unhandled sType %u.", in_header
->sType
);
12400 #endif /* USE_STRUCT_CONVERSION */
12402 #if defined(USE_STRUCT_CONVERSION)
12403 static inline void convert_VkCopyDescriptorSet_win32_to_host(const VkCopyDescriptorSet32
*in
, VkCopyDescriptorSet
*out
)
12407 out
->sType
= in
->sType
;
12408 out
->pNext
= in
->pNext
;
12409 out
->srcSet
= in
->srcSet
;
12410 out
->srcBinding
= in
->srcBinding
;
12411 out
->srcArrayElement
= in
->srcArrayElement
;
12412 out
->dstSet
= in
->dstSet
;
12413 out
->dstBinding
= in
->dstBinding
;
12414 out
->dstArrayElement
= in
->dstArrayElement
;
12415 out
->descriptorCount
= in
->descriptorCount
;
12417 #endif /* USE_STRUCT_CONVERSION */
12419 #if defined(USE_STRUCT_CONVERSION)
12420 static inline const VkCopyDescriptorSet
*convert_VkCopyDescriptorSet_array_win32_to_host(struct conversion_context
*ctx
, const VkCopyDescriptorSet32
*in
, uint32_t count
)
12422 VkCopyDescriptorSet
*out
;
12425 if (!in
|| !count
) return NULL
;
12427 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
12428 for (i
= 0; i
< count
; i
++)
12430 convert_VkCopyDescriptorSet_win32_to_host(&in
[i
], &out
[i
]);
12435 #endif /* USE_STRUCT_CONVERSION */
12437 #if !defined(USE_STRUCT_CONVERSION)
12439 static NTSTATUS
thunk64_vkAcquireNextImage2KHR(void *args
)
12441 struct vkAcquireNextImage2KHR_params
*params
= args
;
12443 TRACE("%p, %p, %p\n", params
->device
, params
->pAcquireInfo
, params
->pImageIndex
);
12445 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquireNextImage2KHR(wine_device_from_handle(params
->device
)->device
, params
->pAcquireInfo
, params
->pImageIndex
);
12446 return STATUS_SUCCESS
;
12449 #else /* USE_STRUCT_CONVERSION */
12451 static NTSTATUS
thunk32_vkAcquireNextImage2KHR(void *args
)
12456 const VkAcquireNextImageInfoKHR32
*pAcquireInfo
;
12457 uint32_t *pImageIndex
;
12460 VkAcquireNextImageInfoKHR pAcquireInfo_host
;
12462 TRACE("%p, %p, %p\n", params
->device
, params
->pAcquireInfo
, params
->pImageIndex
);
12464 convert_VkAcquireNextImageInfoKHR_win32_to_host(params
->pAcquireInfo
, &pAcquireInfo_host
);
12465 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquireNextImage2KHR(wine_device_from_handle(params
->device
)->device
, &pAcquireInfo_host
, params
->pImageIndex
);
12466 return STATUS_SUCCESS
;
12469 #endif /* USE_STRUCT_CONVERSION */
12471 #if !defined(USE_STRUCT_CONVERSION)
12473 static NTSTATUS
thunk64_vkAcquireNextImageKHR(void *args
)
12475 struct vkAcquireNextImageKHR_params
*params
= args
;
12477 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), wine_dbgstr_longlong(params
->timeout
), wine_dbgstr_longlong(params
->semaphore
), wine_dbgstr_longlong(params
->fence
), params
->pImageIndex
);
12479 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquireNextImageKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, params
->timeout
, params
->semaphore
, params
->fence
, params
->pImageIndex
);
12480 return STATUS_SUCCESS
;
12483 #else /* USE_STRUCT_CONVERSION */
12485 static NTSTATUS
thunk32_vkAcquireNextImageKHR(void *args
)
12490 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
12491 uint64_t DECLSPEC_ALIGN(8) timeout
;
12492 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
12493 VkFence
DECLSPEC_ALIGN(8) fence
;
12494 uint32_t *pImageIndex
;
12498 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), wine_dbgstr_longlong(params
->timeout
), wine_dbgstr_longlong(params
->semaphore
), wine_dbgstr_longlong(params
->fence
), params
->pImageIndex
);
12500 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquireNextImageKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, params
->timeout
, params
->semaphore
, params
->fence
, params
->pImageIndex
);
12501 return STATUS_SUCCESS
;
12504 #endif /* USE_STRUCT_CONVERSION */
12506 #if !defined(USE_STRUCT_CONVERSION)
12508 static NTSTATUS
thunk64_vkAcquirePerformanceConfigurationINTEL(void *args
)
12510 struct vkAcquirePerformanceConfigurationINTEL_params
*params
= args
;
12512 TRACE("%p, %p, %p\n", params
->device
, params
->pAcquireInfo
, params
->pConfiguration
);
12514 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquirePerformanceConfigurationINTEL(wine_device_from_handle(params
->device
)->device
, params
->pAcquireInfo
, params
->pConfiguration
);
12515 return STATUS_SUCCESS
;
12518 #else /* USE_STRUCT_CONVERSION */
12520 static NTSTATUS
thunk32_vkAcquirePerformanceConfigurationINTEL(void *args
)
12525 const VkPerformanceConfigurationAcquireInfoINTEL
*pAcquireInfo
;
12526 VkPerformanceConfigurationINTEL
*pConfiguration
;
12530 TRACE("%p, %p, %p\n", params
->device
, params
->pAcquireInfo
, params
->pConfiguration
);
12532 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquirePerformanceConfigurationINTEL(wine_device_from_handle(params
->device
)->device
, params
->pAcquireInfo
, params
->pConfiguration
);
12533 return STATUS_SUCCESS
;
12536 #endif /* USE_STRUCT_CONVERSION */
12538 #if !defined(USE_STRUCT_CONVERSION)
12540 static NTSTATUS
thunk64_vkAcquireProfilingLockKHR(void *args
)
12542 struct vkAcquireProfilingLockKHR_params
*params
= args
;
12544 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
12546 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquireProfilingLockKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
12547 return STATUS_SUCCESS
;
12550 #else /* USE_STRUCT_CONVERSION */
12552 static NTSTATUS
thunk32_vkAcquireProfilingLockKHR(void *args
)
12557 const VkAcquireProfilingLockInfoKHR32
*pInfo
;
12560 VkAcquireProfilingLockInfoKHR pInfo_host
;
12562 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
12564 convert_VkAcquireProfilingLockInfoKHR_win32_to_host(params
->pInfo
, &pInfo_host
);
12565 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquireProfilingLockKHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
12566 return STATUS_SUCCESS
;
12569 #endif /* USE_STRUCT_CONVERSION */
12571 #if !defined(USE_STRUCT_CONVERSION)
12573 static NTSTATUS
thunk64_vkAllocateCommandBuffers(void *args
)
12575 struct vkAllocateCommandBuffers_params
*params
= args
;
12577 TRACE("%p, %p, %p\n", params
->device
, params
->pAllocateInfo
, params
->pCommandBuffers
);
12579 params
->result
= wine_vkAllocateCommandBuffers(params
->device
, params
->pAllocateInfo
, params
->pCommandBuffers
);
12580 return STATUS_SUCCESS
;
12583 #else /* USE_STRUCT_CONVERSION */
12585 static NTSTATUS
thunk32_vkAllocateCommandBuffers(void *args
)
12590 const VkCommandBufferAllocateInfo32
*pAllocateInfo
;
12591 VkCommandBuffer
*pCommandBuffers
;
12594 VkCommandBufferAllocateInfo pAllocateInfo_host
;
12596 TRACE("%p, %p, %p\n", params
->device
, params
->pAllocateInfo
, params
->pCommandBuffers
);
12598 convert_VkCommandBufferAllocateInfo_win32_to_unwrapped_host(params
->pAllocateInfo
, &pAllocateInfo_host
);
12599 params
->result
= wine_vkAllocateCommandBuffers(params
->device
, &pAllocateInfo_host
, params
->pCommandBuffers
);
12600 return STATUS_SUCCESS
;
12603 #endif /* USE_STRUCT_CONVERSION */
12605 #if !defined(USE_STRUCT_CONVERSION)
12607 static NTSTATUS
thunk64_vkAllocateDescriptorSets(void *args
)
12609 struct vkAllocateDescriptorSets_params
*params
= args
;
12611 TRACE("%p, %p, %p\n", params
->device
, params
->pAllocateInfo
, params
->pDescriptorSets
);
12613 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAllocateDescriptorSets(wine_device_from_handle(params
->device
)->device
, params
->pAllocateInfo
, params
->pDescriptorSets
);
12614 return STATUS_SUCCESS
;
12617 #else /* USE_STRUCT_CONVERSION */
12619 static NTSTATUS
thunk32_vkAllocateDescriptorSets(void *args
)
12624 const VkDescriptorSetAllocateInfo32
*pAllocateInfo
;
12625 VkDescriptorSet
*pDescriptorSets
;
12628 VkDescriptorSetAllocateInfo pAllocateInfo_host
;
12630 TRACE("%p, %p, %p\n", params
->device
, params
->pAllocateInfo
, params
->pDescriptorSets
);
12632 convert_VkDescriptorSetAllocateInfo_win32_to_host(params
->pAllocateInfo
, &pAllocateInfo_host
);
12633 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAllocateDescriptorSets(wine_device_from_handle(params
->device
)->device
, &pAllocateInfo_host
, params
->pDescriptorSets
);
12634 return STATUS_SUCCESS
;
12637 #endif /* USE_STRUCT_CONVERSION */
12639 #if !defined(USE_STRUCT_CONVERSION)
12641 static NTSTATUS
thunk64_vkAllocateMemory(void *args
)
12643 struct vkAllocateMemory_params
*params
= args
;
12645 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pAllocateInfo
, params
->pAllocator
, params
->pMemory
);
12647 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAllocateMemory(wine_device_from_handle(params
->device
)->device
, params
->pAllocateInfo
, NULL
, params
->pMemory
);
12648 return STATUS_SUCCESS
;
12651 #else /* USE_STRUCT_CONVERSION */
12653 static NTSTATUS
thunk32_vkAllocateMemory(void *args
)
12658 const VkMemoryAllocateInfo32
*pAllocateInfo
;
12659 const VkAllocationCallbacks
*pAllocator
;
12660 VkDeviceMemory
*pMemory
;
12663 VkMemoryAllocateInfo pAllocateInfo_host
;
12664 struct conversion_context ctx
;
12666 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pAllocateInfo
, params
->pAllocator
, params
->pMemory
);
12668 init_conversion_context(&ctx
);
12669 convert_VkMemoryAllocateInfo_win32_to_host(&ctx
, params
->pAllocateInfo
, &pAllocateInfo_host
);
12670 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAllocateMemory(wine_device_from_handle(params
->device
)->device
, &pAllocateInfo_host
, NULL
, params
->pMemory
);
12671 free_conversion_context(&ctx
);
12672 return STATUS_SUCCESS
;
12675 #endif /* USE_STRUCT_CONVERSION */
12677 #if !defined(USE_STRUCT_CONVERSION)
12679 static NTSTATUS
thunk64_vkBeginCommandBuffer(void *args
)
12681 struct vkBeginCommandBuffer_params
*params
= args
;
12683 TRACE("%p, %p\n", params
->commandBuffer
, params
->pBeginInfo
);
12685 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkBeginCommandBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pBeginInfo
);
12686 return STATUS_SUCCESS
;
12689 #else /* USE_STRUCT_CONVERSION */
12691 static NTSTATUS
thunk32_vkBeginCommandBuffer(void *args
)
12695 VkCommandBuffer commandBuffer
;
12696 const VkCommandBufferBeginInfo32
*pBeginInfo
;
12699 VkCommandBufferBeginInfo pBeginInfo_host
;
12700 struct conversion_context ctx
;
12702 TRACE("%p, %p\n", params
->commandBuffer
, params
->pBeginInfo
);
12704 init_conversion_context(&ctx
);
12705 convert_VkCommandBufferBeginInfo_win32_to_host(&ctx
, params
->pBeginInfo
, &pBeginInfo_host
);
12706 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkBeginCommandBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pBeginInfo_host
);
12707 free_conversion_context(&ctx
);
12708 return STATUS_SUCCESS
;
12711 #endif /* USE_STRUCT_CONVERSION */
12713 #if !defined(USE_STRUCT_CONVERSION)
12715 static NTSTATUS
thunk64_vkBindAccelerationStructureMemoryNV(void *args
)
12717 struct vkBindAccelerationStructureMemoryNV_params
*params
= args
;
12719 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12721 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindAccelerationStructureMemoryNV(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
12722 return STATUS_SUCCESS
;
12725 #else /* USE_STRUCT_CONVERSION */
12727 static NTSTATUS
thunk32_vkBindAccelerationStructureMemoryNV(void *args
)
12732 uint32_t bindInfoCount
;
12733 const VkBindAccelerationStructureMemoryInfoNV32
*pBindInfos
;
12736 const VkBindAccelerationStructureMemoryInfoNV
*pBindInfos_host
;
12737 struct conversion_context ctx
;
12739 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12741 init_conversion_context(&ctx
);
12742 pBindInfos_host
= convert_VkBindAccelerationStructureMemoryInfoNV_array_win32_to_host(&ctx
, params
->pBindInfos
, params
->bindInfoCount
);
12743 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindAccelerationStructureMemoryNV(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, pBindInfos_host
);
12744 free_conversion_context(&ctx
);
12745 return STATUS_SUCCESS
;
12748 #endif /* USE_STRUCT_CONVERSION */
12750 #if !defined(USE_STRUCT_CONVERSION)
12752 static NTSTATUS
thunk64_vkBindBufferMemory(void *args
)
12754 struct vkBindBufferMemory_params
*params
= args
;
12756 TRACE("%p, 0x%s, 0x%s, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->memory
), wine_dbgstr_longlong(params
->memoryOffset
));
12758 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindBufferMemory(wine_device_from_handle(params
->device
)->device
, params
->buffer
, params
->memory
, params
->memoryOffset
);
12759 return STATUS_SUCCESS
;
12762 #else /* USE_STRUCT_CONVERSION */
12764 static NTSTATUS
thunk32_vkBindBufferMemory(void *args
)
12769 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
12770 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
12771 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
12775 TRACE("%p, 0x%s, 0x%s, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->memory
), wine_dbgstr_longlong(params
->memoryOffset
));
12777 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindBufferMemory(wine_device_from_handle(params
->device
)->device
, params
->buffer
, params
->memory
, params
->memoryOffset
);
12778 return STATUS_SUCCESS
;
12781 #endif /* USE_STRUCT_CONVERSION */
12783 #if !defined(USE_STRUCT_CONVERSION)
12785 static NTSTATUS
thunk64_vkBindBufferMemory2(void *args
)
12787 struct vkBindBufferMemory2_params
*params
= args
;
12789 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12791 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindBufferMemory2(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
12792 return STATUS_SUCCESS
;
12795 #else /* USE_STRUCT_CONVERSION */
12797 static NTSTATUS
thunk32_vkBindBufferMemory2(void *args
)
12802 uint32_t bindInfoCount
;
12803 const VkBindBufferMemoryInfo32
*pBindInfos
;
12806 const VkBindBufferMemoryInfo
*pBindInfos_host
;
12807 struct conversion_context ctx
;
12809 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12811 init_conversion_context(&ctx
);
12812 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win32_to_host(&ctx
, params
->pBindInfos
, params
->bindInfoCount
);
12813 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindBufferMemory2(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, pBindInfos_host
);
12814 free_conversion_context(&ctx
);
12815 return STATUS_SUCCESS
;
12818 #endif /* USE_STRUCT_CONVERSION */
12820 #if !defined(USE_STRUCT_CONVERSION)
12822 static NTSTATUS
thunk64_vkBindBufferMemory2KHR(void *args
)
12824 struct vkBindBufferMemory2KHR_params
*params
= args
;
12826 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12828 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindBufferMemory2KHR(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
12829 return STATUS_SUCCESS
;
12832 #else /* USE_STRUCT_CONVERSION */
12834 static NTSTATUS
thunk32_vkBindBufferMemory2KHR(void *args
)
12839 uint32_t bindInfoCount
;
12840 const VkBindBufferMemoryInfo32
*pBindInfos
;
12843 const VkBindBufferMemoryInfo
*pBindInfos_host
;
12844 struct conversion_context ctx
;
12846 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12848 init_conversion_context(&ctx
);
12849 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win32_to_host(&ctx
, params
->pBindInfos
, params
->bindInfoCount
);
12850 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindBufferMemory2KHR(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, pBindInfos_host
);
12851 free_conversion_context(&ctx
);
12852 return STATUS_SUCCESS
;
12855 #endif /* USE_STRUCT_CONVERSION */
12857 #if !defined(USE_STRUCT_CONVERSION)
12859 static NTSTATUS
thunk64_vkBindImageMemory(void *args
)
12861 struct vkBindImageMemory_params
*params
= args
;
12863 TRACE("%p, 0x%s, 0x%s, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->image
), wine_dbgstr_longlong(params
->memory
), wine_dbgstr_longlong(params
->memoryOffset
));
12865 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindImageMemory(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->memory
, params
->memoryOffset
);
12866 return STATUS_SUCCESS
;
12869 #else /* USE_STRUCT_CONVERSION */
12871 static NTSTATUS
thunk32_vkBindImageMemory(void *args
)
12876 VkImage
DECLSPEC_ALIGN(8) image
;
12877 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
12878 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
12882 TRACE("%p, 0x%s, 0x%s, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->image
), wine_dbgstr_longlong(params
->memory
), wine_dbgstr_longlong(params
->memoryOffset
));
12884 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindImageMemory(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->memory
, params
->memoryOffset
);
12885 return STATUS_SUCCESS
;
12888 #endif /* USE_STRUCT_CONVERSION */
12890 #if !defined(USE_STRUCT_CONVERSION)
12892 static NTSTATUS
thunk64_vkBindImageMemory2(void *args
)
12894 struct vkBindImageMemory2_params
*params
= args
;
12896 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12898 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindImageMemory2(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
12899 return STATUS_SUCCESS
;
12902 #else /* USE_STRUCT_CONVERSION */
12904 static NTSTATUS
thunk32_vkBindImageMemory2(void *args
)
12909 uint32_t bindInfoCount
;
12910 const VkBindImageMemoryInfo32
*pBindInfos
;
12913 const VkBindImageMemoryInfo
*pBindInfos_host
;
12914 struct conversion_context ctx
;
12916 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12918 init_conversion_context(&ctx
);
12919 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win32_to_host(&ctx
, params
->pBindInfos
, params
->bindInfoCount
);
12920 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindImageMemory2(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, pBindInfos_host
);
12921 free_conversion_context(&ctx
);
12922 return STATUS_SUCCESS
;
12925 #endif /* USE_STRUCT_CONVERSION */
12927 #if !defined(USE_STRUCT_CONVERSION)
12929 static NTSTATUS
thunk64_vkBindImageMemory2KHR(void *args
)
12931 struct vkBindImageMemory2KHR_params
*params
= args
;
12933 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12935 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindImageMemory2KHR(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
12936 return STATUS_SUCCESS
;
12939 #else /* USE_STRUCT_CONVERSION */
12941 static NTSTATUS
thunk32_vkBindImageMemory2KHR(void *args
)
12946 uint32_t bindInfoCount
;
12947 const VkBindImageMemoryInfo32
*pBindInfos
;
12950 const VkBindImageMemoryInfo
*pBindInfos_host
;
12951 struct conversion_context ctx
;
12953 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
12955 init_conversion_context(&ctx
);
12956 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win32_to_host(&ctx
, params
->pBindInfos
, params
->bindInfoCount
);
12957 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindImageMemory2KHR(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, pBindInfos_host
);
12958 free_conversion_context(&ctx
);
12959 return STATUS_SUCCESS
;
12962 #endif /* USE_STRUCT_CONVERSION */
12964 #if !defined(USE_STRUCT_CONVERSION)
12966 static NTSTATUS
thunk64_vkBindOpticalFlowSessionImageNV(void *args
)
12968 struct vkBindOpticalFlowSessionImageNV_params
*params
= args
;
12970 TRACE("%p, 0x%s, %#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->session
), params
->bindingPoint
, wine_dbgstr_longlong(params
->view
), params
->layout
);
12972 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindOpticalFlowSessionImageNV(wine_device_from_handle(params
->device
)->device
, params
->session
, params
->bindingPoint
, params
->view
, params
->layout
);
12973 return STATUS_SUCCESS
;
12976 #else /* USE_STRUCT_CONVERSION */
12978 static NTSTATUS
thunk32_vkBindOpticalFlowSessionImageNV(void *args
)
12983 VkOpticalFlowSessionNV
DECLSPEC_ALIGN(8) session
;
12984 VkOpticalFlowSessionBindingPointNV bindingPoint
;
12985 VkImageView
DECLSPEC_ALIGN(8) view
;
12986 VkImageLayout layout
;
12990 TRACE("%p, 0x%s, %#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->session
), params
->bindingPoint
, wine_dbgstr_longlong(params
->view
), params
->layout
);
12992 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindOpticalFlowSessionImageNV(wine_device_from_handle(params
->device
)->device
, params
->session
, params
->bindingPoint
, params
->view
, params
->layout
);
12993 return STATUS_SUCCESS
;
12996 #endif /* USE_STRUCT_CONVERSION */
12998 #if !defined(USE_STRUCT_CONVERSION)
13000 static NTSTATUS
thunk64_vkBuildAccelerationStructuresKHR(void *args
)
13002 struct vkBuildAccelerationStructuresKHR_params
*params
= args
;
13004 TRACE("%p, 0x%s, %u, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
13006 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBuildAccelerationStructuresKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
13007 return STATUS_SUCCESS
;
13010 #else /* USE_STRUCT_CONVERSION */
13012 static NTSTATUS
thunk32_vkBuildAccelerationStructuresKHR(void *args
)
13017 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
13018 uint32_t infoCount
;
13019 const VkAccelerationStructureBuildGeometryInfoKHR32
*pInfos
;
13020 const VkAccelerationStructureBuildRangeInfoKHR
* const*ppBuildRangeInfos
;
13023 const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos_host
;
13024 struct conversion_context ctx
;
13026 TRACE("%p, 0x%s, %u, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
13028 init_conversion_context(&ctx
);
13029 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win32_to_host(&ctx
, params
->pInfos
, params
->infoCount
);
13030 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBuildAccelerationStructuresKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->infoCount
, pInfos_host
, params
->ppBuildRangeInfos
);
13031 free_conversion_context(&ctx
);
13032 return STATUS_SUCCESS
;
13035 #endif /* USE_STRUCT_CONVERSION */
13037 #if !defined(USE_STRUCT_CONVERSION)
13039 static NTSTATUS
thunk64_vkBuildMicromapsEXT(void *args
)
13041 struct vkBuildMicromapsEXT_params
*params
= args
;
13043 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->infoCount
, params
->pInfos
);
13045 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBuildMicromapsEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->infoCount
, params
->pInfos
);
13046 return STATUS_SUCCESS
;
13049 #else /* USE_STRUCT_CONVERSION */
13051 static NTSTATUS
thunk32_vkBuildMicromapsEXT(void *args
)
13056 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
13057 uint32_t infoCount
;
13058 const VkMicromapBuildInfoEXT32
*pInfos
;
13061 const VkMicromapBuildInfoEXT
*pInfos_host
;
13062 struct conversion_context ctx
;
13064 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->infoCount
, params
->pInfos
);
13066 init_conversion_context(&ctx
);
13067 pInfos_host
= convert_VkMicromapBuildInfoEXT_array_win32_to_host(&ctx
, params
->pInfos
, params
->infoCount
);
13068 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBuildMicromapsEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->infoCount
, pInfos_host
);
13069 free_conversion_context(&ctx
);
13070 return STATUS_SUCCESS
;
13073 #endif /* USE_STRUCT_CONVERSION */
13075 #if !defined(USE_STRUCT_CONVERSION)
13077 static NTSTATUS
thunk64_vkCmdBeginConditionalRenderingEXT(void *args
)
13079 struct vkCmdBeginConditionalRenderingEXT_params
*params
= args
;
13081 TRACE("%p, %p\n", params
->commandBuffer
, params
->pConditionalRenderingBegin
);
13083 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pConditionalRenderingBegin
);
13084 return STATUS_SUCCESS
;
13087 #else /* USE_STRUCT_CONVERSION */
13089 static NTSTATUS
thunk32_vkCmdBeginConditionalRenderingEXT(void *args
)
13093 VkCommandBuffer commandBuffer
;
13094 const VkConditionalRenderingBeginInfoEXT32
*pConditionalRenderingBegin
;
13096 VkConditionalRenderingBeginInfoEXT pConditionalRenderingBegin_host
;
13098 TRACE("%p, %p\n", params
->commandBuffer
, params
->pConditionalRenderingBegin
);
13100 convert_VkConditionalRenderingBeginInfoEXT_win32_to_host(params
->pConditionalRenderingBegin
, &pConditionalRenderingBegin_host
);
13101 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pConditionalRenderingBegin_host
);
13102 return STATUS_SUCCESS
;
13105 #endif /* USE_STRUCT_CONVERSION */
13107 #if !defined(USE_STRUCT_CONVERSION)
13109 static NTSTATUS
thunk64_vkCmdBeginDebugUtilsLabelEXT(void *args
)
13111 struct vkCmdBeginDebugUtilsLabelEXT_params
*params
= args
;
13113 TRACE("%p, %p\n", params
->commandBuffer
, params
->pLabelInfo
);
13115 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginDebugUtilsLabelEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pLabelInfo
);
13116 return STATUS_SUCCESS
;
13119 #else /* USE_STRUCT_CONVERSION */
13121 static NTSTATUS
thunk32_vkCmdBeginDebugUtilsLabelEXT(void *args
)
13125 VkCommandBuffer commandBuffer
;
13126 const VkDebugUtilsLabelEXT
*pLabelInfo
;
13129 TRACE("%p, %p\n", params
->commandBuffer
, params
->pLabelInfo
);
13131 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginDebugUtilsLabelEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pLabelInfo
);
13132 return STATUS_SUCCESS
;
13135 #endif /* USE_STRUCT_CONVERSION */
13137 #if !defined(USE_STRUCT_CONVERSION)
13139 static NTSTATUS
thunk64_vkCmdBeginQuery(void *args
)
13141 struct vkCmdBeginQuery_params
*params
= args
;
13143 TRACE("%p, 0x%s, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->flags
);
13145 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginQuery(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->query
, params
->flags
);
13146 return STATUS_SUCCESS
;
13149 #else /* USE_STRUCT_CONVERSION */
13151 static NTSTATUS
thunk32_vkCmdBeginQuery(void *args
)
13155 VkCommandBuffer commandBuffer
;
13156 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
13158 VkQueryControlFlags flags
;
13161 TRACE("%p, 0x%s, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->flags
);
13163 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginQuery(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->query
, params
->flags
);
13164 return STATUS_SUCCESS
;
13167 #endif /* USE_STRUCT_CONVERSION */
13169 #if !defined(USE_STRUCT_CONVERSION)
13171 static NTSTATUS
thunk64_vkCmdBeginQueryIndexedEXT(void *args
)
13173 struct vkCmdBeginQueryIndexedEXT_params
*params
= args
;
13175 TRACE("%p, 0x%s, %u, %#x, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->flags
, params
->index
);
13177 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginQueryIndexedEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->query
, params
->flags
, params
->index
);
13178 return STATUS_SUCCESS
;
13181 #else /* USE_STRUCT_CONVERSION */
13183 static NTSTATUS
thunk32_vkCmdBeginQueryIndexedEXT(void *args
)
13187 VkCommandBuffer commandBuffer
;
13188 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
13190 VkQueryControlFlags flags
;
13194 TRACE("%p, 0x%s, %u, %#x, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->flags
, params
->index
);
13196 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginQueryIndexedEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->query
, params
->flags
, params
->index
);
13197 return STATUS_SUCCESS
;
13200 #endif /* USE_STRUCT_CONVERSION */
13202 #if !defined(USE_STRUCT_CONVERSION)
13204 static NTSTATUS
thunk64_vkCmdBeginRenderPass(void *args
)
13206 struct vkCmdBeginRenderPass_params
*params
= args
;
13208 TRACE("%p, %p, %#x\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->contents
);
13210 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderPass(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderPassBegin
, params
->contents
);
13211 return STATUS_SUCCESS
;
13214 #else /* USE_STRUCT_CONVERSION */
13216 static NTSTATUS
thunk32_vkCmdBeginRenderPass(void *args
)
13220 VkCommandBuffer commandBuffer
;
13221 const VkRenderPassBeginInfo32
*pRenderPassBegin
;
13222 VkSubpassContents contents
;
13224 VkRenderPassBeginInfo pRenderPassBegin_host
;
13226 TRACE("%p, %p, %#x\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->contents
);
13228 convert_VkRenderPassBeginInfo_win32_to_host(params
->pRenderPassBegin
, &pRenderPassBegin_host
);
13229 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderPass(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pRenderPassBegin_host
, params
->contents
);
13230 return STATUS_SUCCESS
;
13233 #endif /* USE_STRUCT_CONVERSION */
13235 #if !defined(USE_STRUCT_CONVERSION)
13237 static NTSTATUS
thunk64_vkCmdBeginRenderPass2(void *args
)
13239 struct vkCmdBeginRenderPass2_params
*params
= args
;
13241 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
13243 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderPass2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
13244 return STATUS_SUCCESS
;
13247 #else /* USE_STRUCT_CONVERSION */
13249 static NTSTATUS
thunk32_vkCmdBeginRenderPass2(void *args
)
13253 VkCommandBuffer commandBuffer
;
13254 const VkRenderPassBeginInfo32
*pRenderPassBegin
;
13255 const VkSubpassBeginInfo
*pSubpassBeginInfo
;
13257 VkRenderPassBeginInfo pRenderPassBegin_host
;
13259 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
13261 convert_VkRenderPassBeginInfo_win32_to_host(params
->pRenderPassBegin
, &pRenderPassBegin_host
);
13262 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderPass2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pRenderPassBegin_host
, params
->pSubpassBeginInfo
);
13263 return STATUS_SUCCESS
;
13266 #endif /* USE_STRUCT_CONVERSION */
13268 #if !defined(USE_STRUCT_CONVERSION)
13270 static NTSTATUS
thunk64_vkCmdBeginRenderPass2KHR(void *args
)
13272 struct vkCmdBeginRenderPass2KHR_params
*params
= args
;
13274 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
13276 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderPass2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
13277 return STATUS_SUCCESS
;
13280 #else /* USE_STRUCT_CONVERSION */
13282 static NTSTATUS
thunk32_vkCmdBeginRenderPass2KHR(void *args
)
13286 VkCommandBuffer commandBuffer
;
13287 const VkRenderPassBeginInfo32
*pRenderPassBegin
;
13288 const VkSubpassBeginInfo
*pSubpassBeginInfo
;
13290 VkRenderPassBeginInfo pRenderPassBegin_host
;
13292 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
13294 convert_VkRenderPassBeginInfo_win32_to_host(params
->pRenderPassBegin
, &pRenderPassBegin_host
);
13295 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderPass2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pRenderPassBegin_host
, params
->pSubpassBeginInfo
);
13296 return STATUS_SUCCESS
;
13299 #endif /* USE_STRUCT_CONVERSION */
13301 #if !defined(USE_STRUCT_CONVERSION)
13303 static NTSTATUS
thunk64_vkCmdBeginRendering(void *args
)
13305 struct vkCmdBeginRendering_params
*params
= args
;
13307 TRACE("%p, %p\n", params
->commandBuffer
, params
->pRenderingInfo
);
13309 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRendering(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderingInfo
);
13310 return STATUS_SUCCESS
;
13313 #else /* USE_STRUCT_CONVERSION */
13315 static NTSTATUS
thunk32_vkCmdBeginRendering(void *args
)
13319 VkCommandBuffer commandBuffer
;
13320 const VkRenderingInfo32
*pRenderingInfo
;
13322 VkRenderingInfo pRenderingInfo_host
;
13323 struct conversion_context ctx
;
13325 TRACE("%p, %p\n", params
->commandBuffer
, params
->pRenderingInfo
);
13327 init_conversion_context(&ctx
);
13328 convert_VkRenderingInfo_win32_to_host(&ctx
, params
->pRenderingInfo
, &pRenderingInfo_host
);
13329 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRendering(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pRenderingInfo_host
);
13330 free_conversion_context(&ctx
);
13331 return STATUS_SUCCESS
;
13334 #endif /* USE_STRUCT_CONVERSION */
13336 #if !defined(USE_STRUCT_CONVERSION)
13338 static NTSTATUS
thunk64_vkCmdBeginRenderingKHR(void *args
)
13340 struct vkCmdBeginRenderingKHR_params
*params
= args
;
13342 TRACE("%p, %p\n", params
->commandBuffer
, params
->pRenderingInfo
);
13344 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderingKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderingInfo
);
13345 return STATUS_SUCCESS
;
13348 #else /* USE_STRUCT_CONVERSION */
13350 static NTSTATUS
thunk32_vkCmdBeginRenderingKHR(void *args
)
13354 VkCommandBuffer commandBuffer
;
13355 const VkRenderingInfo32
*pRenderingInfo
;
13357 VkRenderingInfo pRenderingInfo_host
;
13358 struct conversion_context ctx
;
13360 TRACE("%p, %p\n", params
->commandBuffer
, params
->pRenderingInfo
);
13362 init_conversion_context(&ctx
);
13363 convert_VkRenderingInfo_win32_to_host(&ctx
, params
->pRenderingInfo
, &pRenderingInfo_host
);
13364 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderingKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pRenderingInfo_host
);
13365 free_conversion_context(&ctx
);
13366 return STATUS_SUCCESS
;
13369 #endif /* USE_STRUCT_CONVERSION */
13371 #if !defined(USE_STRUCT_CONVERSION)
13373 static NTSTATUS
thunk64_vkCmdBeginTransformFeedbackEXT(void *args
)
13375 struct vkCmdBeginTransformFeedbackEXT_params
*params
= args
;
13377 TRACE("%p, %u, %u, %p, %p\n", params
->commandBuffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
13379 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginTransformFeedbackEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
13380 return STATUS_SUCCESS
;
13383 #else /* USE_STRUCT_CONVERSION */
13385 static NTSTATUS
thunk32_vkCmdBeginTransformFeedbackEXT(void *args
)
13389 VkCommandBuffer commandBuffer
;
13390 uint32_t firstCounterBuffer
;
13391 uint32_t counterBufferCount
;
13392 const VkBuffer
*pCounterBuffers
;
13393 const VkDeviceSize
*pCounterBufferOffsets
;
13396 TRACE("%p, %u, %u, %p, %p\n", params
->commandBuffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
13398 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginTransformFeedbackEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
13399 return STATUS_SUCCESS
;
13402 #endif /* USE_STRUCT_CONVERSION */
13404 #if !defined(USE_STRUCT_CONVERSION)
13406 static NTSTATUS
thunk64_vkCmdBindDescriptorSets(void *args
)
13408 struct vkCmdBindDescriptorSets_params
*params
= args
;
13410 TRACE("%p, %#x, 0x%s, %u, %u, %p, %u, %p\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->firstSet
, params
->descriptorSetCount
, params
->pDescriptorSets
, params
->dynamicOffsetCount
, params
->pDynamicOffsets
);
13412 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindDescriptorSets(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->firstSet
, params
->descriptorSetCount
, params
->pDescriptorSets
, params
->dynamicOffsetCount
, params
->pDynamicOffsets
);
13413 return STATUS_SUCCESS
;
13416 #else /* USE_STRUCT_CONVERSION */
13418 static NTSTATUS
thunk32_vkCmdBindDescriptorSets(void *args
)
13422 VkCommandBuffer commandBuffer
;
13423 VkPipelineBindPoint pipelineBindPoint
;
13424 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
13426 uint32_t descriptorSetCount
;
13427 const VkDescriptorSet
*pDescriptorSets
;
13428 uint32_t dynamicOffsetCount
;
13429 const uint32_t *pDynamicOffsets
;
13432 TRACE("%p, %#x, 0x%s, %u, %u, %p, %u, %p\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->firstSet
, params
->descriptorSetCount
, params
->pDescriptorSets
, params
->dynamicOffsetCount
, params
->pDynamicOffsets
);
13434 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindDescriptorSets(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->firstSet
, params
->descriptorSetCount
, params
->pDescriptorSets
, params
->dynamicOffsetCount
, params
->pDynamicOffsets
);
13435 return STATUS_SUCCESS
;
13438 #endif /* USE_STRUCT_CONVERSION */
13440 #if !defined(USE_STRUCT_CONVERSION)
13442 static NTSTATUS
thunk64_vkCmdBindIndexBuffer(void *args
)
13444 struct vkCmdBindIndexBuffer_params
*params
= args
;
13446 TRACE("%p, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->indexType
);
13448 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindIndexBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->indexType
);
13449 return STATUS_SUCCESS
;
13452 #else /* USE_STRUCT_CONVERSION */
13454 static NTSTATUS
thunk32_vkCmdBindIndexBuffer(void *args
)
13458 VkCommandBuffer commandBuffer
;
13459 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
13460 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
13461 VkIndexType indexType
;
13464 TRACE("%p, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->indexType
);
13466 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindIndexBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->indexType
);
13467 return STATUS_SUCCESS
;
13470 #endif /* USE_STRUCT_CONVERSION */
13472 #if !defined(USE_STRUCT_CONVERSION)
13474 static NTSTATUS
thunk64_vkCmdBindInvocationMaskHUAWEI(void *args
)
13476 struct vkCmdBindInvocationMaskHUAWEI_params
*params
= args
;
13478 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->imageView
), params
->imageLayout
);
13480 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindInvocationMaskHUAWEI(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->imageView
, params
->imageLayout
);
13481 return STATUS_SUCCESS
;
13484 #else /* USE_STRUCT_CONVERSION */
13486 static NTSTATUS
thunk32_vkCmdBindInvocationMaskHUAWEI(void *args
)
13490 VkCommandBuffer commandBuffer
;
13491 VkImageView
DECLSPEC_ALIGN(8) imageView
;
13492 VkImageLayout imageLayout
;
13495 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->imageView
), params
->imageLayout
);
13497 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindInvocationMaskHUAWEI(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->imageView
, params
->imageLayout
);
13498 return STATUS_SUCCESS
;
13501 #endif /* USE_STRUCT_CONVERSION */
13503 #if !defined(USE_STRUCT_CONVERSION)
13505 static NTSTATUS
thunk64_vkCmdBindPipeline(void *args
)
13507 struct vkCmdBindPipeline_params
*params
= args
;
13509 TRACE("%p, %#x, 0x%s\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->pipeline
));
13511 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindPipeline(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->pipeline
);
13512 return STATUS_SUCCESS
;
13515 #else /* USE_STRUCT_CONVERSION */
13517 static NTSTATUS
thunk32_vkCmdBindPipeline(void *args
)
13521 VkCommandBuffer commandBuffer
;
13522 VkPipelineBindPoint pipelineBindPoint
;
13523 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
13526 TRACE("%p, %#x, 0x%s\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->pipeline
));
13528 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindPipeline(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->pipeline
);
13529 return STATUS_SUCCESS
;
13532 #endif /* USE_STRUCT_CONVERSION */
13534 #if !defined(USE_STRUCT_CONVERSION)
13536 static NTSTATUS
thunk64_vkCmdBindPipelineShaderGroupNV(void *args
)
13538 struct vkCmdBindPipelineShaderGroupNV_params
*params
= args
;
13540 TRACE("%p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->pipeline
), params
->groupIndex
);
13542 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindPipelineShaderGroupNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->pipeline
, params
->groupIndex
);
13543 return STATUS_SUCCESS
;
13546 #else /* USE_STRUCT_CONVERSION */
13548 static NTSTATUS
thunk32_vkCmdBindPipelineShaderGroupNV(void *args
)
13552 VkCommandBuffer commandBuffer
;
13553 VkPipelineBindPoint pipelineBindPoint
;
13554 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
13555 uint32_t groupIndex
;
13558 TRACE("%p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->pipeline
), params
->groupIndex
);
13560 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindPipelineShaderGroupNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->pipeline
, params
->groupIndex
);
13561 return STATUS_SUCCESS
;
13564 #endif /* USE_STRUCT_CONVERSION */
13566 #if !defined(USE_STRUCT_CONVERSION)
13568 static NTSTATUS
thunk64_vkCmdBindShadingRateImageNV(void *args
)
13570 struct vkCmdBindShadingRateImageNV_params
*params
= args
;
13572 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->imageView
), params
->imageLayout
);
13574 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindShadingRateImageNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->imageView
, params
->imageLayout
);
13575 return STATUS_SUCCESS
;
13578 #else /* USE_STRUCT_CONVERSION */
13580 static NTSTATUS
thunk32_vkCmdBindShadingRateImageNV(void *args
)
13584 VkCommandBuffer commandBuffer
;
13585 VkImageView
DECLSPEC_ALIGN(8) imageView
;
13586 VkImageLayout imageLayout
;
13589 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->imageView
), params
->imageLayout
);
13591 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindShadingRateImageNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->imageView
, params
->imageLayout
);
13592 return STATUS_SUCCESS
;
13595 #endif /* USE_STRUCT_CONVERSION */
13597 #if !defined(USE_STRUCT_CONVERSION)
13599 static NTSTATUS
thunk64_vkCmdBindTransformFeedbackBuffersEXT(void *args
)
13601 struct vkCmdBindTransformFeedbackBuffersEXT_params
*params
= args
;
13603 TRACE("%p, %u, %u, %p, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
);
13605 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindTransformFeedbackBuffersEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
);
13606 return STATUS_SUCCESS
;
13609 #else /* USE_STRUCT_CONVERSION */
13611 static NTSTATUS
thunk32_vkCmdBindTransformFeedbackBuffersEXT(void *args
)
13615 VkCommandBuffer commandBuffer
;
13616 uint32_t firstBinding
;
13617 uint32_t bindingCount
;
13618 const VkBuffer
*pBuffers
;
13619 const VkDeviceSize
*pOffsets
;
13620 const VkDeviceSize
*pSizes
;
13623 TRACE("%p, %u, %u, %p, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
);
13625 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindTransformFeedbackBuffersEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
);
13626 return STATUS_SUCCESS
;
13629 #endif /* USE_STRUCT_CONVERSION */
13631 #if !defined(USE_STRUCT_CONVERSION)
13633 static NTSTATUS
thunk64_vkCmdBindVertexBuffers(void *args
)
13635 struct vkCmdBindVertexBuffers_params
*params
= args
;
13637 TRACE("%p, %u, %u, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
);
13639 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindVertexBuffers(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
);
13640 return STATUS_SUCCESS
;
13643 #else /* USE_STRUCT_CONVERSION */
13645 static NTSTATUS
thunk32_vkCmdBindVertexBuffers(void *args
)
13649 VkCommandBuffer commandBuffer
;
13650 uint32_t firstBinding
;
13651 uint32_t bindingCount
;
13652 const VkBuffer
*pBuffers
;
13653 const VkDeviceSize
*pOffsets
;
13656 TRACE("%p, %u, %u, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
);
13658 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindVertexBuffers(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
);
13659 return STATUS_SUCCESS
;
13662 #endif /* USE_STRUCT_CONVERSION */
13664 #if !defined(USE_STRUCT_CONVERSION)
13666 static NTSTATUS
thunk64_vkCmdBindVertexBuffers2(void *args
)
13668 struct vkCmdBindVertexBuffers2_params
*params
= args
;
13670 TRACE("%p, %u, %u, %p, %p, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
13672 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindVertexBuffers2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
13673 return STATUS_SUCCESS
;
13676 #else /* USE_STRUCT_CONVERSION */
13678 static NTSTATUS
thunk32_vkCmdBindVertexBuffers2(void *args
)
13682 VkCommandBuffer commandBuffer
;
13683 uint32_t firstBinding
;
13684 uint32_t bindingCount
;
13685 const VkBuffer
*pBuffers
;
13686 const VkDeviceSize
*pOffsets
;
13687 const VkDeviceSize
*pSizes
;
13688 const VkDeviceSize
*pStrides
;
13691 TRACE("%p, %u, %u, %p, %p, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
13693 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindVertexBuffers2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
13694 return STATUS_SUCCESS
;
13697 #endif /* USE_STRUCT_CONVERSION */
13699 #if !defined(USE_STRUCT_CONVERSION)
13701 static NTSTATUS
thunk64_vkCmdBindVertexBuffers2EXT(void *args
)
13703 struct vkCmdBindVertexBuffers2EXT_params
*params
= args
;
13705 TRACE("%p, %u, %u, %p, %p, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
13707 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindVertexBuffers2EXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
13708 return STATUS_SUCCESS
;
13711 #else /* USE_STRUCT_CONVERSION */
13713 static NTSTATUS
thunk32_vkCmdBindVertexBuffers2EXT(void *args
)
13717 VkCommandBuffer commandBuffer
;
13718 uint32_t firstBinding
;
13719 uint32_t bindingCount
;
13720 const VkBuffer
*pBuffers
;
13721 const VkDeviceSize
*pOffsets
;
13722 const VkDeviceSize
*pSizes
;
13723 const VkDeviceSize
*pStrides
;
13726 TRACE("%p, %u, %u, %p, %p, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
13728 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindVertexBuffers2EXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
13729 return STATUS_SUCCESS
;
13732 #endif /* USE_STRUCT_CONVERSION */
13734 #if !defined(USE_STRUCT_CONVERSION)
13736 static NTSTATUS
thunk64_vkCmdBlitImage(void *args
)
13738 struct vkCmdBlitImage_params
*params
= args
;
13740 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
, params
->filter
);
13742 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBlitImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, params
->pRegions
, params
->filter
);
13743 return STATUS_SUCCESS
;
13746 #else /* USE_STRUCT_CONVERSION */
13748 static NTSTATUS
thunk32_vkCmdBlitImage(void *args
)
13752 VkCommandBuffer commandBuffer
;
13753 VkImage
DECLSPEC_ALIGN(8) srcImage
;
13754 VkImageLayout srcImageLayout
;
13755 VkImage
DECLSPEC_ALIGN(8) dstImage
;
13756 VkImageLayout dstImageLayout
;
13757 uint32_t regionCount
;
13758 const VkImageBlit
*pRegions
;
13762 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
, params
->filter
);
13764 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBlitImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, params
->pRegions
, params
->filter
);
13765 return STATUS_SUCCESS
;
13768 #endif /* USE_STRUCT_CONVERSION */
13770 #if !defined(USE_STRUCT_CONVERSION)
13772 static NTSTATUS
thunk64_vkCmdBlitImage2(void *args
)
13774 struct vkCmdBlitImage2_params
*params
= args
;
13776 TRACE("%p, %p\n", params
->commandBuffer
, params
->pBlitImageInfo
);
13778 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBlitImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pBlitImageInfo
);
13779 return STATUS_SUCCESS
;
13782 #else /* USE_STRUCT_CONVERSION */
13784 static NTSTATUS
thunk32_vkCmdBlitImage2(void *args
)
13788 VkCommandBuffer commandBuffer
;
13789 const VkBlitImageInfo232
*pBlitImageInfo
;
13791 VkBlitImageInfo2 pBlitImageInfo_host
;
13793 TRACE("%p, %p\n", params
->commandBuffer
, params
->pBlitImageInfo
);
13795 convert_VkBlitImageInfo2_win32_to_host(params
->pBlitImageInfo
, &pBlitImageInfo_host
);
13796 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBlitImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pBlitImageInfo_host
);
13797 return STATUS_SUCCESS
;
13800 #endif /* USE_STRUCT_CONVERSION */
13802 #if !defined(USE_STRUCT_CONVERSION)
13804 static NTSTATUS
thunk64_vkCmdBlitImage2KHR(void *args
)
13806 struct vkCmdBlitImage2KHR_params
*params
= args
;
13808 TRACE("%p, %p\n", params
->commandBuffer
, params
->pBlitImageInfo
);
13810 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBlitImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pBlitImageInfo
);
13811 return STATUS_SUCCESS
;
13814 #else /* USE_STRUCT_CONVERSION */
13816 static NTSTATUS
thunk32_vkCmdBlitImage2KHR(void *args
)
13820 VkCommandBuffer commandBuffer
;
13821 const VkBlitImageInfo232
*pBlitImageInfo
;
13823 VkBlitImageInfo2 pBlitImageInfo_host
;
13825 TRACE("%p, %p\n", params
->commandBuffer
, params
->pBlitImageInfo
);
13827 convert_VkBlitImageInfo2_win32_to_host(params
->pBlitImageInfo
, &pBlitImageInfo_host
);
13828 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBlitImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pBlitImageInfo_host
);
13829 return STATUS_SUCCESS
;
13832 #endif /* USE_STRUCT_CONVERSION */
13834 #if !defined(USE_STRUCT_CONVERSION)
13836 static NTSTATUS
thunk64_vkCmdBuildAccelerationStructureNV(void *args
)
13838 struct vkCmdBuildAccelerationStructureNV_params
*params
= args
;
13840 TRACE("%p, %p, 0x%s, 0x%s, %u, 0x%s, 0x%s, 0x%s, 0x%s\n", params
->commandBuffer
, params
->pInfo
, wine_dbgstr_longlong(params
->instanceData
), wine_dbgstr_longlong(params
->instanceOffset
), params
->update
, wine_dbgstr_longlong(params
->dst
), wine_dbgstr_longlong(params
->src
), wine_dbgstr_longlong(params
->scratch
), wine_dbgstr_longlong(params
->scratchOffset
));
13842 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBuildAccelerationStructureNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
, params
->instanceData
, params
->instanceOffset
, params
->update
, params
->dst
, params
->src
, params
->scratch
, params
->scratchOffset
);
13843 return STATUS_SUCCESS
;
13846 #else /* USE_STRUCT_CONVERSION */
13848 static NTSTATUS
thunk32_vkCmdBuildAccelerationStructureNV(void *args
)
13852 VkCommandBuffer commandBuffer
;
13853 const VkAccelerationStructureInfoNV32
*pInfo
;
13854 VkBuffer
DECLSPEC_ALIGN(8) instanceData
;
13855 VkDeviceSize
DECLSPEC_ALIGN(8) instanceOffset
;
13857 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) dst
;
13858 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) src
;
13859 VkBuffer
DECLSPEC_ALIGN(8) scratch
;
13860 VkDeviceSize
DECLSPEC_ALIGN(8) scratchOffset
;
13862 VkAccelerationStructureInfoNV pInfo_host
;
13863 struct conversion_context ctx
;
13865 TRACE("%p, %p, 0x%s, 0x%s, %u, 0x%s, 0x%s, 0x%s, 0x%s\n", params
->commandBuffer
, params
->pInfo
, wine_dbgstr_longlong(params
->instanceData
), wine_dbgstr_longlong(params
->instanceOffset
), params
->update
, wine_dbgstr_longlong(params
->dst
), wine_dbgstr_longlong(params
->src
), wine_dbgstr_longlong(params
->scratch
), wine_dbgstr_longlong(params
->scratchOffset
));
13867 init_conversion_context(&ctx
);
13868 convert_VkAccelerationStructureInfoNV_win32_to_host(&ctx
, params
->pInfo
, &pInfo_host
);
13869 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBuildAccelerationStructureNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pInfo_host
, params
->instanceData
, params
->instanceOffset
, params
->update
, params
->dst
, params
->src
, params
->scratch
, params
->scratchOffset
);
13870 free_conversion_context(&ctx
);
13871 return STATUS_SUCCESS
;
13874 #endif /* USE_STRUCT_CONVERSION */
13876 #if !defined(USE_STRUCT_CONVERSION)
13878 static NTSTATUS
thunk64_vkCmdBuildAccelerationStructuresIndirectKHR(void *args
)
13880 struct vkCmdBuildAccelerationStructuresIndirectKHR_params
*params
= args
;
13882 TRACE("%p, %u, %p, %p, %p, %p\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
, params
->pIndirectDeviceAddresses
, params
->pIndirectStrides
, params
->ppMaxPrimitiveCounts
);
13884 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBuildAccelerationStructuresIndirectKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->infoCount
, params
->pInfos
, params
->pIndirectDeviceAddresses
, params
->pIndirectStrides
, params
->ppMaxPrimitiveCounts
);
13885 return STATUS_SUCCESS
;
13888 #else /* USE_STRUCT_CONVERSION */
13890 static NTSTATUS
thunk32_vkCmdBuildAccelerationStructuresIndirectKHR(void *args
)
13894 VkCommandBuffer commandBuffer
;
13895 uint32_t infoCount
;
13896 const VkAccelerationStructureBuildGeometryInfoKHR32
*pInfos
;
13897 const VkDeviceAddress
*pIndirectDeviceAddresses
;
13898 const uint32_t *pIndirectStrides
;
13899 const uint32_t * const*ppMaxPrimitiveCounts
;
13901 const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos_host
;
13902 struct conversion_context ctx
;
13904 TRACE("%p, %u, %p, %p, %p, %p\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
, params
->pIndirectDeviceAddresses
, params
->pIndirectStrides
, params
->ppMaxPrimitiveCounts
);
13906 init_conversion_context(&ctx
);
13907 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win32_to_host(&ctx
, params
->pInfos
, params
->infoCount
);
13908 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBuildAccelerationStructuresIndirectKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->infoCount
, pInfos_host
, params
->pIndirectDeviceAddresses
, params
->pIndirectStrides
, params
->ppMaxPrimitiveCounts
);
13909 free_conversion_context(&ctx
);
13910 return STATUS_SUCCESS
;
13913 #endif /* USE_STRUCT_CONVERSION */
13915 #if !defined(USE_STRUCT_CONVERSION)
13917 static NTSTATUS
thunk64_vkCmdBuildAccelerationStructuresKHR(void *args
)
13919 struct vkCmdBuildAccelerationStructuresKHR_params
*params
= args
;
13921 TRACE("%p, %u, %p, %p\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
13923 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBuildAccelerationStructuresKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
13924 return STATUS_SUCCESS
;
13927 #else /* USE_STRUCT_CONVERSION */
13929 static NTSTATUS
thunk32_vkCmdBuildAccelerationStructuresKHR(void *args
)
13933 VkCommandBuffer commandBuffer
;
13934 uint32_t infoCount
;
13935 const VkAccelerationStructureBuildGeometryInfoKHR32
*pInfos
;
13936 const VkAccelerationStructureBuildRangeInfoKHR
* const*ppBuildRangeInfos
;
13938 const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos_host
;
13939 struct conversion_context ctx
;
13941 TRACE("%p, %u, %p, %p\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
13943 init_conversion_context(&ctx
);
13944 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win32_to_host(&ctx
, params
->pInfos
, params
->infoCount
);
13945 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBuildAccelerationStructuresKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->infoCount
, pInfos_host
, params
->ppBuildRangeInfos
);
13946 free_conversion_context(&ctx
);
13947 return STATUS_SUCCESS
;
13950 #endif /* USE_STRUCT_CONVERSION */
13952 #if !defined(USE_STRUCT_CONVERSION)
13954 static NTSTATUS
thunk64_vkCmdBuildMicromapsEXT(void *args
)
13956 struct vkCmdBuildMicromapsEXT_params
*params
= args
;
13958 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
);
13960 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBuildMicromapsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->infoCount
, params
->pInfos
);
13961 return STATUS_SUCCESS
;
13964 #else /* USE_STRUCT_CONVERSION */
13966 static NTSTATUS
thunk32_vkCmdBuildMicromapsEXT(void *args
)
13970 VkCommandBuffer commandBuffer
;
13971 uint32_t infoCount
;
13972 const VkMicromapBuildInfoEXT32
*pInfos
;
13974 const VkMicromapBuildInfoEXT
*pInfos_host
;
13975 struct conversion_context ctx
;
13977 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
);
13979 init_conversion_context(&ctx
);
13980 pInfos_host
= convert_VkMicromapBuildInfoEXT_array_win32_to_host(&ctx
, params
->pInfos
, params
->infoCount
);
13981 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBuildMicromapsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->infoCount
, pInfos_host
);
13982 free_conversion_context(&ctx
);
13983 return STATUS_SUCCESS
;
13986 #endif /* USE_STRUCT_CONVERSION */
13988 #if !defined(USE_STRUCT_CONVERSION)
13990 static NTSTATUS
thunk64_vkCmdClearAttachments(void *args
)
13992 struct vkCmdClearAttachments_params
*params
= args
;
13994 TRACE("%p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->attachmentCount
, params
->pAttachments
, params
->rectCount
, params
->pRects
);
13996 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdClearAttachments(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->attachmentCount
, params
->pAttachments
, params
->rectCount
, params
->pRects
);
13997 return STATUS_SUCCESS
;
14000 #else /* USE_STRUCT_CONVERSION */
14002 static NTSTATUS
thunk32_vkCmdClearAttachments(void *args
)
14006 VkCommandBuffer commandBuffer
;
14007 uint32_t attachmentCount
;
14008 const VkClearAttachment
*pAttachments
;
14009 uint32_t rectCount
;
14010 const VkClearRect
*pRects
;
14013 TRACE("%p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->attachmentCount
, params
->pAttachments
, params
->rectCount
, params
->pRects
);
14015 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdClearAttachments(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->attachmentCount
, params
->pAttachments
, params
->rectCount
, params
->pRects
);
14016 return STATUS_SUCCESS
;
14019 #endif /* USE_STRUCT_CONVERSION */
14021 #if !defined(USE_STRUCT_CONVERSION)
14023 static NTSTATUS
thunk64_vkCmdClearColorImage(void *args
)
14025 struct vkCmdClearColorImage_params
*params
= args
;
14027 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->image
), params
->imageLayout
, params
->pColor
, params
->rangeCount
, params
->pRanges
);
14029 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdClearColorImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->image
, params
->imageLayout
, params
->pColor
, params
->rangeCount
, params
->pRanges
);
14030 return STATUS_SUCCESS
;
14033 #else /* USE_STRUCT_CONVERSION */
14035 static NTSTATUS
thunk32_vkCmdClearColorImage(void *args
)
14039 VkCommandBuffer commandBuffer
;
14040 VkImage
DECLSPEC_ALIGN(8) image
;
14041 VkImageLayout imageLayout
;
14042 const VkClearColorValue
*pColor
;
14043 uint32_t rangeCount
;
14044 const VkImageSubresourceRange
*pRanges
;
14047 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->image
), params
->imageLayout
, params
->pColor
, params
->rangeCount
, params
->pRanges
);
14049 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdClearColorImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->image
, params
->imageLayout
, params
->pColor
, params
->rangeCount
, params
->pRanges
);
14050 return STATUS_SUCCESS
;
14053 #endif /* USE_STRUCT_CONVERSION */
14055 #if !defined(USE_STRUCT_CONVERSION)
14057 static NTSTATUS
thunk64_vkCmdClearDepthStencilImage(void *args
)
14059 struct vkCmdClearDepthStencilImage_params
*params
= args
;
14061 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->image
), params
->imageLayout
, params
->pDepthStencil
, params
->rangeCount
, params
->pRanges
);
14063 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdClearDepthStencilImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->image
, params
->imageLayout
, params
->pDepthStencil
, params
->rangeCount
, params
->pRanges
);
14064 return STATUS_SUCCESS
;
14067 #else /* USE_STRUCT_CONVERSION */
14069 static NTSTATUS
thunk32_vkCmdClearDepthStencilImage(void *args
)
14073 VkCommandBuffer commandBuffer
;
14074 VkImage
DECLSPEC_ALIGN(8) image
;
14075 VkImageLayout imageLayout
;
14076 const VkClearDepthStencilValue
*pDepthStencil
;
14077 uint32_t rangeCount
;
14078 const VkImageSubresourceRange
*pRanges
;
14081 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->image
), params
->imageLayout
, params
->pDepthStencil
, params
->rangeCount
, params
->pRanges
);
14083 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdClearDepthStencilImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->image
, params
->imageLayout
, params
->pDepthStencil
, params
->rangeCount
, params
->pRanges
);
14084 return STATUS_SUCCESS
;
14087 #endif /* USE_STRUCT_CONVERSION */
14089 #if !defined(USE_STRUCT_CONVERSION)
14091 static NTSTATUS
thunk64_vkCmdCopyAccelerationStructureKHR(void *args
)
14093 struct vkCmdCopyAccelerationStructureKHR_params
*params
= args
;
14095 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14097 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyAccelerationStructureKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
14098 return STATUS_SUCCESS
;
14101 #else /* USE_STRUCT_CONVERSION */
14103 static NTSTATUS
thunk32_vkCmdCopyAccelerationStructureKHR(void *args
)
14107 VkCommandBuffer commandBuffer
;
14108 const VkCopyAccelerationStructureInfoKHR32
*pInfo
;
14110 VkCopyAccelerationStructureInfoKHR pInfo_host
;
14112 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14114 convert_VkCopyAccelerationStructureInfoKHR_win32_to_host(params
->pInfo
, &pInfo_host
);
14115 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyAccelerationStructureKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pInfo_host
);
14116 return STATUS_SUCCESS
;
14119 #endif /* USE_STRUCT_CONVERSION */
14121 #if !defined(USE_STRUCT_CONVERSION)
14123 static NTSTATUS
thunk64_vkCmdCopyAccelerationStructureNV(void *args
)
14125 struct vkCmdCopyAccelerationStructureNV_params
*params
= args
;
14127 TRACE("%p, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->dst
), wine_dbgstr_longlong(params
->src
), params
->mode
);
14129 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyAccelerationStructureNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->dst
, params
->src
, params
->mode
);
14130 return STATUS_SUCCESS
;
14133 #else /* USE_STRUCT_CONVERSION */
14135 static NTSTATUS
thunk32_vkCmdCopyAccelerationStructureNV(void *args
)
14139 VkCommandBuffer commandBuffer
;
14140 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) dst
;
14141 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) src
;
14142 VkCopyAccelerationStructureModeKHR mode
;
14145 TRACE("%p, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->dst
), wine_dbgstr_longlong(params
->src
), params
->mode
);
14147 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyAccelerationStructureNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->dst
, params
->src
, params
->mode
);
14148 return STATUS_SUCCESS
;
14151 #endif /* USE_STRUCT_CONVERSION */
14153 #if !defined(USE_STRUCT_CONVERSION)
14155 static NTSTATUS
thunk64_vkCmdCopyAccelerationStructureToMemoryKHR(void *args
)
14157 struct vkCmdCopyAccelerationStructureToMemoryKHR_params
*params
= args
;
14159 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14161 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyAccelerationStructureToMemoryKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
14162 return STATUS_SUCCESS
;
14165 #else /* USE_STRUCT_CONVERSION */
14167 static NTSTATUS
thunk32_vkCmdCopyAccelerationStructureToMemoryKHR(void *args
)
14171 VkCommandBuffer commandBuffer
;
14172 const VkCopyAccelerationStructureToMemoryInfoKHR32
*pInfo
;
14174 VkCopyAccelerationStructureToMemoryInfoKHR pInfo_host
;
14176 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14178 convert_VkCopyAccelerationStructureToMemoryInfoKHR_win32_to_host(params
->pInfo
, &pInfo_host
);
14179 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyAccelerationStructureToMemoryKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pInfo_host
);
14180 return STATUS_SUCCESS
;
14183 #endif /* USE_STRUCT_CONVERSION */
14185 #if !defined(USE_STRUCT_CONVERSION)
14187 static NTSTATUS
thunk64_vkCmdCopyBuffer(void *args
)
14189 struct vkCmdCopyBuffer_params
*params
= args
;
14191 TRACE("%p, 0x%s, 0x%s, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcBuffer
), wine_dbgstr_longlong(params
->dstBuffer
), params
->regionCount
, params
->pRegions
);
14193 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcBuffer
, params
->dstBuffer
, params
->regionCount
, params
->pRegions
);
14194 return STATUS_SUCCESS
;
14197 #else /* USE_STRUCT_CONVERSION */
14199 static NTSTATUS
thunk32_vkCmdCopyBuffer(void *args
)
14203 VkCommandBuffer commandBuffer
;
14204 VkBuffer
DECLSPEC_ALIGN(8) srcBuffer
;
14205 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
14206 uint32_t regionCount
;
14207 const VkBufferCopy32
*pRegions
;
14209 const VkBufferCopy
*pRegions_host
;
14210 struct conversion_context ctx
;
14212 TRACE("%p, 0x%s, 0x%s, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcBuffer
), wine_dbgstr_longlong(params
->dstBuffer
), params
->regionCount
, params
->pRegions
);
14214 init_conversion_context(&ctx
);
14215 pRegions_host
= convert_VkBufferCopy_array_win32_to_host(&ctx
, params
->pRegions
, params
->regionCount
);
14216 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcBuffer
, params
->dstBuffer
, params
->regionCount
, pRegions_host
);
14217 free_conversion_context(&ctx
);
14218 return STATUS_SUCCESS
;
14221 #endif /* USE_STRUCT_CONVERSION */
14223 #if !defined(USE_STRUCT_CONVERSION)
14225 static NTSTATUS
thunk64_vkCmdCopyBuffer2(void *args
)
14227 struct vkCmdCopyBuffer2_params
*params
= args
;
14229 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferInfo
);
14231 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBuffer2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyBufferInfo
);
14232 return STATUS_SUCCESS
;
14235 #else /* USE_STRUCT_CONVERSION */
14237 static NTSTATUS
thunk32_vkCmdCopyBuffer2(void *args
)
14241 VkCommandBuffer commandBuffer
;
14242 const VkCopyBufferInfo232
*pCopyBufferInfo
;
14244 VkCopyBufferInfo2 pCopyBufferInfo_host
;
14245 struct conversion_context ctx
;
14247 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferInfo
);
14249 init_conversion_context(&ctx
);
14250 convert_VkCopyBufferInfo2_win32_to_host(&ctx
, params
->pCopyBufferInfo
, &pCopyBufferInfo_host
);
14251 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBuffer2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pCopyBufferInfo_host
);
14252 free_conversion_context(&ctx
);
14253 return STATUS_SUCCESS
;
14256 #endif /* USE_STRUCT_CONVERSION */
14258 #if !defined(USE_STRUCT_CONVERSION)
14260 static NTSTATUS
thunk64_vkCmdCopyBuffer2KHR(void *args
)
14262 struct vkCmdCopyBuffer2KHR_params
*params
= args
;
14264 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferInfo
);
14266 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBuffer2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyBufferInfo
);
14267 return STATUS_SUCCESS
;
14270 #else /* USE_STRUCT_CONVERSION */
14272 static NTSTATUS
thunk32_vkCmdCopyBuffer2KHR(void *args
)
14276 VkCommandBuffer commandBuffer
;
14277 const VkCopyBufferInfo232
*pCopyBufferInfo
;
14279 VkCopyBufferInfo2 pCopyBufferInfo_host
;
14280 struct conversion_context ctx
;
14282 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferInfo
);
14284 init_conversion_context(&ctx
);
14285 convert_VkCopyBufferInfo2_win32_to_host(&ctx
, params
->pCopyBufferInfo
, &pCopyBufferInfo_host
);
14286 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBuffer2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pCopyBufferInfo_host
);
14287 free_conversion_context(&ctx
);
14288 return STATUS_SUCCESS
;
14291 #endif /* USE_STRUCT_CONVERSION */
14293 #if !defined(USE_STRUCT_CONVERSION)
14295 static NTSTATUS
thunk64_vkCmdCopyBufferToImage(void *args
)
14297 struct vkCmdCopyBufferToImage_params
*params
= args
;
14299 TRACE("%p, 0x%s, 0x%s, %#x, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcBuffer
), wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
14301 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBufferToImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcBuffer
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
14302 return STATUS_SUCCESS
;
14305 #else /* USE_STRUCT_CONVERSION */
14307 static NTSTATUS
thunk32_vkCmdCopyBufferToImage(void *args
)
14311 VkCommandBuffer commandBuffer
;
14312 VkBuffer
DECLSPEC_ALIGN(8) srcBuffer
;
14313 VkImage
DECLSPEC_ALIGN(8) dstImage
;
14314 VkImageLayout dstImageLayout
;
14315 uint32_t regionCount
;
14316 const VkBufferImageCopy32
*pRegions
;
14318 const VkBufferImageCopy
*pRegions_host
;
14319 struct conversion_context ctx
;
14321 TRACE("%p, 0x%s, 0x%s, %#x, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcBuffer
), wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
14323 init_conversion_context(&ctx
);
14324 pRegions_host
= convert_VkBufferImageCopy_array_win32_to_host(&ctx
, params
->pRegions
, params
->regionCount
);
14325 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBufferToImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcBuffer
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, pRegions_host
);
14326 free_conversion_context(&ctx
);
14327 return STATUS_SUCCESS
;
14330 #endif /* USE_STRUCT_CONVERSION */
14332 #if !defined(USE_STRUCT_CONVERSION)
14334 static NTSTATUS
thunk64_vkCmdCopyBufferToImage2(void *args
)
14336 struct vkCmdCopyBufferToImage2_params
*params
= args
;
14338 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferToImageInfo
);
14340 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBufferToImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyBufferToImageInfo
);
14341 return STATUS_SUCCESS
;
14344 #else /* USE_STRUCT_CONVERSION */
14346 static NTSTATUS
thunk32_vkCmdCopyBufferToImage2(void *args
)
14350 VkCommandBuffer commandBuffer
;
14351 const VkCopyBufferToImageInfo232
*pCopyBufferToImageInfo
;
14353 VkCopyBufferToImageInfo2 pCopyBufferToImageInfo_host
;
14354 struct conversion_context ctx
;
14356 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferToImageInfo
);
14358 init_conversion_context(&ctx
);
14359 convert_VkCopyBufferToImageInfo2_win32_to_host(&ctx
, params
->pCopyBufferToImageInfo
, &pCopyBufferToImageInfo_host
);
14360 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBufferToImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pCopyBufferToImageInfo_host
);
14361 free_conversion_context(&ctx
);
14362 return STATUS_SUCCESS
;
14365 #endif /* USE_STRUCT_CONVERSION */
14367 #if !defined(USE_STRUCT_CONVERSION)
14369 static NTSTATUS
thunk64_vkCmdCopyBufferToImage2KHR(void *args
)
14371 struct vkCmdCopyBufferToImage2KHR_params
*params
= args
;
14373 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferToImageInfo
);
14375 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyBufferToImageInfo
);
14376 return STATUS_SUCCESS
;
14379 #else /* USE_STRUCT_CONVERSION */
14381 static NTSTATUS
thunk32_vkCmdCopyBufferToImage2KHR(void *args
)
14385 VkCommandBuffer commandBuffer
;
14386 const VkCopyBufferToImageInfo232
*pCopyBufferToImageInfo
;
14388 VkCopyBufferToImageInfo2 pCopyBufferToImageInfo_host
;
14389 struct conversion_context ctx
;
14391 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferToImageInfo
);
14393 init_conversion_context(&ctx
);
14394 convert_VkCopyBufferToImageInfo2_win32_to_host(&ctx
, params
->pCopyBufferToImageInfo
, &pCopyBufferToImageInfo_host
);
14395 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pCopyBufferToImageInfo_host
);
14396 free_conversion_context(&ctx
);
14397 return STATUS_SUCCESS
;
14400 #endif /* USE_STRUCT_CONVERSION */
14402 #if !defined(USE_STRUCT_CONVERSION)
14404 static NTSTATUS
thunk64_vkCmdCopyImage(void *args
)
14406 struct vkCmdCopyImage_params
*params
= args
;
14408 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
14410 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
14411 return STATUS_SUCCESS
;
14414 #else /* USE_STRUCT_CONVERSION */
14416 static NTSTATUS
thunk32_vkCmdCopyImage(void *args
)
14420 VkCommandBuffer commandBuffer
;
14421 VkImage
DECLSPEC_ALIGN(8) srcImage
;
14422 VkImageLayout srcImageLayout
;
14423 VkImage
DECLSPEC_ALIGN(8) dstImage
;
14424 VkImageLayout dstImageLayout
;
14425 uint32_t regionCount
;
14426 const VkImageCopy
*pRegions
;
14429 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
14431 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
14432 return STATUS_SUCCESS
;
14435 #endif /* USE_STRUCT_CONVERSION */
14437 #if !defined(USE_STRUCT_CONVERSION)
14439 static NTSTATUS
thunk64_vkCmdCopyImage2(void *args
)
14441 struct vkCmdCopyImage2_params
*params
= args
;
14443 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageInfo
);
14445 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyImageInfo
);
14446 return STATUS_SUCCESS
;
14449 #else /* USE_STRUCT_CONVERSION */
14451 static NTSTATUS
thunk32_vkCmdCopyImage2(void *args
)
14455 VkCommandBuffer commandBuffer
;
14456 const VkCopyImageInfo232
*pCopyImageInfo
;
14458 VkCopyImageInfo2 pCopyImageInfo_host
;
14460 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageInfo
);
14462 convert_VkCopyImageInfo2_win32_to_host(params
->pCopyImageInfo
, &pCopyImageInfo_host
);
14463 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pCopyImageInfo_host
);
14464 return STATUS_SUCCESS
;
14467 #endif /* USE_STRUCT_CONVERSION */
14469 #if !defined(USE_STRUCT_CONVERSION)
14471 static NTSTATUS
thunk64_vkCmdCopyImage2KHR(void *args
)
14473 struct vkCmdCopyImage2KHR_params
*params
= args
;
14475 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageInfo
);
14477 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyImageInfo
);
14478 return STATUS_SUCCESS
;
14481 #else /* USE_STRUCT_CONVERSION */
14483 static NTSTATUS
thunk32_vkCmdCopyImage2KHR(void *args
)
14487 VkCommandBuffer commandBuffer
;
14488 const VkCopyImageInfo232
*pCopyImageInfo
;
14490 VkCopyImageInfo2 pCopyImageInfo_host
;
14492 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageInfo
);
14494 convert_VkCopyImageInfo2_win32_to_host(params
->pCopyImageInfo
, &pCopyImageInfo_host
);
14495 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pCopyImageInfo_host
);
14496 return STATUS_SUCCESS
;
14499 #endif /* USE_STRUCT_CONVERSION */
14501 #if !defined(USE_STRUCT_CONVERSION)
14503 static NTSTATUS
thunk64_vkCmdCopyImageToBuffer(void *args
)
14505 struct vkCmdCopyImageToBuffer_params
*params
= args
;
14507 TRACE("%p, 0x%s, %#x, 0x%s, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstBuffer
), params
->regionCount
, params
->pRegions
);
14509 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImageToBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstBuffer
, params
->regionCount
, params
->pRegions
);
14510 return STATUS_SUCCESS
;
14513 #else /* USE_STRUCT_CONVERSION */
14515 static NTSTATUS
thunk32_vkCmdCopyImageToBuffer(void *args
)
14519 VkCommandBuffer commandBuffer
;
14520 VkImage
DECLSPEC_ALIGN(8) srcImage
;
14521 VkImageLayout srcImageLayout
;
14522 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
14523 uint32_t regionCount
;
14524 const VkBufferImageCopy32
*pRegions
;
14526 const VkBufferImageCopy
*pRegions_host
;
14527 struct conversion_context ctx
;
14529 TRACE("%p, 0x%s, %#x, 0x%s, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstBuffer
), params
->regionCount
, params
->pRegions
);
14531 init_conversion_context(&ctx
);
14532 pRegions_host
= convert_VkBufferImageCopy_array_win32_to_host(&ctx
, params
->pRegions
, params
->regionCount
);
14533 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImageToBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstBuffer
, params
->regionCount
, pRegions_host
);
14534 free_conversion_context(&ctx
);
14535 return STATUS_SUCCESS
;
14538 #endif /* USE_STRUCT_CONVERSION */
14540 #if !defined(USE_STRUCT_CONVERSION)
14542 static NTSTATUS
thunk64_vkCmdCopyImageToBuffer2(void *args
)
14544 struct vkCmdCopyImageToBuffer2_params
*params
= args
;
14546 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageToBufferInfo
);
14548 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImageToBuffer2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyImageToBufferInfo
);
14549 return STATUS_SUCCESS
;
14552 #else /* USE_STRUCT_CONVERSION */
14554 static NTSTATUS
thunk32_vkCmdCopyImageToBuffer2(void *args
)
14558 VkCommandBuffer commandBuffer
;
14559 const VkCopyImageToBufferInfo232
*pCopyImageToBufferInfo
;
14561 VkCopyImageToBufferInfo2 pCopyImageToBufferInfo_host
;
14562 struct conversion_context ctx
;
14564 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageToBufferInfo
);
14566 init_conversion_context(&ctx
);
14567 convert_VkCopyImageToBufferInfo2_win32_to_host(&ctx
, params
->pCopyImageToBufferInfo
, &pCopyImageToBufferInfo_host
);
14568 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImageToBuffer2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pCopyImageToBufferInfo_host
);
14569 free_conversion_context(&ctx
);
14570 return STATUS_SUCCESS
;
14573 #endif /* USE_STRUCT_CONVERSION */
14575 #if !defined(USE_STRUCT_CONVERSION)
14577 static NTSTATUS
thunk64_vkCmdCopyImageToBuffer2KHR(void *args
)
14579 struct vkCmdCopyImageToBuffer2KHR_params
*params
= args
;
14581 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageToBufferInfo
);
14583 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyImageToBufferInfo
);
14584 return STATUS_SUCCESS
;
14587 #else /* USE_STRUCT_CONVERSION */
14589 static NTSTATUS
thunk32_vkCmdCopyImageToBuffer2KHR(void *args
)
14593 VkCommandBuffer commandBuffer
;
14594 const VkCopyImageToBufferInfo232
*pCopyImageToBufferInfo
;
14596 VkCopyImageToBufferInfo2 pCopyImageToBufferInfo_host
;
14597 struct conversion_context ctx
;
14599 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageToBufferInfo
);
14601 init_conversion_context(&ctx
);
14602 convert_VkCopyImageToBufferInfo2_win32_to_host(&ctx
, params
->pCopyImageToBufferInfo
, &pCopyImageToBufferInfo_host
);
14603 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pCopyImageToBufferInfo_host
);
14604 free_conversion_context(&ctx
);
14605 return STATUS_SUCCESS
;
14608 #endif /* USE_STRUCT_CONVERSION */
14610 #if !defined(USE_STRUCT_CONVERSION)
14612 static NTSTATUS
thunk64_vkCmdCopyMemoryIndirectNV(void *args
)
14614 struct vkCmdCopyMemoryIndirectNV_params
*params
= args
;
14616 TRACE("%p, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->copyBufferAddress
), params
->copyCount
, params
->stride
);
14618 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryIndirectNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->copyBufferAddress
, params
->copyCount
, params
->stride
);
14619 return STATUS_SUCCESS
;
14622 #else /* USE_STRUCT_CONVERSION */
14624 static NTSTATUS
thunk32_vkCmdCopyMemoryIndirectNV(void *args
)
14628 VkCommandBuffer commandBuffer
;
14629 VkDeviceAddress
DECLSPEC_ALIGN(8) copyBufferAddress
;
14630 uint32_t copyCount
;
14634 TRACE("%p, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->copyBufferAddress
), params
->copyCount
, params
->stride
);
14636 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryIndirectNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->copyBufferAddress
, params
->copyCount
, params
->stride
);
14637 return STATUS_SUCCESS
;
14640 #endif /* USE_STRUCT_CONVERSION */
14642 #if !defined(USE_STRUCT_CONVERSION)
14644 static NTSTATUS
thunk64_vkCmdCopyMemoryToAccelerationStructureKHR(void *args
)
14646 struct vkCmdCopyMemoryToAccelerationStructureKHR_params
*params
= args
;
14648 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14650 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryToAccelerationStructureKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
14651 return STATUS_SUCCESS
;
14654 #else /* USE_STRUCT_CONVERSION */
14656 static NTSTATUS
thunk32_vkCmdCopyMemoryToAccelerationStructureKHR(void *args
)
14660 VkCommandBuffer commandBuffer
;
14661 const VkCopyMemoryToAccelerationStructureInfoKHR32
*pInfo
;
14663 VkCopyMemoryToAccelerationStructureInfoKHR pInfo_host
;
14665 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14667 convert_VkCopyMemoryToAccelerationStructureInfoKHR_win32_to_host(params
->pInfo
, &pInfo_host
);
14668 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryToAccelerationStructureKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pInfo_host
);
14669 return STATUS_SUCCESS
;
14672 #endif /* USE_STRUCT_CONVERSION */
14674 #if !defined(USE_STRUCT_CONVERSION)
14676 static NTSTATUS
thunk64_vkCmdCopyMemoryToImageIndirectNV(void *args
)
14678 struct vkCmdCopyMemoryToImageIndirectNV_params
*params
= args
;
14680 TRACE("%p, 0x%s, %u, %u, 0x%s, %#x, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->copyBufferAddress
), params
->copyCount
, params
->stride
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->pImageSubresources
);
14682 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryToImageIndirectNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->copyBufferAddress
, params
->copyCount
, params
->stride
, params
->dstImage
, params
->dstImageLayout
, params
->pImageSubresources
);
14683 return STATUS_SUCCESS
;
14686 #else /* USE_STRUCT_CONVERSION */
14688 static NTSTATUS
thunk32_vkCmdCopyMemoryToImageIndirectNV(void *args
)
14692 VkCommandBuffer commandBuffer
;
14693 VkDeviceAddress
DECLSPEC_ALIGN(8) copyBufferAddress
;
14694 uint32_t copyCount
;
14696 VkImage
DECLSPEC_ALIGN(8) dstImage
;
14697 VkImageLayout dstImageLayout
;
14698 const VkImageSubresourceLayers
*pImageSubresources
;
14701 TRACE("%p, 0x%s, %u, %u, 0x%s, %#x, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->copyBufferAddress
), params
->copyCount
, params
->stride
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->pImageSubresources
);
14703 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryToImageIndirectNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->copyBufferAddress
, params
->copyCount
, params
->stride
, params
->dstImage
, params
->dstImageLayout
, params
->pImageSubresources
);
14704 return STATUS_SUCCESS
;
14707 #endif /* USE_STRUCT_CONVERSION */
14709 #if !defined(USE_STRUCT_CONVERSION)
14711 static NTSTATUS
thunk64_vkCmdCopyMemoryToMicromapEXT(void *args
)
14713 struct vkCmdCopyMemoryToMicromapEXT_params
*params
= args
;
14715 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14717 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryToMicromapEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
14718 return STATUS_SUCCESS
;
14721 #else /* USE_STRUCT_CONVERSION */
14723 static NTSTATUS
thunk32_vkCmdCopyMemoryToMicromapEXT(void *args
)
14727 VkCommandBuffer commandBuffer
;
14728 const VkCopyMemoryToMicromapInfoEXT32
*pInfo
;
14730 VkCopyMemoryToMicromapInfoEXT pInfo_host
;
14732 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14734 convert_VkCopyMemoryToMicromapInfoEXT_win32_to_host(params
->pInfo
, &pInfo_host
);
14735 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryToMicromapEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pInfo_host
);
14736 return STATUS_SUCCESS
;
14739 #endif /* USE_STRUCT_CONVERSION */
14741 #if !defined(USE_STRUCT_CONVERSION)
14743 static NTSTATUS
thunk64_vkCmdCopyMicromapEXT(void *args
)
14745 struct vkCmdCopyMicromapEXT_params
*params
= args
;
14747 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14749 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMicromapEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
14750 return STATUS_SUCCESS
;
14753 #else /* USE_STRUCT_CONVERSION */
14755 static NTSTATUS
thunk32_vkCmdCopyMicromapEXT(void *args
)
14759 VkCommandBuffer commandBuffer
;
14760 const VkCopyMicromapInfoEXT32
*pInfo
;
14762 VkCopyMicromapInfoEXT pInfo_host
;
14764 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14766 convert_VkCopyMicromapInfoEXT_win32_to_host(params
->pInfo
, &pInfo_host
);
14767 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMicromapEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pInfo_host
);
14768 return STATUS_SUCCESS
;
14771 #endif /* USE_STRUCT_CONVERSION */
14773 #if !defined(USE_STRUCT_CONVERSION)
14775 static NTSTATUS
thunk64_vkCmdCopyMicromapToMemoryEXT(void *args
)
14777 struct vkCmdCopyMicromapToMemoryEXT_params
*params
= args
;
14779 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14781 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMicromapToMemoryEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
14782 return STATUS_SUCCESS
;
14785 #else /* USE_STRUCT_CONVERSION */
14787 static NTSTATUS
thunk32_vkCmdCopyMicromapToMemoryEXT(void *args
)
14791 VkCommandBuffer commandBuffer
;
14792 const VkCopyMicromapToMemoryInfoEXT32
*pInfo
;
14794 VkCopyMicromapToMemoryInfoEXT pInfo_host
;
14796 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
14798 convert_VkCopyMicromapToMemoryInfoEXT_win32_to_host(params
->pInfo
, &pInfo_host
);
14799 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMicromapToMemoryEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pInfo_host
);
14800 return STATUS_SUCCESS
;
14803 #endif /* USE_STRUCT_CONVERSION */
14805 #if !defined(USE_STRUCT_CONVERSION)
14807 static NTSTATUS
thunk64_vkCmdCopyQueryPoolResults(void *args
)
14809 struct vkCmdCopyQueryPoolResults_params
*params
= args
;
14811 TRACE("%p, 0x%s, %u, %u, 0x%s, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), wine_dbgstr_longlong(params
->stride
), params
->flags
);
14813 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyQueryPoolResults(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->firstQuery
, params
->queryCount
, params
->dstBuffer
, params
->dstOffset
, params
->stride
, params
->flags
);
14814 return STATUS_SUCCESS
;
14817 #else /* USE_STRUCT_CONVERSION */
14819 static NTSTATUS
thunk32_vkCmdCopyQueryPoolResults(void *args
)
14823 VkCommandBuffer commandBuffer
;
14824 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
14825 uint32_t firstQuery
;
14826 uint32_t queryCount
;
14827 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
14828 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
14829 VkDeviceSize
DECLSPEC_ALIGN(8) stride
;
14830 VkQueryResultFlags flags
;
14833 TRACE("%p, 0x%s, %u, %u, 0x%s, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), wine_dbgstr_longlong(params
->stride
), params
->flags
);
14835 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyQueryPoolResults(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->firstQuery
, params
->queryCount
, params
->dstBuffer
, params
->dstOffset
, params
->stride
, params
->flags
);
14836 return STATUS_SUCCESS
;
14839 #endif /* USE_STRUCT_CONVERSION */
14841 #if !defined(USE_STRUCT_CONVERSION)
14843 static NTSTATUS
thunk64_vkCmdCuLaunchKernelNVX(void *args
)
14845 struct vkCmdCuLaunchKernelNVX_params
*params
= args
;
14847 TRACE("%p, %p\n", params
->commandBuffer
, params
->pLaunchInfo
);
14849 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCuLaunchKernelNVX(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pLaunchInfo
);
14850 return STATUS_SUCCESS
;
14853 #else /* USE_STRUCT_CONVERSION */
14855 static NTSTATUS
thunk32_vkCmdCuLaunchKernelNVX(void *args
)
14859 VkCommandBuffer commandBuffer
;
14860 const VkCuLaunchInfoNVX32
*pLaunchInfo
;
14862 VkCuLaunchInfoNVX pLaunchInfo_host
;
14864 TRACE("%p, %p\n", params
->commandBuffer
, params
->pLaunchInfo
);
14866 convert_VkCuLaunchInfoNVX_win32_to_host(params
->pLaunchInfo
, &pLaunchInfo_host
);
14867 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCuLaunchKernelNVX(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pLaunchInfo_host
);
14868 return STATUS_SUCCESS
;
14871 #endif /* USE_STRUCT_CONVERSION */
14873 #if !defined(USE_STRUCT_CONVERSION)
14875 static NTSTATUS
thunk64_vkCmdDebugMarkerBeginEXT(void *args
)
14877 struct vkCmdDebugMarkerBeginEXT_params
*params
= args
;
14879 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
14881 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDebugMarkerBeginEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
14882 return STATUS_SUCCESS
;
14885 #else /* USE_STRUCT_CONVERSION */
14887 static NTSTATUS
thunk32_vkCmdDebugMarkerBeginEXT(void *args
)
14891 VkCommandBuffer commandBuffer
;
14892 const VkDebugMarkerMarkerInfoEXT
*pMarkerInfo
;
14895 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
14897 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDebugMarkerBeginEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
14898 return STATUS_SUCCESS
;
14901 #endif /* USE_STRUCT_CONVERSION */
14903 #if !defined(USE_STRUCT_CONVERSION)
14905 static NTSTATUS
thunk64_vkCmdDebugMarkerEndEXT(void *args
)
14907 struct vkCmdDebugMarkerEndEXT_params
*params
= args
;
14909 TRACE("%p\n", params
->commandBuffer
);
14911 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDebugMarkerEndEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
14912 return STATUS_SUCCESS
;
14915 #else /* USE_STRUCT_CONVERSION */
14917 static NTSTATUS
thunk32_vkCmdDebugMarkerEndEXT(void *args
)
14921 VkCommandBuffer commandBuffer
;
14924 TRACE("%p\n", params
->commandBuffer
);
14926 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDebugMarkerEndEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
14927 return STATUS_SUCCESS
;
14930 #endif /* USE_STRUCT_CONVERSION */
14932 #if !defined(USE_STRUCT_CONVERSION)
14934 static NTSTATUS
thunk64_vkCmdDebugMarkerInsertEXT(void *args
)
14936 struct vkCmdDebugMarkerInsertEXT_params
*params
= args
;
14938 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
14940 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDebugMarkerInsertEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
14941 return STATUS_SUCCESS
;
14944 #else /* USE_STRUCT_CONVERSION */
14946 static NTSTATUS
thunk32_vkCmdDebugMarkerInsertEXT(void *args
)
14950 VkCommandBuffer commandBuffer
;
14951 const VkDebugMarkerMarkerInfoEXT
*pMarkerInfo
;
14954 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
14956 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDebugMarkerInsertEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
14957 return STATUS_SUCCESS
;
14960 #endif /* USE_STRUCT_CONVERSION */
14962 #if !defined(USE_STRUCT_CONVERSION)
14964 static NTSTATUS
thunk64_vkCmdDecompressMemoryIndirectCountNV(void *args
)
14966 struct vkCmdDecompressMemoryIndirectCountNV_params
*params
= args
;
14968 TRACE("%p, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->indirectCommandsAddress
), wine_dbgstr_longlong(params
->indirectCommandsCountAddress
), params
->stride
);
14970 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDecompressMemoryIndirectCountNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->indirectCommandsAddress
, params
->indirectCommandsCountAddress
, params
->stride
);
14971 return STATUS_SUCCESS
;
14974 #else /* USE_STRUCT_CONVERSION */
14976 static NTSTATUS
thunk32_vkCmdDecompressMemoryIndirectCountNV(void *args
)
14980 VkCommandBuffer commandBuffer
;
14981 VkDeviceAddress
DECLSPEC_ALIGN(8) indirectCommandsAddress
;
14982 VkDeviceAddress
DECLSPEC_ALIGN(8) indirectCommandsCountAddress
;
14986 TRACE("%p, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->indirectCommandsAddress
), wine_dbgstr_longlong(params
->indirectCommandsCountAddress
), params
->stride
);
14988 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDecompressMemoryIndirectCountNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->indirectCommandsAddress
, params
->indirectCommandsCountAddress
, params
->stride
);
14989 return STATUS_SUCCESS
;
14992 #endif /* USE_STRUCT_CONVERSION */
14994 #if !defined(USE_STRUCT_CONVERSION)
14996 static NTSTATUS
thunk64_vkCmdDecompressMemoryNV(void *args
)
14998 struct vkCmdDecompressMemoryNV_params
*params
= args
;
15000 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->decompressRegionCount
, params
->pDecompressMemoryRegions
);
15002 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDecompressMemoryNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->decompressRegionCount
, params
->pDecompressMemoryRegions
);
15003 return STATUS_SUCCESS
;
15006 #else /* USE_STRUCT_CONVERSION */
15008 static NTSTATUS
thunk32_vkCmdDecompressMemoryNV(void *args
)
15012 VkCommandBuffer commandBuffer
;
15013 uint32_t decompressRegionCount
;
15014 const VkDecompressMemoryRegionNV32
*pDecompressMemoryRegions
;
15016 const VkDecompressMemoryRegionNV
*pDecompressMemoryRegions_host
;
15017 struct conversion_context ctx
;
15019 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->decompressRegionCount
, params
->pDecompressMemoryRegions
);
15021 init_conversion_context(&ctx
);
15022 pDecompressMemoryRegions_host
= convert_VkDecompressMemoryRegionNV_array_win32_to_host(&ctx
, params
->pDecompressMemoryRegions
, params
->decompressRegionCount
);
15023 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDecompressMemoryNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->decompressRegionCount
, pDecompressMemoryRegions_host
);
15024 free_conversion_context(&ctx
);
15025 return STATUS_SUCCESS
;
15028 #endif /* USE_STRUCT_CONVERSION */
15030 #if !defined(USE_STRUCT_CONVERSION)
15032 static NTSTATUS
thunk64_vkCmdDispatch(void *args
)
15034 struct vkCmdDispatch_params
*params
= args
;
15036 TRACE("%p, %u, %u, %u\n", params
->commandBuffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15038 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDispatch(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15039 return STATUS_SUCCESS
;
15042 #else /* USE_STRUCT_CONVERSION */
15044 static NTSTATUS
thunk32_vkCmdDispatch(void *args
)
15048 VkCommandBuffer commandBuffer
;
15049 uint32_t groupCountX
;
15050 uint32_t groupCountY
;
15051 uint32_t groupCountZ
;
15054 TRACE("%p, %u, %u, %u\n", params
->commandBuffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15056 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDispatch(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15057 return STATUS_SUCCESS
;
15060 #endif /* USE_STRUCT_CONVERSION */
15062 #if !defined(USE_STRUCT_CONVERSION)
15064 static NTSTATUS
thunk64_vkCmdDispatchBase(void *args
)
15066 struct vkCmdDispatchBase_params
*params
= args
;
15068 TRACE("%p, %u, %u, %u, %u, %u, %u\n", params
->commandBuffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15070 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDispatchBase(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15071 return STATUS_SUCCESS
;
15074 #else /* USE_STRUCT_CONVERSION */
15076 static NTSTATUS
thunk32_vkCmdDispatchBase(void *args
)
15080 VkCommandBuffer commandBuffer
;
15081 uint32_t baseGroupX
;
15082 uint32_t baseGroupY
;
15083 uint32_t baseGroupZ
;
15084 uint32_t groupCountX
;
15085 uint32_t groupCountY
;
15086 uint32_t groupCountZ
;
15089 TRACE("%p, %u, %u, %u, %u, %u, %u\n", params
->commandBuffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15091 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDispatchBase(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15092 return STATUS_SUCCESS
;
15095 #endif /* USE_STRUCT_CONVERSION */
15097 #if !defined(USE_STRUCT_CONVERSION)
15099 static NTSTATUS
thunk64_vkCmdDispatchBaseKHR(void *args
)
15101 struct vkCmdDispatchBaseKHR_params
*params
= args
;
15103 TRACE("%p, %u, %u, %u, %u, %u, %u\n", params
->commandBuffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15105 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDispatchBaseKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15106 return STATUS_SUCCESS
;
15109 #else /* USE_STRUCT_CONVERSION */
15111 static NTSTATUS
thunk32_vkCmdDispatchBaseKHR(void *args
)
15115 VkCommandBuffer commandBuffer
;
15116 uint32_t baseGroupX
;
15117 uint32_t baseGroupY
;
15118 uint32_t baseGroupZ
;
15119 uint32_t groupCountX
;
15120 uint32_t groupCountY
;
15121 uint32_t groupCountZ
;
15124 TRACE("%p, %u, %u, %u, %u, %u, %u\n", params
->commandBuffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15126 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDispatchBaseKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15127 return STATUS_SUCCESS
;
15130 #endif /* USE_STRUCT_CONVERSION */
15132 #if !defined(USE_STRUCT_CONVERSION)
15134 static NTSTATUS
thunk64_vkCmdDispatchIndirect(void *args
)
15136 struct vkCmdDispatchIndirect_params
*params
= args
;
15138 TRACE("%p, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
));
15140 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDispatchIndirect(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
);
15141 return STATUS_SUCCESS
;
15144 #else /* USE_STRUCT_CONVERSION */
15146 static NTSTATUS
thunk32_vkCmdDispatchIndirect(void *args
)
15150 VkCommandBuffer commandBuffer
;
15151 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15152 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15155 TRACE("%p, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
));
15157 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDispatchIndirect(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
);
15158 return STATUS_SUCCESS
;
15161 #endif /* USE_STRUCT_CONVERSION */
15163 #if !defined(USE_STRUCT_CONVERSION)
15165 static NTSTATUS
thunk64_vkCmdDraw(void *args
)
15167 struct vkCmdDraw_params
*params
= args
;
15169 TRACE("%p, %u, %u, %u, %u\n", params
->commandBuffer
, params
->vertexCount
, params
->instanceCount
, params
->firstVertex
, params
->firstInstance
);
15171 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDraw(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->vertexCount
, params
->instanceCount
, params
->firstVertex
, params
->firstInstance
);
15172 return STATUS_SUCCESS
;
15175 #else /* USE_STRUCT_CONVERSION */
15177 static NTSTATUS
thunk32_vkCmdDraw(void *args
)
15181 VkCommandBuffer commandBuffer
;
15182 uint32_t vertexCount
;
15183 uint32_t instanceCount
;
15184 uint32_t firstVertex
;
15185 uint32_t firstInstance
;
15188 TRACE("%p, %u, %u, %u, %u\n", params
->commandBuffer
, params
->vertexCount
, params
->instanceCount
, params
->firstVertex
, params
->firstInstance
);
15190 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDraw(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->vertexCount
, params
->instanceCount
, params
->firstVertex
, params
->firstInstance
);
15191 return STATUS_SUCCESS
;
15194 #endif /* USE_STRUCT_CONVERSION */
15196 #if !defined(USE_STRUCT_CONVERSION)
15198 static NTSTATUS
thunk64_vkCmdDrawIndexed(void *args
)
15200 struct vkCmdDrawIndexed_params
*params
= args
;
15202 TRACE("%p, %u, %u, %u, %d, %u\n", params
->commandBuffer
, params
->indexCount
, params
->instanceCount
, params
->firstIndex
, params
->vertexOffset
, params
->firstInstance
);
15204 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexed(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->indexCount
, params
->instanceCount
, params
->firstIndex
, params
->vertexOffset
, params
->firstInstance
);
15205 return STATUS_SUCCESS
;
15208 #else /* USE_STRUCT_CONVERSION */
15210 static NTSTATUS
thunk32_vkCmdDrawIndexed(void *args
)
15214 VkCommandBuffer commandBuffer
;
15215 uint32_t indexCount
;
15216 uint32_t instanceCount
;
15217 uint32_t firstIndex
;
15218 int32_t vertexOffset
;
15219 uint32_t firstInstance
;
15222 TRACE("%p, %u, %u, %u, %d, %u\n", params
->commandBuffer
, params
->indexCount
, params
->instanceCount
, params
->firstIndex
, params
->vertexOffset
, params
->firstInstance
);
15224 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexed(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->indexCount
, params
->instanceCount
, params
->firstIndex
, params
->vertexOffset
, params
->firstInstance
);
15225 return STATUS_SUCCESS
;
15228 #endif /* USE_STRUCT_CONVERSION */
15230 #if !defined(USE_STRUCT_CONVERSION)
15232 static NTSTATUS
thunk64_vkCmdDrawIndexedIndirect(void *args
)
15234 struct vkCmdDrawIndexedIndirect_params
*params
= args
;
15236 TRACE("%p, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
15238 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexedIndirect(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
15239 return STATUS_SUCCESS
;
15242 #else /* USE_STRUCT_CONVERSION */
15244 static NTSTATUS
thunk32_vkCmdDrawIndexedIndirect(void *args
)
15248 VkCommandBuffer commandBuffer
;
15249 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15250 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15251 uint32_t drawCount
;
15255 TRACE("%p, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
15257 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexedIndirect(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
15258 return STATUS_SUCCESS
;
15261 #endif /* USE_STRUCT_CONVERSION */
15263 #if !defined(USE_STRUCT_CONVERSION)
15265 static NTSTATUS
thunk64_vkCmdDrawIndexedIndirectCount(void *args
)
15267 struct vkCmdDrawIndexedIndirectCount_params
*params
= args
;
15269 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15271 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexedIndirectCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15272 return STATUS_SUCCESS
;
15275 #else /* USE_STRUCT_CONVERSION */
15277 static NTSTATUS
thunk32_vkCmdDrawIndexedIndirectCount(void *args
)
15281 VkCommandBuffer commandBuffer
;
15282 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15283 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15284 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
15285 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
15286 uint32_t maxDrawCount
;
15290 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15292 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexedIndirectCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15293 return STATUS_SUCCESS
;
15296 #endif /* USE_STRUCT_CONVERSION */
15298 #if !defined(USE_STRUCT_CONVERSION)
15300 static NTSTATUS
thunk64_vkCmdDrawIndexedIndirectCountAMD(void *args
)
15302 struct vkCmdDrawIndexedIndirectCountAMD_params
*params
= args
;
15304 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15306 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexedIndirectCountAMD(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15307 return STATUS_SUCCESS
;
15310 #else /* USE_STRUCT_CONVERSION */
15312 static NTSTATUS
thunk32_vkCmdDrawIndexedIndirectCountAMD(void *args
)
15316 VkCommandBuffer commandBuffer
;
15317 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15318 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15319 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
15320 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
15321 uint32_t maxDrawCount
;
15325 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15327 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexedIndirectCountAMD(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15328 return STATUS_SUCCESS
;
15331 #endif /* USE_STRUCT_CONVERSION */
15333 #if !defined(USE_STRUCT_CONVERSION)
15335 static NTSTATUS
thunk64_vkCmdDrawIndexedIndirectCountKHR(void *args
)
15337 struct vkCmdDrawIndexedIndirectCountKHR_params
*params
= args
;
15339 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15341 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexedIndirectCountKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15342 return STATUS_SUCCESS
;
15345 #else /* USE_STRUCT_CONVERSION */
15347 static NTSTATUS
thunk32_vkCmdDrawIndexedIndirectCountKHR(void *args
)
15351 VkCommandBuffer commandBuffer
;
15352 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15353 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15354 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
15355 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
15356 uint32_t maxDrawCount
;
15360 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15362 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndexedIndirectCountKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15363 return STATUS_SUCCESS
;
15366 #endif /* USE_STRUCT_CONVERSION */
15368 #if !defined(USE_STRUCT_CONVERSION)
15370 static NTSTATUS
thunk64_vkCmdDrawIndirect(void *args
)
15372 struct vkCmdDrawIndirect_params
*params
= args
;
15374 TRACE("%p, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
15376 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirect(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
15377 return STATUS_SUCCESS
;
15380 #else /* USE_STRUCT_CONVERSION */
15382 static NTSTATUS
thunk32_vkCmdDrawIndirect(void *args
)
15386 VkCommandBuffer commandBuffer
;
15387 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15388 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15389 uint32_t drawCount
;
15393 TRACE("%p, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
15395 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirect(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
15396 return STATUS_SUCCESS
;
15399 #endif /* USE_STRUCT_CONVERSION */
15401 #if !defined(USE_STRUCT_CONVERSION)
15403 static NTSTATUS
thunk64_vkCmdDrawIndirectByteCountEXT(void *args
)
15405 struct vkCmdDrawIndirectByteCountEXT_params
*params
= args
;
15407 TRACE("%p, %u, %u, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, params
->instanceCount
, params
->firstInstance
, wine_dbgstr_longlong(params
->counterBuffer
), wine_dbgstr_longlong(params
->counterBufferOffset
), params
->counterOffset
, params
->vertexStride
);
15409 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirectByteCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->instanceCount
, params
->firstInstance
, params
->counterBuffer
, params
->counterBufferOffset
, params
->counterOffset
, params
->vertexStride
);
15410 return STATUS_SUCCESS
;
15413 #else /* USE_STRUCT_CONVERSION */
15415 static NTSTATUS
thunk32_vkCmdDrawIndirectByteCountEXT(void *args
)
15419 VkCommandBuffer commandBuffer
;
15420 uint32_t instanceCount
;
15421 uint32_t firstInstance
;
15422 VkBuffer
DECLSPEC_ALIGN(8) counterBuffer
;
15423 VkDeviceSize
DECLSPEC_ALIGN(8) counterBufferOffset
;
15424 uint32_t counterOffset
;
15425 uint32_t vertexStride
;
15428 TRACE("%p, %u, %u, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, params
->instanceCount
, params
->firstInstance
, wine_dbgstr_longlong(params
->counterBuffer
), wine_dbgstr_longlong(params
->counterBufferOffset
), params
->counterOffset
, params
->vertexStride
);
15430 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirectByteCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->instanceCount
, params
->firstInstance
, params
->counterBuffer
, params
->counterBufferOffset
, params
->counterOffset
, params
->vertexStride
);
15431 return STATUS_SUCCESS
;
15434 #endif /* USE_STRUCT_CONVERSION */
15436 #if !defined(USE_STRUCT_CONVERSION)
15438 static NTSTATUS
thunk64_vkCmdDrawIndirectCount(void *args
)
15440 struct vkCmdDrawIndirectCount_params
*params
= args
;
15442 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15444 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirectCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15445 return STATUS_SUCCESS
;
15448 #else /* USE_STRUCT_CONVERSION */
15450 static NTSTATUS
thunk32_vkCmdDrawIndirectCount(void *args
)
15454 VkCommandBuffer commandBuffer
;
15455 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15456 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15457 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
15458 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
15459 uint32_t maxDrawCount
;
15463 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15465 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirectCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15466 return STATUS_SUCCESS
;
15469 #endif /* USE_STRUCT_CONVERSION */
15471 #if !defined(USE_STRUCT_CONVERSION)
15473 static NTSTATUS
thunk64_vkCmdDrawIndirectCountAMD(void *args
)
15475 struct vkCmdDrawIndirectCountAMD_params
*params
= args
;
15477 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15479 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirectCountAMD(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15480 return STATUS_SUCCESS
;
15483 #else /* USE_STRUCT_CONVERSION */
15485 static NTSTATUS
thunk32_vkCmdDrawIndirectCountAMD(void *args
)
15489 VkCommandBuffer commandBuffer
;
15490 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15491 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15492 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
15493 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
15494 uint32_t maxDrawCount
;
15498 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15500 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirectCountAMD(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15501 return STATUS_SUCCESS
;
15504 #endif /* USE_STRUCT_CONVERSION */
15506 #if !defined(USE_STRUCT_CONVERSION)
15508 static NTSTATUS
thunk64_vkCmdDrawIndirectCountKHR(void *args
)
15510 struct vkCmdDrawIndirectCountKHR_params
*params
= args
;
15512 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15514 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirectCountKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15515 return STATUS_SUCCESS
;
15518 #else /* USE_STRUCT_CONVERSION */
15520 static NTSTATUS
thunk32_vkCmdDrawIndirectCountKHR(void *args
)
15524 VkCommandBuffer commandBuffer
;
15525 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15526 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15527 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
15528 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
15529 uint32_t maxDrawCount
;
15533 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15535 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawIndirectCountKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15536 return STATUS_SUCCESS
;
15539 #endif /* USE_STRUCT_CONVERSION */
15541 #if !defined(USE_STRUCT_CONVERSION)
15543 static NTSTATUS
thunk64_vkCmdDrawMeshTasksEXT(void *args
)
15545 struct vkCmdDrawMeshTasksEXT_params
*params
= args
;
15547 TRACE("%p, %u, %u, %u\n", params
->commandBuffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15549 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15550 return STATUS_SUCCESS
;
15553 #else /* USE_STRUCT_CONVERSION */
15555 static NTSTATUS
thunk32_vkCmdDrawMeshTasksEXT(void *args
)
15559 VkCommandBuffer commandBuffer
;
15560 uint32_t groupCountX
;
15561 uint32_t groupCountY
;
15562 uint32_t groupCountZ
;
15565 TRACE("%p, %u, %u, %u\n", params
->commandBuffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15567 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
15568 return STATUS_SUCCESS
;
15571 #endif /* USE_STRUCT_CONVERSION */
15573 #if !defined(USE_STRUCT_CONVERSION)
15575 static NTSTATUS
thunk64_vkCmdDrawMeshTasksIndirectCountEXT(void *args
)
15577 struct vkCmdDrawMeshTasksIndirectCountEXT_params
*params
= args
;
15579 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15581 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksIndirectCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15582 return STATUS_SUCCESS
;
15585 #else /* USE_STRUCT_CONVERSION */
15587 static NTSTATUS
thunk32_vkCmdDrawMeshTasksIndirectCountEXT(void *args
)
15591 VkCommandBuffer commandBuffer
;
15592 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15593 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15594 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
15595 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
15596 uint32_t maxDrawCount
;
15600 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15602 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksIndirectCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15603 return STATUS_SUCCESS
;
15606 #endif /* USE_STRUCT_CONVERSION */
15608 #if !defined(USE_STRUCT_CONVERSION)
15610 static NTSTATUS
thunk64_vkCmdDrawMeshTasksIndirectCountNV(void *args
)
15612 struct vkCmdDrawMeshTasksIndirectCountNV_params
*params
= args
;
15614 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15616 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksIndirectCountNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15617 return STATUS_SUCCESS
;
15620 #else /* USE_STRUCT_CONVERSION */
15622 static NTSTATUS
thunk32_vkCmdDrawMeshTasksIndirectCountNV(void *args
)
15626 VkCommandBuffer commandBuffer
;
15627 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15628 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15629 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
15630 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
15631 uint32_t maxDrawCount
;
15635 TRACE("%p, 0x%s, 0x%s, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->countBuffer
), wine_dbgstr_longlong(params
->countBufferOffset
), params
->maxDrawCount
, params
->stride
);
15637 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksIndirectCountNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
15638 return STATUS_SUCCESS
;
15641 #endif /* USE_STRUCT_CONVERSION */
15643 #if !defined(USE_STRUCT_CONVERSION)
15645 static NTSTATUS
thunk64_vkCmdDrawMeshTasksIndirectEXT(void *args
)
15647 struct vkCmdDrawMeshTasksIndirectEXT_params
*params
= args
;
15649 TRACE("%p, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
15651 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksIndirectEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
15652 return STATUS_SUCCESS
;
15655 #else /* USE_STRUCT_CONVERSION */
15657 static NTSTATUS
thunk32_vkCmdDrawMeshTasksIndirectEXT(void *args
)
15661 VkCommandBuffer commandBuffer
;
15662 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15663 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15664 uint32_t drawCount
;
15668 TRACE("%p, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
15670 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksIndirectEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
15671 return STATUS_SUCCESS
;
15674 #endif /* USE_STRUCT_CONVERSION */
15676 #if !defined(USE_STRUCT_CONVERSION)
15678 static NTSTATUS
thunk64_vkCmdDrawMeshTasksIndirectNV(void *args
)
15680 struct vkCmdDrawMeshTasksIndirectNV_params
*params
= args
;
15682 TRACE("%p, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
15684 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksIndirectNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
15685 return STATUS_SUCCESS
;
15688 #else /* USE_STRUCT_CONVERSION */
15690 static NTSTATUS
thunk32_vkCmdDrawMeshTasksIndirectNV(void *args
)
15694 VkCommandBuffer commandBuffer
;
15695 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
15696 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
15697 uint32_t drawCount
;
15701 TRACE("%p, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
15703 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksIndirectNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
15704 return STATUS_SUCCESS
;
15707 #endif /* USE_STRUCT_CONVERSION */
15709 #if !defined(USE_STRUCT_CONVERSION)
15711 static NTSTATUS
thunk64_vkCmdDrawMeshTasksNV(void *args
)
15713 struct vkCmdDrawMeshTasksNV_params
*params
= args
;
15715 TRACE("%p, %u, %u\n", params
->commandBuffer
, params
->taskCount
, params
->firstTask
);
15717 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->taskCount
, params
->firstTask
);
15718 return STATUS_SUCCESS
;
15721 #else /* USE_STRUCT_CONVERSION */
15723 static NTSTATUS
thunk32_vkCmdDrawMeshTasksNV(void *args
)
15727 VkCommandBuffer commandBuffer
;
15728 uint32_t taskCount
;
15729 uint32_t firstTask
;
15732 TRACE("%p, %u, %u\n", params
->commandBuffer
, params
->taskCount
, params
->firstTask
);
15734 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->taskCount
, params
->firstTask
);
15735 return STATUS_SUCCESS
;
15738 #endif /* USE_STRUCT_CONVERSION */
15740 #if !defined(USE_STRUCT_CONVERSION)
15742 static NTSTATUS
thunk64_vkCmdDrawMultiEXT(void *args
)
15744 struct vkCmdDrawMultiEXT_params
*params
= args
;
15746 TRACE("%p, %u, %p, %u, %u, %u\n", params
->commandBuffer
, params
->drawCount
, params
->pVertexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
);
15748 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMultiEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->drawCount
, params
->pVertexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
);
15749 return STATUS_SUCCESS
;
15752 #else /* USE_STRUCT_CONVERSION */
15754 static NTSTATUS
thunk32_vkCmdDrawMultiEXT(void *args
)
15758 VkCommandBuffer commandBuffer
;
15759 uint32_t drawCount
;
15760 const VkMultiDrawInfoEXT
*pVertexInfo
;
15761 uint32_t instanceCount
;
15762 uint32_t firstInstance
;
15766 TRACE("%p, %u, %p, %u, %u, %u\n", params
->commandBuffer
, params
->drawCount
, params
->pVertexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
);
15768 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMultiEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->drawCount
, params
->pVertexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
);
15769 return STATUS_SUCCESS
;
15772 #endif /* USE_STRUCT_CONVERSION */
15774 #if !defined(USE_STRUCT_CONVERSION)
15776 static NTSTATUS
thunk64_vkCmdDrawMultiIndexedEXT(void *args
)
15778 struct vkCmdDrawMultiIndexedEXT_params
*params
= args
;
15780 TRACE("%p, %u, %p, %u, %u, %u, %p\n", params
->commandBuffer
, params
->drawCount
, params
->pIndexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
, params
->pVertexOffset
);
15782 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMultiIndexedEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->drawCount
, params
->pIndexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
, params
->pVertexOffset
);
15783 return STATUS_SUCCESS
;
15786 #else /* USE_STRUCT_CONVERSION */
15788 static NTSTATUS
thunk32_vkCmdDrawMultiIndexedEXT(void *args
)
15792 VkCommandBuffer commandBuffer
;
15793 uint32_t drawCount
;
15794 const VkMultiDrawIndexedInfoEXT
*pIndexInfo
;
15795 uint32_t instanceCount
;
15796 uint32_t firstInstance
;
15798 const int32_t *pVertexOffset
;
15801 TRACE("%p, %u, %p, %u, %u, %u, %p\n", params
->commandBuffer
, params
->drawCount
, params
->pIndexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
, params
->pVertexOffset
);
15803 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMultiIndexedEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->drawCount
, params
->pIndexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
, params
->pVertexOffset
);
15804 return STATUS_SUCCESS
;
15807 #endif /* USE_STRUCT_CONVERSION */
15809 #if !defined(USE_STRUCT_CONVERSION)
15811 static NTSTATUS
thunk64_vkCmdEndConditionalRenderingEXT(void *args
)
15813 struct vkCmdEndConditionalRenderingEXT_params
*params
= args
;
15815 TRACE("%p\n", params
->commandBuffer
);
15817 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndConditionalRenderingEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
15818 return STATUS_SUCCESS
;
15821 #else /* USE_STRUCT_CONVERSION */
15823 static NTSTATUS
thunk32_vkCmdEndConditionalRenderingEXT(void *args
)
15827 VkCommandBuffer commandBuffer
;
15830 TRACE("%p\n", params
->commandBuffer
);
15832 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndConditionalRenderingEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
15833 return STATUS_SUCCESS
;
15836 #endif /* USE_STRUCT_CONVERSION */
15838 #if !defined(USE_STRUCT_CONVERSION)
15840 static NTSTATUS
thunk64_vkCmdEndDebugUtilsLabelEXT(void *args
)
15842 struct vkCmdEndDebugUtilsLabelEXT_params
*params
= args
;
15844 TRACE("%p\n", params
->commandBuffer
);
15846 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndDebugUtilsLabelEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
15847 return STATUS_SUCCESS
;
15850 #else /* USE_STRUCT_CONVERSION */
15852 static NTSTATUS
thunk32_vkCmdEndDebugUtilsLabelEXT(void *args
)
15856 VkCommandBuffer commandBuffer
;
15859 TRACE("%p\n", params
->commandBuffer
);
15861 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndDebugUtilsLabelEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
15862 return STATUS_SUCCESS
;
15865 #endif /* USE_STRUCT_CONVERSION */
15867 #if !defined(USE_STRUCT_CONVERSION)
15869 static NTSTATUS
thunk64_vkCmdEndQuery(void *args
)
15871 struct vkCmdEndQuery_params
*params
= args
;
15873 TRACE("%p, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
);
15875 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndQuery(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->query
);
15876 return STATUS_SUCCESS
;
15879 #else /* USE_STRUCT_CONVERSION */
15881 static NTSTATUS
thunk32_vkCmdEndQuery(void *args
)
15885 VkCommandBuffer commandBuffer
;
15886 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
15890 TRACE("%p, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
);
15892 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndQuery(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->query
);
15893 return STATUS_SUCCESS
;
15896 #endif /* USE_STRUCT_CONVERSION */
15898 #if !defined(USE_STRUCT_CONVERSION)
15900 static NTSTATUS
thunk64_vkCmdEndQueryIndexedEXT(void *args
)
15902 struct vkCmdEndQueryIndexedEXT_params
*params
= args
;
15904 TRACE("%p, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->index
);
15906 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndQueryIndexedEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->query
, params
->index
);
15907 return STATUS_SUCCESS
;
15910 #else /* USE_STRUCT_CONVERSION */
15912 static NTSTATUS
thunk32_vkCmdEndQueryIndexedEXT(void *args
)
15916 VkCommandBuffer commandBuffer
;
15917 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
15922 TRACE("%p, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->index
);
15924 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndQueryIndexedEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->query
, params
->index
);
15925 return STATUS_SUCCESS
;
15928 #endif /* USE_STRUCT_CONVERSION */
15930 #if !defined(USE_STRUCT_CONVERSION)
15932 static NTSTATUS
thunk64_vkCmdEndRenderPass(void *args
)
15934 struct vkCmdEndRenderPass_params
*params
= args
;
15936 TRACE("%p\n", params
->commandBuffer
);
15938 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderPass(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
15939 return STATUS_SUCCESS
;
15942 #else /* USE_STRUCT_CONVERSION */
15944 static NTSTATUS
thunk32_vkCmdEndRenderPass(void *args
)
15948 VkCommandBuffer commandBuffer
;
15951 TRACE("%p\n", params
->commandBuffer
);
15953 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderPass(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
15954 return STATUS_SUCCESS
;
15957 #endif /* USE_STRUCT_CONVERSION */
15959 #if !defined(USE_STRUCT_CONVERSION)
15961 static NTSTATUS
thunk64_vkCmdEndRenderPass2(void *args
)
15963 struct vkCmdEndRenderPass2_params
*params
= args
;
15965 TRACE("%p, %p\n", params
->commandBuffer
, params
->pSubpassEndInfo
);
15967 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderPass2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassEndInfo
);
15968 return STATUS_SUCCESS
;
15971 #else /* USE_STRUCT_CONVERSION */
15973 static NTSTATUS
thunk32_vkCmdEndRenderPass2(void *args
)
15977 VkCommandBuffer commandBuffer
;
15978 const VkSubpassEndInfo
*pSubpassEndInfo
;
15981 TRACE("%p, %p\n", params
->commandBuffer
, params
->pSubpassEndInfo
);
15983 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderPass2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassEndInfo
);
15984 return STATUS_SUCCESS
;
15987 #endif /* USE_STRUCT_CONVERSION */
15989 #if !defined(USE_STRUCT_CONVERSION)
15991 static NTSTATUS
thunk64_vkCmdEndRenderPass2KHR(void *args
)
15993 struct vkCmdEndRenderPass2KHR_params
*params
= args
;
15995 TRACE("%p, %p\n", params
->commandBuffer
, params
->pSubpassEndInfo
);
15997 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderPass2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassEndInfo
);
15998 return STATUS_SUCCESS
;
16001 #else /* USE_STRUCT_CONVERSION */
16003 static NTSTATUS
thunk32_vkCmdEndRenderPass2KHR(void *args
)
16007 VkCommandBuffer commandBuffer
;
16008 const VkSubpassEndInfo
*pSubpassEndInfo
;
16011 TRACE("%p, %p\n", params
->commandBuffer
, params
->pSubpassEndInfo
);
16013 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderPass2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassEndInfo
);
16014 return STATUS_SUCCESS
;
16017 #endif /* USE_STRUCT_CONVERSION */
16019 #if !defined(USE_STRUCT_CONVERSION)
16021 static NTSTATUS
thunk64_vkCmdEndRendering(void *args
)
16023 struct vkCmdEndRendering_params
*params
= args
;
16025 TRACE("%p\n", params
->commandBuffer
);
16027 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRendering(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
16028 return STATUS_SUCCESS
;
16031 #else /* USE_STRUCT_CONVERSION */
16033 static NTSTATUS
thunk32_vkCmdEndRendering(void *args
)
16037 VkCommandBuffer commandBuffer
;
16040 TRACE("%p\n", params
->commandBuffer
);
16042 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRendering(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
16043 return STATUS_SUCCESS
;
16046 #endif /* USE_STRUCT_CONVERSION */
16048 #if !defined(USE_STRUCT_CONVERSION)
16050 static NTSTATUS
thunk64_vkCmdEndRenderingKHR(void *args
)
16052 struct vkCmdEndRenderingKHR_params
*params
= args
;
16054 TRACE("%p\n", params
->commandBuffer
);
16056 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderingKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
16057 return STATUS_SUCCESS
;
16060 #else /* USE_STRUCT_CONVERSION */
16062 static NTSTATUS
thunk32_vkCmdEndRenderingKHR(void *args
)
16066 VkCommandBuffer commandBuffer
;
16069 TRACE("%p\n", params
->commandBuffer
);
16071 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderingKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
16072 return STATUS_SUCCESS
;
16075 #endif /* USE_STRUCT_CONVERSION */
16077 #if !defined(USE_STRUCT_CONVERSION)
16079 static NTSTATUS
thunk64_vkCmdEndTransformFeedbackEXT(void *args
)
16081 struct vkCmdEndTransformFeedbackEXT_params
*params
= args
;
16083 TRACE("%p, %u, %u, %p, %p\n", params
->commandBuffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
16085 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndTransformFeedbackEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
16086 return STATUS_SUCCESS
;
16089 #else /* USE_STRUCT_CONVERSION */
16091 static NTSTATUS
thunk32_vkCmdEndTransformFeedbackEXT(void *args
)
16095 VkCommandBuffer commandBuffer
;
16096 uint32_t firstCounterBuffer
;
16097 uint32_t counterBufferCount
;
16098 const VkBuffer
*pCounterBuffers
;
16099 const VkDeviceSize
*pCounterBufferOffsets
;
16102 TRACE("%p, %u, %u, %p, %p\n", params
->commandBuffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
16104 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndTransformFeedbackEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
16105 return STATUS_SUCCESS
;
16108 #endif /* USE_STRUCT_CONVERSION */
16110 #if !defined(USE_STRUCT_CONVERSION)
16112 static NTSTATUS
thunk64_vkCmdExecuteCommands(void *args
)
16114 struct vkCmdExecuteCommands_params
*params
= args
;
16115 const VkCommandBuffer
*pCommandBuffers_host
;
16116 struct conversion_context ctx
;
16118 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->commandBufferCount
, params
->pCommandBuffers
);
16120 init_conversion_context(&ctx
);
16121 pCommandBuffers_host
= convert_VkCommandBuffer_array_win64_to_host(&ctx
, params
->pCommandBuffers
, params
->commandBufferCount
);
16122 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdExecuteCommands(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->commandBufferCount
, pCommandBuffers_host
);
16123 free_conversion_context(&ctx
);
16124 return STATUS_SUCCESS
;
16127 #else /* USE_STRUCT_CONVERSION */
16129 static NTSTATUS
thunk32_vkCmdExecuteCommands(void *args
)
16133 VkCommandBuffer commandBuffer
;
16134 uint32_t commandBufferCount
;
16135 const VkCommandBuffer
*pCommandBuffers
;
16137 const VkCommandBuffer
*pCommandBuffers_host
;
16138 struct conversion_context ctx
;
16140 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->commandBufferCount
, params
->pCommandBuffers
);
16142 init_conversion_context(&ctx
);
16143 pCommandBuffers_host
= convert_VkCommandBuffer_array_win32_to_host(&ctx
, params
->pCommandBuffers
, params
->commandBufferCount
);
16144 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdExecuteCommands(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->commandBufferCount
, pCommandBuffers_host
);
16145 free_conversion_context(&ctx
);
16146 return STATUS_SUCCESS
;
16149 #endif /* USE_STRUCT_CONVERSION */
16151 #if !defined(USE_STRUCT_CONVERSION)
16153 static NTSTATUS
thunk64_vkCmdExecuteGeneratedCommandsNV(void *args
)
16155 struct vkCmdExecuteGeneratedCommandsNV_params
*params
= args
;
16157 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->isPreprocessed
, params
->pGeneratedCommandsInfo
);
16159 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->isPreprocessed
, params
->pGeneratedCommandsInfo
);
16160 return STATUS_SUCCESS
;
16163 #else /* USE_STRUCT_CONVERSION */
16165 static NTSTATUS
thunk32_vkCmdExecuteGeneratedCommandsNV(void *args
)
16169 VkCommandBuffer commandBuffer
;
16170 VkBool32 isPreprocessed
;
16171 const VkGeneratedCommandsInfoNV32
*pGeneratedCommandsInfo
;
16173 VkGeneratedCommandsInfoNV pGeneratedCommandsInfo_host
;
16174 struct conversion_context ctx
;
16176 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->isPreprocessed
, params
->pGeneratedCommandsInfo
);
16178 init_conversion_context(&ctx
);
16179 convert_VkGeneratedCommandsInfoNV_win32_to_host(&ctx
, params
->pGeneratedCommandsInfo
, &pGeneratedCommandsInfo_host
);
16180 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->isPreprocessed
, &pGeneratedCommandsInfo_host
);
16181 free_conversion_context(&ctx
);
16182 return STATUS_SUCCESS
;
16185 #endif /* USE_STRUCT_CONVERSION */
16187 #if !defined(USE_STRUCT_CONVERSION)
16189 static NTSTATUS
thunk64_vkCmdFillBuffer(void *args
)
16191 struct vkCmdFillBuffer_params
*params
= args
;
16193 TRACE("%p, 0x%s, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), wine_dbgstr_longlong(params
->size
), params
->data
);
16195 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdFillBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->dstBuffer
, params
->dstOffset
, params
->size
, params
->data
);
16196 return STATUS_SUCCESS
;
16199 #else /* USE_STRUCT_CONVERSION */
16201 static NTSTATUS
thunk32_vkCmdFillBuffer(void *args
)
16205 VkCommandBuffer commandBuffer
;
16206 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
16207 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
16208 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
16212 TRACE("%p, 0x%s, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), wine_dbgstr_longlong(params
->size
), params
->data
);
16214 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdFillBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->dstBuffer
, params
->dstOffset
, params
->size
, params
->data
);
16215 return STATUS_SUCCESS
;
16218 #endif /* USE_STRUCT_CONVERSION */
16220 #if !defined(USE_STRUCT_CONVERSION)
16222 static NTSTATUS
thunk64_vkCmdInsertDebugUtilsLabelEXT(void *args
)
16224 struct vkCmdInsertDebugUtilsLabelEXT_params
*params
= args
;
16226 TRACE("%p, %p\n", params
->commandBuffer
, params
->pLabelInfo
);
16228 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdInsertDebugUtilsLabelEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pLabelInfo
);
16229 return STATUS_SUCCESS
;
16232 #else /* USE_STRUCT_CONVERSION */
16234 static NTSTATUS
thunk32_vkCmdInsertDebugUtilsLabelEXT(void *args
)
16238 VkCommandBuffer commandBuffer
;
16239 const VkDebugUtilsLabelEXT
*pLabelInfo
;
16242 TRACE("%p, %p\n", params
->commandBuffer
, params
->pLabelInfo
);
16244 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdInsertDebugUtilsLabelEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pLabelInfo
);
16245 return STATUS_SUCCESS
;
16248 #endif /* USE_STRUCT_CONVERSION */
16250 #if !defined(USE_STRUCT_CONVERSION)
16252 static NTSTATUS
thunk64_vkCmdNextSubpass(void *args
)
16254 struct vkCmdNextSubpass_params
*params
= args
;
16256 TRACE("%p, %#x\n", params
->commandBuffer
, params
->contents
);
16258 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdNextSubpass(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->contents
);
16259 return STATUS_SUCCESS
;
16262 #else /* USE_STRUCT_CONVERSION */
16264 static NTSTATUS
thunk32_vkCmdNextSubpass(void *args
)
16268 VkCommandBuffer commandBuffer
;
16269 VkSubpassContents contents
;
16272 TRACE("%p, %#x\n", params
->commandBuffer
, params
->contents
);
16274 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdNextSubpass(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->contents
);
16275 return STATUS_SUCCESS
;
16278 #endif /* USE_STRUCT_CONVERSION */
16280 #if !defined(USE_STRUCT_CONVERSION)
16282 static NTSTATUS
thunk64_vkCmdNextSubpass2(void *args
)
16284 struct vkCmdNextSubpass2_params
*params
= args
;
16286 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
16288 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdNextSubpass2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
16289 return STATUS_SUCCESS
;
16292 #else /* USE_STRUCT_CONVERSION */
16294 static NTSTATUS
thunk32_vkCmdNextSubpass2(void *args
)
16298 VkCommandBuffer commandBuffer
;
16299 const VkSubpassBeginInfo
*pSubpassBeginInfo
;
16300 const VkSubpassEndInfo
*pSubpassEndInfo
;
16303 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
16305 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdNextSubpass2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
16306 return STATUS_SUCCESS
;
16309 #endif /* USE_STRUCT_CONVERSION */
16311 #if !defined(USE_STRUCT_CONVERSION)
16313 static NTSTATUS
thunk64_vkCmdNextSubpass2KHR(void *args
)
16315 struct vkCmdNextSubpass2KHR_params
*params
= args
;
16317 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
16319 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdNextSubpass2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
16320 return STATUS_SUCCESS
;
16323 #else /* USE_STRUCT_CONVERSION */
16325 static NTSTATUS
thunk32_vkCmdNextSubpass2KHR(void *args
)
16329 VkCommandBuffer commandBuffer
;
16330 const VkSubpassBeginInfo
*pSubpassBeginInfo
;
16331 const VkSubpassEndInfo
*pSubpassEndInfo
;
16334 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
16336 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdNextSubpass2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
16337 return STATUS_SUCCESS
;
16340 #endif /* USE_STRUCT_CONVERSION */
16342 #if !defined(USE_STRUCT_CONVERSION)
16344 static NTSTATUS
thunk64_vkCmdOpticalFlowExecuteNV(void *args
)
16346 struct vkCmdOpticalFlowExecuteNV_params
*params
= args
;
16348 TRACE("%p, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->session
), params
->pExecuteInfo
);
16350 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdOpticalFlowExecuteNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->session
, params
->pExecuteInfo
);
16351 return STATUS_SUCCESS
;
16354 #else /* USE_STRUCT_CONVERSION */
16356 static NTSTATUS
thunk32_vkCmdOpticalFlowExecuteNV(void *args
)
16360 VkCommandBuffer commandBuffer
;
16361 VkOpticalFlowSessionNV
DECLSPEC_ALIGN(8) session
;
16362 const VkOpticalFlowExecuteInfoNV
*pExecuteInfo
;
16365 TRACE("%p, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->session
), params
->pExecuteInfo
);
16367 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdOpticalFlowExecuteNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->session
, params
->pExecuteInfo
);
16368 return STATUS_SUCCESS
;
16371 #endif /* USE_STRUCT_CONVERSION */
16373 #if !defined(USE_STRUCT_CONVERSION)
16375 static NTSTATUS
thunk64_vkCmdPipelineBarrier(void *args
)
16377 struct vkCmdPipelineBarrier_params
*params
= args
;
16379 TRACE("%p, %#x, %#x, %#x, %u, %p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->srcStageMask
, params
->dstStageMask
, params
->dependencyFlags
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, params
->pBufferMemoryBarriers
, params
->imageMemoryBarrierCount
, params
->pImageMemoryBarriers
);
16381 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPipelineBarrier(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcStageMask
, params
->dstStageMask
, params
->dependencyFlags
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, params
->pBufferMemoryBarriers
, params
->imageMemoryBarrierCount
, params
->pImageMemoryBarriers
);
16382 return STATUS_SUCCESS
;
16385 #else /* USE_STRUCT_CONVERSION */
16387 static NTSTATUS
thunk32_vkCmdPipelineBarrier(void *args
)
16391 VkCommandBuffer commandBuffer
;
16392 VkPipelineStageFlags srcStageMask
;
16393 VkPipelineStageFlags dstStageMask
;
16394 VkDependencyFlags dependencyFlags
;
16395 uint32_t memoryBarrierCount
;
16396 const VkMemoryBarrier
*pMemoryBarriers
;
16397 uint32_t bufferMemoryBarrierCount
;
16398 const VkBufferMemoryBarrier32
*pBufferMemoryBarriers
;
16399 uint32_t imageMemoryBarrierCount
;
16400 const VkImageMemoryBarrier32
*pImageMemoryBarriers
;
16402 const VkBufferMemoryBarrier
*pBufferMemoryBarriers_host
;
16403 const VkImageMemoryBarrier
*pImageMemoryBarriers_host
;
16404 struct conversion_context ctx
;
16406 TRACE("%p, %#x, %#x, %#x, %u, %p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->srcStageMask
, params
->dstStageMask
, params
->dependencyFlags
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, params
->pBufferMemoryBarriers
, params
->imageMemoryBarrierCount
, params
->pImageMemoryBarriers
);
16408 init_conversion_context(&ctx
);
16409 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win32_to_host(&ctx
, params
->pBufferMemoryBarriers
, params
->bufferMemoryBarrierCount
);
16410 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win32_to_host(&ctx
, params
->pImageMemoryBarriers
, params
->imageMemoryBarrierCount
);
16411 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPipelineBarrier(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcStageMask
, params
->dstStageMask
, params
->dependencyFlags
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, params
->imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
16412 free_conversion_context(&ctx
);
16413 return STATUS_SUCCESS
;
16416 #endif /* USE_STRUCT_CONVERSION */
16418 #if !defined(USE_STRUCT_CONVERSION)
16420 static NTSTATUS
thunk64_vkCmdPipelineBarrier2(void *args
)
16422 struct vkCmdPipelineBarrier2_params
*params
= args
;
16424 TRACE("%p, %p\n", params
->commandBuffer
, params
->pDependencyInfo
);
16426 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPipelineBarrier2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pDependencyInfo
);
16427 return STATUS_SUCCESS
;
16430 #else /* USE_STRUCT_CONVERSION */
16432 static NTSTATUS
thunk32_vkCmdPipelineBarrier2(void *args
)
16436 VkCommandBuffer commandBuffer
;
16437 const VkDependencyInfo32
*pDependencyInfo
;
16439 VkDependencyInfo pDependencyInfo_host
;
16440 struct conversion_context ctx
;
16442 TRACE("%p, %p\n", params
->commandBuffer
, params
->pDependencyInfo
);
16444 init_conversion_context(&ctx
);
16445 convert_VkDependencyInfo_win32_to_host(&ctx
, params
->pDependencyInfo
, &pDependencyInfo_host
);
16446 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPipelineBarrier2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pDependencyInfo_host
);
16447 free_conversion_context(&ctx
);
16448 return STATUS_SUCCESS
;
16451 #endif /* USE_STRUCT_CONVERSION */
16453 #if !defined(USE_STRUCT_CONVERSION)
16455 static NTSTATUS
thunk64_vkCmdPipelineBarrier2KHR(void *args
)
16457 struct vkCmdPipelineBarrier2KHR_params
*params
= args
;
16459 TRACE("%p, %p\n", params
->commandBuffer
, params
->pDependencyInfo
);
16461 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPipelineBarrier2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pDependencyInfo
);
16462 return STATUS_SUCCESS
;
16465 #else /* USE_STRUCT_CONVERSION */
16467 static NTSTATUS
thunk32_vkCmdPipelineBarrier2KHR(void *args
)
16471 VkCommandBuffer commandBuffer
;
16472 const VkDependencyInfo32
*pDependencyInfo
;
16474 VkDependencyInfo pDependencyInfo_host
;
16475 struct conversion_context ctx
;
16477 TRACE("%p, %p\n", params
->commandBuffer
, params
->pDependencyInfo
);
16479 init_conversion_context(&ctx
);
16480 convert_VkDependencyInfo_win32_to_host(&ctx
, params
->pDependencyInfo
, &pDependencyInfo_host
);
16481 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPipelineBarrier2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pDependencyInfo_host
);
16482 free_conversion_context(&ctx
);
16483 return STATUS_SUCCESS
;
16486 #endif /* USE_STRUCT_CONVERSION */
16488 #if !defined(USE_STRUCT_CONVERSION)
16490 static NTSTATUS
thunk64_vkCmdPreprocessGeneratedCommandsNV(void *args
)
16492 struct vkCmdPreprocessGeneratedCommandsNV_params
*params
= args
;
16494 TRACE("%p, %p\n", params
->commandBuffer
, params
->pGeneratedCommandsInfo
);
16496 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pGeneratedCommandsInfo
);
16497 return STATUS_SUCCESS
;
16500 #else /* USE_STRUCT_CONVERSION */
16502 static NTSTATUS
thunk32_vkCmdPreprocessGeneratedCommandsNV(void *args
)
16506 VkCommandBuffer commandBuffer
;
16507 const VkGeneratedCommandsInfoNV32
*pGeneratedCommandsInfo
;
16509 VkGeneratedCommandsInfoNV pGeneratedCommandsInfo_host
;
16510 struct conversion_context ctx
;
16512 TRACE("%p, %p\n", params
->commandBuffer
, params
->pGeneratedCommandsInfo
);
16514 init_conversion_context(&ctx
);
16515 convert_VkGeneratedCommandsInfoNV_win32_to_host(&ctx
, params
->pGeneratedCommandsInfo
, &pGeneratedCommandsInfo_host
);
16516 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pGeneratedCommandsInfo_host
);
16517 free_conversion_context(&ctx
);
16518 return STATUS_SUCCESS
;
16521 #endif /* USE_STRUCT_CONVERSION */
16523 #if !defined(USE_STRUCT_CONVERSION)
16525 static NTSTATUS
thunk64_vkCmdPushConstants(void *args
)
16527 struct vkCmdPushConstants_params
*params
= args
;
16529 TRACE("%p, 0x%s, %#x, %u, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->layout
), params
->stageFlags
, params
->offset
, params
->size
, params
->pValues
);
16531 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPushConstants(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->layout
, params
->stageFlags
, params
->offset
, params
->size
, params
->pValues
);
16532 return STATUS_SUCCESS
;
16535 #else /* USE_STRUCT_CONVERSION */
16537 static NTSTATUS
thunk32_vkCmdPushConstants(void *args
)
16541 VkCommandBuffer commandBuffer
;
16542 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
16543 VkShaderStageFlags stageFlags
;
16546 const void *pValues
;
16549 TRACE("%p, 0x%s, %#x, %u, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->layout
), params
->stageFlags
, params
->offset
, params
->size
, params
->pValues
);
16551 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPushConstants(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->layout
, params
->stageFlags
, params
->offset
, params
->size
, params
->pValues
);
16552 return STATUS_SUCCESS
;
16555 #endif /* USE_STRUCT_CONVERSION */
16557 #if !defined(USE_STRUCT_CONVERSION)
16559 static NTSTATUS
thunk64_vkCmdPushDescriptorSetKHR(void *args
)
16561 struct vkCmdPushDescriptorSetKHR_params
*params
= args
;
16563 TRACE("%p, %#x, 0x%s, %u, %u, %p\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->set
, params
->descriptorWriteCount
, params
->pDescriptorWrites
);
16565 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPushDescriptorSetKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->set
, params
->descriptorWriteCount
, params
->pDescriptorWrites
);
16566 return STATUS_SUCCESS
;
16569 #else /* USE_STRUCT_CONVERSION */
16571 static NTSTATUS
thunk32_vkCmdPushDescriptorSetKHR(void *args
)
16575 VkCommandBuffer commandBuffer
;
16576 VkPipelineBindPoint pipelineBindPoint
;
16577 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
16579 uint32_t descriptorWriteCount
;
16580 const VkWriteDescriptorSet32
*pDescriptorWrites
;
16582 const VkWriteDescriptorSet
*pDescriptorWrites_host
;
16583 struct conversion_context ctx
;
16585 TRACE("%p, %#x, 0x%s, %u, %u, %p\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->set
, params
->descriptorWriteCount
, params
->pDescriptorWrites
);
16587 init_conversion_context(&ctx
);
16588 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win32_to_host(&ctx
, params
->pDescriptorWrites
, params
->descriptorWriteCount
);
16589 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPushDescriptorSetKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->set
, params
->descriptorWriteCount
, pDescriptorWrites_host
);
16590 free_conversion_context(&ctx
);
16591 return STATUS_SUCCESS
;
16594 #endif /* USE_STRUCT_CONVERSION */
16596 #if !defined(USE_STRUCT_CONVERSION)
16598 static NTSTATUS
thunk64_vkCmdPushDescriptorSetWithTemplateKHR(void *args
)
16600 struct vkCmdPushDescriptorSetWithTemplateKHR_params
*params
= args
;
16602 TRACE("%p, 0x%s, 0x%s, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), wine_dbgstr_longlong(params
->layout
), params
->set
, params
->pData
);
16604 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPushDescriptorSetWithTemplateKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->descriptorUpdateTemplate
, params
->layout
, params
->set
, params
->pData
);
16605 return STATUS_SUCCESS
;
16608 #else /* USE_STRUCT_CONVERSION */
16610 static NTSTATUS
thunk32_vkCmdPushDescriptorSetWithTemplateKHR(void *args
)
16614 VkCommandBuffer commandBuffer
;
16615 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
16616 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
16621 TRACE("%p, 0x%s, 0x%s, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), wine_dbgstr_longlong(params
->layout
), params
->set
, params
->pData
);
16623 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPushDescriptorSetWithTemplateKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->descriptorUpdateTemplate
, params
->layout
, params
->set
, params
->pData
);
16624 return STATUS_SUCCESS
;
16627 #endif /* USE_STRUCT_CONVERSION */
16629 #if !defined(USE_STRUCT_CONVERSION)
16631 static NTSTATUS
thunk64_vkCmdResetEvent(void *args
)
16633 struct vkCmdResetEvent_params
*params
= args
;
16635 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->stageMask
);
16637 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetEvent(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
16638 return STATUS_SUCCESS
;
16641 #else /* USE_STRUCT_CONVERSION */
16643 static NTSTATUS
thunk32_vkCmdResetEvent(void *args
)
16647 VkCommandBuffer commandBuffer
;
16648 VkEvent
DECLSPEC_ALIGN(8) event
;
16649 VkPipelineStageFlags stageMask
;
16652 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->stageMask
);
16654 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetEvent(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
16655 return STATUS_SUCCESS
;
16658 #endif /* USE_STRUCT_CONVERSION */
16660 #if !defined(USE_STRUCT_CONVERSION)
16662 static NTSTATUS
thunk64_vkCmdResetEvent2(void *args
)
16664 struct vkCmdResetEvent2_params
*params
= args
;
16666 TRACE("%p, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), wine_dbgstr_longlong(params
->stageMask
));
16668 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetEvent2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
16669 return STATUS_SUCCESS
;
16672 #else /* USE_STRUCT_CONVERSION */
16674 static NTSTATUS
thunk32_vkCmdResetEvent2(void *args
)
16678 VkCommandBuffer commandBuffer
;
16679 VkEvent
DECLSPEC_ALIGN(8) event
;
16680 VkPipelineStageFlags2 stageMask
;
16683 TRACE("%p, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), wine_dbgstr_longlong(params
->stageMask
));
16685 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetEvent2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
16686 return STATUS_SUCCESS
;
16689 #endif /* USE_STRUCT_CONVERSION */
16691 #if !defined(USE_STRUCT_CONVERSION)
16693 static NTSTATUS
thunk64_vkCmdResetEvent2KHR(void *args
)
16695 struct vkCmdResetEvent2KHR_params
*params
= args
;
16697 TRACE("%p, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), wine_dbgstr_longlong(params
->stageMask
));
16699 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetEvent2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
16700 return STATUS_SUCCESS
;
16703 #else /* USE_STRUCT_CONVERSION */
16705 static NTSTATUS
thunk32_vkCmdResetEvent2KHR(void *args
)
16709 VkCommandBuffer commandBuffer
;
16710 VkEvent
DECLSPEC_ALIGN(8) event
;
16711 VkPipelineStageFlags2 stageMask
;
16714 TRACE("%p, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), wine_dbgstr_longlong(params
->stageMask
));
16716 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetEvent2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
16717 return STATUS_SUCCESS
;
16720 #endif /* USE_STRUCT_CONVERSION */
16722 #if !defined(USE_STRUCT_CONVERSION)
16724 static NTSTATUS
thunk64_vkCmdResetQueryPool(void *args
)
16726 struct vkCmdResetQueryPool_params
*params
= args
;
16728 TRACE("%p, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
16730 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetQueryPool(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
16731 return STATUS_SUCCESS
;
16734 #else /* USE_STRUCT_CONVERSION */
16736 static NTSTATUS
thunk32_vkCmdResetQueryPool(void *args
)
16740 VkCommandBuffer commandBuffer
;
16741 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
16742 uint32_t firstQuery
;
16743 uint32_t queryCount
;
16746 TRACE("%p, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
16748 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetQueryPool(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
16749 return STATUS_SUCCESS
;
16752 #endif /* USE_STRUCT_CONVERSION */
16754 #if !defined(USE_STRUCT_CONVERSION)
16756 static NTSTATUS
thunk64_vkCmdResolveImage(void *args
)
16758 struct vkCmdResolveImage_params
*params
= args
;
16760 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
16762 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResolveImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
16763 return STATUS_SUCCESS
;
16766 #else /* USE_STRUCT_CONVERSION */
16768 static NTSTATUS
thunk32_vkCmdResolveImage(void *args
)
16772 VkCommandBuffer commandBuffer
;
16773 VkImage
DECLSPEC_ALIGN(8) srcImage
;
16774 VkImageLayout srcImageLayout
;
16775 VkImage
DECLSPEC_ALIGN(8) dstImage
;
16776 VkImageLayout dstImageLayout
;
16777 uint32_t regionCount
;
16778 const VkImageResolve
*pRegions
;
16781 TRACE("%p, 0x%s, %#x, 0x%s, %#x, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
16783 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResolveImage(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
16784 return STATUS_SUCCESS
;
16787 #endif /* USE_STRUCT_CONVERSION */
16789 #if !defined(USE_STRUCT_CONVERSION)
16791 static NTSTATUS
thunk64_vkCmdResolveImage2(void *args
)
16793 struct vkCmdResolveImage2_params
*params
= args
;
16795 TRACE("%p, %p\n", params
->commandBuffer
, params
->pResolveImageInfo
);
16797 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResolveImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pResolveImageInfo
);
16798 return STATUS_SUCCESS
;
16801 #else /* USE_STRUCT_CONVERSION */
16803 static NTSTATUS
thunk32_vkCmdResolveImage2(void *args
)
16807 VkCommandBuffer commandBuffer
;
16808 const VkResolveImageInfo232
*pResolveImageInfo
;
16810 VkResolveImageInfo2 pResolveImageInfo_host
;
16812 TRACE("%p, %p\n", params
->commandBuffer
, params
->pResolveImageInfo
);
16814 convert_VkResolveImageInfo2_win32_to_host(params
->pResolveImageInfo
, &pResolveImageInfo_host
);
16815 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResolveImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pResolveImageInfo_host
);
16816 return STATUS_SUCCESS
;
16819 #endif /* USE_STRUCT_CONVERSION */
16821 #if !defined(USE_STRUCT_CONVERSION)
16823 static NTSTATUS
thunk64_vkCmdResolveImage2KHR(void *args
)
16825 struct vkCmdResolveImage2KHR_params
*params
= args
;
16827 TRACE("%p, %p\n", params
->commandBuffer
, params
->pResolveImageInfo
);
16829 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResolveImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pResolveImageInfo
);
16830 return STATUS_SUCCESS
;
16833 #else /* USE_STRUCT_CONVERSION */
16835 static NTSTATUS
thunk32_vkCmdResolveImage2KHR(void *args
)
16839 VkCommandBuffer commandBuffer
;
16840 const VkResolveImageInfo232
*pResolveImageInfo
;
16842 VkResolveImageInfo2 pResolveImageInfo_host
;
16844 TRACE("%p, %p\n", params
->commandBuffer
, params
->pResolveImageInfo
);
16846 convert_VkResolveImageInfo2_win32_to_host(params
->pResolveImageInfo
, &pResolveImageInfo_host
);
16847 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResolveImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pResolveImageInfo_host
);
16848 return STATUS_SUCCESS
;
16851 #endif /* USE_STRUCT_CONVERSION */
16853 #if !defined(USE_STRUCT_CONVERSION)
16855 static NTSTATUS
thunk64_vkCmdSetAlphaToCoverageEnableEXT(void *args
)
16857 struct vkCmdSetAlphaToCoverageEnableEXT_params
*params
= args
;
16859 TRACE("%p, %u\n", params
->commandBuffer
, params
->alphaToCoverageEnable
);
16861 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetAlphaToCoverageEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->alphaToCoverageEnable
);
16862 return STATUS_SUCCESS
;
16865 #else /* USE_STRUCT_CONVERSION */
16867 static NTSTATUS
thunk32_vkCmdSetAlphaToCoverageEnableEXT(void *args
)
16871 VkCommandBuffer commandBuffer
;
16872 VkBool32 alphaToCoverageEnable
;
16875 TRACE("%p, %u\n", params
->commandBuffer
, params
->alphaToCoverageEnable
);
16877 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetAlphaToCoverageEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->alphaToCoverageEnable
);
16878 return STATUS_SUCCESS
;
16881 #endif /* USE_STRUCT_CONVERSION */
16883 #if !defined(USE_STRUCT_CONVERSION)
16885 static NTSTATUS
thunk64_vkCmdSetAlphaToOneEnableEXT(void *args
)
16887 struct vkCmdSetAlphaToOneEnableEXT_params
*params
= args
;
16889 TRACE("%p, %u\n", params
->commandBuffer
, params
->alphaToOneEnable
);
16891 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetAlphaToOneEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->alphaToOneEnable
);
16892 return STATUS_SUCCESS
;
16895 #else /* USE_STRUCT_CONVERSION */
16897 static NTSTATUS
thunk32_vkCmdSetAlphaToOneEnableEXT(void *args
)
16901 VkCommandBuffer commandBuffer
;
16902 VkBool32 alphaToOneEnable
;
16905 TRACE("%p, %u\n", params
->commandBuffer
, params
->alphaToOneEnable
);
16907 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetAlphaToOneEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->alphaToOneEnable
);
16908 return STATUS_SUCCESS
;
16911 #endif /* USE_STRUCT_CONVERSION */
16913 #if !defined(USE_STRUCT_CONVERSION)
16915 static NTSTATUS
thunk64_vkCmdSetBlendConstants(void *args
)
16917 struct vkCmdSetBlendConstants_params
*params
= args
;
16919 TRACE("%p, %p\n", params
->commandBuffer
, params
->blendConstants
);
16921 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetBlendConstants(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->blendConstants
);
16922 return STATUS_SUCCESS
;
16925 #else /* USE_STRUCT_CONVERSION */
16927 static NTSTATUS
thunk32_vkCmdSetBlendConstants(void *args
)
16931 VkCommandBuffer commandBuffer
;
16932 const float *blendConstants
;
16935 TRACE("%p, %p\n", params
->commandBuffer
, params
->blendConstants
);
16937 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetBlendConstants(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->blendConstants
);
16938 return STATUS_SUCCESS
;
16941 #endif /* USE_STRUCT_CONVERSION */
16943 #if !defined(USE_STRUCT_CONVERSION)
16945 static NTSTATUS
thunk64_vkCmdSetCheckpointNV(void *args
)
16947 struct vkCmdSetCheckpointNV_params
*params
= args
;
16949 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCheckpointMarker
);
16951 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCheckpointNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCheckpointMarker
);
16952 return STATUS_SUCCESS
;
16955 #else /* USE_STRUCT_CONVERSION */
16957 static NTSTATUS
thunk32_vkCmdSetCheckpointNV(void *args
)
16961 VkCommandBuffer commandBuffer
;
16962 const void *pCheckpointMarker
;
16965 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCheckpointMarker
);
16967 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCheckpointNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCheckpointMarker
);
16968 return STATUS_SUCCESS
;
16971 #endif /* USE_STRUCT_CONVERSION */
16973 #if !defined(USE_STRUCT_CONVERSION)
16975 static NTSTATUS
thunk64_vkCmdSetCoarseSampleOrderNV(void *args
)
16977 struct vkCmdSetCoarseSampleOrderNV_params
*params
= args
;
16979 TRACE("%p, %#x, %u, %p\n", params
->commandBuffer
, params
->sampleOrderType
, params
->customSampleOrderCount
, params
->pCustomSampleOrders
);
16981 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoarseSampleOrderNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->sampleOrderType
, params
->customSampleOrderCount
, params
->pCustomSampleOrders
);
16982 return STATUS_SUCCESS
;
16985 #else /* USE_STRUCT_CONVERSION */
16987 static NTSTATUS
thunk32_vkCmdSetCoarseSampleOrderNV(void *args
)
16991 VkCommandBuffer commandBuffer
;
16992 VkCoarseSampleOrderTypeNV sampleOrderType
;
16993 uint32_t customSampleOrderCount
;
16994 const VkCoarseSampleOrderCustomNV
*pCustomSampleOrders
;
16997 TRACE("%p, %#x, %u, %p\n", params
->commandBuffer
, params
->sampleOrderType
, params
->customSampleOrderCount
, params
->pCustomSampleOrders
);
16999 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoarseSampleOrderNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->sampleOrderType
, params
->customSampleOrderCount
, params
->pCustomSampleOrders
);
17000 return STATUS_SUCCESS
;
17003 #endif /* USE_STRUCT_CONVERSION */
17005 #if !defined(USE_STRUCT_CONVERSION)
17007 static NTSTATUS
thunk64_vkCmdSetColorBlendAdvancedEXT(void *args
)
17009 struct vkCmdSetColorBlendAdvancedEXT_params
*params
= args
;
17011 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendAdvanced
);
17013 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorBlendAdvancedEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendAdvanced
);
17014 return STATUS_SUCCESS
;
17017 #else /* USE_STRUCT_CONVERSION */
17019 static NTSTATUS
thunk32_vkCmdSetColorBlendAdvancedEXT(void *args
)
17023 VkCommandBuffer commandBuffer
;
17024 uint32_t firstAttachment
;
17025 uint32_t attachmentCount
;
17026 const VkColorBlendAdvancedEXT
*pColorBlendAdvanced
;
17029 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendAdvanced
);
17031 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorBlendAdvancedEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendAdvanced
);
17032 return STATUS_SUCCESS
;
17035 #endif /* USE_STRUCT_CONVERSION */
17037 #if !defined(USE_STRUCT_CONVERSION)
17039 static NTSTATUS
thunk64_vkCmdSetColorBlendEnableEXT(void *args
)
17041 struct vkCmdSetColorBlendEnableEXT_params
*params
= args
;
17043 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEnables
);
17045 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorBlendEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEnables
);
17046 return STATUS_SUCCESS
;
17049 #else /* USE_STRUCT_CONVERSION */
17051 static NTSTATUS
thunk32_vkCmdSetColorBlendEnableEXT(void *args
)
17055 VkCommandBuffer commandBuffer
;
17056 uint32_t firstAttachment
;
17057 uint32_t attachmentCount
;
17058 const VkBool32
*pColorBlendEnables
;
17061 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEnables
);
17063 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorBlendEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEnables
);
17064 return STATUS_SUCCESS
;
17067 #endif /* USE_STRUCT_CONVERSION */
17069 #if !defined(USE_STRUCT_CONVERSION)
17071 static NTSTATUS
thunk64_vkCmdSetColorBlendEquationEXT(void *args
)
17073 struct vkCmdSetColorBlendEquationEXT_params
*params
= args
;
17075 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEquations
);
17077 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorBlendEquationEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEquations
);
17078 return STATUS_SUCCESS
;
17081 #else /* USE_STRUCT_CONVERSION */
17083 static NTSTATUS
thunk32_vkCmdSetColorBlendEquationEXT(void *args
)
17087 VkCommandBuffer commandBuffer
;
17088 uint32_t firstAttachment
;
17089 uint32_t attachmentCount
;
17090 const VkColorBlendEquationEXT
*pColorBlendEquations
;
17093 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEquations
);
17095 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorBlendEquationEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEquations
);
17096 return STATUS_SUCCESS
;
17099 #endif /* USE_STRUCT_CONVERSION */
17101 #if !defined(USE_STRUCT_CONVERSION)
17103 static NTSTATUS
thunk64_vkCmdSetColorWriteEnableEXT(void *args
)
17105 struct vkCmdSetColorWriteEnableEXT_params
*params
= args
;
17107 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->attachmentCount
, params
->pColorWriteEnables
);
17109 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorWriteEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->attachmentCount
, params
->pColorWriteEnables
);
17110 return STATUS_SUCCESS
;
17113 #else /* USE_STRUCT_CONVERSION */
17115 static NTSTATUS
thunk32_vkCmdSetColorWriteEnableEXT(void *args
)
17119 VkCommandBuffer commandBuffer
;
17120 uint32_t attachmentCount
;
17121 const VkBool32
*pColorWriteEnables
;
17124 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->attachmentCount
, params
->pColorWriteEnables
);
17126 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorWriteEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->attachmentCount
, params
->pColorWriteEnables
);
17127 return STATUS_SUCCESS
;
17130 #endif /* USE_STRUCT_CONVERSION */
17132 #if !defined(USE_STRUCT_CONVERSION)
17134 static NTSTATUS
thunk64_vkCmdSetColorWriteMaskEXT(void *args
)
17136 struct vkCmdSetColorWriteMaskEXT_params
*params
= args
;
17138 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorWriteMasks
);
17140 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorWriteMaskEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorWriteMasks
);
17141 return STATUS_SUCCESS
;
17144 #else /* USE_STRUCT_CONVERSION */
17146 static NTSTATUS
thunk32_vkCmdSetColorWriteMaskEXT(void *args
)
17150 VkCommandBuffer commandBuffer
;
17151 uint32_t firstAttachment
;
17152 uint32_t attachmentCount
;
17153 const VkColorComponentFlags
*pColorWriteMasks
;
17156 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorWriteMasks
);
17158 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorWriteMaskEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorWriteMasks
);
17159 return STATUS_SUCCESS
;
17162 #endif /* USE_STRUCT_CONVERSION */
17164 #if !defined(USE_STRUCT_CONVERSION)
17166 static NTSTATUS
thunk64_vkCmdSetConservativeRasterizationModeEXT(void *args
)
17168 struct vkCmdSetConservativeRasterizationModeEXT_params
*params
= args
;
17170 TRACE("%p, %#x\n", params
->commandBuffer
, params
->conservativeRasterizationMode
);
17172 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetConservativeRasterizationModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->conservativeRasterizationMode
);
17173 return STATUS_SUCCESS
;
17176 #else /* USE_STRUCT_CONVERSION */
17178 static NTSTATUS
thunk32_vkCmdSetConservativeRasterizationModeEXT(void *args
)
17182 VkCommandBuffer commandBuffer
;
17183 VkConservativeRasterizationModeEXT conservativeRasterizationMode
;
17186 TRACE("%p, %#x\n", params
->commandBuffer
, params
->conservativeRasterizationMode
);
17188 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetConservativeRasterizationModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->conservativeRasterizationMode
);
17189 return STATUS_SUCCESS
;
17192 #endif /* USE_STRUCT_CONVERSION */
17194 #if !defined(USE_STRUCT_CONVERSION)
17196 static NTSTATUS
thunk64_vkCmdSetCoverageModulationModeNV(void *args
)
17198 struct vkCmdSetCoverageModulationModeNV_params
*params
= args
;
17200 TRACE("%p, %#x\n", params
->commandBuffer
, params
->coverageModulationMode
);
17202 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageModulationModeNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageModulationMode
);
17203 return STATUS_SUCCESS
;
17206 #else /* USE_STRUCT_CONVERSION */
17208 static NTSTATUS
thunk32_vkCmdSetCoverageModulationModeNV(void *args
)
17212 VkCommandBuffer commandBuffer
;
17213 VkCoverageModulationModeNV coverageModulationMode
;
17216 TRACE("%p, %#x\n", params
->commandBuffer
, params
->coverageModulationMode
);
17218 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageModulationModeNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageModulationMode
);
17219 return STATUS_SUCCESS
;
17222 #endif /* USE_STRUCT_CONVERSION */
17224 #if !defined(USE_STRUCT_CONVERSION)
17226 static NTSTATUS
thunk64_vkCmdSetCoverageModulationTableEnableNV(void *args
)
17228 struct vkCmdSetCoverageModulationTableEnableNV_params
*params
= args
;
17230 TRACE("%p, %u\n", params
->commandBuffer
, params
->coverageModulationTableEnable
);
17232 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageModulationTableEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageModulationTableEnable
);
17233 return STATUS_SUCCESS
;
17236 #else /* USE_STRUCT_CONVERSION */
17238 static NTSTATUS
thunk32_vkCmdSetCoverageModulationTableEnableNV(void *args
)
17242 VkCommandBuffer commandBuffer
;
17243 VkBool32 coverageModulationTableEnable
;
17246 TRACE("%p, %u\n", params
->commandBuffer
, params
->coverageModulationTableEnable
);
17248 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageModulationTableEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageModulationTableEnable
);
17249 return STATUS_SUCCESS
;
17252 #endif /* USE_STRUCT_CONVERSION */
17254 #if !defined(USE_STRUCT_CONVERSION)
17256 static NTSTATUS
thunk64_vkCmdSetCoverageModulationTableNV(void *args
)
17258 struct vkCmdSetCoverageModulationTableNV_params
*params
= args
;
17260 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->coverageModulationTableCount
, params
->pCoverageModulationTable
);
17262 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageModulationTableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageModulationTableCount
, params
->pCoverageModulationTable
);
17263 return STATUS_SUCCESS
;
17266 #else /* USE_STRUCT_CONVERSION */
17268 static NTSTATUS
thunk32_vkCmdSetCoverageModulationTableNV(void *args
)
17272 VkCommandBuffer commandBuffer
;
17273 uint32_t coverageModulationTableCount
;
17274 const float *pCoverageModulationTable
;
17277 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->coverageModulationTableCount
, params
->pCoverageModulationTable
);
17279 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageModulationTableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageModulationTableCount
, params
->pCoverageModulationTable
);
17280 return STATUS_SUCCESS
;
17283 #endif /* USE_STRUCT_CONVERSION */
17285 #if !defined(USE_STRUCT_CONVERSION)
17287 static NTSTATUS
thunk64_vkCmdSetCoverageReductionModeNV(void *args
)
17289 struct vkCmdSetCoverageReductionModeNV_params
*params
= args
;
17291 TRACE("%p, %#x\n", params
->commandBuffer
, params
->coverageReductionMode
);
17293 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageReductionModeNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageReductionMode
);
17294 return STATUS_SUCCESS
;
17297 #else /* USE_STRUCT_CONVERSION */
17299 static NTSTATUS
thunk32_vkCmdSetCoverageReductionModeNV(void *args
)
17303 VkCommandBuffer commandBuffer
;
17304 VkCoverageReductionModeNV coverageReductionMode
;
17307 TRACE("%p, %#x\n", params
->commandBuffer
, params
->coverageReductionMode
);
17309 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageReductionModeNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageReductionMode
);
17310 return STATUS_SUCCESS
;
17313 #endif /* USE_STRUCT_CONVERSION */
17315 #if !defined(USE_STRUCT_CONVERSION)
17317 static NTSTATUS
thunk64_vkCmdSetCoverageToColorEnableNV(void *args
)
17319 struct vkCmdSetCoverageToColorEnableNV_params
*params
= args
;
17321 TRACE("%p, %u\n", params
->commandBuffer
, params
->coverageToColorEnable
);
17323 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageToColorEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageToColorEnable
);
17324 return STATUS_SUCCESS
;
17327 #else /* USE_STRUCT_CONVERSION */
17329 static NTSTATUS
thunk32_vkCmdSetCoverageToColorEnableNV(void *args
)
17333 VkCommandBuffer commandBuffer
;
17334 VkBool32 coverageToColorEnable
;
17337 TRACE("%p, %u\n", params
->commandBuffer
, params
->coverageToColorEnable
);
17339 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageToColorEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageToColorEnable
);
17340 return STATUS_SUCCESS
;
17343 #endif /* USE_STRUCT_CONVERSION */
17345 #if !defined(USE_STRUCT_CONVERSION)
17347 static NTSTATUS
thunk64_vkCmdSetCoverageToColorLocationNV(void *args
)
17349 struct vkCmdSetCoverageToColorLocationNV_params
*params
= args
;
17351 TRACE("%p, %u\n", params
->commandBuffer
, params
->coverageToColorLocation
);
17353 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageToColorLocationNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageToColorLocation
);
17354 return STATUS_SUCCESS
;
17357 #else /* USE_STRUCT_CONVERSION */
17359 static NTSTATUS
thunk32_vkCmdSetCoverageToColorLocationNV(void *args
)
17363 VkCommandBuffer commandBuffer
;
17364 uint32_t coverageToColorLocation
;
17367 TRACE("%p, %u\n", params
->commandBuffer
, params
->coverageToColorLocation
);
17369 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageToColorLocationNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageToColorLocation
);
17370 return STATUS_SUCCESS
;
17373 #endif /* USE_STRUCT_CONVERSION */
17375 #if !defined(USE_STRUCT_CONVERSION)
17377 static NTSTATUS
thunk64_vkCmdSetCullMode(void *args
)
17379 struct vkCmdSetCullMode_params
*params
= args
;
17381 TRACE("%p, %#x\n", params
->commandBuffer
, params
->cullMode
);
17383 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCullMode(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->cullMode
);
17384 return STATUS_SUCCESS
;
17387 #else /* USE_STRUCT_CONVERSION */
17389 static NTSTATUS
thunk32_vkCmdSetCullMode(void *args
)
17393 VkCommandBuffer commandBuffer
;
17394 VkCullModeFlags cullMode
;
17397 TRACE("%p, %#x\n", params
->commandBuffer
, params
->cullMode
);
17399 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCullMode(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->cullMode
);
17400 return STATUS_SUCCESS
;
17403 #endif /* USE_STRUCT_CONVERSION */
17405 #if !defined(USE_STRUCT_CONVERSION)
17407 static NTSTATUS
thunk64_vkCmdSetCullModeEXT(void *args
)
17409 struct vkCmdSetCullModeEXT_params
*params
= args
;
17411 TRACE("%p, %#x\n", params
->commandBuffer
, params
->cullMode
);
17413 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCullModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->cullMode
);
17414 return STATUS_SUCCESS
;
17417 #else /* USE_STRUCT_CONVERSION */
17419 static NTSTATUS
thunk32_vkCmdSetCullModeEXT(void *args
)
17423 VkCommandBuffer commandBuffer
;
17424 VkCullModeFlags cullMode
;
17427 TRACE("%p, %#x\n", params
->commandBuffer
, params
->cullMode
);
17429 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCullModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->cullMode
);
17430 return STATUS_SUCCESS
;
17433 #endif /* USE_STRUCT_CONVERSION */
17435 #if !defined(USE_STRUCT_CONVERSION)
17437 static NTSTATUS
thunk64_vkCmdSetDepthBias(void *args
)
17439 struct vkCmdSetDepthBias_params
*params
= args
;
17441 TRACE("%p, %f, %f, %f\n", params
->commandBuffer
, params
->depthBiasConstantFactor
, params
->depthBiasClamp
, params
->depthBiasSlopeFactor
);
17443 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBias(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBiasConstantFactor
, params
->depthBiasClamp
, params
->depthBiasSlopeFactor
);
17444 return STATUS_SUCCESS
;
17447 #else /* USE_STRUCT_CONVERSION */
17449 static NTSTATUS
thunk32_vkCmdSetDepthBias(void *args
)
17453 VkCommandBuffer commandBuffer
;
17454 float depthBiasConstantFactor
;
17455 float depthBiasClamp
;
17456 float depthBiasSlopeFactor
;
17459 TRACE("%p, %f, %f, %f\n", params
->commandBuffer
, params
->depthBiasConstantFactor
, params
->depthBiasClamp
, params
->depthBiasSlopeFactor
);
17461 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBias(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBiasConstantFactor
, params
->depthBiasClamp
, params
->depthBiasSlopeFactor
);
17462 return STATUS_SUCCESS
;
17465 #endif /* USE_STRUCT_CONVERSION */
17467 #if !defined(USE_STRUCT_CONVERSION)
17469 static NTSTATUS
thunk64_vkCmdSetDepthBiasEnable(void *args
)
17471 struct vkCmdSetDepthBiasEnable_params
*params
= args
;
17473 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBiasEnable
);
17475 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBiasEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBiasEnable
);
17476 return STATUS_SUCCESS
;
17479 #else /* USE_STRUCT_CONVERSION */
17481 static NTSTATUS
thunk32_vkCmdSetDepthBiasEnable(void *args
)
17485 VkCommandBuffer commandBuffer
;
17486 VkBool32 depthBiasEnable
;
17489 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBiasEnable
);
17491 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBiasEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBiasEnable
);
17492 return STATUS_SUCCESS
;
17495 #endif /* USE_STRUCT_CONVERSION */
17497 #if !defined(USE_STRUCT_CONVERSION)
17499 static NTSTATUS
thunk64_vkCmdSetDepthBiasEnableEXT(void *args
)
17501 struct vkCmdSetDepthBiasEnableEXT_params
*params
= args
;
17503 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBiasEnable
);
17505 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBiasEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBiasEnable
);
17506 return STATUS_SUCCESS
;
17509 #else /* USE_STRUCT_CONVERSION */
17511 static NTSTATUS
thunk32_vkCmdSetDepthBiasEnableEXT(void *args
)
17515 VkCommandBuffer commandBuffer
;
17516 VkBool32 depthBiasEnable
;
17519 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBiasEnable
);
17521 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBiasEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBiasEnable
);
17522 return STATUS_SUCCESS
;
17525 #endif /* USE_STRUCT_CONVERSION */
17527 #if !defined(USE_STRUCT_CONVERSION)
17529 static NTSTATUS
thunk64_vkCmdSetDepthBounds(void *args
)
17531 struct vkCmdSetDepthBounds_params
*params
= args
;
17533 TRACE("%p, %f, %f\n", params
->commandBuffer
, params
->minDepthBounds
, params
->maxDepthBounds
);
17535 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBounds(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->minDepthBounds
, params
->maxDepthBounds
);
17536 return STATUS_SUCCESS
;
17539 #else /* USE_STRUCT_CONVERSION */
17541 static NTSTATUS
thunk32_vkCmdSetDepthBounds(void *args
)
17545 VkCommandBuffer commandBuffer
;
17546 float minDepthBounds
;
17547 float maxDepthBounds
;
17550 TRACE("%p, %f, %f\n", params
->commandBuffer
, params
->minDepthBounds
, params
->maxDepthBounds
);
17552 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBounds(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->minDepthBounds
, params
->maxDepthBounds
);
17553 return STATUS_SUCCESS
;
17556 #endif /* USE_STRUCT_CONVERSION */
17558 #if !defined(USE_STRUCT_CONVERSION)
17560 static NTSTATUS
thunk64_vkCmdSetDepthBoundsTestEnable(void *args
)
17562 struct vkCmdSetDepthBoundsTestEnable_params
*params
= args
;
17564 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBoundsTestEnable
);
17566 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBoundsTestEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBoundsTestEnable
);
17567 return STATUS_SUCCESS
;
17570 #else /* USE_STRUCT_CONVERSION */
17572 static NTSTATUS
thunk32_vkCmdSetDepthBoundsTestEnable(void *args
)
17576 VkCommandBuffer commandBuffer
;
17577 VkBool32 depthBoundsTestEnable
;
17580 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBoundsTestEnable
);
17582 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBoundsTestEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBoundsTestEnable
);
17583 return STATUS_SUCCESS
;
17586 #endif /* USE_STRUCT_CONVERSION */
17588 #if !defined(USE_STRUCT_CONVERSION)
17590 static NTSTATUS
thunk64_vkCmdSetDepthBoundsTestEnableEXT(void *args
)
17592 struct vkCmdSetDepthBoundsTestEnableEXT_params
*params
= args
;
17594 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBoundsTestEnable
);
17596 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBoundsTestEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBoundsTestEnable
);
17597 return STATUS_SUCCESS
;
17600 #else /* USE_STRUCT_CONVERSION */
17602 static NTSTATUS
thunk32_vkCmdSetDepthBoundsTestEnableEXT(void *args
)
17606 VkCommandBuffer commandBuffer
;
17607 VkBool32 depthBoundsTestEnable
;
17610 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBoundsTestEnable
);
17612 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBoundsTestEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBoundsTestEnable
);
17613 return STATUS_SUCCESS
;
17616 #endif /* USE_STRUCT_CONVERSION */
17618 #if !defined(USE_STRUCT_CONVERSION)
17620 static NTSTATUS
thunk64_vkCmdSetDepthClampEnableEXT(void *args
)
17622 struct vkCmdSetDepthClampEnableEXT_params
*params
= args
;
17624 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthClampEnable
);
17626 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthClampEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthClampEnable
);
17627 return STATUS_SUCCESS
;
17630 #else /* USE_STRUCT_CONVERSION */
17632 static NTSTATUS
thunk32_vkCmdSetDepthClampEnableEXT(void *args
)
17636 VkCommandBuffer commandBuffer
;
17637 VkBool32 depthClampEnable
;
17640 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthClampEnable
);
17642 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthClampEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthClampEnable
);
17643 return STATUS_SUCCESS
;
17646 #endif /* USE_STRUCT_CONVERSION */
17648 #if !defined(USE_STRUCT_CONVERSION)
17650 static NTSTATUS
thunk64_vkCmdSetDepthClipEnableEXT(void *args
)
17652 struct vkCmdSetDepthClipEnableEXT_params
*params
= args
;
17654 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthClipEnable
);
17656 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthClipEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthClipEnable
);
17657 return STATUS_SUCCESS
;
17660 #else /* USE_STRUCT_CONVERSION */
17662 static NTSTATUS
thunk32_vkCmdSetDepthClipEnableEXT(void *args
)
17666 VkCommandBuffer commandBuffer
;
17667 VkBool32 depthClipEnable
;
17670 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthClipEnable
);
17672 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthClipEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthClipEnable
);
17673 return STATUS_SUCCESS
;
17676 #endif /* USE_STRUCT_CONVERSION */
17678 #if !defined(USE_STRUCT_CONVERSION)
17680 static NTSTATUS
thunk64_vkCmdSetDepthClipNegativeOneToOneEXT(void *args
)
17682 struct vkCmdSetDepthClipNegativeOneToOneEXT_params
*params
= args
;
17684 TRACE("%p, %u\n", params
->commandBuffer
, params
->negativeOneToOne
);
17686 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthClipNegativeOneToOneEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->negativeOneToOne
);
17687 return STATUS_SUCCESS
;
17690 #else /* USE_STRUCT_CONVERSION */
17692 static NTSTATUS
thunk32_vkCmdSetDepthClipNegativeOneToOneEXT(void *args
)
17696 VkCommandBuffer commandBuffer
;
17697 VkBool32 negativeOneToOne
;
17700 TRACE("%p, %u\n", params
->commandBuffer
, params
->negativeOneToOne
);
17702 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthClipNegativeOneToOneEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->negativeOneToOne
);
17703 return STATUS_SUCCESS
;
17706 #endif /* USE_STRUCT_CONVERSION */
17708 #if !defined(USE_STRUCT_CONVERSION)
17710 static NTSTATUS
thunk64_vkCmdSetDepthCompareOp(void *args
)
17712 struct vkCmdSetDepthCompareOp_params
*params
= args
;
17714 TRACE("%p, %#x\n", params
->commandBuffer
, params
->depthCompareOp
);
17716 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthCompareOp(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthCompareOp
);
17717 return STATUS_SUCCESS
;
17720 #else /* USE_STRUCT_CONVERSION */
17722 static NTSTATUS
thunk32_vkCmdSetDepthCompareOp(void *args
)
17726 VkCommandBuffer commandBuffer
;
17727 VkCompareOp depthCompareOp
;
17730 TRACE("%p, %#x\n", params
->commandBuffer
, params
->depthCompareOp
);
17732 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthCompareOp(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthCompareOp
);
17733 return STATUS_SUCCESS
;
17736 #endif /* USE_STRUCT_CONVERSION */
17738 #if !defined(USE_STRUCT_CONVERSION)
17740 static NTSTATUS
thunk64_vkCmdSetDepthCompareOpEXT(void *args
)
17742 struct vkCmdSetDepthCompareOpEXT_params
*params
= args
;
17744 TRACE("%p, %#x\n", params
->commandBuffer
, params
->depthCompareOp
);
17746 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthCompareOpEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthCompareOp
);
17747 return STATUS_SUCCESS
;
17750 #else /* USE_STRUCT_CONVERSION */
17752 static NTSTATUS
thunk32_vkCmdSetDepthCompareOpEXT(void *args
)
17756 VkCommandBuffer commandBuffer
;
17757 VkCompareOp depthCompareOp
;
17760 TRACE("%p, %#x\n", params
->commandBuffer
, params
->depthCompareOp
);
17762 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthCompareOpEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthCompareOp
);
17763 return STATUS_SUCCESS
;
17766 #endif /* USE_STRUCT_CONVERSION */
17768 #if !defined(USE_STRUCT_CONVERSION)
17770 static NTSTATUS
thunk64_vkCmdSetDepthTestEnable(void *args
)
17772 struct vkCmdSetDepthTestEnable_params
*params
= args
;
17774 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthTestEnable
);
17776 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthTestEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthTestEnable
);
17777 return STATUS_SUCCESS
;
17780 #else /* USE_STRUCT_CONVERSION */
17782 static NTSTATUS
thunk32_vkCmdSetDepthTestEnable(void *args
)
17786 VkCommandBuffer commandBuffer
;
17787 VkBool32 depthTestEnable
;
17790 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthTestEnable
);
17792 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthTestEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthTestEnable
);
17793 return STATUS_SUCCESS
;
17796 #endif /* USE_STRUCT_CONVERSION */
17798 #if !defined(USE_STRUCT_CONVERSION)
17800 static NTSTATUS
thunk64_vkCmdSetDepthTestEnableEXT(void *args
)
17802 struct vkCmdSetDepthTestEnableEXT_params
*params
= args
;
17804 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthTestEnable
);
17806 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthTestEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthTestEnable
);
17807 return STATUS_SUCCESS
;
17810 #else /* USE_STRUCT_CONVERSION */
17812 static NTSTATUS
thunk32_vkCmdSetDepthTestEnableEXT(void *args
)
17816 VkCommandBuffer commandBuffer
;
17817 VkBool32 depthTestEnable
;
17820 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthTestEnable
);
17822 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthTestEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthTestEnable
);
17823 return STATUS_SUCCESS
;
17826 #endif /* USE_STRUCT_CONVERSION */
17828 #if !defined(USE_STRUCT_CONVERSION)
17830 static NTSTATUS
thunk64_vkCmdSetDepthWriteEnable(void *args
)
17832 struct vkCmdSetDepthWriteEnable_params
*params
= args
;
17834 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthWriteEnable
);
17836 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthWriteEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthWriteEnable
);
17837 return STATUS_SUCCESS
;
17840 #else /* USE_STRUCT_CONVERSION */
17842 static NTSTATUS
thunk32_vkCmdSetDepthWriteEnable(void *args
)
17846 VkCommandBuffer commandBuffer
;
17847 VkBool32 depthWriteEnable
;
17850 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthWriteEnable
);
17852 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthWriteEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthWriteEnable
);
17853 return STATUS_SUCCESS
;
17856 #endif /* USE_STRUCT_CONVERSION */
17858 #if !defined(USE_STRUCT_CONVERSION)
17860 static NTSTATUS
thunk64_vkCmdSetDepthWriteEnableEXT(void *args
)
17862 struct vkCmdSetDepthWriteEnableEXT_params
*params
= args
;
17864 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthWriteEnable
);
17866 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthWriteEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthWriteEnable
);
17867 return STATUS_SUCCESS
;
17870 #else /* USE_STRUCT_CONVERSION */
17872 static NTSTATUS
thunk32_vkCmdSetDepthWriteEnableEXT(void *args
)
17876 VkCommandBuffer commandBuffer
;
17877 VkBool32 depthWriteEnable
;
17880 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthWriteEnable
);
17882 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthWriteEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthWriteEnable
);
17883 return STATUS_SUCCESS
;
17886 #endif /* USE_STRUCT_CONVERSION */
17888 #if !defined(USE_STRUCT_CONVERSION)
17890 static NTSTATUS
thunk64_vkCmdSetDeviceMask(void *args
)
17892 struct vkCmdSetDeviceMask_params
*params
= args
;
17894 TRACE("%p, %u\n", params
->commandBuffer
, params
->deviceMask
);
17896 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDeviceMask(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->deviceMask
);
17897 return STATUS_SUCCESS
;
17900 #else /* USE_STRUCT_CONVERSION */
17902 static NTSTATUS
thunk32_vkCmdSetDeviceMask(void *args
)
17906 VkCommandBuffer commandBuffer
;
17907 uint32_t deviceMask
;
17910 TRACE("%p, %u\n", params
->commandBuffer
, params
->deviceMask
);
17912 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDeviceMask(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->deviceMask
);
17913 return STATUS_SUCCESS
;
17916 #endif /* USE_STRUCT_CONVERSION */
17918 #if !defined(USE_STRUCT_CONVERSION)
17920 static NTSTATUS
thunk64_vkCmdSetDeviceMaskKHR(void *args
)
17922 struct vkCmdSetDeviceMaskKHR_params
*params
= args
;
17924 TRACE("%p, %u\n", params
->commandBuffer
, params
->deviceMask
);
17926 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDeviceMaskKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->deviceMask
);
17927 return STATUS_SUCCESS
;
17930 #else /* USE_STRUCT_CONVERSION */
17932 static NTSTATUS
thunk32_vkCmdSetDeviceMaskKHR(void *args
)
17936 VkCommandBuffer commandBuffer
;
17937 uint32_t deviceMask
;
17940 TRACE("%p, %u\n", params
->commandBuffer
, params
->deviceMask
);
17942 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDeviceMaskKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->deviceMask
);
17943 return STATUS_SUCCESS
;
17946 #endif /* USE_STRUCT_CONVERSION */
17948 #if !defined(USE_STRUCT_CONVERSION)
17950 static NTSTATUS
thunk64_vkCmdSetDiscardRectangleEXT(void *args
)
17952 struct vkCmdSetDiscardRectangleEXT_params
*params
= args
;
17954 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstDiscardRectangle
, params
->discardRectangleCount
, params
->pDiscardRectangles
);
17956 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDiscardRectangleEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstDiscardRectangle
, params
->discardRectangleCount
, params
->pDiscardRectangles
);
17957 return STATUS_SUCCESS
;
17960 #else /* USE_STRUCT_CONVERSION */
17962 static NTSTATUS
thunk32_vkCmdSetDiscardRectangleEXT(void *args
)
17966 VkCommandBuffer commandBuffer
;
17967 uint32_t firstDiscardRectangle
;
17968 uint32_t discardRectangleCount
;
17969 const VkRect2D
*pDiscardRectangles
;
17972 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstDiscardRectangle
, params
->discardRectangleCount
, params
->pDiscardRectangles
);
17974 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDiscardRectangleEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstDiscardRectangle
, params
->discardRectangleCount
, params
->pDiscardRectangles
);
17975 return STATUS_SUCCESS
;
17978 #endif /* USE_STRUCT_CONVERSION */
17980 #if !defined(USE_STRUCT_CONVERSION)
17982 static NTSTATUS
thunk64_vkCmdSetEvent(void *args
)
17984 struct vkCmdSetEvent_params
*params
= args
;
17986 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->stageMask
);
17988 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetEvent(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
17989 return STATUS_SUCCESS
;
17992 #else /* USE_STRUCT_CONVERSION */
17994 static NTSTATUS
thunk32_vkCmdSetEvent(void *args
)
17998 VkCommandBuffer commandBuffer
;
17999 VkEvent
DECLSPEC_ALIGN(8) event
;
18000 VkPipelineStageFlags stageMask
;
18003 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->stageMask
);
18005 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetEvent(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
18006 return STATUS_SUCCESS
;
18009 #endif /* USE_STRUCT_CONVERSION */
18011 #if !defined(USE_STRUCT_CONVERSION)
18013 static NTSTATUS
thunk64_vkCmdSetEvent2(void *args
)
18015 struct vkCmdSetEvent2_params
*params
= args
;
18017 TRACE("%p, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->pDependencyInfo
);
18019 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetEvent2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->pDependencyInfo
);
18020 return STATUS_SUCCESS
;
18023 #else /* USE_STRUCT_CONVERSION */
18025 static NTSTATUS
thunk32_vkCmdSetEvent2(void *args
)
18029 VkCommandBuffer commandBuffer
;
18030 VkEvent
DECLSPEC_ALIGN(8) event
;
18031 const VkDependencyInfo32
*pDependencyInfo
;
18033 VkDependencyInfo pDependencyInfo_host
;
18034 struct conversion_context ctx
;
18036 TRACE("%p, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->pDependencyInfo
);
18038 init_conversion_context(&ctx
);
18039 convert_VkDependencyInfo_win32_to_host(&ctx
, params
->pDependencyInfo
, &pDependencyInfo_host
);
18040 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetEvent2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, &pDependencyInfo_host
);
18041 free_conversion_context(&ctx
);
18042 return STATUS_SUCCESS
;
18045 #endif /* USE_STRUCT_CONVERSION */
18047 #if !defined(USE_STRUCT_CONVERSION)
18049 static NTSTATUS
thunk64_vkCmdSetEvent2KHR(void *args
)
18051 struct vkCmdSetEvent2KHR_params
*params
= args
;
18053 TRACE("%p, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->pDependencyInfo
);
18055 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetEvent2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->pDependencyInfo
);
18056 return STATUS_SUCCESS
;
18059 #else /* USE_STRUCT_CONVERSION */
18061 static NTSTATUS
thunk32_vkCmdSetEvent2KHR(void *args
)
18065 VkCommandBuffer commandBuffer
;
18066 VkEvent
DECLSPEC_ALIGN(8) event
;
18067 const VkDependencyInfo32
*pDependencyInfo
;
18069 VkDependencyInfo pDependencyInfo_host
;
18070 struct conversion_context ctx
;
18072 TRACE("%p, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->pDependencyInfo
);
18074 init_conversion_context(&ctx
);
18075 convert_VkDependencyInfo_win32_to_host(&ctx
, params
->pDependencyInfo
, &pDependencyInfo_host
);
18076 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetEvent2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, &pDependencyInfo_host
);
18077 free_conversion_context(&ctx
);
18078 return STATUS_SUCCESS
;
18081 #endif /* USE_STRUCT_CONVERSION */
18083 #if !defined(USE_STRUCT_CONVERSION)
18085 static NTSTATUS
thunk64_vkCmdSetExclusiveScissorNV(void *args
)
18087 struct vkCmdSetExclusiveScissorNV_params
*params
= args
;
18089 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstExclusiveScissor
, params
->exclusiveScissorCount
, params
->pExclusiveScissors
);
18091 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetExclusiveScissorNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstExclusiveScissor
, params
->exclusiveScissorCount
, params
->pExclusiveScissors
);
18092 return STATUS_SUCCESS
;
18095 #else /* USE_STRUCT_CONVERSION */
18097 static NTSTATUS
thunk32_vkCmdSetExclusiveScissorNV(void *args
)
18101 VkCommandBuffer commandBuffer
;
18102 uint32_t firstExclusiveScissor
;
18103 uint32_t exclusiveScissorCount
;
18104 const VkRect2D
*pExclusiveScissors
;
18107 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstExclusiveScissor
, params
->exclusiveScissorCount
, params
->pExclusiveScissors
);
18109 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetExclusiveScissorNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstExclusiveScissor
, params
->exclusiveScissorCount
, params
->pExclusiveScissors
);
18110 return STATUS_SUCCESS
;
18113 #endif /* USE_STRUCT_CONVERSION */
18115 #if !defined(USE_STRUCT_CONVERSION)
18117 static NTSTATUS
thunk64_vkCmdSetExtraPrimitiveOverestimationSizeEXT(void *args
)
18119 struct vkCmdSetExtraPrimitiveOverestimationSizeEXT_params
*params
= args
;
18121 TRACE("%p, %f\n", params
->commandBuffer
, params
->extraPrimitiveOverestimationSize
);
18123 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetExtraPrimitiveOverestimationSizeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->extraPrimitiveOverestimationSize
);
18124 return STATUS_SUCCESS
;
18127 #else /* USE_STRUCT_CONVERSION */
18129 static NTSTATUS
thunk32_vkCmdSetExtraPrimitiveOverestimationSizeEXT(void *args
)
18133 VkCommandBuffer commandBuffer
;
18134 float extraPrimitiveOverestimationSize
;
18137 TRACE("%p, %f\n", params
->commandBuffer
, params
->extraPrimitiveOverestimationSize
);
18139 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetExtraPrimitiveOverestimationSizeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->extraPrimitiveOverestimationSize
);
18140 return STATUS_SUCCESS
;
18143 #endif /* USE_STRUCT_CONVERSION */
18145 #if !defined(USE_STRUCT_CONVERSION)
18147 static NTSTATUS
thunk64_vkCmdSetFragmentShadingRateEnumNV(void *args
)
18149 struct vkCmdSetFragmentShadingRateEnumNV_params
*params
= args
;
18151 TRACE("%p, %#x, %p\n", params
->commandBuffer
, params
->shadingRate
, params
->combinerOps
);
18153 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFragmentShadingRateEnumNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->shadingRate
, params
->combinerOps
);
18154 return STATUS_SUCCESS
;
18157 #else /* USE_STRUCT_CONVERSION */
18159 static NTSTATUS
thunk32_vkCmdSetFragmentShadingRateEnumNV(void *args
)
18163 VkCommandBuffer commandBuffer
;
18164 VkFragmentShadingRateNV shadingRate
;
18165 const VkFragmentShadingRateCombinerOpKHR
*combinerOps
;
18168 TRACE("%p, %#x, %p\n", params
->commandBuffer
, params
->shadingRate
, params
->combinerOps
);
18170 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFragmentShadingRateEnumNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->shadingRate
, params
->combinerOps
);
18171 return STATUS_SUCCESS
;
18174 #endif /* USE_STRUCT_CONVERSION */
18176 #if !defined(USE_STRUCT_CONVERSION)
18178 static NTSTATUS
thunk64_vkCmdSetFragmentShadingRateKHR(void *args
)
18180 struct vkCmdSetFragmentShadingRateKHR_params
*params
= args
;
18182 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pFragmentSize
, params
->combinerOps
);
18184 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFragmentShadingRateKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pFragmentSize
, params
->combinerOps
);
18185 return STATUS_SUCCESS
;
18188 #else /* USE_STRUCT_CONVERSION */
18190 static NTSTATUS
thunk32_vkCmdSetFragmentShadingRateKHR(void *args
)
18194 VkCommandBuffer commandBuffer
;
18195 const VkExtent2D
*pFragmentSize
;
18196 const VkFragmentShadingRateCombinerOpKHR
*combinerOps
;
18199 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pFragmentSize
, params
->combinerOps
);
18201 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFragmentShadingRateKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pFragmentSize
, params
->combinerOps
);
18202 return STATUS_SUCCESS
;
18205 #endif /* USE_STRUCT_CONVERSION */
18207 #if !defined(USE_STRUCT_CONVERSION)
18209 static NTSTATUS
thunk64_vkCmdSetFrontFace(void *args
)
18211 struct vkCmdSetFrontFace_params
*params
= args
;
18213 TRACE("%p, %#x\n", params
->commandBuffer
, params
->frontFace
);
18215 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFrontFace(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->frontFace
);
18216 return STATUS_SUCCESS
;
18219 #else /* USE_STRUCT_CONVERSION */
18221 static NTSTATUS
thunk32_vkCmdSetFrontFace(void *args
)
18225 VkCommandBuffer commandBuffer
;
18226 VkFrontFace frontFace
;
18229 TRACE("%p, %#x\n", params
->commandBuffer
, params
->frontFace
);
18231 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFrontFace(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->frontFace
);
18232 return STATUS_SUCCESS
;
18235 #endif /* USE_STRUCT_CONVERSION */
18237 #if !defined(USE_STRUCT_CONVERSION)
18239 static NTSTATUS
thunk64_vkCmdSetFrontFaceEXT(void *args
)
18241 struct vkCmdSetFrontFaceEXT_params
*params
= args
;
18243 TRACE("%p, %#x\n", params
->commandBuffer
, params
->frontFace
);
18245 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFrontFaceEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->frontFace
);
18246 return STATUS_SUCCESS
;
18249 #else /* USE_STRUCT_CONVERSION */
18251 static NTSTATUS
thunk32_vkCmdSetFrontFaceEXT(void *args
)
18255 VkCommandBuffer commandBuffer
;
18256 VkFrontFace frontFace
;
18259 TRACE("%p, %#x\n", params
->commandBuffer
, params
->frontFace
);
18261 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFrontFaceEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->frontFace
);
18262 return STATUS_SUCCESS
;
18265 #endif /* USE_STRUCT_CONVERSION */
18267 #if !defined(USE_STRUCT_CONVERSION)
18269 static NTSTATUS
thunk64_vkCmdSetLineRasterizationModeEXT(void *args
)
18271 struct vkCmdSetLineRasterizationModeEXT_params
*params
= args
;
18273 TRACE("%p, %#x\n", params
->commandBuffer
, params
->lineRasterizationMode
);
18275 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineRasterizationModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->lineRasterizationMode
);
18276 return STATUS_SUCCESS
;
18279 #else /* USE_STRUCT_CONVERSION */
18281 static NTSTATUS
thunk32_vkCmdSetLineRasterizationModeEXT(void *args
)
18285 VkCommandBuffer commandBuffer
;
18286 VkLineRasterizationModeEXT lineRasterizationMode
;
18289 TRACE("%p, %#x\n", params
->commandBuffer
, params
->lineRasterizationMode
);
18291 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineRasterizationModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->lineRasterizationMode
);
18292 return STATUS_SUCCESS
;
18295 #endif /* USE_STRUCT_CONVERSION */
18297 #if !defined(USE_STRUCT_CONVERSION)
18299 static NTSTATUS
thunk64_vkCmdSetLineStippleEXT(void *args
)
18301 struct vkCmdSetLineStippleEXT_params
*params
= args
;
18303 TRACE("%p, %u, %u\n", params
->commandBuffer
, params
->lineStippleFactor
, params
->lineStipplePattern
);
18305 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineStippleEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->lineStippleFactor
, params
->lineStipplePattern
);
18306 return STATUS_SUCCESS
;
18309 #else /* USE_STRUCT_CONVERSION */
18311 static NTSTATUS
thunk32_vkCmdSetLineStippleEXT(void *args
)
18315 VkCommandBuffer commandBuffer
;
18316 uint32_t lineStippleFactor
;
18317 uint16_t lineStipplePattern
;
18320 TRACE("%p, %u, %u\n", params
->commandBuffer
, params
->lineStippleFactor
, params
->lineStipplePattern
);
18322 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineStippleEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->lineStippleFactor
, params
->lineStipplePattern
);
18323 return STATUS_SUCCESS
;
18326 #endif /* USE_STRUCT_CONVERSION */
18328 #if !defined(USE_STRUCT_CONVERSION)
18330 static NTSTATUS
thunk64_vkCmdSetLineStippleEnableEXT(void *args
)
18332 struct vkCmdSetLineStippleEnableEXT_params
*params
= args
;
18334 TRACE("%p, %u\n", params
->commandBuffer
, params
->stippledLineEnable
);
18336 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineStippleEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stippledLineEnable
);
18337 return STATUS_SUCCESS
;
18340 #else /* USE_STRUCT_CONVERSION */
18342 static NTSTATUS
thunk32_vkCmdSetLineStippleEnableEXT(void *args
)
18346 VkCommandBuffer commandBuffer
;
18347 VkBool32 stippledLineEnable
;
18350 TRACE("%p, %u\n", params
->commandBuffer
, params
->stippledLineEnable
);
18352 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineStippleEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stippledLineEnable
);
18353 return STATUS_SUCCESS
;
18356 #endif /* USE_STRUCT_CONVERSION */
18358 #if !defined(USE_STRUCT_CONVERSION)
18360 static NTSTATUS
thunk64_vkCmdSetLineWidth(void *args
)
18362 struct vkCmdSetLineWidth_params
*params
= args
;
18364 TRACE("%p, %f\n", params
->commandBuffer
, params
->lineWidth
);
18366 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineWidth(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->lineWidth
);
18367 return STATUS_SUCCESS
;
18370 #else /* USE_STRUCT_CONVERSION */
18372 static NTSTATUS
thunk32_vkCmdSetLineWidth(void *args
)
18376 VkCommandBuffer commandBuffer
;
18380 TRACE("%p, %f\n", params
->commandBuffer
, params
->lineWidth
);
18382 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineWidth(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->lineWidth
);
18383 return STATUS_SUCCESS
;
18386 #endif /* USE_STRUCT_CONVERSION */
18388 #if !defined(USE_STRUCT_CONVERSION)
18390 static NTSTATUS
thunk64_vkCmdSetLogicOpEXT(void *args
)
18392 struct vkCmdSetLogicOpEXT_params
*params
= args
;
18394 TRACE("%p, %#x\n", params
->commandBuffer
, params
->logicOp
);
18396 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLogicOpEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->logicOp
);
18397 return STATUS_SUCCESS
;
18400 #else /* USE_STRUCT_CONVERSION */
18402 static NTSTATUS
thunk32_vkCmdSetLogicOpEXT(void *args
)
18406 VkCommandBuffer commandBuffer
;
18410 TRACE("%p, %#x\n", params
->commandBuffer
, params
->logicOp
);
18412 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLogicOpEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->logicOp
);
18413 return STATUS_SUCCESS
;
18416 #endif /* USE_STRUCT_CONVERSION */
18418 #if !defined(USE_STRUCT_CONVERSION)
18420 static NTSTATUS
thunk64_vkCmdSetLogicOpEnableEXT(void *args
)
18422 struct vkCmdSetLogicOpEnableEXT_params
*params
= args
;
18424 TRACE("%p, %u\n", params
->commandBuffer
, params
->logicOpEnable
);
18426 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLogicOpEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->logicOpEnable
);
18427 return STATUS_SUCCESS
;
18430 #else /* USE_STRUCT_CONVERSION */
18432 static NTSTATUS
thunk32_vkCmdSetLogicOpEnableEXT(void *args
)
18436 VkCommandBuffer commandBuffer
;
18437 VkBool32 logicOpEnable
;
18440 TRACE("%p, %u\n", params
->commandBuffer
, params
->logicOpEnable
);
18442 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLogicOpEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->logicOpEnable
);
18443 return STATUS_SUCCESS
;
18446 #endif /* USE_STRUCT_CONVERSION */
18448 #if !defined(USE_STRUCT_CONVERSION)
18450 static NTSTATUS
thunk64_vkCmdSetPatchControlPointsEXT(void *args
)
18452 struct vkCmdSetPatchControlPointsEXT_params
*params
= args
;
18454 TRACE("%p, %u\n", params
->commandBuffer
, params
->patchControlPoints
);
18456 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPatchControlPointsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->patchControlPoints
);
18457 return STATUS_SUCCESS
;
18460 #else /* USE_STRUCT_CONVERSION */
18462 static NTSTATUS
thunk32_vkCmdSetPatchControlPointsEXT(void *args
)
18466 VkCommandBuffer commandBuffer
;
18467 uint32_t patchControlPoints
;
18470 TRACE("%p, %u\n", params
->commandBuffer
, params
->patchControlPoints
);
18472 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPatchControlPointsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->patchControlPoints
);
18473 return STATUS_SUCCESS
;
18476 #endif /* USE_STRUCT_CONVERSION */
18478 #if !defined(USE_STRUCT_CONVERSION)
18480 static NTSTATUS
thunk64_vkCmdSetPerformanceMarkerINTEL(void *args
)
18482 struct vkCmdSetPerformanceMarkerINTEL_params
*params
= args
;
18484 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
18486 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
18487 return STATUS_SUCCESS
;
18490 #else /* USE_STRUCT_CONVERSION */
18492 static NTSTATUS
thunk32_vkCmdSetPerformanceMarkerINTEL(void *args
)
18496 VkCommandBuffer commandBuffer
;
18497 const VkPerformanceMarkerInfoINTEL32
*pMarkerInfo
;
18500 VkPerformanceMarkerInfoINTEL pMarkerInfo_host
;
18502 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
18504 convert_VkPerformanceMarkerInfoINTEL_win32_to_host(params
->pMarkerInfo
, &pMarkerInfo_host
);
18505 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pMarkerInfo_host
);
18506 return STATUS_SUCCESS
;
18509 #endif /* USE_STRUCT_CONVERSION */
18511 #if !defined(USE_STRUCT_CONVERSION)
18513 static NTSTATUS
thunk64_vkCmdSetPerformanceOverrideINTEL(void *args
)
18515 struct vkCmdSetPerformanceOverrideINTEL_params
*params
= args
;
18517 TRACE("%p, %p\n", params
->commandBuffer
, params
->pOverrideInfo
);
18519 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pOverrideInfo
);
18520 return STATUS_SUCCESS
;
18523 #else /* USE_STRUCT_CONVERSION */
18525 static NTSTATUS
thunk32_vkCmdSetPerformanceOverrideINTEL(void *args
)
18529 VkCommandBuffer commandBuffer
;
18530 const VkPerformanceOverrideInfoINTEL32
*pOverrideInfo
;
18533 VkPerformanceOverrideInfoINTEL pOverrideInfo_host
;
18535 TRACE("%p, %p\n", params
->commandBuffer
, params
->pOverrideInfo
);
18537 convert_VkPerformanceOverrideInfoINTEL_win32_to_host(params
->pOverrideInfo
, &pOverrideInfo_host
);
18538 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pOverrideInfo_host
);
18539 return STATUS_SUCCESS
;
18542 #endif /* USE_STRUCT_CONVERSION */
18544 #if !defined(USE_STRUCT_CONVERSION)
18546 static NTSTATUS
thunk64_vkCmdSetPerformanceStreamMarkerINTEL(void *args
)
18548 struct vkCmdSetPerformanceStreamMarkerINTEL_params
*params
= args
;
18550 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
18552 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPerformanceStreamMarkerINTEL(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
18553 return STATUS_SUCCESS
;
18556 #else /* USE_STRUCT_CONVERSION */
18558 static NTSTATUS
thunk32_vkCmdSetPerformanceStreamMarkerINTEL(void *args
)
18562 VkCommandBuffer commandBuffer
;
18563 const VkPerformanceStreamMarkerInfoINTEL
*pMarkerInfo
;
18567 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
18569 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPerformanceStreamMarkerINTEL(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
18570 return STATUS_SUCCESS
;
18573 #endif /* USE_STRUCT_CONVERSION */
18575 #if !defined(USE_STRUCT_CONVERSION)
18577 static NTSTATUS
thunk64_vkCmdSetPolygonModeEXT(void *args
)
18579 struct vkCmdSetPolygonModeEXT_params
*params
= args
;
18581 TRACE("%p, %#x\n", params
->commandBuffer
, params
->polygonMode
);
18583 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPolygonModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->polygonMode
);
18584 return STATUS_SUCCESS
;
18587 #else /* USE_STRUCT_CONVERSION */
18589 static NTSTATUS
thunk32_vkCmdSetPolygonModeEXT(void *args
)
18593 VkCommandBuffer commandBuffer
;
18594 VkPolygonMode polygonMode
;
18597 TRACE("%p, %#x\n", params
->commandBuffer
, params
->polygonMode
);
18599 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPolygonModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->polygonMode
);
18600 return STATUS_SUCCESS
;
18603 #endif /* USE_STRUCT_CONVERSION */
18605 #if !defined(USE_STRUCT_CONVERSION)
18607 static NTSTATUS
thunk64_vkCmdSetPrimitiveRestartEnable(void *args
)
18609 struct vkCmdSetPrimitiveRestartEnable_params
*params
= args
;
18611 TRACE("%p, %u\n", params
->commandBuffer
, params
->primitiveRestartEnable
);
18613 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveRestartEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveRestartEnable
);
18614 return STATUS_SUCCESS
;
18617 #else /* USE_STRUCT_CONVERSION */
18619 static NTSTATUS
thunk32_vkCmdSetPrimitiveRestartEnable(void *args
)
18623 VkCommandBuffer commandBuffer
;
18624 VkBool32 primitiveRestartEnable
;
18627 TRACE("%p, %u\n", params
->commandBuffer
, params
->primitiveRestartEnable
);
18629 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveRestartEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveRestartEnable
);
18630 return STATUS_SUCCESS
;
18633 #endif /* USE_STRUCT_CONVERSION */
18635 #if !defined(USE_STRUCT_CONVERSION)
18637 static NTSTATUS
thunk64_vkCmdSetPrimitiveRestartEnableEXT(void *args
)
18639 struct vkCmdSetPrimitiveRestartEnableEXT_params
*params
= args
;
18641 TRACE("%p, %u\n", params
->commandBuffer
, params
->primitiveRestartEnable
);
18643 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveRestartEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveRestartEnable
);
18644 return STATUS_SUCCESS
;
18647 #else /* USE_STRUCT_CONVERSION */
18649 static NTSTATUS
thunk32_vkCmdSetPrimitiveRestartEnableEXT(void *args
)
18653 VkCommandBuffer commandBuffer
;
18654 VkBool32 primitiveRestartEnable
;
18657 TRACE("%p, %u\n", params
->commandBuffer
, params
->primitiveRestartEnable
);
18659 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveRestartEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveRestartEnable
);
18660 return STATUS_SUCCESS
;
18663 #endif /* USE_STRUCT_CONVERSION */
18665 #if !defined(USE_STRUCT_CONVERSION)
18667 static NTSTATUS
thunk64_vkCmdSetPrimitiveTopology(void *args
)
18669 struct vkCmdSetPrimitiveTopology_params
*params
= args
;
18671 TRACE("%p, %#x\n", params
->commandBuffer
, params
->primitiveTopology
);
18673 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveTopology(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveTopology
);
18674 return STATUS_SUCCESS
;
18677 #else /* USE_STRUCT_CONVERSION */
18679 static NTSTATUS
thunk32_vkCmdSetPrimitiveTopology(void *args
)
18683 VkCommandBuffer commandBuffer
;
18684 VkPrimitiveTopology primitiveTopology
;
18687 TRACE("%p, %#x\n", params
->commandBuffer
, params
->primitiveTopology
);
18689 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveTopology(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveTopology
);
18690 return STATUS_SUCCESS
;
18693 #endif /* USE_STRUCT_CONVERSION */
18695 #if !defined(USE_STRUCT_CONVERSION)
18697 static NTSTATUS
thunk64_vkCmdSetPrimitiveTopologyEXT(void *args
)
18699 struct vkCmdSetPrimitiveTopologyEXT_params
*params
= args
;
18701 TRACE("%p, %#x\n", params
->commandBuffer
, params
->primitiveTopology
);
18703 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveTopologyEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveTopology
);
18704 return STATUS_SUCCESS
;
18707 #else /* USE_STRUCT_CONVERSION */
18709 static NTSTATUS
thunk32_vkCmdSetPrimitiveTopologyEXT(void *args
)
18713 VkCommandBuffer commandBuffer
;
18714 VkPrimitiveTopology primitiveTopology
;
18717 TRACE("%p, %#x\n", params
->commandBuffer
, params
->primitiveTopology
);
18719 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveTopologyEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveTopology
);
18720 return STATUS_SUCCESS
;
18723 #endif /* USE_STRUCT_CONVERSION */
18725 #if !defined(USE_STRUCT_CONVERSION)
18727 static NTSTATUS
thunk64_vkCmdSetProvokingVertexModeEXT(void *args
)
18729 struct vkCmdSetProvokingVertexModeEXT_params
*params
= args
;
18731 TRACE("%p, %#x\n", params
->commandBuffer
, params
->provokingVertexMode
);
18733 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetProvokingVertexModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->provokingVertexMode
);
18734 return STATUS_SUCCESS
;
18737 #else /* USE_STRUCT_CONVERSION */
18739 static NTSTATUS
thunk32_vkCmdSetProvokingVertexModeEXT(void *args
)
18743 VkCommandBuffer commandBuffer
;
18744 VkProvokingVertexModeEXT provokingVertexMode
;
18747 TRACE("%p, %#x\n", params
->commandBuffer
, params
->provokingVertexMode
);
18749 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetProvokingVertexModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->provokingVertexMode
);
18750 return STATUS_SUCCESS
;
18753 #endif /* USE_STRUCT_CONVERSION */
18755 #if !defined(USE_STRUCT_CONVERSION)
18757 static NTSTATUS
thunk64_vkCmdSetRasterizationSamplesEXT(void *args
)
18759 struct vkCmdSetRasterizationSamplesEXT_params
*params
= args
;
18761 TRACE("%p, %#x\n", params
->commandBuffer
, params
->rasterizationSamples
);
18763 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizationSamplesEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizationSamples
);
18764 return STATUS_SUCCESS
;
18767 #else /* USE_STRUCT_CONVERSION */
18769 static NTSTATUS
thunk32_vkCmdSetRasterizationSamplesEXT(void *args
)
18773 VkCommandBuffer commandBuffer
;
18774 VkSampleCountFlagBits rasterizationSamples
;
18777 TRACE("%p, %#x\n", params
->commandBuffer
, params
->rasterizationSamples
);
18779 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizationSamplesEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizationSamples
);
18780 return STATUS_SUCCESS
;
18783 #endif /* USE_STRUCT_CONVERSION */
18785 #if !defined(USE_STRUCT_CONVERSION)
18787 static NTSTATUS
thunk64_vkCmdSetRasterizationStreamEXT(void *args
)
18789 struct vkCmdSetRasterizationStreamEXT_params
*params
= args
;
18791 TRACE("%p, %u\n", params
->commandBuffer
, params
->rasterizationStream
);
18793 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizationStreamEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizationStream
);
18794 return STATUS_SUCCESS
;
18797 #else /* USE_STRUCT_CONVERSION */
18799 static NTSTATUS
thunk32_vkCmdSetRasterizationStreamEXT(void *args
)
18803 VkCommandBuffer commandBuffer
;
18804 uint32_t rasterizationStream
;
18807 TRACE("%p, %u\n", params
->commandBuffer
, params
->rasterizationStream
);
18809 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizationStreamEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizationStream
);
18810 return STATUS_SUCCESS
;
18813 #endif /* USE_STRUCT_CONVERSION */
18815 #if !defined(USE_STRUCT_CONVERSION)
18817 static NTSTATUS
thunk64_vkCmdSetRasterizerDiscardEnable(void *args
)
18819 struct vkCmdSetRasterizerDiscardEnable_params
*params
= args
;
18821 TRACE("%p, %u\n", params
->commandBuffer
, params
->rasterizerDiscardEnable
);
18823 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizerDiscardEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizerDiscardEnable
);
18824 return STATUS_SUCCESS
;
18827 #else /* USE_STRUCT_CONVERSION */
18829 static NTSTATUS
thunk32_vkCmdSetRasterizerDiscardEnable(void *args
)
18833 VkCommandBuffer commandBuffer
;
18834 VkBool32 rasterizerDiscardEnable
;
18837 TRACE("%p, %u\n", params
->commandBuffer
, params
->rasterizerDiscardEnable
);
18839 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizerDiscardEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizerDiscardEnable
);
18840 return STATUS_SUCCESS
;
18843 #endif /* USE_STRUCT_CONVERSION */
18845 #if !defined(USE_STRUCT_CONVERSION)
18847 static NTSTATUS
thunk64_vkCmdSetRasterizerDiscardEnableEXT(void *args
)
18849 struct vkCmdSetRasterizerDiscardEnableEXT_params
*params
= args
;
18851 TRACE("%p, %u\n", params
->commandBuffer
, params
->rasterizerDiscardEnable
);
18853 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizerDiscardEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizerDiscardEnable
);
18854 return STATUS_SUCCESS
;
18857 #else /* USE_STRUCT_CONVERSION */
18859 static NTSTATUS
thunk32_vkCmdSetRasterizerDiscardEnableEXT(void *args
)
18863 VkCommandBuffer commandBuffer
;
18864 VkBool32 rasterizerDiscardEnable
;
18867 TRACE("%p, %u\n", params
->commandBuffer
, params
->rasterizerDiscardEnable
);
18869 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizerDiscardEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizerDiscardEnable
);
18870 return STATUS_SUCCESS
;
18873 #endif /* USE_STRUCT_CONVERSION */
18875 #if !defined(USE_STRUCT_CONVERSION)
18877 static NTSTATUS
thunk64_vkCmdSetRayTracingPipelineStackSizeKHR(void *args
)
18879 struct vkCmdSetRayTracingPipelineStackSizeKHR_params
*params
= args
;
18881 TRACE("%p, %u\n", params
->commandBuffer
, params
->pipelineStackSize
);
18883 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRayTracingPipelineStackSizeKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineStackSize
);
18884 return STATUS_SUCCESS
;
18887 #else /* USE_STRUCT_CONVERSION */
18889 static NTSTATUS
thunk32_vkCmdSetRayTracingPipelineStackSizeKHR(void *args
)
18893 VkCommandBuffer commandBuffer
;
18894 uint32_t pipelineStackSize
;
18897 TRACE("%p, %u\n", params
->commandBuffer
, params
->pipelineStackSize
);
18899 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRayTracingPipelineStackSizeKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineStackSize
);
18900 return STATUS_SUCCESS
;
18903 #endif /* USE_STRUCT_CONVERSION */
18905 #if !defined(USE_STRUCT_CONVERSION)
18907 static NTSTATUS
thunk64_vkCmdSetRepresentativeFragmentTestEnableNV(void *args
)
18909 struct vkCmdSetRepresentativeFragmentTestEnableNV_params
*params
= args
;
18911 TRACE("%p, %u\n", params
->commandBuffer
, params
->representativeFragmentTestEnable
);
18913 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRepresentativeFragmentTestEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->representativeFragmentTestEnable
);
18914 return STATUS_SUCCESS
;
18917 #else /* USE_STRUCT_CONVERSION */
18919 static NTSTATUS
thunk32_vkCmdSetRepresentativeFragmentTestEnableNV(void *args
)
18923 VkCommandBuffer commandBuffer
;
18924 VkBool32 representativeFragmentTestEnable
;
18927 TRACE("%p, %u\n", params
->commandBuffer
, params
->representativeFragmentTestEnable
);
18929 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRepresentativeFragmentTestEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->representativeFragmentTestEnable
);
18930 return STATUS_SUCCESS
;
18933 #endif /* USE_STRUCT_CONVERSION */
18935 #if !defined(USE_STRUCT_CONVERSION)
18937 static NTSTATUS
thunk64_vkCmdSetSampleLocationsEXT(void *args
)
18939 struct vkCmdSetSampleLocationsEXT_params
*params
= args
;
18941 TRACE("%p, %p\n", params
->commandBuffer
, params
->pSampleLocationsInfo
);
18943 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetSampleLocationsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSampleLocationsInfo
);
18944 return STATUS_SUCCESS
;
18947 #else /* USE_STRUCT_CONVERSION */
18949 static NTSTATUS
thunk32_vkCmdSetSampleLocationsEXT(void *args
)
18953 VkCommandBuffer commandBuffer
;
18954 const VkSampleLocationsInfoEXT
*pSampleLocationsInfo
;
18957 TRACE("%p, %p\n", params
->commandBuffer
, params
->pSampleLocationsInfo
);
18959 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetSampleLocationsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSampleLocationsInfo
);
18960 return STATUS_SUCCESS
;
18963 #endif /* USE_STRUCT_CONVERSION */
18965 #if !defined(USE_STRUCT_CONVERSION)
18967 static NTSTATUS
thunk64_vkCmdSetSampleLocationsEnableEXT(void *args
)
18969 struct vkCmdSetSampleLocationsEnableEXT_params
*params
= args
;
18971 TRACE("%p, %u\n", params
->commandBuffer
, params
->sampleLocationsEnable
);
18973 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetSampleLocationsEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->sampleLocationsEnable
);
18974 return STATUS_SUCCESS
;
18977 #else /* USE_STRUCT_CONVERSION */
18979 static NTSTATUS
thunk32_vkCmdSetSampleLocationsEnableEXT(void *args
)
18983 VkCommandBuffer commandBuffer
;
18984 VkBool32 sampleLocationsEnable
;
18987 TRACE("%p, %u\n", params
->commandBuffer
, params
->sampleLocationsEnable
);
18989 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetSampleLocationsEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->sampleLocationsEnable
);
18990 return STATUS_SUCCESS
;
18993 #endif /* USE_STRUCT_CONVERSION */
18995 #if !defined(USE_STRUCT_CONVERSION)
18997 static NTSTATUS
thunk64_vkCmdSetSampleMaskEXT(void *args
)
18999 struct vkCmdSetSampleMaskEXT_params
*params
= args
;
19001 TRACE("%p, %#x, %p\n", params
->commandBuffer
, params
->samples
, params
->pSampleMask
);
19003 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetSampleMaskEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->samples
, params
->pSampleMask
);
19004 return STATUS_SUCCESS
;
19007 #else /* USE_STRUCT_CONVERSION */
19009 static NTSTATUS
thunk32_vkCmdSetSampleMaskEXT(void *args
)
19013 VkCommandBuffer commandBuffer
;
19014 VkSampleCountFlagBits samples
;
19015 const VkSampleMask
*pSampleMask
;
19018 TRACE("%p, %#x, %p\n", params
->commandBuffer
, params
->samples
, params
->pSampleMask
);
19020 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetSampleMaskEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->samples
, params
->pSampleMask
);
19021 return STATUS_SUCCESS
;
19024 #endif /* USE_STRUCT_CONVERSION */
19026 #if !defined(USE_STRUCT_CONVERSION)
19028 static NTSTATUS
thunk64_vkCmdSetScissor(void *args
)
19030 struct vkCmdSetScissor_params
*params
= args
;
19032 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstScissor
, params
->scissorCount
, params
->pScissors
);
19034 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetScissor(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstScissor
, params
->scissorCount
, params
->pScissors
);
19035 return STATUS_SUCCESS
;
19038 #else /* USE_STRUCT_CONVERSION */
19040 static NTSTATUS
thunk32_vkCmdSetScissor(void *args
)
19044 VkCommandBuffer commandBuffer
;
19045 uint32_t firstScissor
;
19046 uint32_t scissorCount
;
19047 const VkRect2D
*pScissors
;
19050 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstScissor
, params
->scissorCount
, params
->pScissors
);
19052 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetScissor(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstScissor
, params
->scissorCount
, params
->pScissors
);
19053 return STATUS_SUCCESS
;
19056 #endif /* USE_STRUCT_CONVERSION */
19058 #if !defined(USE_STRUCT_CONVERSION)
19060 static NTSTATUS
thunk64_vkCmdSetScissorWithCount(void *args
)
19062 struct vkCmdSetScissorWithCount_params
*params
= args
;
19064 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->scissorCount
, params
->pScissors
);
19066 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetScissorWithCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->scissorCount
, params
->pScissors
);
19067 return STATUS_SUCCESS
;
19070 #else /* USE_STRUCT_CONVERSION */
19072 static NTSTATUS
thunk32_vkCmdSetScissorWithCount(void *args
)
19076 VkCommandBuffer commandBuffer
;
19077 uint32_t scissorCount
;
19078 const VkRect2D
*pScissors
;
19081 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->scissorCount
, params
->pScissors
);
19083 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetScissorWithCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->scissorCount
, params
->pScissors
);
19084 return STATUS_SUCCESS
;
19087 #endif /* USE_STRUCT_CONVERSION */
19089 #if !defined(USE_STRUCT_CONVERSION)
19091 static NTSTATUS
thunk64_vkCmdSetScissorWithCountEXT(void *args
)
19093 struct vkCmdSetScissorWithCountEXT_params
*params
= args
;
19095 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->scissorCount
, params
->pScissors
);
19097 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetScissorWithCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->scissorCount
, params
->pScissors
);
19098 return STATUS_SUCCESS
;
19101 #else /* USE_STRUCT_CONVERSION */
19103 static NTSTATUS
thunk32_vkCmdSetScissorWithCountEXT(void *args
)
19107 VkCommandBuffer commandBuffer
;
19108 uint32_t scissorCount
;
19109 const VkRect2D
*pScissors
;
19112 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->scissorCount
, params
->pScissors
);
19114 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetScissorWithCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->scissorCount
, params
->pScissors
);
19115 return STATUS_SUCCESS
;
19118 #endif /* USE_STRUCT_CONVERSION */
19120 #if !defined(USE_STRUCT_CONVERSION)
19122 static NTSTATUS
thunk64_vkCmdSetShadingRateImageEnableNV(void *args
)
19124 struct vkCmdSetShadingRateImageEnableNV_params
*params
= args
;
19126 TRACE("%p, %u\n", params
->commandBuffer
, params
->shadingRateImageEnable
);
19128 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetShadingRateImageEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->shadingRateImageEnable
);
19129 return STATUS_SUCCESS
;
19132 #else /* USE_STRUCT_CONVERSION */
19134 static NTSTATUS
thunk32_vkCmdSetShadingRateImageEnableNV(void *args
)
19138 VkCommandBuffer commandBuffer
;
19139 VkBool32 shadingRateImageEnable
;
19142 TRACE("%p, %u\n", params
->commandBuffer
, params
->shadingRateImageEnable
);
19144 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetShadingRateImageEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->shadingRateImageEnable
);
19145 return STATUS_SUCCESS
;
19148 #endif /* USE_STRUCT_CONVERSION */
19150 #if !defined(USE_STRUCT_CONVERSION)
19152 static NTSTATUS
thunk64_vkCmdSetStencilCompareMask(void *args
)
19154 struct vkCmdSetStencilCompareMask_params
*params
= args
;
19156 TRACE("%p, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->compareMask
);
19158 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilCompareMask(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->compareMask
);
19159 return STATUS_SUCCESS
;
19162 #else /* USE_STRUCT_CONVERSION */
19164 static NTSTATUS
thunk32_vkCmdSetStencilCompareMask(void *args
)
19168 VkCommandBuffer commandBuffer
;
19169 VkStencilFaceFlags faceMask
;
19170 uint32_t compareMask
;
19173 TRACE("%p, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->compareMask
);
19175 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilCompareMask(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->compareMask
);
19176 return STATUS_SUCCESS
;
19179 #endif /* USE_STRUCT_CONVERSION */
19181 #if !defined(USE_STRUCT_CONVERSION)
19183 static NTSTATUS
thunk64_vkCmdSetStencilOp(void *args
)
19185 struct vkCmdSetStencilOp_params
*params
= args
;
19187 TRACE("%p, %#x, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
19189 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilOp(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
19190 return STATUS_SUCCESS
;
19193 #else /* USE_STRUCT_CONVERSION */
19195 static NTSTATUS
thunk32_vkCmdSetStencilOp(void *args
)
19199 VkCommandBuffer commandBuffer
;
19200 VkStencilFaceFlags faceMask
;
19201 VkStencilOp failOp
;
19202 VkStencilOp passOp
;
19203 VkStencilOp depthFailOp
;
19204 VkCompareOp compareOp
;
19207 TRACE("%p, %#x, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
19209 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilOp(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
19210 return STATUS_SUCCESS
;
19213 #endif /* USE_STRUCT_CONVERSION */
19215 #if !defined(USE_STRUCT_CONVERSION)
19217 static NTSTATUS
thunk64_vkCmdSetStencilOpEXT(void *args
)
19219 struct vkCmdSetStencilOpEXT_params
*params
= args
;
19221 TRACE("%p, %#x, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
19223 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilOpEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
19224 return STATUS_SUCCESS
;
19227 #else /* USE_STRUCT_CONVERSION */
19229 static NTSTATUS
thunk32_vkCmdSetStencilOpEXT(void *args
)
19233 VkCommandBuffer commandBuffer
;
19234 VkStencilFaceFlags faceMask
;
19235 VkStencilOp failOp
;
19236 VkStencilOp passOp
;
19237 VkStencilOp depthFailOp
;
19238 VkCompareOp compareOp
;
19241 TRACE("%p, %#x, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
19243 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilOpEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
19244 return STATUS_SUCCESS
;
19247 #endif /* USE_STRUCT_CONVERSION */
19249 #if !defined(USE_STRUCT_CONVERSION)
19251 static NTSTATUS
thunk64_vkCmdSetStencilReference(void *args
)
19253 struct vkCmdSetStencilReference_params
*params
= args
;
19255 TRACE("%p, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->reference
);
19257 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilReference(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->reference
);
19258 return STATUS_SUCCESS
;
19261 #else /* USE_STRUCT_CONVERSION */
19263 static NTSTATUS
thunk32_vkCmdSetStencilReference(void *args
)
19267 VkCommandBuffer commandBuffer
;
19268 VkStencilFaceFlags faceMask
;
19269 uint32_t reference
;
19272 TRACE("%p, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->reference
);
19274 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilReference(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->reference
);
19275 return STATUS_SUCCESS
;
19278 #endif /* USE_STRUCT_CONVERSION */
19280 #if !defined(USE_STRUCT_CONVERSION)
19282 static NTSTATUS
thunk64_vkCmdSetStencilTestEnable(void *args
)
19284 struct vkCmdSetStencilTestEnable_params
*params
= args
;
19286 TRACE("%p, %u\n", params
->commandBuffer
, params
->stencilTestEnable
);
19288 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilTestEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stencilTestEnable
);
19289 return STATUS_SUCCESS
;
19292 #else /* USE_STRUCT_CONVERSION */
19294 static NTSTATUS
thunk32_vkCmdSetStencilTestEnable(void *args
)
19298 VkCommandBuffer commandBuffer
;
19299 VkBool32 stencilTestEnable
;
19302 TRACE("%p, %u\n", params
->commandBuffer
, params
->stencilTestEnable
);
19304 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilTestEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stencilTestEnable
);
19305 return STATUS_SUCCESS
;
19308 #endif /* USE_STRUCT_CONVERSION */
19310 #if !defined(USE_STRUCT_CONVERSION)
19312 static NTSTATUS
thunk64_vkCmdSetStencilTestEnableEXT(void *args
)
19314 struct vkCmdSetStencilTestEnableEXT_params
*params
= args
;
19316 TRACE("%p, %u\n", params
->commandBuffer
, params
->stencilTestEnable
);
19318 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilTestEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stencilTestEnable
);
19319 return STATUS_SUCCESS
;
19322 #else /* USE_STRUCT_CONVERSION */
19324 static NTSTATUS
thunk32_vkCmdSetStencilTestEnableEXT(void *args
)
19328 VkCommandBuffer commandBuffer
;
19329 VkBool32 stencilTestEnable
;
19332 TRACE("%p, %u\n", params
->commandBuffer
, params
->stencilTestEnable
);
19334 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilTestEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stencilTestEnable
);
19335 return STATUS_SUCCESS
;
19338 #endif /* USE_STRUCT_CONVERSION */
19340 #if !defined(USE_STRUCT_CONVERSION)
19342 static NTSTATUS
thunk64_vkCmdSetStencilWriteMask(void *args
)
19344 struct vkCmdSetStencilWriteMask_params
*params
= args
;
19346 TRACE("%p, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->writeMask
);
19348 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilWriteMask(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->writeMask
);
19349 return STATUS_SUCCESS
;
19352 #else /* USE_STRUCT_CONVERSION */
19354 static NTSTATUS
thunk32_vkCmdSetStencilWriteMask(void *args
)
19358 VkCommandBuffer commandBuffer
;
19359 VkStencilFaceFlags faceMask
;
19360 uint32_t writeMask
;
19363 TRACE("%p, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->writeMask
);
19365 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilWriteMask(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->writeMask
);
19366 return STATUS_SUCCESS
;
19369 #endif /* USE_STRUCT_CONVERSION */
19371 #if !defined(USE_STRUCT_CONVERSION)
19373 static NTSTATUS
thunk64_vkCmdSetTessellationDomainOriginEXT(void *args
)
19375 struct vkCmdSetTessellationDomainOriginEXT_params
*params
= args
;
19377 TRACE("%p, %#x\n", params
->commandBuffer
, params
->domainOrigin
);
19379 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetTessellationDomainOriginEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->domainOrigin
);
19380 return STATUS_SUCCESS
;
19383 #else /* USE_STRUCT_CONVERSION */
19385 static NTSTATUS
thunk32_vkCmdSetTessellationDomainOriginEXT(void *args
)
19389 VkCommandBuffer commandBuffer
;
19390 VkTessellationDomainOrigin domainOrigin
;
19393 TRACE("%p, %#x\n", params
->commandBuffer
, params
->domainOrigin
);
19395 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetTessellationDomainOriginEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->domainOrigin
);
19396 return STATUS_SUCCESS
;
19399 #endif /* USE_STRUCT_CONVERSION */
19401 #if !defined(USE_STRUCT_CONVERSION)
19403 static NTSTATUS
thunk64_vkCmdSetVertexInputEXT(void *args
)
19405 struct vkCmdSetVertexInputEXT_params
*params
= args
;
19407 TRACE("%p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->vertexBindingDescriptionCount
, params
->pVertexBindingDescriptions
, params
->vertexAttributeDescriptionCount
, params
->pVertexAttributeDescriptions
);
19409 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetVertexInputEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->vertexBindingDescriptionCount
, params
->pVertexBindingDescriptions
, params
->vertexAttributeDescriptionCount
, params
->pVertexAttributeDescriptions
);
19410 return STATUS_SUCCESS
;
19413 #else /* USE_STRUCT_CONVERSION */
19415 static NTSTATUS
thunk32_vkCmdSetVertexInputEXT(void *args
)
19419 VkCommandBuffer commandBuffer
;
19420 uint32_t vertexBindingDescriptionCount
;
19421 const VkVertexInputBindingDescription2EXT
*pVertexBindingDescriptions
;
19422 uint32_t vertexAttributeDescriptionCount
;
19423 const VkVertexInputAttributeDescription2EXT
*pVertexAttributeDescriptions
;
19426 TRACE("%p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->vertexBindingDescriptionCount
, params
->pVertexBindingDescriptions
, params
->vertexAttributeDescriptionCount
, params
->pVertexAttributeDescriptions
);
19428 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetVertexInputEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->vertexBindingDescriptionCount
, params
->pVertexBindingDescriptions
, params
->vertexAttributeDescriptionCount
, params
->pVertexAttributeDescriptions
);
19429 return STATUS_SUCCESS
;
19432 #endif /* USE_STRUCT_CONVERSION */
19434 #if !defined(USE_STRUCT_CONVERSION)
19436 static NTSTATUS
thunk64_vkCmdSetViewport(void *args
)
19438 struct vkCmdSetViewport_params
*params
= args
;
19440 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewports
);
19442 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewport(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewports
);
19443 return STATUS_SUCCESS
;
19446 #else /* USE_STRUCT_CONVERSION */
19448 static NTSTATUS
thunk32_vkCmdSetViewport(void *args
)
19452 VkCommandBuffer commandBuffer
;
19453 uint32_t firstViewport
;
19454 uint32_t viewportCount
;
19455 const VkViewport
*pViewports
;
19458 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewports
);
19460 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewport(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewports
);
19461 return STATUS_SUCCESS
;
19464 #endif /* USE_STRUCT_CONVERSION */
19466 #if !defined(USE_STRUCT_CONVERSION)
19468 static NTSTATUS
thunk64_vkCmdSetViewportShadingRatePaletteNV(void *args
)
19470 struct vkCmdSetViewportShadingRatePaletteNV_params
*params
= args
;
19472 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pShadingRatePalettes
);
19474 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportShadingRatePaletteNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstViewport
, params
->viewportCount
, params
->pShadingRatePalettes
);
19475 return STATUS_SUCCESS
;
19478 #else /* USE_STRUCT_CONVERSION */
19480 static NTSTATUS
thunk32_vkCmdSetViewportShadingRatePaletteNV(void *args
)
19484 VkCommandBuffer commandBuffer
;
19485 uint32_t firstViewport
;
19486 uint32_t viewportCount
;
19487 const VkShadingRatePaletteNV
*pShadingRatePalettes
;
19490 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pShadingRatePalettes
);
19492 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportShadingRatePaletteNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstViewport
, params
->viewportCount
, params
->pShadingRatePalettes
);
19493 return STATUS_SUCCESS
;
19496 #endif /* USE_STRUCT_CONVERSION */
19498 #if !defined(USE_STRUCT_CONVERSION)
19500 static NTSTATUS
thunk64_vkCmdSetViewportSwizzleNV(void *args
)
19502 struct vkCmdSetViewportSwizzleNV_params
*params
= args
;
19504 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportSwizzles
);
19506 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportSwizzleNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportSwizzles
);
19507 return STATUS_SUCCESS
;
19510 #else /* USE_STRUCT_CONVERSION */
19512 static NTSTATUS
thunk32_vkCmdSetViewportSwizzleNV(void *args
)
19516 VkCommandBuffer commandBuffer
;
19517 uint32_t firstViewport
;
19518 uint32_t viewportCount
;
19519 const VkViewportSwizzleNV
*pViewportSwizzles
;
19522 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportSwizzles
);
19524 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportSwizzleNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportSwizzles
);
19525 return STATUS_SUCCESS
;
19528 #endif /* USE_STRUCT_CONVERSION */
19530 #if !defined(USE_STRUCT_CONVERSION)
19532 static NTSTATUS
thunk64_vkCmdSetViewportWScalingEnableNV(void *args
)
19534 struct vkCmdSetViewportWScalingEnableNV_params
*params
= args
;
19536 TRACE("%p, %u\n", params
->commandBuffer
, params
->viewportWScalingEnable
);
19538 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWScalingEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->viewportWScalingEnable
);
19539 return STATUS_SUCCESS
;
19542 #else /* USE_STRUCT_CONVERSION */
19544 static NTSTATUS
thunk32_vkCmdSetViewportWScalingEnableNV(void *args
)
19548 VkCommandBuffer commandBuffer
;
19549 VkBool32 viewportWScalingEnable
;
19552 TRACE("%p, %u\n", params
->commandBuffer
, params
->viewportWScalingEnable
);
19554 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWScalingEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->viewportWScalingEnable
);
19555 return STATUS_SUCCESS
;
19558 #endif /* USE_STRUCT_CONVERSION */
19560 #if !defined(USE_STRUCT_CONVERSION)
19562 static NTSTATUS
thunk64_vkCmdSetViewportWScalingNV(void *args
)
19564 struct vkCmdSetViewportWScalingNV_params
*params
= args
;
19566 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportWScalings
);
19568 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWScalingNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportWScalings
);
19569 return STATUS_SUCCESS
;
19572 #else /* USE_STRUCT_CONVERSION */
19574 static NTSTATUS
thunk32_vkCmdSetViewportWScalingNV(void *args
)
19578 VkCommandBuffer commandBuffer
;
19579 uint32_t firstViewport
;
19580 uint32_t viewportCount
;
19581 const VkViewportWScalingNV
*pViewportWScalings
;
19584 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportWScalings
);
19586 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWScalingNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportWScalings
);
19587 return STATUS_SUCCESS
;
19590 #endif /* USE_STRUCT_CONVERSION */
19592 #if !defined(USE_STRUCT_CONVERSION)
19594 static NTSTATUS
thunk64_vkCmdSetViewportWithCount(void *args
)
19596 struct vkCmdSetViewportWithCount_params
*params
= args
;
19598 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->viewportCount
, params
->pViewports
);
19600 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWithCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->viewportCount
, params
->pViewports
);
19601 return STATUS_SUCCESS
;
19604 #else /* USE_STRUCT_CONVERSION */
19606 static NTSTATUS
thunk32_vkCmdSetViewportWithCount(void *args
)
19610 VkCommandBuffer commandBuffer
;
19611 uint32_t viewportCount
;
19612 const VkViewport
*pViewports
;
19615 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->viewportCount
, params
->pViewports
);
19617 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWithCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->viewportCount
, params
->pViewports
);
19618 return STATUS_SUCCESS
;
19621 #endif /* USE_STRUCT_CONVERSION */
19623 #if !defined(USE_STRUCT_CONVERSION)
19625 static NTSTATUS
thunk64_vkCmdSetViewportWithCountEXT(void *args
)
19627 struct vkCmdSetViewportWithCountEXT_params
*params
= args
;
19629 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->viewportCount
, params
->pViewports
);
19631 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWithCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->viewportCount
, params
->pViewports
);
19632 return STATUS_SUCCESS
;
19635 #else /* USE_STRUCT_CONVERSION */
19637 static NTSTATUS
thunk32_vkCmdSetViewportWithCountEXT(void *args
)
19641 VkCommandBuffer commandBuffer
;
19642 uint32_t viewportCount
;
19643 const VkViewport
*pViewports
;
19646 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->viewportCount
, params
->pViewports
);
19648 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWithCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->viewportCount
, params
->pViewports
);
19649 return STATUS_SUCCESS
;
19652 #endif /* USE_STRUCT_CONVERSION */
19654 #if !defined(USE_STRUCT_CONVERSION)
19656 static NTSTATUS
thunk64_vkCmdSubpassShadingHUAWEI(void *args
)
19658 struct vkCmdSubpassShadingHUAWEI_params
*params
= args
;
19660 TRACE("%p\n", params
->commandBuffer
);
19662 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSubpassShadingHUAWEI(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
19663 return STATUS_SUCCESS
;
19666 #else /* USE_STRUCT_CONVERSION */
19668 static NTSTATUS
thunk32_vkCmdSubpassShadingHUAWEI(void *args
)
19672 VkCommandBuffer commandBuffer
;
19675 TRACE("%p\n", params
->commandBuffer
);
19677 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSubpassShadingHUAWEI(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
19678 return STATUS_SUCCESS
;
19681 #endif /* USE_STRUCT_CONVERSION */
19683 #if !defined(USE_STRUCT_CONVERSION)
19685 static NTSTATUS
thunk64_vkCmdTraceRaysIndirect2KHR(void *args
)
19687 struct vkCmdTraceRaysIndirect2KHR_params
*params
= args
;
19689 TRACE("%p, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->indirectDeviceAddress
));
19691 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdTraceRaysIndirect2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->indirectDeviceAddress
);
19692 return STATUS_SUCCESS
;
19695 #else /* USE_STRUCT_CONVERSION */
19697 static NTSTATUS
thunk32_vkCmdTraceRaysIndirect2KHR(void *args
)
19701 VkCommandBuffer commandBuffer
;
19702 VkDeviceAddress
DECLSPEC_ALIGN(8) indirectDeviceAddress
;
19705 TRACE("%p, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->indirectDeviceAddress
));
19707 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdTraceRaysIndirect2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->indirectDeviceAddress
);
19708 return STATUS_SUCCESS
;
19711 #endif /* USE_STRUCT_CONVERSION */
19713 #if !defined(USE_STRUCT_CONVERSION)
19715 static NTSTATUS
thunk64_vkCmdTraceRaysIndirectKHR(void *args
)
19717 struct vkCmdTraceRaysIndirectKHR_params
*params
= args
;
19719 TRACE("%p, %p, %p, %p, %p, 0x%s\n", params
->commandBuffer
, params
->pRaygenShaderBindingTable
, params
->pMissShaderBindingTable
, params
->pHitShaderBindingTable
, params
->pCallableShaderBindingTable
, wine_dbgstr_longlong(params
->indirectDeviceAddress
));
19721 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdTraceRaysIndirectKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRaygenShaderBindingTable
, params
->pMissShaderBindingTable
, params
->pHitShaderBindingTable
, params
->pCallableShaderBindingTable
, params
->indirectDeviceAddress
);
19722 return STATUS_SUCCESS
;
19725 #else /* USE_STRUCT_CONVERSION */
19727 static NTSTATUS
thunk32_vkCmdTraceRaysIndirectKHR(void *args
)
19731 VkCommandBuffer commandBuffer
;
19732 const VkStridedDeviceAddressRegionKHR32
*pRaygenShaderBindingTable
;
19733 const VkStridedDeviceAddressRegionKHR32
*pMissShaderBindingTable
;
19734 const VkStridedDeviceAddressRegionKHR32
*pHitShaderBindingTable
;
19735 const VkStridedDeviceAddressRegionKHR32
*pCallableShaderBindingTable
;
19736 VkDeviceAddress
DECLSPEC_ALIGN(8) indirectDeviceAddress
;
19738 VkStridedDeviceAddressRegionKHR pRaygenShaderBindingTable_host
;
19739 VkStridedDeviceAddressRegionKHR pMissShaderBindingTable_host
;
19740 VkStridedDeviceAddressRegionKHR pHitShaderBindingTable_host
;
19741 VkStridedDeviceAddressRegionKHR pCallableShaderBindingTable_host
;
19743 TRACE("%p, %p, %p, %p, %p, 0x%s\n", params
->commandBuffer
, params
->pRaygenShaderBindingTable
, params
->pMissShaderBindingTable
, params
->pHitShaderBindingTable
, params
->pCallableShaderBindingTable
, wine_dbgstr_longlong(params
->indirectDeviceAddress
));
19745 convert_VkStridedDeviceAddressRegionKHR_win32_to_host(params
->pRaygenShaderBindingTable
, &pRaygenShaderBindingTable_host
);
19746 convert_VkStridedDeviceAddressRegionKHR_win32_to_host(params
->pMissShaderBindingTable
, &pMissShaderBindingTable_host
);
19747 convert_VkStridedDeviceAddressRegionKHR_win32_to_host(params
->pHitShaderBindingTable
, &pHitShaderBindingTable_host
);
19748 convert_VkStridedDeviceAddressRegionKHR_win32_to_host(params
->pCallableShaderBindingTable
, &pCallableShaderBindingTable_host
);
19749 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdTraceRaysIndirectKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pRaygenShaderBindingTable_host
, &pMissShaderBindingTable_host
, &pHitShaderBindingTable_host
, &pCallableShaderBindingTable_host
, params
->indirectDeviceAddress
);
19750 return STATUS_SUCCESS
;
19753 #endif /* USE_STRUCT_CONVERSION */
19755 #if !defined(USE_STRUCT_CONVERSION)
19757 static NTSTATUS
thunk64_vkCmdTraceRaysKHR(void *args
)
19759 struct vkCmdTraceRaysKHR_params
*params
= args
;
19761 TRACE("%p, %p, %p, %p, %p, %u, %u, %u\n", params
->commandBuffer
, params
->pRaygenShaderBindingTable
, params
->pMissShaderBindingTable
, params
->pHitShaderBindingTable
, params
->pCallableShaderBindingTable
, params
->width
, params
->height
, params
->depth
);
19763 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdTraceRaysKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRaygenShaderBindingTable
, params
->pMissShaderBindingTable
, params
->pHitShaderBindingTable
, params
->pCallableShaderBindingTable
, params
->width
, params
->height
, params
->depth
);
19764 return STATUS_SUCCESS
;
19767 #else /* USE_STRUCT_CONVERSION */
19769 static NTSTATUS
thunk32_vkCmdTraceRaysKHR(void *args
)
19773 VkCommandBuffer commandBuffer
;
19774 const VkStridedDeviceAddressRegionKHR32
*pRaygenShaderBindingTable
;
19775 const VkStridedDeviceAddressRegionKHR32
*pMissShaderBindingTable
;
19776 const VkStridedDeviceAddressRegionKHR32
*pHitShaderBindingTable
;
19777 const VkStridedDeviceAddressRegionKHR32
*pCallableShaderBindingTable
;
19782 VkStridedDeviceAddressRegionKHR pRaygenShaderBindingTable_host
;
19783 VkStridedDeviceAddressRegionKHR pMissShaderBindingTable_host
;
19784 VkStridedDeviceAddressRegionKHR pHitShaderBindingTable_host
;
19785 VkStridedDeviceAddressRegionKHR pCallableShaderBindingTable_host
;
19787 TRACE("%p, %p, %p, %p, %p, %u, %u, %u\n", params
->commandBuffer
, params
->pRaygenShaderBindingTable
, params
->pMissShaderBindingTable
, params
->pHitShaderBindingTable
, params
->pCallableShaderBindingTable
, params
->width
, params
->height
, params
->depth
);
19789 convert_VkStridedDeviceAddressRegionKHR_win32_to_host(params
->pRaygenShaderBindingTable
, &pRaygenShaderBindingTable_host
);
19790 convert_VkStridedDeviceAddressRegionKHR_win32_to_host(params
->pMissShaderBindingTable
, &pMissShaderBindingTable_host
);
19791 convert_VkStridedDeviceAddressRegionKHR_win32_to_host(params
->pHitShaderBindingTable
, &pHitShaderBindingTable_host
);
19792 convert_VkStridedDeviceAddressRegionKHR_win32_to_host(params
->pCallableShaderBindingTable
, &pCallableShaderBindingTable_host
);
19793 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdTraceRaysKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, &pRaygenShaderBindingTable_host
, &pMissShaderBindingTable_host
, &pHitShaderBindingTable_host
, &pCallableShaderBindingTable_host
, params
->width
, params
->height
, params
->depth
);
19794 return STATUS_SUCCESS
;
19797 #endif /* USE_STRUCT_CONVERSION */
19799 #if !defined(USE_STRUCT_CONVERSION)
19801 static NTSTATUS
thunk64_vkCmdTraceRaysNV(void *args
)
19803 struct vkCmdTraceRaysNV_params
*params
= args
;
19805 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", params
->commandBuffer
, wine_dbgstr_longlong(params
->raygenShaderBindingTableBuffer
), wine_dbgstr_longlong(params
->raygenShaderBindingOffset
), wine_dbgstr_longlong(params
->missShaderBindingTableBuffer
), wine_dbgstr_longlong(params
->missShaderBindingOffset
), wine_dbgstr_longlong(params
->missShaderBindingStride
), wine_dbgstr_longlong(params
->hitShaderBindingTableBuffer
), wine_dbgstr_longlong(params
->hitShaderBindingOffset
), wine_dbgstr_longlong(params
->hitShaderBindingStride
), wine_dbgstr_longlong(params
->callableShaderBindingTableBuffer
), wine_dbgstr_longlong(params
->callableShaderBindingOffset
), wine_dbgstr_longlong(params
->callableShaderBindingStride
), params
->width
, params
->height
, params
->depth
);
19807 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdTraceRaysNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->raygenShaderBindingTableBuffer
, params
->raygenShaderBindingOffset
, params
->missShaderBindingTableBuffer
, params
->missShaderBindingOffset
, params
->missShaderBindingStride
, params
->hitShaderBindingTableBuffer
, params
->hitShaderBindingOffset
, params
->hitShaderBindingStride
, params
->callableShaderBindingTableBuffer
, params
->callableShaderBindingOffset
, params
->callableShaderBindingStride
, params
->width
, params
->height
, params
->depth
);
19808 return STATUS_SUCCESS
;
19811 #else /* USE_STRUCT_CONVERSION */
19813 static NTSTATUS
thunk32_vkCmdTraceRaysNV(void *args
)
19817 VkCommandBuffer commandBuffer
;
19818 VkBuffer
DECLSPEC_ALIGN(8) raygenShaderBindingTableBuffer
;
19819 VkDeviceSize
DECLSPEC_ALIGN(8) raygenShaderBindingOffset
;
19820 VkBuffer
DECLSPEC_ALIGN(8) missShaderBindingTableBuffer
;
19821 VkDeviceSize
DECLSPEC_ALIGN(8) missShaderBindingOffset
;
19822 VkDeviceSize
DECLSPEC_ALIGN(8) missShaderBindingStride
;
19823 VkBuffer
DECLSPEC_ALIGN(8) hitShaderBindingTableBuffer
;
19824 VkDeviceSize
DECLSPEC_ALIGN(8) hitShaderBindingOffset
;
19825 VkDeviceSize
DECLSPEC_ALIGN(8) hitShaderBindingStride
;
19826 VkBuffer
DECLSPEC_ALIGN(8) callableShaderBindingTableBuffer
;
19827 VkDeviceSize
DECLSPEC_ALIGN(8) callableShaderBindingOffset
;
19828 VkDeviceSize
DECLSPEC_ALIGN(8) callableShaderBindingStride
;
19834 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", params
->commandBuffer
, wine_dbgstr_longlong(params
->raygenShaderBindingTableBuffer
), wine_dbgstr_longlong(params
->raygenShaderBindingOffset
), wine_dbgstr_longlong(params
->missShaderBindingTableBuffer
), wine_dbgstr_longlong(params
->missShaderBindingOffset
), wine_dbgstr_longlong(params
->missShaderBindingStride
), wine_dbgstr_longlong(params
->hitShaderBindingTableBuffer
), wine_dbgstr_longlong(params
->hitShaderBindingOffset
), wine_dbgstr_longlong(params
->hitShaderBindingStride
), wine_dbgstr_longlong(params
->callableShaderBindingTableBuffer
), wine_dbgstr_longlong(params
->callableShaderBindingOffset
), wine_dbgstr_longlong(params
->callableShaderBindingStride
), params
->width
, params
->height
, params
->depth
);
19836 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdTraceRaysNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->raygenShaderBindingTableBuffer
, params
->raygenShaderBindingOffset
, params
->missShaderBindingTableBuffer
, params
->missShaderBindingOffset
, params
->missShaderBindingStride
, params
->hitShaderBindingTableBuffer
, params
->hitShaderBindingOffset
, params
->hitShaderBindingStride
, params
->callableShaderBindingTableBuffer
, params
->callableShaderBindingOffset
, params
->callableShaderBindingStride
, params
->width
, params
->height
, params
->depth
);
19837 return STATUS_SUCCESS
;
19840 #endif /* USE_STRUCT_CONVERSION */
19842 #if !defined(USE_STRUCT_CONVERSION)
19844 static NTSTATUS
thunk64_vkCmdUpdateBuffer(void *args
)
19846 struct vkCmdUpdateBuffer_params
*params
= args
;
19848 TRACE("%p, 0x%s, 0x%s, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
19850 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdUpdateBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->dstBuffer
, params
->dstOffset
, params
->dataSize
, params
->pData
);
19851 return STATUS_SUCCESS
;
19854 #else /* USE_STRUCT_CONVERSION */
19856 static NTSTATUS
thunk32_vkCmdUpdateBuffer(void *args
)
19860 VkCommandBuffer commandBuffer
;
19861 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
19862 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
19863 VkDeviceSize
DECLSPEC_ALIGN(8) dataSize
;
19867 TRACE("%p, 0x%s, 0x%s, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
19869 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdUpdateBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->dstBuffer
, params
->dstOffset
, params
->dataSize
, params
->pData
);
19870 return STATUS_SUCCESS
;
19873 #endif /* USE_STRUCT_CONVERSION */
19875 #if !defined(USE_STRUCT_CONVERSION)
19877 static NTSTATUS
thunk64_vkCmdWaitEvents(void *args
)
19879 struct vkCmdWaitEvents_params
*params
= args
;
19881 TRACE("%p, %u, %p, %#x, %#x, %u, %p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->srcStageMask
, params
->dstStageMask
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, params
->pBufferMemoryBarriers
, params
->imageMemoryBarrierCount
, params
->pImageMemoryBarriers
);
19883 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWaitEvents(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->eventCount
, params
->pEvents
, params
->srcStageMask
, params
->dstStageMask
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, params
->pBufferMemoryBarriers
, params
->imageMemoryBarrierCount
, params
->pImageMemoryBarriers
);
19884 return STATUS_SUCCESS
;
19887 #else /* USE_STRUCT_CONVERSION */
19889 static NTSTATUS
thunk32_vkCmdWaitEvents(void *args
)
19893 VkCommandBuffer commandBuffer
;
19894 uint32_t eventCount
;
19895 const VkEvent
*pEvents
;
19896 VkPipelineStageFlags srcStageMask
;
19897 VkPipelineStageFlags dstStageMask
;
19898 uint32_t memoryBarrierCount
;
19899 const VkMemoryBarrier
*pMemoryBarriers
;
19900 uint32_t bufferMemoryBarrierCount
;
19901 const VkBufferMemoryBarrier32
*pBufferMemoryBarriers
;
19902 uint32_t imageMemoryBarrierCount
;
19903 const VkImageMemoryBarrier32
*pImageMemoryBarriers
;
19905 const VkBufferMemoryBarrier
*pBufferMemoryBarriers_host
;
19906 const VkImageMemoryBarrier
*pImageMemoryBarriers_host
;
19907 struct conversion_context ctx
;
19909 TRACE("%p, %u, %p, %#x, %#x, %u, %p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->srcStageMask
, params
->dstStageMask
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, params
->pBufferMemoryBarriers
, params
->imageMemoryBarrierCount
, params
->pImageMemoryBarriers
);
19911 init_conversion_context(&ctx
);
19912 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win32_to_host(&ctx
, params
->pBufferMemoryBarriers
, params
->bufferMemoryBarrierCount
);
19913 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win32_to_host(&ctx
, params
->pImageMemoryBarriers
, params
->imageMemoryBarrierCount
);
19914 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWaitEvents(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->eventCount
, params
->pEvents
, params
->srcStageMask
, params
->dstStageMask
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, params
->imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
19915 free_conversion_context(&ctx
);
19916 return STATUS_SUCCESS
;
19919 #endif /* USE_STRUCT_CONVERSION */
19921 #if !defined(USE_STRUCT_CONVERSION)
19923 static NTSTATUS
thunk64_vkCmdWaitEvents2(void *args
)
19925 struct vkCmdWaitEvents2_params
*params
= args
;
19927 TRACE("%p, %u, %p, %p\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
19929 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWaitEvents2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
19930 return STATUS_SUCCESS
;
19933 #else /* USE_STRUCT_CONVERSION */
19935 static NTSTATUS
thunk32_vkCmdWaitEvents2(void *args
)
19939 VkCommandBuffer commandBuffer
;
19940 uint32_t eventCount
;
19941 const VkEvent
*pEvents
;
19942 const VkDependencyInfo32
*pDependencyInfos
;
19944 const VkDependencyInfo
*pDependencyInfos_host
;
19945 struct conversion_context ctx
;
19947 TRACE("%p, %u, %p, %p\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
19949 init_conversion_context(&ctx
);
19950 pDependencyInfos_host
= convert_VkDependencyInfo_array_win32_to_host(&ctx
, params
->pDependencyInfos
, params
->eventCount
);
19951 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWaitEvents2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->eventCount
, params
->pEvents
, pDependencyInfos_host
);
19952 free_conversion_context(&ctx
);
19953 return STATUS_SUCCESS
;
19956 #endif /* USE_STRUCT_CONVERSION */
19958 #if !defined(USE_STRUCT_CONVERSION)
19960 static NTSTATUS
thunk64_vkCmdWaitEvents2KHR(void *args
)
19962 struct vkCmdWaitEvents2KHR_params
*params
= args
;
19964 TRACE("%p, %u, %p, %p\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
19966 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWaitEvents2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
19967 return STATUS_SUCCESS
;
19970 #else /* USE_STRUCT_CONVERSION */
19972 static NTSTATUS
thunk32_vkCmdWaitEvents2KHR(void *args
)
19976 VkCommandBuffer commandBuffer
;
19977 uint32_t eventCount
;
19978 const VkEvent
*pEvents
;
19979 const VkDependencyInfo32
*pDependencyInfos
;
19981 const VkDependencyInfo
*pDependencyInfos_host
;
19982 struct conversion_context ctx
;
19984 TRACE("%p, %u, %p, %p\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
19986 init_conversion_context(&ctx
);
19987 pDependencyInfos_host
= convert_VkDependencyInfo_array_win32_to_host(&ctx
, params
->pDependencyInfos
, params
->eventCount
);
19988 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWaitEvents2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->eventCount
, params
->pEvents
, pDependencyInfos_host
);
19989 free_conversion_context(&ctx
);
19990 return STATUS_SUCCESS
;
19993 #endif /* USE_STRUCT_CONVERSION */
19995 #if !defined(USE_STRUCT_CONVERSION)
19997 static NTSTATUS
thunk64_vkCmdWriteAccelerationStructuresPropertiesKHR(void *args
)
19999 struct vkCmdWriteAccelerationStructuresPropertiesKHR_params
*params
= args
;
20001 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
20003 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, params
->queryPool
, params
->firstQuery
);
20004 return STATUS_SUCCESS
;
20007 #else /* USE_STRUCT_CONVERSION */
20009 static NTSTATUS
thunk32_vkCmdWriteAccelerationStructuresPropertiesKHR(void *args
)
20013 VkCommandBuffer commandBuffer
;
20014 uint32_t accelerationStructureCount
;
20015 const VkAccelerationStructureKHR
*pAccelerationStructures
;
20016 VkQueryType queryType
;
20017 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
20018 uint32_t firstQuery
;
20021 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
20023 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, params
->queryPool
, params
->firstQuery
);
20024 return STATUS_SUCCESS
;
20027 #endif /* USE_STRUCT_CONVERSION */
20029 #if !defined(USE_STRUCT_CONVERSION)
20031 static NTSTATUS
thunk64_vkCmdWriteAccelerationStructuresPropertiesNV(void *args
)
20033 struct vkCmdWriteAccelerationStructuresPropertiesNV_params
*params
= args
;
20035 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
20037 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, params
->queryPool
, params
->firstQuery
);
20038 return STATUS_SUCCESS
;
20041 #else /* USE_STRUCT_CONVERSION */
20043 static NTSTATUS
thunk32_vkCmdWriteAccelerationStructuresPropertiesNV(void *args
)
20047 VkCommandBuffer commandBuffer
;
20048 uint32_t accelerationStructureCount
;
20049 const VkAccelerationStructureNV
*pAccelerationStructures
;
20050 VkQueryType queryType
;
20051 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
20052 uint32_t firstQuery
;
20055 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
20057 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, params
->queryPool
, params
->firstQuery
);
20058 return STATUS_SUCCESS
;
20061 #endif /* USE_STRUCT_CONVERSION */
20063 #if !defined(USE_STRUCT_CONVERSION)
20065 static NTSTATUS
thunk64_vkCmdWriteBufferMarker2AMD(void *args
)
20067 struct vkCmdWriteBufferMarker2AMD_params
*params
= args
;
20069 TRACE("%p, 0x%s, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), params
->marker
);
20071 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteBufferMarker2AMD(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stage
, params
->dstBuffer
, params
->dstOffset
, params
->marker
);
20072 return STATUS_SUCCESS
;
20075 #else /* USE_STRUCT_CONVERSION */
20077 static NTSTATUS
thunk32_vkCmdWriteBufferMarker2AMD(void *args
)
20081 VkCommandBuffer commandBuffer
;
20082 VkPipelineStageFlags2 stage
;
20083 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
20084 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
20088 TRACE("%p, 0x%s, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), params
->marker
);
20090 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteBufferMarker2AMD(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stage
, params
->dstBuffer
, params
->dstOffset
, params
->marker
);
20091 return STATUS_SUCCESS
;
20094 #endif /* USE_STRUCT_CONVERSION */
20096 #if !defined(USE_STRUCT_CONVERSION)
20098 static NTSTATUS
thunk64_vkCmdWriteBufferMarkerAMD(void *args
)
20100 struct vkCmdWriteBufferMarkerAMD_params
*params
= args
;
20102 TRACE("%p, %#x, 0x%s, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineStage
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), params
->marker
);
20104 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteBufferMarkerAMD(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineStage
, params
->dstBuffer
, params
->dstOffset
, params
->marker
);
20105 return STATUS_SUCCESS
;
20108 #else /* USE_STRUCT_CONVERSION */
20110 static NTSTATUS
thunk32_vkCmdWriteBufferMarkerAMD(void *args
)
20114 VkCommandBuffer commandBuffer
;
20115 VkPipelineStageFlagBits pipelineStage
;
20116 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
20117 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
20121 TRACE("%p, %#x, 0x%s, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineStage
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), params
->marker
);
20123 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteBufferMarkerAMD(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineStage
, params
->dstBuffer
, params
->dstOffset
, params
->marker
);
20124 return STATUS_SUCCESS
;
20127 #endif /* USE_STRUCT_CONVERSION */
20129 #if !defined(USE_STRUCT_CONVERSION)
20131 static NTSTATUS
thunk64_vkCmdWriteMicromapsPropertiesEXT(void *args
)
20133 struct vkCmdWriteMicromapsPropertiesEXT_params
*params
= args
;
20135 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
20137 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteMicromapsPropertiesEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, params
->queryPool
, params
->firstQuery
);
20138 return STATUS_SUCCESS
;
20141 #else /* USE_STRUCT_CONVERSION */
20143 static NTSTATUS
thunk32_vkCmdWriteMicromapsPropertiesEXT(void *args
)
20147 VkCommandBuffer commandBuffer
;
20148 uint32_t micromapCount
;
20149 const VkMicromapEXT
*pMicromaps
;
20150 VkQueryType queryType
;
20151 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
20152 uint32_t firstQuery
;
20155 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
20157 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteMicromapsPropertiesEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, params
->queryPool
, params
->firstQuery
);
20158 return STATUS_SUCCESS
;
20161 #endif /* USE_STRUCT_CONVERSION */
20163 #if !defined(USE_STRUCT_CONVERSION)
20165 static NTSTATUS
thunk64_vkCmdWriteTimestamp(void *args
)
20167 struct vkCmdWriteTimestamp_params
*params
= args
;
20169 TRACE("%p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineStage
, wine_dbgstr_longlong(params
->queryPool
), params
->query
);
20171 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteTimestamp(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineStage
, params
->queryPool
, params
->query
);
20172 return STATUS_SUCCESS
;
20175 #else /* USE_STRUCT_CONVERSION */
20177 static NTSTATUS
thunk32_vkCmdWriteTimestamp(void *args
)
20181 VkCommandBuffer commandBuffer
;
20182 VkPipelineStageFlagBits pipelineStage
;
20183 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
20187 TRACE("%p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineStage
, wine_dbgstr_longlong(params
->queryPool
), params
->query
);
20189 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteTimestamp(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineStage
, params
->queryPool
, params
->query
);
20190 return STATUS_SUCCESS
;
20193 #endif /* USE_STRUCT_CONVERSION */
20195 #if !defined(USE_STRUCT_CONVERSION)
20197 static NTSTATUS
thunk64_vkCmdWriteTimestamp2(void *args
)
20199 struct vkCmdWriteTimestamp2_params
*params
= args
;
20201 TRACE("%p, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->queryPool
), params
->query
);
20203 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteTimestamp2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stage
, params
->queryPool
, params
->query
);
20204 return STATUS_SUCCESS
;
20207 #else /* USE_STRUCT_CONVERSION */
20209 static NTSTATUS
thunk32_vkCmdWriteTimestamp2(void *args
)
20213 VkCommandBuffer commandBuffer
;
20214 VkPipelineStageFlags2 stage
;
20215 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
20219 TRACE("%p, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->queryPool
), params
->query
);
20221 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteTimestamp2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stage
, params
->queryPool
, params
->query
);
20222 return STATUS_SUCCESS
;
20225 #endif /* USE_STRUCT_CONVERSION */
20227 #if !defined(USE_STRUCT_CONVERSION)
20229 static NTSTATUS
thunk64_vkCmdWriteTimestamp2KHR(void *args
)
20231 struct vkCmdWriteTimestamp2KHR_params
*params
= args
;
20233 TRACE("%p, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->queryPool
), params
->query
);
20235 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteTimestamp2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stage
, params
->queryPool
, params
->query
);
20236 return STATUS_SUCCESS
;
20239 #else /* USE_STRUCT_CONVERSION */
20241 static NTSTATUS
thunk32_vkCmdWriteTimestamp2KHR(void *args
)
20245 VkCommandBuffer commandBuffer
;
20246 VkPipelineStageFlags2 stage
;
20247 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
20251 TRACE("%p, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->queryPool
), params
->query
);
20253 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdWriteTimestamp2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stage
, params
->queryPool
, params
->query
);
20254 return STATUS_SUCCESS
;
20257 #endif /* USE_STRUCT_CONVERSION */
20259 #if !defined(USE_STRUCT_CONVERSION)
20261 static NTSTATUS
thunk64_vkCompileDeferredNV(void *args
)
20263 struct vkCompileDeferredNV_params
*params
= args
;
20265 TRACE("%p, 0x%s, %u\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->shader
);
20267 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCompileDeferredNV(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->shader
);
20268 return STATUS_SUCCESS
;
20271 #else /* USE_STRUCT_CONVERSION */
20273 static NTSTATUS
thunk32_vkCompileDeferredNV(void *args
)
20278 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
20283 TRACE("%p, 0x%s, %u\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->shader
);
20285 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCompileDeferredNV(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->shader
);
20286 return STATUS_SUCCESS
;
20289 #endif /* USE_STRUCT_CONVERSION */
20291 #if !defined(USE_STRUCT_CONVERSION)
20293 static NTSTATUS
thunk64_vkCopyAccelerationStructureKHR(void *args
)
20295 struct vkCopyAccelerationStructureKHR_params
*params
= args
;
20297 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20299 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
20300 return STATUS_SUCCESS
;
20303 #else /* USE_STRUCT_CONVERSION */
20305 static NTSTATUS
thunk32_vkCopyAccelerationStructureKHR(void *args
)
20310 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
20311 const VkCopyAccelerationStructureInfoKHR32
*pInfo
;
20314 VkCopyAccelerationStructureInfoKHR pInfo_host
;
20316 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20318 convert_VkCopyAccelerationStructureInfoKHR_win32_to_host(params
->pInfo
, &pInfo_host
);
20319 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, &pInfo_host
);
20320 return STATUS_SUCCESS
;
20323 #endif /* USE_STRUCT_CONVERSION */
20325 #if !defined(USE_STRUCT_CONVERSION)
20327 static NTSTATUS
thunk64_vkCopyAccelerationStructureToMemoryKHR(void *args
)
20329 struct vkCopyAccelerationStructureToMemoryKHR_params
*params
= args
;
20331 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20333 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyAccelerationStructureToMemoryKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
20334 return STATUS_SUCCESS
;
20337 #else /* USE_STRUCT_CONVERSION */
20339 static NTSTATUS
thunk32_vkCopyAccelerationStructureToMemoryKHR(void *args
)
20344 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
20345 const VkCopyAccelerationStructureToMemoryInfoKHR32
*pInfo
;
20348 VkCopyAccelerationStructureToMemoryInfoKHR pInfo_host
;
20350 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20352 convert_VkCopyAccelerationStructureToMemoryInfoKHR_win32_to_host(params
->pInfo
, &pInfo_host
);
20353 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyAccelerationStructureToMemoryKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, &pInfo_host
);
20354 return STATUS_SUCCESS
;
20357 #endif /* USE_STRUCT_CONVERSION */
20359 #if !defined(USE_STRUCT_CONVERSION)
20361 static NTSTATUS
thunk64_vkCopyMemoryToAccelerationStructureKHR(void *args
)
20363 struct vkCopyMemoryToAccelerationStructureKHR_params
*params
= args
;
20365 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20367 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMemoryToAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
20368 return STATUS_SUCCESS
;
20371 #else /* USE_STRUCT_CONVERSION */
20373 static NTSTATUS
thunk32_vkCopyMemoryToAccelerationStructureKHR(void *args
)
20378 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
20379 const VkCopyMemoryToAccelerationStructureInfoKHR32
*pInfo
;
20382 VkCopyMemoryToAccelerationStructureInfoKHR pInfo_host
;
20384 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20386 convert_VkCopyMemoryToAccelerationStructureInfoKHR_win32_to_host(params
->pInfo
, &pInfo_host
);
20387 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMemoryToAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, &pInfo_host
);
20388 return STATUS_SUCCESS
;
20391 #endif /* USE_STRUCT_CONVERSION */
20393 #if !defined(USE_STRUCT_CONVERSION)
20395 static NTSTATUS
thunk64_vkCopyMemoryToMicromapEXT(void *args
)
20397 struct vkCopyMemoryToMicromapEXT_params
*params
= args
;
20399 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20401 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMemoryToMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
20402 return STATUS_SUCCESS
;
20405 #else /* USE_STRUCT_CONVERSION */
20407 static NTSTATUS
thunk32_vkCopyMemoryToMicromapEXT(void *args
)
20412 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
20413 const VkCopyMemoryToMicromapInfoEXT32
*pInfo
;
20416 VkCopyMemoryToMicromapInfoEXT pInfo_host
;
20418 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20420 convert_VkCopyMemoryToMicromapInfoEXT_win32_to_host(params
->pInfo
, &pInfo_host
);
20421 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMemoryToMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, &pInfo_host
);
20422 return STATUS_SUCCESS
;
20425 #endif /* USE_STRUCT_CONVERSION */
20427 #if !defined(USE_STRUCT_CONVERSION)
20429 static NTSTATUS
thunk64_vkCopyMicromapEXT(void *args
)
20431 struct vkCopyMicromapEXT_params
*params
= args
;
20433 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20435 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
20436 return STATUS_SUCCESS
;
20439 #else /* USE_STRUCT_CONVERSION */
20441 static NTSTATUS
thunk32_vkCopyMicromapEXT(void *args
)
20446 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
20447 const VkCopyMicromapInfoEXT32
*pInfo
;
20450 VkCopyMicromapInfoEXT pInfo_host
;
20452 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20454 convert_VkCopyMicromapInfoEXT_win32_to_host(params
->pInfo
, &pInfo_host
);
20455 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, &pInfo_host
);
20456 return STATUS_SUCCESS
;
20459 #endif /* USE_STRUCT_CONVERSION */
20461 #if !defined(USE_STRUCT_CONVERSION)
20463 static NTSTATUS
thunk64_vkCopyMicromapToMemoryEXT(void *args
)
20465 struct vkCopyMicromapToMemoryEXT_params
*params
= args
;
20467 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20469 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMicromapToMemoryEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
20470 return STATUS_SUCCESS
;
20473 #else /* USE_STRUCT_CONVERSION */
20475 static NTSTATUS
thunk32_vkCopyMicromapToMemoryEXT(void *args
)
20480 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
20481 const VkCopyMicromapToMemoryInfoEXT32
*pInfo
;
20484 VkCopyMicromapToMemoryInfoEXT pInfo_host
;
20486 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
20488 convert_VkCopyMicromapToMemoryInfoEXT_win32_to_host(params
->pInfo
, &pInfo_host
);
20489 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMicromapToMemoryEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, &pInfo_host
);
20490 return STATUS_SUCCESS
;
20493 #endif /* USE_STRUCT_CONVERSION */
20495 #if !defined(USE_STRUCT_CONVERSION)
20497 static NTSTATUS
thunk64_vkCreateAccelerationStructureKHR(void *args
)
20499 struct vkCreateAccelerationStructureKHR_params
*params
= args
;
20501 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pAccelerationStructure
);
20503 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pAccelerationStructure
);
20504 return STATUS_SUCCESS
;
20507 #else /* USE_STRUCT_CONVERSION */
20509 static NTSTATUS
thunk32_vkCreateAccelerationStructureKHR(void *args
)
20514 const VkAccelerationStructureCreateInfoKHR32
*pCreateInfo
;
20515 const VkAllocationCallbacks
*pAllocator
;
20516 VkAccelerationStructureKHR
*pAccelerationStructure
;
20519 VkAccelerationStructureCreateInfoKHR pCreateInfo_host
;
20521 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pAccelerationStructure
);
20523 convert_VkAccelerationStructureCreateInfoKHR_win32_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
20524 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pAccelerationStructure
);
20525 return STATUS_SUCCESS
;
20528 #endif /* USE_STRUCT_CONVERSION */
20530 #if !defined(USE_STRUCT_CONVERSION)
20532 static NTSTATUS
thunk64_vkCreateAccelerationStructureNV(void *args
)
20534 struct vkCreateAccelerationStructureNV_params
*params
= args
;
20536 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pAccelerationStructure
);
20538 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateAccelerationStructureNV(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pAccelerationStructure
);
20539 return STATUS_SUCCESS
;
20542 #else /* USE_STRUCT_CONVERSION */
20544 static NTSTATUS
thunk32_vkCreateAccelerationStructureNV(void *args
)
20549 const VkAccelerationStructureCreateInfoNV32
*pCreateInfo
;
20550 const VkAllocationCallbacks
*pAllocator
;
20551 VkAccelerationStructureNV
*pAccelerationStructure
;
20554 VkAccelerationStructureCreateInfoNV pCreateInfo_host
;
20555 struct conversion_context ctx
;
20557 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pAccelerationStructure
);
20559 init_conversion_context(&ctx
);
20560 convert_VkAccelerationStructureCreateInfoNV_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
20561 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateAccelerationStructureNV(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pAccelerationStructure
);
20562 free_conversion_context(&ctx
);
20563 return STATUS_SUCCESS
;
20566 #endif /* USE_STRUCT_CONVERSION */
20568 #if !defined(USE_STRUCT_CONVERSION)
20570 static NTSTATUS
thunk64_vkCreateBuffer(void *args
)
20572 struct vkCreateBuffer_params
*params
= args
;
20574 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pBuffer
);
20576 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateBuffer(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pBuffer
);
20577 return STATUS_SUCCESS
;
20580 #else /* USE_STRUCT_CONVERSION */
20582 static NTSTATUS
thunk32_vkCreateBuffer(void *args
)
20587 const VkBufferCreateInfo32
*pCreateInfo
;
20588 const VkAllocationCallbacks
*pAllocator
;
20592 VkBufferCreateInfo pCreateInfo_host
;
20593 struct conversion_context ctx
;
20595 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pBuffer
);
20597 init_conversion_context(&ctx
);
20598 convert_VkBufferCreateInfo_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
20599 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateBuffer(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pBuffer
);
20600 free_conversion_context(&ctx
);
20601 return STATUS_SUCCESS
;
20604 #endif /* USE_STRUCT_CONVERSION */
20606 #if !defined(USE_STRUCT_CONVERSION)
20608 static NTSTATUS
thunk64_vkCreateBufferView(void *args
)
20610 struct vkCreateBufferView_params
*params
= args
;
20612 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pView
);
20614 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateBufferView(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pView
);
20615 return STATUS_SUCCESS
;
20618 #else /* USE_STRUCT_CONVERSION */
20620 static NTSTATUS
thunk32_vkCreateBufferView(void *args
)
20625 const VkBufferViewCreateInfo32
*pCreateInfo
;
20626 const VkAllocationCallbacks
*pAllocator
;
20627 VkBufferView
*pView
;
20630 VkBufferViewCreateInfo pCreateInfo_host
;
20632 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pView
);
20634 convert_VkBufferViewCreateInfo_win32_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
20635 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateBufferView(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pView
);
20636 return STATUS_SUCCESS
;
20639 #endif /* USE_STRUCT_CONVERSION */
20641 #if !defined(USE_STRUCT_CONVERSION)
20643 static NTSTATUS
thunk64_vkCreateCommandPool(void *args
)
20645 struct vkCreateCommandPool_params
*params
= args
;
20647 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pCommandPool
);
20649 params
->result
= wine_vkCreateCommandPool(params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pCommandPool
, params
->client_ptr
);
20650 return STATUS_SUCCESS
;
20653 #else /* USE_STRUCT_CONVERSION */
20655 static NTSTATUS
thunk32_vkCreateCommandPool(void *args
)
20660 const VkCommandPoolCreateInfo
*pCreateInfo
;
20661 const VkAllocationCallbacks
*pAllocator
;
20662 VkCommandPool
*pCommandPool
;
20667 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pCommandPool
);
20669 params
->result
= wine_vkCreateCommandPool(params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pCommandPool
, params
->client_ptr
);
20670 return STATUS_SUCCESS
;
20673 #endif /* USE_STRUCT_CONVERSION */
20675 #if !defined(USE_STRUCT_CONVERSION)
20677 static NTSTATUS
thunk64_vkCreateComputePipelines(void *args
)
20679 struct vkCreateComputePipelines_params
*params
= args
;
20680 const VkComputePipelineCreateInfo
*pCreateInfos_host
;
20681 struct conversion_context ctx
;
20683 TRACE("%p, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
20685 init_conversion_context(&ctx
);
20686 pCreateInfos_host
= convert_VkComputePipelineCreateInfo_array_win64_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
20687 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateComputePipelines(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, params
->pPipelines
);
20688 free_conversion_context(&ctx
);
20689 return STATUS_SUCCESS
;
20692 #else /* USE_STRUCT_CONVERSION */
20694 static NTSTATUS
thunk32_vkCreateComputePipelines(void *args
)
20699 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
20700 uint32_t createInfoCount
;
20701 const VkComputePipelineCreateInfo32
*pCreateInfos
;
20702 const VkAllocationCallbacks
*pAllocator
;
20703 VkPipeline
*pPipelines
;
20706 const VkComputePipelineCreateInfo
*pCreateInfos_host
;
20707 struct conversion_context ctx
;
20709 TRACE("%p, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
20711 init_conversion_context(&ctx
);
20712 pCreateInfos_host
= convert_VkComputePipelineCreateInfo_array_win32_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
20713 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateComputePipelines(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, params
->pPipelines
);
20714 convert_VkComputePipelineCreateInfo_array_host_to_win32(pCreateInfos_host
, params
->pCreateInfos
, params
->createInfoCount
);
20715 free_conversion_context(&ctx
);
20716 return STATUS_SUCCESS
;
20719 #endif /* USE_STRUCT_CONVERSION */
20721 #if !defined(USE_STRUCT_CONVERSION)
20723 static NTSTATUS
thunk64_vkCreateCuFunctionNVX(void *args
)
20725 struct vkCreateCuFunctionNVX_params
*params
= args
;
20727 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFunction
);
20729 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateCuFunctionNVX(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pFunction
);
20730 return STATUS_SUCCESS
;
20733 #else /* USE_STRUCT_CONVERSION */
20735 static NTSTATUS
thunk32_vkCreateCuFunctionNVX(void *args
)
20740 const VkCuFunctionCreateInfoNVX32
*pCreateInfo
;
20741 const VkAllocationCallbacks
*pAllocator
;
20742 VkCuFunctionNVX
*pFunction
;
20745 VkCuFunctionCreateInfoNVX pCreateInfo_host
;
20747 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFunction
);
20749 convert_VkCuFunctionCreateInfoNVX_win32_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
20750 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateCuFunctionNVX(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pFunction
);
20751 return STATUS_SUCCESS
;
20754 #endif /* USE_STRUCT_CONVERSION */
20756 #if !defined(USE_STRUCT_CONVERSION)
20758 static NTSTATUS
thunk64_vkCreateCuModuleNVX(void *args
)
20760 struct vkCreateCuModuleNVX_params
*params
= args
;
20762 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pModule
);
20764 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateCuModuleNVX(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pModule
);
20765 return STATUS_SUCCESS
;
20768 #else /* USE_STRUCT_CONVERSION */
20770 static NTSTATUS
thunk32_vkCreateCuModuleNVX(void *args
)
20775 const VkCuModuleCreateInfoNVX
*pCreateInfo
;
20776 const VkAllocationCallbacks
*pAllocator
;
20777 VkCuModuleNVX
*pModule
;
20781 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pModule
);
20783 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateCuModuleNVX(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pModule
);
20784 return STATUS_SUCCESS
;
20787 #endif /* USE_STRUCT_CONVERSION */
20789 #if !defined(USE_STRUCT_CONVERSION)
20791 static NTSTATUS
thunk64_vkCreateDebugReportCallbackEXT(void *args
)
20793 struct vkCreateDebugReportCallbackEXT_params
*params
= args
;
20795 TRACE("%p, %p, %p, %p\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pCallback
);
20797 params
->result
= wine_vkCreateDebugReportCallbackEXT(params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pCallback
);
20798 return STATUS_SUCCESS
;
20801 #else /* USE_STRUCT_CONVERSION */
20803 static NTSTATUS
thunk32_vkCreateDebugReportCallbackEXT(void *args
)
20807 VkInstance instance
;
20808 const VkDebugReportCallbackCreateInfoEXT
*pCreateInfo
;
20809 const VkAllocationCallbacks
*pAllocator
;
20810 VkDebugReportCallbackEXT
*pCallback
;
20814 TRACE("%p, %p, %p, %p\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pCallback
);
20816 params
->result
= wine_vkCreateDebugReportCallbackEXT(params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pCallback
);
20817 return STATUS_SUCCESS
;
20820 #endif /* USE_STRUCT_CONVERSION */
20822 #if !defined(USE_STRUCT_CONVERSION)
20824 static NTSTATUS
thunk64_vkCreateDebugUtilsMessengerEXT(void *args
)
20826 struct vkCreateDebugUtilsMessengerEXT_params
*params
= args
;
20828 TRACE("%p, %p, %p, %p\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pMessenger
);
20830 params
->result
= wine_vkCreateDebugUtilsMessengerEXT(params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pMessenger
);
20831 return STATUS_SUCCESS
;
20834 #else /* USE_STRUCT_CONVERSION */
20836 static NTSTATUS
thunk32_vkCreateDebugUtilsMessengerEXT(void *args
)
20840 VkInstance instance
;
20841 const VkDebugUtilsMessengerCreateInfoEXT
*pCreateInfo
;
20842 const VkAllocationCallbacks
*pAllocator
;
20843 VkDebugUtilsMessengerEXT
*pMessenger
;
20847 TRACE("%p, %p, %p, %p\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pMessenger
);
20849 params
->result
= wine_vkCreateDebugUtilsMessengerEXT(params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pMessenger
);
20850 return STATUS_SUCCESS
;
20853 #endif /* USE_STRUCT_CONVERSION */
20855 #if !defined(USE_STRUCT_CONVERSION)
20857 static NTSTATUS
thunk64_vkCreateDeferredOperationKHR(void *args
)
20859 struct vkCreateDeferredOperationKHR_params
*params
= args
;
20861 TRACE("%p, %p, %p\n", params
->device
, params
->pAllocator
, params
->pDeferredOperation
);
20863 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDeferredOperationKHR(wine_device_from_handle(params
->device
)->device
, NULL
, params
->pDeferredOperation
);
20864 return STATUS_SUCCESS
;
20867 #else /* USE_STRUCT_CONVERSION */
20869 static NTSTATUS
thunk32_vkCreateDeferredOperationKHR(void *args
)
20874 const VkAllocationCallbacks
*pAllocator
;
20875 VkDeferredOperationKHR
*pDeferredOperation
;
20879 TRACE("%p, %p, %p\n", params
->device
, params
->pAllocator
, params
->pDeferredOperation
);
20881 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDeferredOperationKHR(wine_device_from_handle(params
->device
)->device
, NULL
, params
->pDeferredOperation
);
20882 return STATUS_SUCCESS
;
20885 #endif /* USE_STRUCT_CONVERSION */
20887 #if !defined(USE_STRUCT_CONVERSION)
20889 static NTSTATUS
thunk64_vkCreateDescriptorPool(void *args
)
20891 struct vkCreateDescriptorPool_params
*params
= args
;
20893 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorPool
);
20895 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorPool(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pDescriptorPool
);
20896 return STATUS_SUCCESS
;
20899 #else /* USE_STRUCT_CONVERSION */
20901 static NTSTATUS
thunk32_vkCreateDescriptorPool(void *args
)
20906 const VkDescriptorPoolCreateInfo
*pCreateInfo
;
20907 const VkAllocationCallbacks
*pAllocator
;
20908 VkDescriptorPool
*pDescriptorPool
;
20912 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorPool
);
20914 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorPool(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pDescriptorPool
);
20915 return STATUS_SUCCESS
;
20918 #endif /* USE_STRUCT_CONVERSION */
20920 #if !defined(USE_STRUCT_CONVERSION)
20922 static NTSTATUS
thunk64_vkCreateDescriptorSetLayout(void *args
)
20924 struct vkCreateDescriptorSetLayout_params
*params
= args
;
20926 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSetLayout
);
20928 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorSetLayout(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSetLayout
);
20929 return STATUS_SUCCESS
;
20932 #else /* USE_STRUCT_CONVERSION */
20934 static NTSTATUS
thunk32_vkCreateDescriptorSetLayout(void *args
)
20939 const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
;
20940 const VkAllocationCallbacks
*pAllocator
;
20941 VkDescriptorSetLayout
*pSetLayout
;
20945 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSetLayout
);
20947 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorSetLayout(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSetLayout
);
20948 return STATUS_SUCCESS
;
20951 #endif /* USE_STRUCT_CONVERSION */
20953 #if !defined(USE_STRUCT_CONVERSION)
20955 static NTSTATUS
thunk64_vkCreateDescriptorUpdateTemplate(void *args
)
20957 struct vkCreateDescriptorUpdateTemplate_params
*params
= args
;
20959 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorUpdateTemplate
);
20961 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorUpdateTemplate(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pDescriptorUpdateTemplate
);
20962 return STATUS_SUCCESS
;
20965 #else /* USE_STRUCT_CONVERSION */
20967 static NTSTATUS
thunk32_vkCreateDescriptorUpdateTemplate(void *args
)
20972 const VkDescriptorUpdateTemplateCreateInfo32
*pCreateInfo
;
20973 const VkAllocationCallbacks
*pAllocator
;
20974 VkDescriptorUpdateTemplate
*pDescriptorUpdateTemplate
;
20977 VkDescriptorUpdateTemplateCreateInfo pCreateInfo_host
;
20979 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorUpdateTemplate
);
20981 convert_VkDescriptorUpdateTemplateCreateInfo_win32_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
20982 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorUpdateTemplate(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pDescriptorUpdateTemplate
);
20983 return STATUS_SUCCESS
;
20986 #endif /* USE_STRUCT_CONVERSION */
20988 #if !defined(USE_STRUCT_CONVERSION)
20990 static NTSTATUS
thunk64_vkCreateDescriptorUpdateTemplateKHR(void *args
)
20992 struct vkCreateDescriptorUpdateTemplateKHR_params
*params
= args
;
20994 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorUpdateTemplate
);
20996 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pDescriptorUpdateTemplate
);
20997 return STATUS_SUCCESS
;
21000 #else /* USE_STRUCT_CONVERSION */
21002 static NTSTATUS
thunk32_vkCreateDescriptorUpdateTemplateKHR(void *args
)
21007 const VkDescriptorUpdateTemplateCreateInfo32
*pCreateInfo
;
21008 const VkAllocationCallbacks
*pAllocator
;
21009 VkDescriptorUpdateTemplate
*pDescriptorUpdateTemplate
;
21012 VkDescriptorUpdateTemplateCreateInfo pCreateInfo_host
;
21014 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorUpdateTemplate
);
21016 convert_VkDescriptorUpdateTemplateCreateInfo_win32_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
21017 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pDescriptorUpdateTemplate
);
21018 return STATUS_SUCCESS
;
21021 #endif /* USE_STRUCT_CONVERSION */
21023 #if !defined(USE_STRUCT_CONVERSION)
21025 static NTSTATUS
thunk64_vkCreateDevice(void *args
)
21027 struct vkCreateDevice_params
*params
= args
;
21028 VkDeviceCreateInfo pCreateInfo_host
;
21029 struct conversion_context ctx
;
21031 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pCreateInfo
, params
->pAllocator
, params
->pDevice
);
21033 init_conversion_context(&ctx
);
21034 convert_VkDeviceCreateInfo_win64_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21035 params
->result
= wine_vkCreateDevice(params
->physicalDevice
, &pCreateInfo_host
, params
->pAllocator
, params
->pDevice
, params
->client_ptr
);
21036 free_conversion_context(&ctx
);
21037 return STATUS_SUCCESS
;
21040 #else /* USE_STRUCT_CONVERSION */
21042 static NTSTATUS
thunk32_vkCreateDevice(void *args
)
21046 VkPhysicalDevice physicalDevice
;
21047 const VkDeviceCreateInfo
*pCreateInfo
;
21048 const VkAllocationCallbacks
*pAllocator
;
21053 VkDeviceCreateInfo pCreateInfo_host
;
21054 struct conversion_context ctx
;
21056 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pCreateInfo
, params
->pAllocator
, params
->pDevice
);
21058 init_conversion_context(&ctx
);
21059 convert_VkDeviceCreateInfo_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21060 params
->result
= wine_vkCreateDevice(params
->physicalDevice
, &pCreateInfo_host
, params
->pAllocator
, params
->pDevice
, params
->client_ptr
);
21061 free_conversion_context(&ctx
);
21062 return STATUS_SUCCESS
;
21065 #endif /* USE_STRUCT_CONVERSION */
21067 #if !defined(USE_STRUCT_CONVERSION)
21069 static NTSTATUS
thunk64_vkCreateEvent(void *args
)
21071 struct vkCreateEvent_params
*params
= args
;
21073 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pEvent
);
21075 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateEvent(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pEvent
);
21076 return STATUS_SUCCESS
;
21079 #else /* USE_STRUCT_CONVERSION */
21081 static NTSTATUS
thunk32_vkCreateEvent(void *args
)
21086 const VkEventCreateInfo
*pCreateInfo
;
21087 const VkAllocationCallbacks
*pAllocator
;
21092 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pEvent
);
21094 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateEvent(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pEvent
);
21095 return STATUS_SUCCESS
;
21098 #endif /* USE_STRUCT_CONVERSION */
21100 #if !defined(USE_STRUCT_CONVERSION)
21102 static NTSTATUS
thunk64_vkCreateFence(void *args
)
21104 struct vkCreateFence_params
*params
= args
;
21106 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFence
);
21108 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateFence(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pFence
);
21109 return STATUS_SUCCESS
;
21112 #else /* USE_STRUCT_CONVERSION */
21114 static NTSTATUS
thunk32_vkCreateFence(void *args
)
21119 const VkFenceCreateInfo
*pCreateInfo
;
21120 const VkAllocationCallbacks
*pAllocator
;
21125 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFence
);
21127 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateFence(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pFence
);
21128 return STATUS_SUCCESS
;
21131 #endif /* USE_STRUCT_CONVERSION */
21133 #if !defined(USE_STRUCT_CONVERSION)
21135 static NTSTATUS
thunk64_vkCreateFramebuffer(void *args
)
21137 struct vkCreateFramebuffer_params
*params
= args
;
21139 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFramebuffer
);
21141 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateFramebuffer(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pFramebuffer
);
21142 return STATUS_SUCCESS
;
21145 #else /* USE_STRUCT_CONVERSION */
21147 static NTSTATUS
thunk32_vkCreateFramebuffer(void *args
)
21152 const VkFramebufferCreateInfo32
*pCreateInfo
;
21153 const VkAllocationCallbacks
*pAllocator
;
21154 VkFramebuffer
*pFramebuffer
;
21157 VkFramebufferCreateInfo pCreateInfo_host
;
21159 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFramebuffer
);
21161 convert_VkFramebufferCreateInfo_win32_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
21162 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateFramebuffer(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pFramebuffer
);
21163 return STATUS_SUCCESS
;
21166 #endif /* USE_STRUCT_CONVERSION */
21168 #if !defined(USE_STRUCT_CONVERSION)
21170 static NTSTATUS
thunk64_vkCreateGraphicsPipelines(void *args
)
21172 struct vkCreateGraphicsPipelines_params
*params
= args
;
21173 const VkGraphicsPipelineCreateInfo
*pCreateInfos_host
;
21174 struct conversion_context ctx
;
21176 TRACE("%p, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
21178 init_conversion_context(&ctx
);
21179 pCreateInfos_host
= convert_VkGraphicsPipelineCreateInfo_array_win64_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
21180 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateGraphicsPipelines(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, params
->pPipelines
);
21181 free_conversion_context(&ctx
);
21182 return STATUS_SUCCESS
;
21185 #else /* USE_STRUCT_CONVERSION */
21187 static NTSTATUS
thunk32_vkCreateGraphicsPipelines(void *args
)
21192 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
21193 uint32_t createInfoCount
;
21194 const VkGraphicsPipelineCreateInfo32
*pCreateInfos
;
21195 const VkAllocationCallbacks
*pAllocator
;
21196 VkPipeline
*pPipelines
;
21199 const VkGraphicsPipelineCreateInfo
*pCreateInfos_host
;
21200 struct conversion_context ctx
;
21202 TRACE("%p, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
21204 init_conversion_context(&ctx
);
21205 pCreateInfos_host
= convert_VkGraphicsPipelineCreateInfo_array_win32_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
21206 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateGraphicsPipelines(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, params
->pPipelines
);
21207 convert_VkGraphicsPipelineCreateInfo_array_host_to_win32(pCreateInfos_host
, params
->pCreateInfos
, params
->createInfoCount
);
21208 free_conversion_context(&ctx
);
21209 return STATUS_SUCCESS
;
21212 #endif /* USE_STRUCT_CONVERSION */
21214 #if !defined(USE_STRUCT_CONVERSION)
21216 static NTSTATUS
thunk64_vkCreateImage(void *args
)
21218 struct vkCreateImage_params
*params
= args
;
21220 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pImage
);
21222 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateImage(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pImage
);
21223 return STATUS_SUCCESS
;
21226 #else /* USE_STRUCT_CONVERSION */
21228 static NTSTATUS
thunk32_vkCreateImage(void *args
)
21233 const VkImageCreateInfo
*pCreateInfo
;
21234 const VkAllocationCallbacks
*pAllocator
;
21238 VkImageCreateInfo pCreateInfo_host
;
21239 struct conversion_context ctx
;
21241 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pImage
);
21243 init_conversion_context(&ctx
);
21244 convert_VkImageCreateInfo_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21245 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateImage(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pImage
);
21246 free_conversion_context(&ctx
);
21247 return STATUS_SUCCESS
;
21250 #endif /* USE_STRUCT_CONVERSION */
21252 #if !defined(USE_STRUCT_CONVERSION)
21254 static NTSTATUS
thunk64_vkCreateImageView(void *args
)
21256 struct vkCreateImageView_params
*params
= args
;
21258 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pView
);
21260 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateImageView(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pView
);
21261 return STATUS_SUCCESS
;
21264 #else /* USE_STRUCT_CONVERSION */
21266 static NTSTATUS
thunk32_vkCreateImageView(void *args
)
21271 const VkImageViewCreateInfo32
*pCreateInfo
;
21272 const VkAllocationCallbacks
*pAllocator
;
21273 VkImageView
*pView
;
21276 VkImageViewCreateInfo pCreateInfo_host
;
21277 struct conversion_context ctx
;
21279 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pView
);
21281 init_conversion_context(&ctx
);
21282 convert_VkImageViewCreateInfo_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21283 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateImageView(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pView
);
21284 free_conversion_context(&ctx
);
21285 return STATUS_SUCCESS
;
21288 #endif /* USE_STRUCT_CONVERSION */
21290 #if !defined(USE_STRUCT_CONVERSION)
21292 static NTSTATUS
thunk64_vkCreateIndirectCommandsLayoutNV(void *args
)
21294 struct vkCreateIndirectCommandsLayoutNV_params
*params
= args
;
21296 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pIndirectCommandsLayout
);
21298 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateIndirectCommandsLayoutNV(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pIndirectCommandsLayout
);
21299 return STATUS_SUCCESS
;
21302 #else /* USE_STRUCT_CONVERSION */
21304 static NTSTATUS
thunk32_vkCreateIndirectCommandsLayoutNV(void *args
)
21309 const VkIndirectCommandsLayoutCreateInfoNV32
*pCreateInfo
;
21310 const VkAllocationCallbacks
*pAllocator
;
21311 VkIndirectCommandsLayoutNV
*pIndirectCommandsLayout
;
21314 VkIndirectCommandsLayoutCreateInfoNV pCreateInfo_host
;
21315 struct conversion_context ctx
;
21317 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pIndirectCommandsLayout
);
21319 init_conversion_context(&ctx
);
21320 convert_VkIndirectCommandsLayoutCreateInfoNV_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21321 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateIndirectCommandsLayoutNV(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pIndirectCommandsLayout
);
21322 free_conversion_context(&ctx
);
21323 return STATUS_SUCCESS
;
21326 #endif /* USE_STRUCT_CONVERSION */
21328 #if !defined(USE_STRUCT_CONVERSION)
21330 static NTSTATUS
thunk64_vkCreateInstance(void *args
)
21332 struct vkCreateInstance_params
*params
= args
;
21333 VkInstanceCreateInfo pCreateInfo_host
;
21334 struct conversion_context ctx
;
21336 TRACE("%p, %p, %p\n", params
->pCreateInfo
, params
->pAllocator
, params
->pInstance
);
21338 init_conversion_context(&ctx
);
21339 convert_VkInstanceCreateInfo_win64_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21340 params
->result
= wine_vkCreateInstance(&pCreateInfo_host
, params
->pAllocator
, params
->pInstance
, params
->client_ptr
);
21341 free_conversion_context(&ctx
);
21342 return STATUS_SUCCESS
;
21345 #else /* USE_STRUCT_CONVERSION */
21347 static NTSTATUS
thunk32_vkCreateInstance(void *args
)
21351 const VkInstanceCreateInfo
*pCreateInfo
;
21352 const VkAllocationCallbacks
*pAllocator
;
21353 VkInstance
*pInstance
;
21357 VkInstanceCreateInfo pCreateInfo_host
;
21358 struct conversion_context ctx
;
21360 TRACE("%p, %p, %p\n", params
->pCreateInfo
, params
->pAllocator
, params
->pInstance
);
21362 init_conversion_context(&ctx
);
21363 convert_VkInstanceCreateInfo_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21364 params
->result
= wine_vkCreateInstance(&pCreateInfo_host
, params
->pAllocator
, params
->pInstance
, params
->client_ptr
);
21365 free_conversion_context(&ctx
);
21366 return STATUS_SUCCESS
;
21369 #endif /* USE_STRUCT_CONVERSION */
21371 #if !defined(USE_STRUCT_CONVERSION)
21373 static NTSTATUS
thunk64_vkCreateMicromapEXT(void *args
)
21375 struct vkCreateMicromapEXT_params
*params
= args
;
21377 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pMicromap
);
21379 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pMicromap
);
21380 return STATUS_SUCCESS
;
21383 #else /* USE_STRUCT_CONVERSION */
21385 static NTSTATUS
thunk32_vkCreateMicromapEXT(void *args
)
21390 const VkMicromapCreateInfoEXT32
*pCreateInfo
;
21391 const VkAllocationCallbacks
*pAllocator
;
21392 VkMicromapEXT
*pMicromap
;
21395 VkMicromapCreateInfoEXT pCreateInfo_host
;
21397 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pMicromap
);
21399 convert_VkMicromapCreateInfoEXT_win32_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
21400 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateMicromapEXT(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pMicromap
);
21401 return STATUS_SUCCESS
;
21404 #endif /* USE_STRUCT_CONVERSION */
21406 #if !defined(USE_STRUCT_CONVERSION)
21408 static NTSTATUS
thunk64_vkCreateOpticalFlowSessionNV(void *args
)
21410 struct vkCreateOpticalFlowSessionNV_params
*params
= args
;
21412 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSession
);
21414 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateOpticalFlowSessionNV(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSession
);
21415 return STATUS_SUCCESS
;
21418 #else /* USE_STRUCT_CONVERSION */
21420 static NTSTATUS
thunk32_vkCreateOpticalFlowSessionNV(void *args
)
21425 const VkOpticalFlowSessionCreateInfoNV
*pCreateInfo
;
21426 const VkAllocationCallbacks
*pAllocator
;
21427 VkOpticalFlowSessionNV
*pSession
;
21431 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSession
);
21433 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateOpticalFlowSessionNV(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSession
);
21434 return STATUS_SUCCESS
;
21437 #endif /* USE_STRUCT_CONVERSION */
21439 #if !defined(USE_STRUCT_CONVERSION)
21441 static NTSTATUS
thunk64_vkCreatePipelineCache(void *args
)
21443 struct vkCreatePipelineCache_params
*params
= args
;
21445 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPipelineCache
);
21447 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePipelineCache(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPipelineCache
);
21448 return STATUS_SUCCESS
;
21451 #else /* USE_STRUCT_CONVERSION */
21453 static NTSTATUS
thunk32_vkCreatePipelineCache(void *args
)
21458 const VkPipelineCacheCreateInfo
*pCreateInfo
;
21459 const VkAllocationCallbacks
*pAllocator
;
21460 VkPipelineCache
*pPipelineCache
;
21464 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPipelineCache
);
21466 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePipelineCache(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPipelineCache
);
21467 return STATUS_SUCCESS
;
21470 #endif /* USE_STRUCT_CONVERSION */
21472 #if !defined(USE_STRUCT_CONVERSION)
21474 static NTSTATUS
thunk64_vkCreatePipelineLayout(void *args
)
21476 struct vkCreatePipelineLayout_params
*params
= args
;
21478 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPipelineLayout
);
21480 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePipelineLayout(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPipelineLayout
);
21481 return STATUS_SUCCESS
;
21484 #else /* USE_STRUCT_CONVERSION */
21486 static NTSTATUS
thunk32_vkCreatePipelineLayout(void *args
)
21491 const VkPipelineLayoutCreateInfo
*pCreateInfo
;
21492 const VkAllocationCallbacks
*pAllocator
;
21493 VkPipelineLayout
*pPipelineLayout
;
21497 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPipelineLayout
);
21499 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePipelineLayout(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPipelineLayout
);
21500 return STATUS_SUCCESS
;
21503 #endif /* USE_STRUCT_CONVERSION */
21505 #if !defined(USE_STRUCT_CONVERSION)
21507 static NTSTATUS
thunk64_vkCreatePrivateDataSlot(void *args
)
21509 struct vkCreatePrivateDataSlot_params
*params
= args
;
21511 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPrivateDataSlot
);
21513 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePrivateDataSlot(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPrivateDataSlot
);
21514 return STATUS_SUCCESS
;
21517 #else /* USE_STRUCT_CONVERSION */
21519 static NTSTATUS
thunk32_vkCreatePrivateDataSlot(void *args
)
21524 const VkPrivateDataSlotCreateInfo
*pCreateInfo
;
21525 const VkAllocationCallbacks
*pAllocator
;
21526 VkPrivateDataSlot
*pPrivateDataSlot
;
21530 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPrivateDataSlot
);
21532 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePrivateDataSlot(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPrivateDataSlot
);
21533 return STATUS_SUCCESS
;
21536 #endif /* USE_STRUCT_CONVERSION */
21538 #if !defined(USE_STRUCT_CONVERSION)
21540 static NTSTATUS
thunk64_vkCreatePrivateDataSlotEXT(void *args
)
21542 struct vkCreatePrivateDataSlotEXT_params
*params
= args
;
21544 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPrivateDataSlot
);
21546 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePrivateDataSlotEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPrivateDataSlot
);
21547 return STATUS_SUCCESS
;
21550 #else /* USE_STRUCT_CONVERSION */
21552 static NTSTATUS
thunk32_vkCreatePrivateDataSlotEXT(void *args
)
21557 const VkPrivateDataSlotCreateInfo
*pCreateInfo
;
21558 const VkAllocationCallbacks
*pAllocator
;
21559 VkPrivateDataSlot
*pPrivateDataSlot
;
21563 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPrivateDataSlot
);
21565 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePrivateDataSlotEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPrivateDataSlot
);
21566 return STATUS_SUCCESS
;
21569 #endif /* USE_STRUCT_CONVERSION */
21571 #if !defined(USE_STRUCT_CONVERSION)
21573 static NTSTATUS
thunk64_vkCreateQueryPool(void *args
)
21575 struct vkCreateQueryPool_params
*params
= args
;
21577 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pQueryPool
);
21579 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateQueryPool(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pQueryPool
);
21580 return STATUS_SUCCESS
;
21583 #else /* USE_STRUCT_CONVERSION */
21585 static NTSTATUS
thunk32_vkCreateQueryPool(void *args
)
21590 const VkQueryPoolCreateInfo
*pCreateInfo
;
21591 const VkAllocationCallbacks
*pAllocator
;
21592 VkQueryPool
*pQueryPool
;
21596 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pQueryPool
);
21598 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateQueryPool(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pQueryPool
);
21599 return STATUS_SUCCESS
;
21602 #endif /* USE_STRUCT_CONVERSION */
21604 #if !defined(USE_STRUCT_CONVERSION)
21606 static NTSTATUS
thunk64_vkCreateRayTracingPipelinesKHR(void *args
)
21608 struct vkCreateRayTracingPipelinesKHR_params
*params
= args
;
21609 const VkRayTracingPipelineCreateInfoKHR
*pCreateInfos_host
;
21610 struct conversion_context ctx
;
21612 TRACE("%p, 0x%s, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
21614 init_conversion_context(&ctx
);
21615 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoKHR_array_win64_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
21616 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRayTracingPipelinesKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, params
->pPipelines
);
21617 free_conversion_context(&ctx
);
21618 return STATUS_SUCCESS
;
21621 #else /* USE_STRUCT_CONVERSION */
21623 static NTSTATUS
thunk32_vkCreateRayTracingPipelinesKHR(void *args
)
21628 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
21629 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
21630 uint32_t createInfoCount
;
21631 const VkRayTracingPipelineCreateInfoKHR32
*pCreateInfos
;
21632 const VkAllocationCallbacks
*pAllocator
;
21633 VkPipeline
*pPipelines
;
21636 const VkRayTracingPipelineCreateInfoKHR
*pCreateInfos_host
;
21637 struct conversion_context ctx
;
21639 TRACE("%p, 0x%s, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
21641 init_conversion_context(&ctx
);
21642 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoKHR_array_win32_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
21643 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRayTracingPipelinesKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, params
->pPipelines
);
21644 convert_VkRayTracingPipelineCreateInfoKHR_array_host_to_win32(pCreateInfos_host
, params
->pCreateInfos
, params
->createInfoCount
);
21645 free_conversion_context(&ctx
);
21646 return STATUS_SUCCESS
;
21649 #endif /* USE_STRUCT_CONVERSION */
21651 #if !defined(USE_STRUCT_CONVERSION)
21653 static NTSTATUS
thunk64_vkCreateRayTracingPipelinesNV(void *args
)
21655 struct vkCreateRayTracingPipelinesNV_params
*params
= args
;
21656 const VkRayTracingPipelineCreateInfoNV
*pCreateInfos_host
;
21657 struct conversion_context ctx
;
21659 TRACE("%p, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
21661 init_conversion_context(&ctx
);
21662 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoNV_array_win64_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
21663 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRayTracingPipelinesNV(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, params
->pPipelines
);
21664 free_conversion_context(&ctx
);
21665 return STATUS_SUCCESS
;
21668 #else /* USE_STRUCT_CONVERSION */
21670 static NTSTATUS
thunk32_vkCreateRayTracingPipelinesNV(void *args
)
21675 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
21676 uint32_t createInfoCount
;
21677 const VkRayTracingPipelineCreateInfoNV32
*pCreateInfos
;
21678 const VkAllocationCallbacks
*pAllocator
;
21679 VkPipeline
*pPipelines
;
21682 const VkRayTracingPipelineCreateInfoNV
*pCreateInfos_host
;
21683 struct conversion_context ctx
;
21685 TRACE("%p, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
21687 init_conversion_context(&ctx
);
21688 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoNV_array_win32_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
21689 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRayTracingPipelinesNV(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, params
->pPipelines
);
21690 convert_VkRayTracingPipelineCreateInfoNV_array_host_to_win32(pCreateInfos_host
, params
->pCreateInfos
, params
->createInfoCount
);
21691 free_conversion_context(&ctx
);
21692 return STATUS_SUCCESS
;
21695 #endif /* USE_STRUCT_CONVERSION */
21697 #if !defined(USE_STRUCT_CONVERSION)
21699 static NTSTATUS
thunk64_vkCreateRenderPass(void *args
)
21701 struct vkCreateRenderPass_params
*params
= args
;
21703 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
21705 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRenderPass(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pRenderPass
);
21706 return STATUS_SUCCESS
;
21709 #else /* USE_STRUCT_CONVERSION */
21711 static NTSTATUS
thunk32_vkCreateRenderPass(void *args
)
21716 const VkRenderPassCreateInfo
*pCreateInfo
;
21717 const VkAllocationCallbacks
*pAllocator
;
21718 VkRenderPass
*pRenderPass
;
21722 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
21724 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRenderPass(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pRenderPass
);
21725 return STATUS_SUCCESS
;
21728 #endif /* USE_STRUCT_CONVERSION */
21730 #if !defined(USE_STRUCT_CONVERSION)
21732 static NTSTATUS
thunk64_vkCreateRenderPass2(void *args
)
21734 struct vkCreateRenderPass2_params
*params
= args
;
21736 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
21738 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRenderPass2(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pRenderPass
);
21739 return STATUS_SUCCESS
;
21742 #else /* USE_STRUCT_CONVERSION */
21744 static NTSTATUS
thunk32_vkCreateRenderPass2(void *args
)
21749 const VkRenderPassCreateInfo2
*pCreateInfo
;
21750 const VkAllocationCallbacks
*pAllocator
;
21751 VkRenderPass
*pRenderPass
;
21755 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
21757 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRenderPass2(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pRenderPass
);
21758 return STATUS_SUCCESS
;
21761 #endif /* USE_STRUCT_CONVERSION */
21763 #if !defined(USE_STRUCT_CONVERSION)
21765 static NTSTATUS
thunk64_vkCreateRenderPass2KHR(void *args
)
21767 struct vkCreateRenderPass2KHR_params
*params
= args
;
21769 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
21771 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRenderPass2KHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pRenderPass
);
21772 return STATUS_SUCCESS
;
21775 #else /* USE_STRUCT_CONVERSION */
21777 static NTSTATUS
thunk32_vkCreateRenderPass2KHR(void *args
)
21782 const VkRenderPassCreateInfo2
*pCreateInfo
;
21783 const VkAllocationCallbacks
*pAllocator
;
21784 VkRenderPass
*pRenderPass
;
21788 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
21790 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRenderPass2KHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pRenderPass
);
21791 return STATUS_SUCCESS
;
21794 #endif /* USE_STRUCT_CONVERSION */
21796 #if !defined(USE_STRUCT_CONVERSION)
21798 static NTSTATUS
thunk64_vkCreateSampler(void *args
)
21800 struct vkCreateSampler_params
*params
= args
;
21802 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSampler
);
21804 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSampler(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSampler
);
21805 return STATUS_SUCCESS
;
21808 #else /* USE_STRUCT_CONVERSION */
21810 static NTSTATUS
thunk32_vkCreateSampler(void *args
)
21815 const VkSamplerCreateInfo
*pCreateInfo
;
21816 const VkAllocationCallbacks
*pAllocator
;
21817 VkSampler
*pSampler
;
21820 VkSamplerCreateInfo pCreateInfo_host
;
21821 struct conversion_context ctx
;
21823 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSampler
);
21825 init_conversion_context(&ctx
);
21826 convert_VkSamplerCreateInfo_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21827 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSampler(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pSampler
);
21828 free_conversion_context(&ctx
);
21829 return STATUS_SUCCESS
;
21832 #endif /* USE_STRUCT_CONVERSION */
21834 #if !defined(USE_STRUCT_CONVERSION)
21836 static NTSTATUS
thunk64_vkCreateSamplerYcbcrConversion(void *args
)
21838 struct vkCreateSamplerYcbcrConversion_params
*params
= args
;
21840 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pYcbcrConversion
);
21842 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSamplerYcbcrConversion(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pYcbcrConversion
);
21843 return STATUS_SUCCESS
;
21846 #else /* USE_STRUCT_CONVERSION */
21848 static NTSTATUS
thunk32_vkCreateSamplerYcbcrConversion(void *args
)
21853 const VkSamplerYcbcrConversionCreateInfo
*pCreateInfo
;
21854 const VkAllocationCallbacks
*pAllocator
;
21855 VkSamplerYcbcrConversion
*pYcbcrConversion
;
21859 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pYcbcrConversion
);
21861 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSamplerYcbcrConversion(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pYcbcrConversion
);
21862 return STATUS_SUCCESS
;
21865 #endif /* USE_STRUCT_CONVERSION */
21867 #if !defined(USE_STRUCT_CONVERSION)
21869 static NTSTATUS
thunk64_vkCreateSamplerYcbcrConversionKHR(void *args
)
21871 struct vkCreateSamplerYcbcrConversionKHR_params
*params
= args
;
21873 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pYcbcrConversion
);
21875 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSamplerYcbcrConversionKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pYcbcrConversion
);
21876 return STATUS_SUCCESS
;
21879 #else /* USE_STRUCT_CONVERSION */
21881 static NTSTATUS
thunk32_vkCreateSamplerYcbcrConversionKHR(void *args
)
21886 const VkSamplerYcbcrConversionCreateInfo
*pCreateInfo
;
21887 const VkAllocationCallbacks
*pAllocator
;
21888 VkSamplerYcbcrConversion
*pYcbcrConversion
;
21892 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pYcbcrConversion
);
21894 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSamplerYcbcrConversionKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pYcbcrConversion
);
21895 return STATUS_SUCCESS
;
21898 #endif /* USE_STRUCT_CONVERSION */
21900 #if !defined(USE_STRUCT_CONVERSION)
21902 static NTSTATUS
thunk64_vkCreateSemaphore(void *args
)
21904 struct vkCreateSemaphore_params
*params
= args
;
21906 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSemaphore
);
21908 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSemaphore(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSemaphore
);
21909 return STATUS_SUCCESS
;
21912 #else /* USE_STRUCT_CONVERSION */
21914 static NTSTATUS
thunk32_vkCreateSemaphore(void *args
)
21919 const VkSemaphoreCreateInfo
*pCreateInfo
;
21920 const VkAllocationCallbacks
*pAllocator
;
21921 VkSemaphore
*pSemaphore
;
21924 VkSemaphoreCreateInfo pCreateInfo_host
;
21925 struct conversion_context ctx
;
21927 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSemaphore
);
21929 init_conversion_context(&ctx
);
21930 convert_VkSemaphoreCreateInfo_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21931 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSemaphore(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pSemaphore
);
21932 free_conversion_context(&ctx
);
21933 return STATUS_SUCCESS
;
21936 #endif /* USE_STRUCT_CONVERSION */
21938 #if !defined(USE_STRUCT_CONVERSION)
21940 static NTSTATUS
thunk64_vkCreateShaderModule(void *args
)
21942 struct vkCreateShaderModule_params
*params
= args
;
21944 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pShaderModule
);
21946 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateShaderModule(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pShaderModule
);
21947 return STATUS_SUCCESS
;
21950 #else /* USE_STRUCT_CONVERSION */
21952 static NTSTATUS
thunk32_vkCreateShaderModule(void *args
)
21957 const VkShaderModuleCreateInfo
*pCreateInfo
;
21958 const VkAllocationCallbacks
*pAllocator
;
21959 VkShaderModule
*pShaderModule
;
21962 VkShaderModuleCreateInfo pCreateInfo_host
;
21963 struct conversion_context ctx
;
21965 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pShaderModule
);
21967 init_conversion_context(&ctx
);
21968 convert_VkShaderModuleCreateInfo_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
21969 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateShaderModule(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pShaderModule
);
21970 free_conversion_context(&ctx
);
21971 return STATUS_SUCCESS
;
21974 #endif /* USE_STRUCT_CONVERSION */
21976 #if !defined(USE_STRUCT_CONVERSION)
21978 static NTSTATUS
thunk64_vkCreateSwapchainKHR(void *args
)
21980 struct vkCreateSwapchainKHR_params
*params
= args
;
21981 VkSwapchainCreateInfoKHR pCreateInfo_host
;
21983 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSwapchain
);
21985 convert_VkSwapchainCreateInfoKHR_win64_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
21986 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSwapchainKHR(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pSwapchain
);
21987 return STATUS_SUCCESS
;
21990 #else /* USE_STRUCT_CONVERSION */
21992 static NTSTATUS
thunk32_vkCreateSwapchainKHR(void *args
)
21997 const VkSwapchainCreateInfoKHR32
*pCreateInfo
;
21998 const VkAllocationCallbacks
*pAllocator
;
21999 VkSwapchainKHR
*pSwapchain
;
22002 VkSwapchainCreateInfoKHR pCreateInfo_host
;
22004 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSwapchain
);
22006 convert_VkSwapchainCreateInfoKHR_win32_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
22007 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSwapchainKHR(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pSwapchain
);
22008 return STATUS_SUCCESS
;
22011 #endif /* USE_STRUCT_CONVERSION */
22013 #if !defined(USE_STRUCT_CONVERSION)
22015 static NTSTATUS
thunk64_vkCreateValidationCacheEXT(void *args
)
22017 struct vkCreateValidationCacheEXT_params
*params
= args
;
22019 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pValidationCache
);
22021 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateValidationCacheEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pValidationCache
);
22022 return STATUS_SUCCESS
;
22025 #else /* USE_STRUCT_CONVERSION */
22027 static NTSTATUS
thunk32_vkCreateValidationCacheEXT(void *args
)
22032 const VkValidationCacheCreateInfoEXT
*pCreateInfo
;
22033 const VkAllocationCallbacks
*pAllocator
;
22034 VkValidationCacheEXT
*pValidationCache
;
22038 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pValidationCache
);
22040 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateValidationCacheEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pValidationCache
);
22041 return STATUS_SUCCESS
;
22044 #endif /* USE_STRUCT_CONVERSION */
22046 #if !defined(USE_STRUCT_CONVERSION)
22048 static NTSTATUS
thunk64_vkCreateWin32SurfaceKHR(void *args
)
22050 struct vkCreateWin32SurfaceKHR_params
*params
= args
;
22052 TRACE("%p, %p, %p, %p\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pSurface
);
22054 params
->result
= wine_vkCreateWin32SurfaceKHR(params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pSurface
);
22055 return STATUS_SUCCESS
;
22058 #else /* USE_STRUCT_CONVERSION */
22060 static NTSTATUS
thunk32_vkCreateWin32SurfaceKHR(void *args
)
22064 VkInstance instance
;
22065 const VkWin32SurfaceCreateInfoKHR
*pCreateInfo
;
22066 const VkAllocationCallbacks
*pAllocator
;
22067 VkSurfaceKHR
*pSurface
;
22071 TRACE("%p, %p, %p, %p\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pSurface
);
22073 params
->result
= wine_vkCreateWin32SurfaceKHR(params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pSurface
);
22074 return STATUS_SUCCESS
;
22077 #endif /* USE_STRUCT_CONVERSION */
22079 #if !defined(USE_STRUCT_CONVERSION)
22081 static NTSTATUS
thunk64_vkDebugMarkerSetObjectNameEXT(void *args
)
22083 struct vkDebugMarkerSetObjectNameEXT_params
*params
= args
;
22084 VkDebugMarkerObjectNameInfoEXT pNameInfo_host
;
22086 TRACE("%p, %p\n", params
->device
, params
->pNameInfo
);
22088 convert_VkDebugMarkerObjectNameInfoEXT_win64_to_host(params
->pNameInfo
, &pNameInfo_host
);
22089 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDebugMarkerSetObjectNameEXT(wine_device_from_handle(params
->device
)->device
, &pNameInfo_host
);
22090 return STATUS_SUCCESS
;
22093 #else /* USE_STRUCT_CONVERSION */
22095 static NTSTATUS
thunk32_vkDebugMarkerSetObjectNameEXT(void *args
)
22100 const VkDebugMarkerObjectNameInfoEXT32
*pNameInfo
;
22103 VkDebugMarkerObjectNameInfoEXT pNameInfo_host
;
22105 TRACE("%p, %p\n", params
->device
, params
->pNameInfo
);
22107 convert_VkDebugMarkerObjectNameInfoEXT_win32_to_host(params
->pNameInfo
, &pNameInfo_host
);
22108 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDebugMarkerSetObjectNameEXT(wine_device_from_handle(params
->device
)->device
, &pNameInfo_host
);
22109 return STATUS_SUCCESS
;
22112 #endif /* USE_STRUCT_CONVERSION */
22114 #if !defined(USE_STRUCT_CONVERSION)
22116 static NTSTATUS
thunk64_vkDebugMarkerSetObjectTagEXT(void *args
)
22118 struct vkDebugMarkerSetObjectTagEXT_params
*params
= args
;
22119 VkDebugMarkerObjectTagInfoEXT pTagInfo_host
;
22121 TRACE("%p, %p\n", params
->device
, params
->pTagInfo
);
22123 convert_VkDebugMarkerObjectTagInfoEXT_win64_to_host(params
->pTagInfo
, &pTagInfo_host
);
22124 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDebugMarkerSetObjectTagEXT(wine_device_from_handle(params
->device
)->device
, &pTagInfo_host
);
22125 return STATUS_SUCCESS
;
22128 #else /* USE_STRUCT_CONVERSION */
22130 static NTSTATUS
thunk32_vkDebugMarkerSetObjectTagEXT(void *args
)
22135 const VkDebugMarkerObjectTagInfoEXT32
*pTagInfo
;
22138 VkDebugMarkerObjectTagInfoEXT pTagInfo_host
;
22140 TRACE("%p, %p\n", params
->device
, params
->pTagInfo
);
22142 convert_VkDebugMarkerObjectTagInfoEXT_win32_to_host(params
->pTagInfo
, &pTagInfo_host
);
22143 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDebugMarkerSetObjectTagEXT(wine_device_from_handle(params
->device
)->device
, &pTagInfo_host
);
22144 return STATUS_SUCCESS
;
22147 #endif /* USE_STRUCT_CONVERSION */
22149 #if !defined(USE_STRUCT_CONVERSION)
22151 static NTSTATUS
thunk64_vkDebugReportMessageEXT(void *args
)
22153 struct vkDebugReportMessageEXT_params
*params
= args
;
22155 TRACE("%p, %#x, %#x, 0x%s, 0x%s, %d, %p, %p\n", params
->instance
, params
->flags
, params
->objectType
, wine_dbgstr_longlong(params
->object
), wine_dbgstr_longlong(params
->location
), params
->messageCode
, params
->pLayerPrefix
, params
->pMessage
);
22157 wine_instance_from_handle(params
->instance
)->funcs
.p_vkDebugReportMessageEXT(wine_instance_from_handle(params
->instance
)->instance
, params
->flags
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->object
), params
->location
, params
->messageCode
, params
->pLayerPrefix
, params
->pMessage
);
22158 return STATUS_SUCCESS
;
22161 #else /* USE_STRUCT_CONVERSION */
22163 static NTSTATUS
thunk32_vkDebugReportMessageEXT(void *args
)
22167 VkInstance instance
;
22168 VkDebugReportFlagsEXT flags
;
22169 VkDebugReportObjectTypeEXT objectType
;
22170 uint64_t DECLSPEC_ALIGN(8) object
;
22172 int32_t messageCode
;
22173 const char *pLayerPrefix
;
22174 const char *pMessage
;
22177 TRACE("%p, %#x, %#x, 0x%s, 0x%s, %d, %p, %p\n", params
->instance
, params
->flags
, params
->objectType
, wine_dbgstr_longlong(params
->object
), wine_dbgstr_longlong(params
->location
), params
->messageCode
, params
->pLayerPrefix
, params
->pMessage
);
22179 wine_instance_from_handle(params
->instance
)->funcs
.p_vkDebugReportMessageEXT(wine_instance_from_handle(params
->instance
)->instance
, params
->flags
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->object
), params
->location
, params
->messageCode
, params
->pLayerPrefix
, params
->pMessage
);
22180 return STATUS_SUCCESS
;
22183 #endif /* USE_STRUCT_CONVERSION */
22185 #if !defined(USE_STRUCT_CONVERSION)
22187 static NTSTATUS
thunk64_vkDeferredOperationJoinKHR(void *args
)
22189 struct vkDeferredOperationJoinKHR_params
*params
= args
;
22191 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
22193 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDeferredOperationJoinKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
);
22194 return STATUS_SUCCESS
;
22197 #else /* USE_STRUCT_CONVERSION */
22199 static NTSTATUS
thunk32_vkDeferredOperationJoinKHR(void *args
)
22204 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) operation
;
22208 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
22210 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDeferredOperationJoinKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
);
22211 return STATUS_SUCCESS
;
22214 #endif /* USE_STRUCT_CONVERSION */
22216 #if !defined(USE_STRUCT_CONVERSION)
22218 static NTSTATUS
thunk64_vkDestroyAccelerationStructureKHR(void *args
)
22220 struct vkDestroyAccelerationStructureKHR_params
*params
= args
;
22222 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), params
->pAllocator
);
22224 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructure
, NULL
);
22225 return STATUS_SUCCESS
;
22228 #else /* USE_STRUCT_CONVERSION */
22230 static NTSTATUS
thunk32_vkDestroyAccelerationStructureKHR(void *args
)
22235 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) accelerationStructure
;
22236 const VkAllocationCallbacks
*pAllocator
;
22239 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), params
->pAllocator
);
22241 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructure
, NULL
);
22242 return STATUS_SUCCESS
;
22245 #endif /* USE_STRUCT_CONVERSION */
22247 #if !defined(USE_STRUCT_CONVERSION)
22249 static NTSTATUS
thunk64_vkDestroyAccelerationStructureNV(void *args
)
22251 struct vkDestroyAccelerationStructureNV_params
*params
= args
;
22253 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), params
->pAllocator
);
22255 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyAccelerationStructureNV(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructure
, NULL
);
22256 return STATUS_SUCCESS
;
22259 #else /* USE_STRUCT_CONVERSION */
22261 static NTSTATUS
thunk32_vkDestroyAccelerationStructureNV(void *args
)
22266 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) accelerationStructure
;
22267 const VkAllocationCallbacks
*pAllocator
;
22270 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), params
->pAllocator
);
22272 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyAccelerationStructureNV(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructure
, NULL
);
22273 return STATUS_SUCCESS
;
22276 #endif /* USE_STRUCT_CONVERSION */
22278 #if !defined(USE_STRUCT_CONVERSION)
22280 static NTSTATUS
thunk64_vkDestroyBuffer(void *args
)
22282 struct vkDestroyBuffer_params
*params
= args
;
22284 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), params
->pAllocator
);
22286 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyBuffer(wine_device_from_handle(params
->device
)->device
, params
->buffer
, NULL
);
22287 return STATUS_SUCCESS
;
22290 #else /* USE_STRUCT_CONVERSION */
22292 static NTSTATUS
thunk32_vkDestroyBuffer(void *args
)
22297 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
22298 const VkAllocationCallbacks
*pAllocator
;
22301 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), params
->pAllocator
);
22303 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyBuffer(wine_device_from_handle(params
->device
)->device
, params
->buffer
, NULL
);
22304 return STATUS_SUCCESS
;
22307 #endif /* USE_STRUCT_CONVERSION */
22309 #if !defined(USE_STRUCT_CONVERSION)
22311 static NTSTATUS
thunk64_vkDestroyBufferView(void *args
)
22313 struct vkDestroyBufferView_params
*params
= args
;
22315 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->bufferView
), params
->pAllocator
);
22317 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyBufferView(wine_device_from_handle(params
->device
)->device
, params
->bufferView
, NULL
);
22318 return STATUS_SUCCESS
;
22321 #else /* USE_STRUCT_CONVERSION */
22323 static NTSTATUS
thunk32_vkDestroyBufferView(void *args
)
22328 VkBufferView
DECLSPEC_ALIGN(8) bufferView
;
22329 const VkAllocationCallbacks
*pAllocator
;
22332 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->bufferView
), params
->pAllocator
);
22334 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyBufferView(wine_device_from_handle(params
->device
)->device
, params
->bufferView
, NULL
);
22335 return STATUS_SUCCESS
;
22338 #endif /* USE_STRUCT_CONVERSION */
22340 #if !defined(USE_STRUCT_CONVERSION)
22342 static NTSTATUS
thunk64_vkDestroyCommandPool(void *args
)
22344 struct vkDestroyCommandPool_params
*params
= args
;
22346 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->pAllocator
);
22348 wine_vkDestroyCommandPool(params
->device
, params
->commandPool
, params
->pAllocator
);
22349 return STATUS_SUCCESS
;
22352 #else /* USE_STRUCT_CONVERSION */
22354 static NTSTATUS
thunk32_vkDestroyCommandPool(void *args
)
22359 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
22360 const VkAllocationCallbacks
*pAllocator
;
22363 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->pAllocator
);
22365 wine_vkDestroyCommandPool(params
->device
, params
->commandPool
, params
->pAllocator
);
22366 return STATUS_SUCCESS
;
22369 #endif /* USE_STRUCT_CONVERSION */
22371 #if !defined(USE_STRUCT_CONVERSION)
22373 static NTSTATUS
thunk64_vkDestroyCuFunctionNVX(void *args
)
22375 struct vkDestroyCuFunctionNVX_params
*params
= args
;
22377 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->function
), params
->pAllocator
);
22379 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyCuFunctionNVX(wine_device_from_handle(params
->device
)->device
, params
->function
, NULL
);
22380 return STATUS_SUCCESS
;
22383 #else /* USE_STRUCT_CONVERSION */
22385 static NTSTATUS
thunk32_vkDestroyCuFunctionNVX(void *args
)
22390 VkCuFunctionNVX
DECLSPEC_ALIGN(8) function
;
22391 const VkAllocationCallbacks
*pAllocator
;
22394 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->function
), params
->pAllocator
);
22396 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyCuFunctionNVX(wine_device_from_handle(params
->device
)->device
, params
->function
, NULL
);
22397 return STATUS_SUCCESS
;
22400 #endif /* USE_STRUCT_CONVERSION */
22402 #if !defined(USE_STRUCT_CONVERSION)
22404 static NTSTATUS
thunk64_vkDestroyCuModuleNVX(void *args
)
22406 struct vkDestroyCuModuleNVX_params
*params
= args
;
22408 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->module
), params
->pAllocator
);
22410 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyCuModuleNVX(wine_device_from_handle(params
->device
)->device
, params
->module
, NULL
);
22411 return STATUS_SUCCESS
;
22414 #else /* USE_STRUCT_CONVERSION */
22416 static NTSTATUS
thunk32_vkDestroyCuModuleNVX(void *args
)
22421 VkCuModuleNVX
DECLSPEC_ALIGN(8) module
;
22422 const VkAllocationCallbacks
*pAllocator
;
22425 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->module
), params
->pAllocator
);
22427 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyCuModuleNVX(wine_device_from_handle(params
->device
)->device
, params
->module
, NULL
);
22428 return STATUS_SUCCESS
;
22431 #endif /* USE_STRUCT_CONVERSION */
22433 #if !defined(USE_STRUCT_CONVERSION)
22435 static NTSTATUS
thunk64_vkDestroyDebugReportCallbackEXT(void *args
)
22437 struct vkDestroyDebugReportCallbackEXT_params
*params
= args
;
22439 TRACE("%p, 0x%s, %p\n", params
->instance
, wine_dbgstr_longlong(params
->callback
), params
->pAllocator
);
22441 wine_vkDestroyDebugReportCallbackEXT(params
->instance
, params
->callback
, params
->pAllocator
);
22442 return STATUS_SUCCESS
;
22445 #else /* USE_STRUCT_CONVERSION */
22447 static NTSTATUS
thunk32_vkDestroyDebugReportCallbackEXT(void *args
)
22451 VkInstance instance
;
22452 VkDebugReportCallbackEXT
DECLSPEC_ALIGN(8) callback
;
22453 const VkAllocationCallbacks
*pAllocator
;
22456 TRACE("%p, 0x%s, %p\n", params
->instance
, wine_dbgstr_longlong(params
->callback
), params
->pAllocator
);
22458 wine_vkDestroyDebugReportCallbackEXT(params
->instance
, params
->callback
, params
->pAllocator
);
22459 return STATUS_SUCCESS
;
22462 #endif /* USE_STRUCT_CONVERSION */
22464 #if !defined(USE_STRUCT_CONVERSION)
22466 static NTSTATUS
thunk64_vkDestroyDebugUtilsMessengerEXT(void *args
)
22468 struct vkDestroyDebugUtilsMessengerEXT_params
*params
= args
;
22470 TRACE("%p, 0x%s, %p\n", params
->instance
, wine_dbgstr_longlong(params
->messenger
), params
->pAllocator
);
22472 wine_vkDestroyDebugUtilsMessengerEXT(params
->instance
, params
->messenger
, params
->pAllocator
);
22473 return STATUS_SUCCESS
;
22476 #else /* USE_STRUCT_CONVERSION */
22478 static NTSTATUS
thunk32_vkDestroyDebugUtilsMessengerEXT(void *args
)
22482 VkInstance instance
;
22483 VkDebugUtilsMessengerEXT
DECLSPEC_ALIGN(8) messenger
;
22484 const VkAllocationCallbacks
*pAllocator
;
22487 TRACE("%p, 0x%s, %p\n", params
->instance
, wine_dbgstr_longlong(params
->messenger
), params
->pAllocator
);
22489 wine_vkDestroyDebugUtilsMessengerEXT(params
->instance
, params
->messenger
, params
->pAllocator
);
22490 return STATUS_SUCCESS
;
22493 #endif /* USE_STRUCT_CONVERSION */
22495 #if !defined(USE_STRUCT_CONVERSION)
22497 static NTSTATUS
thunk64_vkDestroyDeferredOperationKHR(void *args
)
22499 struct vkDestroyDeferredOperationKHR_params
*params
= args
;
22501 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->operation
), params
->pAllocator
);
22503 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDeferredOperationKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
, NULL
);
22504 return STATUS_SUCCESS
;
22507 #else /* USE_STRUCT_CONVERSION */
22509 static NTSTATUS
thunk32_vkDestroyDeferredOperationKHR(void *args
)
22514 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) operation
;
22515 const VkAllocationCallbacks
*pAllocator
;
22518 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->operation
), params
->pAllocator
);
22520 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDeferredOperationKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
, NULL
);
22521 return STATUS_SUCCESS
;
22524 #endif /* USE_STRUCT_CONVERSION */
22526 #if !defined(USE_STRUCT_CONVERSION)
22528 static NTSTATUS
thunk64_vkDestroyDescriptorPool(void *args
)
22530 struct vkDestroyDescriptorPool_params
*params
= args
;
22532 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->pAllocator
);
22534 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorPool(wine_device_from_handle(params
->device
)->device
, params
->descriptorPool
, NULL
);
22535 return STATUS_SUCCESS
;
22538 #else /* USE_STRUCT_CONVERSION */
22540 static NTSTATUS
thunk32_vkDestroyDescriptorPool(void *args
)
22545 VkDescriptorPool
DECLSPEC_ALIGN(8) descriptorPool
;
22546 const VkAllocationCallbacks
*pAllocator
;
22549 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->pAllocator
);
22551 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorPool(wine_device_from_handle(params
->device
)->device
, params
->descriptorPool
, NULL
);
22552 return STATUS_SUCCESS
;
22555 #endif /* USE_STRUCT_CONVERSION */
22557 #if !defined(USE_STRUCT_CONVERSION)
22559 static NTSTATUS
thunk64_vkDestroyDescriptorSetLayout(void *args
)
22561 struct vkDestroyDescriptorSetLayout_params
*params
= args
;
22563 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSetLayout
), params
->pAllocator
);
22565 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorSetLayout(wine_device_from_handle(params
->device
)->device
, params
->descriptorSetLayout
, NULL
);
22566 return STATUS_SUCCESS
;
22569 #else /* USE_STRUCT_CONVERSION */
22571 static NTSTATUS
thunk32_vkDestroyDescriptorSetLayout(void *args
)
22576 VkDescriptorSetLayout
DECLSPEC_ALIGN(8) descriptorSetLayout
;
22577 const VkAllocationCallbacks
*pAllocator
;
22580 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSetLayout
), params
->pAllocator
);
22582 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorSetLayout(wine_device_from_handle(params
->device
)->device
, params
->descriptorSetLayout
, NULL
);
22583 return STATUS_SUCCESS
;
22586 #endif /* USE_STRUCT_CONVERSION */
22588 #if !defined(USE_STRUCT_CONVERSION)
22590 static NTSTATUS
thunk64_vkDestroyDescriptorUpdateTemplate(void *args
)
22592 struct vkDestroyDescriptorUpdateTemplate_params
*params
= args
;
22594 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pAllocator
);
22596 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorUpdateTemplate(wine_device_from_handle(params
->device
)->device
, params
->descriptorUpdateTemplate
, NULL
);
22597 return STATUS_SUCCESS
;
22600 #else /* USE_STRUCT_CONVERSION */
22602 static NTSTATUS
thunk32_vkDestroyDescriptorUpdateTemplate(void *args
)
22607 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
22608 const VkAllocationCallbacks
*pAllocator
;
22611 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pAllocator
);
22613 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorUpdateTemplate(wine_device_from_handle(params
->device
)->device
, params
->descriptorUpdateTemplate
, NULL
);
22614 return STATUS_SUCCESS
;
22617 #endif /* USE_STRUCT_CONVERSION */
22619 #if !defined(USE_STRUCT_CONVERSION)
22621 static NTSTATUS
thunk64_vkDestroyDescriptorUpdateTemplateKHR(void *args
)
22623 struct vkDestroyDescriptorUpdateTemplateKHR_params
*params
= args
;
22625 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pAllocator
);
22627 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorUpdateTemplateKHR(wine_device_from_handle(params
->device
)->device
, params
->descriptorUpdateTemplate
, NULL
);
22628 return STATUS_SUCCESS
;
22631 #else /* USE_STRUCT_CONVERSION */
22633 static NTSTATUS
thunk32_vkDestroyDescriptorUpdateTemplateKHR(void *args
)
22638 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
22639 const VkAllocationCallbacks
*pAllocator
;
22642 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pAllocator
);
22644 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorUpdateTemplateKHR(wine_device_from_handle(params
->device
)->device
, params
->descriptorUpdateTemplate
, NULL
);
22645 return STATUS_SUCCESS
;
22648 #endif /* USE_STRUCT_CONVERSION */
22650 #if !defined(USE_STRUCT_CONVERSION)
22652 static NTSTATUS
thunk64_vkDestroyDevice(void *args
)
22654 struct vkDestroyDevice_params
*params
= args
;
22656 TRACE("%p, %p\n", params
->device
, params
->pAllocator
);
22658 if (!params
->device
)
22659 return STATUS_SUCCESS
;
22661 wine_vkDestroyDevice(params
->device
, params
->pAllocator
);
22662 return STATUS_SUCCESS
;
22665 #else /* USE_STRUCT_CONVERSION */
22667 static NTSTATUS
thunk32_vkDestroyDevice(void *args
)
22672 const VkAllocationCallbacks
*pAllocator
;
22675 TRACE("%p, %p\n", params
->device
, params
->pAllocator
);
22677 if (!params
->device
)
22678 return STATUS_SUCCESS
;
22680 wine_vkDestroyDevice(params
->device
, params
->pAllocator
);
22681 return STATUS_SUCCESS
;
22684 #endif /* USE_STRUCT_CONVERSION */
22686 #if !defined(USE_STRUCT_CONVERSION)
22688 static NTSTATUS
thunk64_vkDestroyEvent(void *args
)
22690 struct vkDestroyEvent_params
*params
= args
;
22692 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->event
), params
->pAllocator
);
22694 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyEvent(wine_device_from_handle(params
->device
)->device
, params
->event
, NULL
);
22695 return STATUS_SUCCESS
;
22698 #else /* USE_STRUCT_CONVERSION */
22700 static NTSTATUS
thunk32_vkDestroyEvent(void *args
)
22705 VkEvent
DECLSPEC_ALIGN(8) event
;
22706 const VkAllocationCallbacks
*pAllocator
;
22709 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->event
), params
->pAllocator
);
22711 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyEvent(wine_device_from_handle(params
->device
)->device
, params
->event
, NULL
);
22712 return STATUS_SUCCESS
;
22715 #endif /* USE_STRUCT_CONVERSION */
22717 #if !defined(USE_STRUCT_CONVERSION)
22719 static NTSTATUS
thunk64_vkDestroyFence(void *args
)
22721 struct vkDestroyFence_params
*params
= args
;
22723 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->fence
), params
->pAllocator
);
22725 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyFence(wine_device_from_handle(params
->device
)->device
, params
->fence
, NULL
);
22726 return STATUS_SUCCESS
;
22729 #else /* USE_STRUCT_CONVERSION */
22731 static NTSTATUS
thunk32_vkDestroyFence(void *args
)
22736 VkFence
DECLSPEC_ALIGN(8) fence
;
22737 const VkAllocationCallbacks
*pAllocator
;
22740 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->fence
), params
->pAllocator
);
22742 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyFence(wine_device_from_handle(params
->device
)->device
, params
->fence
, NULL
);
22743 return STATUS_SUCCESS
;
22746 #endif /* USE_STRUCT_CONVERSION */
22748 #if !defined(USE_STRUCT_CONVERSION)
22750 static NTSTATUS
thunk64_vkDestroyFramebuffer(void *args
)
22752 struct vkDestroyFramebuffer_params
*params
= args
;
22754 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->framebuffer
), params
->pAllocator
);
22756 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyFramebuffer(wine_device_from_handle(params
->device
)->device
, params
->framebuffer
, NULL
);
22757 return STATUS_SUCCESS
;
22760 #else /* USE_STRUCT_CONVERSION */
22762 static NTSTATUS
thunk32_vkDestroyFramebuffer(void *args
)
22767 VkFramebuffer
DECLSPEC_ALIGN(8) framebuffer
;
22768 const VkAllocationCallbacks
*pAllocator
;
22771 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->framebuffer
), params
->pAllocator
);
22773 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyFramebuffer(wine_device_from_handle(params
->device
)->device
, params
->framebuffer
, NULL
);
22774 return STATUS_SUCCESS
;
22777 #endif /* USE_STRUCT_CONVERSION */
22779 #if !defined(USE_STRUCT_CONVERSION)
22781 static NTSTATUS
thunk64_vkDestroyImage(void *args
)
22783 struct vkDestroyImage_params
*params
= args
;
22785 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pAllocator
);
22787 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyImage(wine_device_from_handle(params
->device
)->device
, params
->image
, NULL
);
22788 return STATUS_SUCCESS
;
22791 #else /* USE_STRUCT_CONVERSION */
22793 static NTSTATUS
thunk32_vkDestroyImage(void *args
)
22798 VkImage
DECLSPEC_ALIGN(8) image
;
22799 const VkAllocationCallbacks
*pAllocator
;
22802 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pAllocator
);
22804 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyImage(wine_device_from_handle(params
->device
)->device
, params
->image
, NULL
);
22805 return STATUS_SUCCESS
;
22808 #endif /* USE_STRUCT_CONVERSION */
22810 #if !defined(USE_STRUCT_CONVERSION)
22812 static NTSTATUS
thunk64_vkDestroyImageView(void *args
)
22814 struct vkDestroyImageView_params
*params
= args
;
22816 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->imageView
), params
->pAllocator
);
22818 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyImageView(wine_device_from_handle(params
->device
)->device
, params
->imageView
, NULL
);
22819 return STATUS_SUCCESS
;
22822 #else /* USE_STRUCT_CONVERSION */
22824 static NTSTATUS
thunk32_vkDestroyImageView(void *args
)
22829 VkImageView
DECLSPEC_ALIGN(8) imageView
;
22830 const VkAllocationCallbacks
*pAllocator
;
22833 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->imageView
), params
->pAllocator
);
22835 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyImageView(wine_device_from_handle(params
->device
)->device
, params
->imageView
, NULL
);
22836 return STATUS_SUCCESS
;
22839 #endif /* USE_STRUCT_CONVERSION */
22841 #if !defined(USE_STRUCT_CONVERSION)
22843 static NTSTATUS
thunk64_vkDestroyIndirectCommandsLayoutNV(void *args
)
22845 struct vkDestroyIndirectCommandsLayoutNV_params
*params
= args
;
22847 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->indirectCommandsLayout
), params
->pAllocator
);
22849 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyIndirectCommandsLayoutNV(wine_device_from_handle(params
->device
)->device
, params
->indirectCommandsLayout
, NULL
);
22850 return STATUS_SUCCESS
;
22853 #else /* USE_STRUCT_CONVERSION */
22855 static NTSTATUS
thunk32_vkDestroyIndirectCommandsLayoutNV(void *args
)
22860 VkIndirectCommandsLayoutNV
DECLSPEC_ALIGN(8) indirectCommandsLayout
;
22861 const VkAllocationCallbacks
*pAllocator
;
22864 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->indirectCommandsLayout
), params
->pAllocator
);
22866 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyIndirectCommandsLayoutNV(wine_device_from_handle(params
->device
)->device
, params
->indirectCommandsLayout
, NULL
);
22867 return STATUS_SUCCESS
;
22870 #endif /* USE_STRUCT_CONVERSION */
22872 #if !defined(USE_STRUCT_CONVERSION)
22874 static NTSTATUS
thunk64_vkDestroyInstance(void *args
)
22876 struct vkDestroyInstance_params
*params
= args
;
22878 TRACE("%p, %p\n", params
->instance
, params
->pAllocator
);
22880 if (!params
->instance
)
22881 return STATUS_SUCCESS
;
22883 wine_vkDestroyInstance(params
->instance
, params
->pAllocator
);
22884 return STATUS_SUCCESS
;
22887 #else /* USE_STRUCT_CONVERSION */
22889 static NTSTATUS
thunk32_vkDestroyInstance(void *args
)
22893 VkInstance instance
;
22894 const VkAllocationCallbacks
*pAllocator
;
22897 TRACE("%p, %p\n", params
->instance
, params
->pAllocator
);
22899 if (!params
->instance
)
22900 return STATUS_SUCCESS
;
22902 wine_vkDestroyInstance(params
->instance
, params
->pAllocator
);
22903 return STATUS_SUCCESS
;
22906 #endif /* USE_STRUCT_CONVERSION */
22908 #if !defined(USE_STRUCT_CONVERSION)
22910 static NTSTATUS
thunk64_vkDestroyMicromapEXT(void *args
)
22912 struct vkDestroyMicromapEXT_params
*params
= args
;
22914 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->micromap
), params
->pAllocator
);
22916 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->micromap
, NULL
);
22917 return STATUS_SUCCESS
;
22920 #else /* USE_STRUCT_CONVERSION */
22922 static NTSTATUS
thunk32_vkDestroyMicromapEXT(void *args
)
22927 VkMicromapEXT
DECLSPEC_ALIGN(8) micromap
;
22928 const VkAllocationCallbacks
*pAllocator
;
22931 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->micromap
), params
->pAllocator
);
22933 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->micromap
, NULL
);
22934 return STATUS_SUCCESS
;
22937 #endif /* USE_STRUCT_CONVERSION */
22939 #if !defined(USE_STRUCT_CONVERSION)
22941 static NTSTATUS
thunk64_vkDestroyOpticalFlowSessionNV(void *args
)
22943 struct vkDestroyOpticalFlowSessionNV_params
*params
= args
;
22945 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->session
), params
->pAllocator
);
22947 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyOpticalFlowSessionNV(wine_device_from_handle(params
->device
)->device
, params
->session
, NULL
);
22948 return STATUS_SUCCESS
;
22951 #else /* USE_STRUCT_CONVERSION */
22953 static NTSTATUS
thunk32_vkDestroyOpticalFlowSessionNV(void *args
)
22958 VkOpticalFlowSessionNV
DECLSPEC_ALIGN(8) session
;
22959 const VkAllocationCallbacks
*pAllocator
;
22962 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->session
), params
->pAllocator
);
22964 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyOpticalFlowSessionNV(wine_device_from_handle(params
->device
)->device
, params
->session
, NULL
);
22965 return STATUS_SUCCESS
;
22968 #endif /* USE_STRUCT_CONVERSION */
22970 #if !defined(USE_STRUCT_CONVERSION)
22972 static NTSTATUS
thunk64_vkDestroyPipeline(void *args
)
22974 struct vkDestroyPipeline_params
*params
= args
;
22976 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->pAllocator
);
22978 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPipeline(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, NULL
);
22979 return STATUS_SUCCESS
;
22982 #else /* USE_STRUCT_CONVERSION */
22984 static NTSTATUS
thunk32_vkDestroyPipeline(void *args
)
22989 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
22990 const VkAllocationCallbacks
*pAllocator
;
22993 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->pAllocator
);
22995 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPipeline(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, NULL
);
22996 return STATUS_SUCCESS
;
22999 #endif /* USE_STRUCT_CONVERSION */
23001 #if !defined(USE_STRUCT_CONVERSION)
23003 static NTSTATUS
thunk64_vkDestroyPipelineCache(void *args
)
23005 struct vkDestroyPipelineCache_params
*params
= args
;
23007 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->pAllocator
);
23009 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPipelineCache(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, NULL
);
23010 return STATUS_SUCCESS
;
23013 #else /* USE_STRUCT_CONVERSION */
23015 static NTSTATUS
thunk32_vkDestroyPipelineCache(void *args
)
23020 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
23021 const VkAllocationCallbacks
*pAllocator
;
23024 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->pAllocator
);
23026 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPipelineCache(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, NULL
);
23027 return STATUS_SUCCESS
;
23030 #endif /* USE_STRUCT_CONVERSION */
23032 #if !defined(USE_STRUCT_CONVERSION)
23034 static NTSTATUS
thunk64_vkDestroyPipelineLayout(void *args
)
23036 struct vkDestroyPipelineLayout_params
*params
= args
;
23038 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineLayout
), params
->pAllocator
);
23040 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPipelineLayout(wine_device_from_handle(params
->device
)->device
, params
->pipelineLayout
, NULL
);
23041 return STATUS_SUCCESS
;
23044 #else /* USE_STRUCT_CONVERSION */
23046 static NTSTATUS
thunk32_vkDestroyPipelineLayout(void *args
)
23051 VkPipelineLayout
DECLSPEC_ALIGN(8) pipelineLayout
;
23052 const VkAllocationCallbacks
*pAllocator
;
23055 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineLayout
), params
->pAllocator
);
23057 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPipelineLayout(wine_device_from_handle(params
->device
)->device
, params
->pipelineLayout
, NULL
);
23058 return STATUS_SUCCESS
;
23061 #endif /* USE_STRUCT_CONVERSION */
23063 #if !defined(USE_STRUCT_CONVERSION)
23065 static NTSTATUS
thunk64_vkDestroyPrivateDataSlot(void *args
)
23067 struct vkDestroyPrivateDataSlot_params
*params
= args
;
23069 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->privateDataSlot
), params
->pAllocator
);
23071 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPrivateDataSlot(wine_device_from_handle(params
->device
)->device
, params
->privateDataSlot
, NULL
);
23072 return STATUS_SUCCESS
;
23075 #else /* USE_STRUCT_CONVERSION */
23077 static NTSTATUS
thunk32_vkDestroyPrivateDataSlot(void *args
)
23082 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
23083 const VkAllocationCallbacks
*pAllocator
;
23086 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->privateDataSlot
), params
->pAllocator
);
23088 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPrivateDataSlot(wine_device_from_handle(params
->device
)->device
, params
->privateDataSlot
, NULL
);
23089 return STATUS_SUCCESS
;
23092 #endif /* USE_STRUCT_CONVERSION */
23094 #if !defined(USE_STRUCT_CONVERSION)
23096 static NTSTATUS
thunk64_vkDestroyPrivateDataSlotEXT(void *args
)
23098 struct vkDestroyPrivateDataSlotEXT_params
*params
= args
;
23100 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->privateDataSlot
), params
->pAllocator
);
23102 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPrivateDataSlotEXT(wine_device_from_handle(params
->device
)->device
, params
->privateDataSlot
, NULL
);
23103 return STATUS_SUCCESS
;
23106 #else /* USE_STRUCT_CONVERSION */
23108 static NTSTATUS
thunk32_vkDestroyPrivateDataSlotEXT(void *args
)
23113 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
23114 const VkAllocationCallbacks
*pAllocator
;
23117 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->privateDataSlot
), params
->pAllocator
);
23119 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPrivateDataSlotEXT(wine_device_from_handle(params
->device
)->device
, params
->privateDataSlot
, NULL
);
23120 return STATUS_SUCCESS
;
23123 #endif /* USE_STRUCT_CONVERSION */
23125 #if !defined(USE_STRUCT_CONVERSION)
23127 static NTSTATUS
thunk64_vkDestroyQueryPool(void *args
)
23129 struct vkDestroyQueryPool_params
*params
= args
;
23131 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->pAllocator
);
23133 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyQueryPool(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, NULL
);
23134 return STATUS_SUCCESS
;
23137 #else /* USE_STRUCT_CONVERSION */
23139 static NTSTATUS
thunk32_vkDestroyQueryPool(void *args
)
23144 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
23145 const VkAllocationCallbacks
*pAllocator
;
23148 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->pAllocator
);
23150 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyQueryPool(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, NULL
);
23151 return STATUS_SUCCESS
;
23154 #endif /* USE_STRUCT_CONVERSION */
23156 #if !defined(USE_STRUCT_CONVERSION)
23158 static NTSTATUS
thunk64_vkDestroyRenderPass(void *args
)
23160 struct vkDestroyRenderPass_params
*params
= args
;
23162 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->renderPass
), params
->pAllocator
);
23164 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyRenderPass(wine_device_from_handle(params
->device
)->device
, params
->renderPass
, NULL
);
23165 return STATUS_SUCCESS
;
23168 #else /* USE_STRUCT_CONVERSION */
23170 static NTSTATUS
thunk32_vkDestroyRenderPass(void *args
)
23175 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
23176 const VkAllocationCallbacks
*pAllocator
;
23179 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->renderPass
), params
->pAllocator
);
23181 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyRenderPass(wine_device_from_handle(params
->device
)->device
, params
->renderPass
, NULL
);
23182 return STATUS_SUCCESS
;
23185 #endif /* USE_STRUCT_CONVERSION */
23187 #if !defined(USE_STRUCT_CONVERSION)
23189 static NTSTATUS
thunk64_vkDestroySampler(void *args
)
23191 struct vkDestroySampler_params
*params
= args
;
23193 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->sampler
), params
->pAllocator
);
23195 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySampler(wine_device_from_handle(params
->device
)->device
, params
->sampler
, NULL
);
23196 return STATUS_SUCCESS
;
23199 #else /* USE_STRUCT_CONVERSION */
23201 static NTSTATUS
thunk32_vkDestroySampler(void *args
)
23206 VkSampler
DECLSPEC_ALIGN(8) sampler
;
23207 const VkAllocationCallbacks
*pAllocator
;
23210 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->sampler
), params
->pAllocator
);
23212 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySampler(wine_device_from_handle(params
->device
)->device
, params
->sampler
, NULL
);
23213 return STATUS_SUCCESS
;
23216 #endif /* USE_STRUCT_CONVERSION */
23218 #if !defined(USE_STRUCT_CONVERSION)
23220 static NTSTATUS
thunk64_vkDestroySamplerYcbcrConversion(void *args
)
23222 struct vkDestroySamplerYcbcrConversion_params
*params
= args
;
23224 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->ycbcrConversion
), params
->pAllocator
);
23226 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySamplerYcbcrConversion(wine_device_from_handle(params
->device
)->device
, params
->ycbcrConversion
, NULL
);
23227 return STATUS_SUCCESS
;
23230 #else /* USE_STRUCT_CONVERSION */
23232 static NTSTATUS
thunk32_vkDestroySamplerYcbcrConversion(void *args
)
23237 VkSamplerYcbcrConversion
DECLSPEC_ALIGN(8) ycbcrConversion
;
23238 const VkAllocationCallbacks
*pAllocator
;
23241 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->ycbcrConversion
), params
->pAllocator
);
23243 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySamplerYcbcrConversion(wine_device_from_handle(params
->device
)->device
, params
->ycbcrConversion
, NULL
);
23244 return STATUS_SUCCESS
;
23247 #endif /* USE_STRUCT_CONVERSION */
23249 #if !defined(USE_STRUCT_CONVERSION)
23251 static NTSTATUS
thunk64_vkDestroySamplerYcbcrConversionKHR(void *args
)
23253 struct vkDestroySamplerYcbcrConversionKHR_params
*params
= args
;
23255 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->ycbcrConversion
), params
->pAllocator
);
23257 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySamplerYcbcrConversionKHR(wine_device_from_handle(params
->device
)->device
, params
->ycbcrConversion
, NULL
);
23258 return STATUS_SUCCESS
;
23261 #else /* USE_STRUCT_CONVERSION */
23263 static NTSTATUS
thunk32_vkDestroySamplerYcbcrConversionKHR(void *args
)
23268 VkSamplerYcbcrConversion
DECLSPEC_ALIGN(8) ycbcrConversion
;
23269 const VkAllocationCallbacks
*pAllocator
;
23272 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->ycbcrConversion
), params
->pAllocator
);
23274 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySamplerYcbcrConversionKHR(wine_device_from_handle(params
->device
)->device
, params
->ycbcrConversion
, NULL
);
23275 return STATUS_SUCCESS
;
23278 #endif /* USE_STRUCT_CONVERSION */
23280 #if !defined(USE_STRUCT_CONVERSION)
23282 static NTSTATUS
thunk64_vkDestroySemaphore(void *args
)
23284 struct vkDestroySemaphore_params
*params
= args
;
23286 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pAllocator
);
23288 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySemaphore(wine_device_from_handle(params
->device
)->device
, params
->semaphore
, NULL
);
23289 return STATUS_SUCCESS
;
23292 #else /* USE_STRUCT_CONVERSION */
23294 static NTSTATUS
thunk32_vkDestroySemaphore(void *args
)
23299 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
23300 const VkAllocationCallbacks
*pAllocator
;
23303 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pAllocator
);
23305 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySemaphore(wine_device_from_handle(params
->device
)->device
, params
->semaphore
, NULL
);
23306 return STATUS_SUCCESS
;
23309 #endif /* USE_STRUCT_CONVERSION */
23311 #if !defined(USE_STRUCT_CONVERSION)
23313 static NTSTATUS
thunk64_vkDestroyShaderModule(void *args
)
23315 struct vkDestroyShaderModule_params
*params
= args
;
23317 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->shaderModule
), params
->pAllocator
);
23319 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyShaderModule(wine_device_from_handle(params
->device
)->device
, params
->shaderModule
, NULL
);
23320 return STATUS_SUCCESS
;
23323 #else /* USE_STRUCT_CONVERSION */
23325 static NTSTATUS
thunk32_vkDestroyShaderModule(void *args
)
23330 VkShaderModule
DECLSPEC_ALIGN(8) shaderModule
;
23331 const VkAllocationCallbacks
*pAllocator
;
23334 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->shaderModule
), params
->pAllocator
);
23336 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyShaderModule(wine_device_from_handle(params
->device
)->device
, params
->shaderModule
, NULL
);
23337 return STATUS_SUCCESS
;
23340 #endif /* USE_STRUCT_CONVERSION */
23342 #if !defined(USE_STRUCT_CONVERSION)
23344 static NTSTATUS
thunk64_vkDestroySurfaceKHR(void *args
)
23346 struct vkDestroySurfaceKHR_params
*params
= args
;
23348 TRACE("%p, 0x%s, %p\n", params
->instance
, wine_dbgstr_longlong(params
->surface
), params
->pAllocator
);
23350 wine_vkDestroySurfaceKHR(params
->instance
, params
->surface
, params
->pAllocator
);
23351 return STATUS_SUCCESS
;
23354 #else /* USE_STRUCT_CONVERSION */
23356 static NTSTATUS
thunk32_vkDestroySurfaceKHR(void *args
)
23360 VkInstance instance
;
23361 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
23362 const VkAllocationCallbacks
*pAllocator
;
23365 TRACE("%p, 0x%s, %p\n", params
->instance
, wine_dbgstr_longlong(params
->surface
), params
->pAllocator
);
23367 wine_vkDestroySurfaceKHR(params
->instance
, params
->surface
, params
->pAllocator
);
23368 return STATUS_SUCCESS
;
23371 #endif /* USE_STRUCT_CONVERSION */
23373 #if !defined(USE_STRUCT_CONVERSION)
23375 static NTSTATUS
thunk64_vkDestroySwapchainKHR(void *args
)
23377 struct vkDestroySwapchainKHR_params
*params
= args
;
23379 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), params
->pAllocator
);
23381 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySwapchainKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, NULL
);
23382 return STATUS_SUCCESS
;
23385 #else /* USE_STRUCT_CONVERSION */
23387 static NTSTATUS
thunk32_vkDestroySwapchainKHR(void *args
)
23392 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
23393 const VkAllocationCallbacks
*pAllocator
;
23396 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), params
->pAllocator
);
23398 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySwapchainKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, NULL
);
23399 return STATUS_SUCCESS
;
23402 #endif /* USE_STRUCT_CONVERSION */
23404 #if !defined(USE_STRUCT_CONVERSION)
23406 static NTSTATUS
thunk64_vkDestroyValidationCacheEXT(void *args
)
23408 struct vkDestroyValidationCacheEXT_params
*params
= args
;
23410 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->validationCache
), params
->pAllocator
);
23412 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyValidationCacheEXT(wine_device_from_handle(params
->device
)->device
, params
->validationCache
, NULL
);
23413 return STATUS_SUCCESS
;
23416 #else /* USE_STRUCT_CONVERSION */
23418 static NTSTATUS
thunk32_vkDestroyValidationCacheEXT(void *args
)
23423 VkValidationCacheEXT
DECLSPEC_ALIGN(8) validationCache
;
23424 const VkAllocationCallbacks
*pAllocator
;
23427 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->validationCache
), params
->pAllocator
);
23429 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyValidationCacheEXT(wine_device_from_handle(params
->device
)->device
, params
->validationCache
, NULL
);
23430 return STATUS_SUCCESS
;
23433 #endif /* USE_STRUCT_CONVERSION */
23435 #if !defined(USE_STRUCT_CONVERSION)
23437 static NTSTATUS
thunk64_vkDeviceWaitIdle(void *args
)
23439 struct vkDeviceWaitIdle_params
*params
= args
;
23441 TRACE("%p\n", params
->device
);
23443 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDeviceWaitIdle(wine_device_from_handle(params
->device
)->device
);
23444 return STATUS_SUCCESS
;
23447 #else /* USE_STRUCT_CONVERSION */
23449 static NTSTATUS
thunk32_vkDeviceWaitIdle(void *args
)
23457 TRACE("%p\n", params
->device
);
23459 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDeviceWaitIdle(wine_device_from_handle(params
->device
)->device
);
23460 return STATUS_SUCCESS
;
23463 #endif /* USE_STRUCT_CONVERSION */
23465 #if !defined(USE_STRUCT_CONVERSION)
23467 static NTSTATUS
thunk64_vkEndCommandBuffer(void *args
)
23469 struct vkEndCommandBuffer_params
*params
= args
;
23471 TRACE("%p\n", params
->commandBuffer
);
23473 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkEndCommandBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
23474 return STATUS_SUCCESS
;
23477 #else /* USE_STRUCT_CONVERSION */
23479 static NTSTATUS
thunk32_vkEndCommandBuffer(void *args
)
23483 VkCommandBuffer commandBuffer
;
23487 TRACE("%p\n", params
->commandBuffer
);
23489 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkEndCommandBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
23490 return STATUS_SUCCESS
;
23493 #endif /* USE_STRUCT_CONVERSION */
23495 #if !defined(USE_STRUCT_CONVERSION)
23497 static NTSTATUS
thunk64_vkEnumerateDeviceExtensionProperties(void *args
)
23499 struct vkEnumerateDeviceExtensionProperties_params
*params
= args
;
23501 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
23503 params
->result
= wine_vkEnumerateDeviceExtensionProperties(params
->physicalDevice
, params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
23504 return STATUS_SUCCESS
;
23507 #else /* USE_STRUCT_CONVERSION */
23509 static NTSTATUS
thunk32_vkEnumerateDeviceExtensionProperties(void *args
)
23513 VkPhysicalDevice physicalDevice
;
23514 const char *pLayerName
;
23515 uint32_t *pPropertyCount
;
23516 VkExtensionProperties
*pProperties
;
23520 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
23522 params
->result
= wine_vkEnumerateDeviceExtensionProperties(params
->physicalDevice
, params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
23523 return STATUS_SUCCESS
;
23526 #endif /* USE_STRUCT_CONVERSION */
23528 #if !defined(USE_STRUCT_CONVERSION)
23530 static NTSTATUS
thunk64_vkEnumerateDeviceLayerProperties(void *args
)
23532 struct vkEnumerateDeviceLayerProperties_params
*params
= args
;
23534 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
23536 params
->result
= wine_vkEnumerateDeviceLayerProperties(params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
23537 return STATUS_SUCCESS
;
23540 #else /* USE_STRUCT_CONVERSION */
23542 static NTSTATUS
thunk32_vkEnumerateDeviceLayerProperties(void *args
)
23546 VkPhysicalDevice physicalDevice
;
23547 uint32_t *pPropertyCount
;
23548 VkLayerProperties
*pProperties
;
23552 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
23554 params
->result
= wine_vkEnumerateDeviceLayerProperties(params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
23555 return STATUS_SUCCESS
;
23558 #endif /* USE_STRUCT_CONVERSION */
23560 #if !defined(USE_STRUCT_CONVERSION)
23562 static NTSTATUS
thunk64_vkEnumerateInstanceExtensionProperties(void *args
)
23564 struct vkEnumerateInstanceExtensionProperties_params
*params
= args
;
23566 TRACE("%p, %p, %p\n", params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
23568 params
->result
= wine_vkEnumerateInstanceExtensionProperties(params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
23569 return STATUS_SUCCESS
;
23572 #else /* USE_STRUCT_CONVERSION */
23574 static NTSTATUS
thunk32_vkEnumerateInstanceExtensionProperties(void *args
)
23578 const char *pLayerName
;
23579 uint32_t *pPropertyCount
;
23580 VkExtensionProperties
*pProperties
;
23584 TRACE("%p, %p, %p\n", params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
23586 params
->result
= wine_vkEnumerateInstanceExtensionProperties(params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
23587 return STATUS_SUCCESS
;
23590 #endif /* USE_STRUCT_CONVERSION */
23592 #if !defined(USE_STRUCT_CONVERSION)
23594 static NTSTATUS
thunk64_vkEnumerateInstanceVersion(void *args
)
23596 struct vkEnumerateInstanceVersion_params
*params
= args
;
23598 TRACE("%p\n", params
->pApiVersion
);
23600 params
->result
= wine_vkEnumerateInstanceVersion(params
->pApiVersion
);
23601 return STATUS_SUCCESS
;
23604 #else /* USE_STRUCT_CONVERSION */
23606 static NTSTATUS
thunk32_vkEnumerateInstanceVersion(void *args
)
23610 uint32_t *pApiVersion
;
23614 TRACE("%p\n", params
->pApiVersion
);
23616 params
->result
= wine_vkEnumerateInstanceVersion(params
->pApiVersion
);
23617 return STATUS_SUCCESS
;
23620 #endif /* USE_STRUCT_CONVERSION */
23622 #if !defined(USE_STRUCT_CONVERSION)
23624 static NTSTATUS
thunk64_vkEnumeratePhysicalDeviceGroups(void *args
)
23626 struct vkEnumeratePhysicalDeviceGroups_params
*params
= args
;
23628 TRACE("%p, %p, %p\n", params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
23630 params
->result
= wine_vkEnumeratePhysicalDeviceGroups(params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
23631 return STATUS_SUCCESS
;
23634 #else /* USE_STRUCT_CONVERSION */
23636 static NTSTATUS
thunk32_vkEnumeratePhysicalDeviceGroups(void *args
)
23640 VkInstance instance
;
23641 uint32_t *pPhysicalDeviceGroupCount
;
23642 VkPhysicalDeviceGroupProperties
*pPhysicalDeviceGroupProperties
;
23646 TRACE("%p, %p, %p\n", params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
23648 params
->result
= wine_vkEnumeratePhysicalDeviceGroups(params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
23649 return STATUS_SUCCESS
;
23652 #endif /* USE_STRUCT_CONVERSION */
23654 #if !defined(USE_STRUCT_CONVERSION)
23656 static NTSTATUS
thunk64_vkEnumeratePhysicalDeviceGroupsKHR(void *args
)
23658 struct vkEnumeratePhysicalDeviceGroupsKHR_params
*params
= args
;
23660 TRACE("%p, %p, %p\n", params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
23662 params
->result
= wine_vkEnumeratePhysicalDeviceGroupsKHR(params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
23663 return STATUS_SUCCESS
;
23666 #else /* USE_STRUCT_CONVERSION */
23668 static NTSTATUS
thunk32_vkEnumeratePhysicalDeviceGroupsKHR(void *args
)
23672 VkInstance instance
;
23673 uint32_t *pPhysicalDeviceGroupCount
;
23674 VkPhysicalDeviceGroupProperties
*pPhysicalDeviceGroupProperties
;
23678 TRACE("%p, %p, %p\n", params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
23680 params
->result
= wine_vkEnumeratePhysicalDeviceGroupsKHR(params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
23681 return STATUS_SUCCESS
;
23684 #endif /* USE_STRUCT_CONVERSION */
23686 #if !defined(USE_STRUCT_CONVERSION)
23688 static NTSTATUS
thunk64_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(void *args
)
23690 struct vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR_params
*params
= args
;
23692 TRACE("%p, %u, %p, %p, %p\n", params
->physicalDevice
, params
->queueFamilyIndex
, params
->pCounterCount
, params
->pCounters
, params
->pCounterDescriptions
);
23694 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->queueFamilyIndex
, params
->pCounterCount
, params
->pCounters
, params
->pCounterDescriptions
);
23695 return STATUS_SUCCESS
;
23698 #else /* USE_STRUCT_CONVERSION */
23700 static NTSTATUS
thunk32_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(void *args
)
23704 VkPhysicalDevice physicalDevice
;
23705 uint32_t queueFamilyIndex
;
23706 uint32_t *pCounterCount
;
23707 VkPerformanceCounterKHR
*pCounters
;
23708 VkPerformanceCounterDescriptionKHR
*pCounterDescriptions
;
23712 TRACE("%p, %u, %p, %p, %p\n", params
->physicalDevice
, params
->queueFamilyIndex
, params
->pCounterCount
, params
->pCounters
, params
->pCounterDescriptions
);
23714 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->queueFamilyIndex
, params
->pCounterCount
, params
->pCounters
, params
->pCounterDescriptions
);
23715 return STATUS_SUCCESS
;
23718 #endif /* USE_STRUCT_CONVERSION */
23720 #if !defined(USE_STRUCT_CONVERSION)
23722 static NTSTATUS
thunk64_vkEnumeratePhysicalDevices(void *args
)
23724 struct vkEnumeratePhysicalDevices_params
*params
= args
;
23726 TRACE("%p, %p, %p\n", params
->instance
, params
->pPhysicalDeviceCount
, params
->pPhysicalDevices
);
23728 params
->result
= wine_vkEnumeratePhysicalDevices(params
->instance
, params
->pPhysicalDeviceCount
, params
->pPhysicalDevices
);
23729 return STATUS_SUCCESS
;
23732 #else /* USE_STRUCT_CONVERSION */
23734 static NTSTATUS
thunk32_vkEnumeratePhysicalDevices(void *args
)
23738 VkInstance instance
;
23739 uint32_t *pPhysicalDeviceCount
;
23740 VkPhysicalDevice
*pPhysicalDevices
;
23744 TRACE("%p, %p, %p\n", params
->instance
, params
->pPhysicalDeviceCount
, params
->pPhysicalDevices
);
23746 params
->result
= wine_vkEnumeratePhysicalDevices(params
->instance
, params
->pPhysicalDeviceCount
, params
->pPhysicalDevices
);
23747 return STATUS_SUCCESS
;
23750 #endif /* USE_STRUCT_CONVERSION */
23752 #if !defined(USE_STRUCT_CONVERSION)
23754 static NTSTATUS
thunk64_vkFlushMappedMemoryRanges(void *args
)
23756 struct vkFlushMappedMemoryRanges_params
*params
= args
;
23758 TRACE("%p, %u, %p\n", params
->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
23760 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkFlushMappedMemoryRanges(wine_device_from_handle(params
->device
)->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
23761 return STATUS_SUCCESS
;
23764 #else /* USE_STRUCT_CONVERSION */
23766 static NTSTATUS
thunk32_vkFlushMappedMemoryRanges(void *args
)
23771 uint32_t memoryRangeCount
;
23772 const VkMappedMemoryRange32
*pMemoryRanges
;
23775 const VkMappedMemoryRange
*pMemoryRanges_host
;
23776 struct conversion_context ctx
;
23778 TRACE("%p, %u, %p\n", params
->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
23780 init_conversion_context(&ctx
);
23781 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win32_to_host(&ctx
, params
->pMemoryRanges
, params
->memoryRangeCount
);
23782 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkFlushMappedMemoryRanges(wine_device_from_handle(params
->device
)->device
, params
->memoryRangeCount
, pMemoryRanges_host
);
23783 free_conversion_context(&ctx
);
23784 return STATUS_SUCCESS
;
23787 #endif /* USE_STRUCT_CONVERSION */
23789 #if !defined(USE_STRUCT_CONVERSION)
23791 static NTSTATUS
thunk64_vkFreeCommandBuffers(void *args
)
23793 struct vkFreeCommandBuffers_params
*params
= args
;
23795 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->commandBufferCount
, params
->pCommandBuffers
);
23797 wine_vkFreeCommandBuffers(params
->device
, params
->commandPool
, params
->commandBufferCount
, params
->pCommandBuffers
);
23798 return STATUS_SUCCESS
;
23801 #else /* USE_STRUCT_CONVERSION */
23803 static NTSTATUS
thunk32_vkFreeCommandBuffers(void *args
)
23808 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
23809 uint32_t commandBufferCount
;
23810 const VkCommandBuffer
*pCommandBuffers
;
23813 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->commandBufferCount
, params
->pCommandBuffers
);
23815 wine_vkFreeCommandBuffers(params
->device
, params
->commandPool
, params
->commandBufferCount
, params
->pCommandBuffers
);
23816 return STATUS_SUCCESS
;
23819 #endif /* USE_STRUCT_CONVERSION */
23821 #if !defined(USE_STRUCT_CONVERSION)
23823 static NTSTATUS
thunk64_vkFreeDescriptorSets(void *args
)
23825 struct vkFreeDescriptorSets_params
*params
= args
;
23827 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->descriptorSetCount
, params
->pDescriptorSets
);
23829 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkFreeDescriptorSets(wine_device_from_handle(params
->device
)->device
, params
->descriptorPool
, params
->descriptorSetCount
, params
->pDescriptorSets
);
23830 return STATUS_SUCCESS
;
23833 #else /* USE_STRUCT_CONVERSION */
23835 static NTSTATUS
thunk32_vkFreeDescriptorSets(void *args
)
23840 VkDescriptorPool
DECLSPEC_ALIGN(8) descriptorPool
;
23841 uint32_t descriptorSetCount
;
23842 const VkDescriptorSet
*pDescriptorSets
;
23846 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->descriptorSetCount
, params
->pDescriptorSets
);
23848 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkFreeDescriptorSets(wine_device_from_handle(params
->device
)->device
, params
->descriptorPool
, params
->descriptorSetCount
, params
->pDescriptorSets
);
23849 return STATUS_SUCCESS
;
23852 #endif /* USE_STRUCT_CONVERSION */
23854 #if !defined(USE_STRUCT_CONVERSION)
23856 static NTSTATUS
thunk64_vkFreeMemory(void *args
)
23858 struct vkFreeMemory_params
*params
= args
;
23860 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->pAllocator
);
23862 wine_device_from_handle(params
->device
)->funcs
.p_vkFreeMemory(wine_device_from_handle(params
->device
)->device
, params
->memory
, NULL
);
23863 return STATUS_SUCCESS
;
23866 #else /* USE_STRUCT_CONVERSION */
23868 static NTSTATUS
thunk32_vkFreeMemory(void *args
)
23873 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
23874 const VkAllocationCallbacks
*pAllocator
;
23877 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->pAllocator
);
23879 wine_device_from_handle(params
->device
)->funcs
.p_vkFreeMemory(wine_device_from_handle(params
->device
)->device
, params
->memory
, NULL
);
23880 return STATUS_SUCCESS
;
23883 #endif /* USE_STRUCT_CONVERSION */
23885 #if !defined(USE_STRUCT_CONVERSION)
23887 static NTSTATUS
thunk64_vkGetAccelerationStructureBuildSizesKHR(void *args
)
23889 struct vkGetAccelerationStructureBuildSizesKHR_params
*params
= args
;
23891 TRACE("%p, %#x, %p, %p, %p\n", params
->device
, params
->buildType
, params
->pBuildInfo
, params
->pMaxPrimitiveCounts
, params
->pSizeInfo
);
23893 wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureBuildSizesKHR(wine_device_from_handle(params
->device
)->device
, params
->buildType
, params
->pBuildInfo
, params
->pMaxPrimitiveCounts
, params
->pSizeInfo
);
23894 return STATUS_SUCCESS
;
23897 #else /* USE_STRUCT_CONVERSION */
23899 static NTSTATUS
thunk32_vkGetAccelerationStructureBuildSizesKHR(void *args
)
23904 VkAccelerationStructureBuildTypeKHR buildType
;
23905 const VkAccelerationStructureBuildGeometryInfoKHR32
*pBuildInfo
;
23906 const uint32_t *pMaxPrimitiveCounts
;
23907 VkAccelerationStructureBuildSizesInfoKHR32
*pSizeInfo
;
23909 VkAccelerationStructureBuildGeometryInfoKHR pBuildInfo_host
;
23910 VkAccelerationStructureBuildSizesInfoKHR pSizeInfo_host
;
23911 struct conversion_context ctx
;
23913 TRACE("%p, %#x, %p, %p, %p\n", params
->device
, params
->buildType
, params
->pBuildInfo
, params
->pMaxPrimitiveCounts
, params
->pSizeInfo
);
23915 init_conversion_context(&ctx
);
23916 convert_VkAccelerationStructureBuildGeometryInfoKHR_win32_to_host(&ctx
, params
->pBuildInfo
, &pBuildInfo_host
);
23917 convert_VkAccelerationStructureBuildSizesInfoKHR_win32_to_host(params
->pSizeInfo
, &pSizeInfo_host
);
23918 wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureBuildSizesKHR(wine_device_from_handle(params
->device
)->device
, params
->buildType
, &pBuildInfo_host
, params
->pMaxPrimitiveCounts
, &pSizeInfo_host
);
23919 convert_VkAccelerationStructureBuildSizesInfoKHR_host_to_win32(&pSizeInfo_host
, params
->pSizeInfo
);
23920 free_conversion_context(&ctx
);
23921 return STATUS_SUCCESS
;
23924 #endif /* USE_STRUCT_CONVERSION */
23926 #if !defined(USE_STRUCT_CONVERSION)
23928 static NTSTATUS
thunk64_vkGetAccelerationStructureDeviceAddressKHR(void *args
)
23930 struct vkGetAccelerationStructureDeviceAddressKHR_params
*params
= args
;
23932 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
23934 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureDeviceAddressKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
23935 return STATUS_SUCCESS
;
23938 #else /* USE_STRUCT_CONVERSION */
23940 static NTSTATUS
thunk32_vkGetAccelerationStructureDeviceAddressKHR(void *args
)
23945 const VkAccelerationStructureDeviceAddressInfoKHR32
*pInfo
;
23946 VkDeviceAddress result
;
23948 VkAccelerationStructureDeviceAddressInfoKHR pInfo_host
;
23950 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
23952 convert_VkAccelerationStructureDeviceAddressInfoKHR_win32_to_host(params
->pInfo
, &pInfo_host
);
23953 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureDeviceAddressKHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
23954 return STATUS_SUCCESS
;
23957 #endif /* USE_STRUCT_CONVERSION */
23959 #if !defined(USE_STRUCT_CONVERSION)
23961 static NTSTATUS
thunk64_vkGetAccelerationStructureHandleNV(void *args
)
23963 struct vkGetAccelerationStructureHandleNV_params
*params
= args
;
23965 TRACE("%p, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
23967 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureHandleNV(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructure
, params
->dataSize
, params
->pData
);
23968 return STATUS_SUCCESS
;
23971 #else /* USE_STRUCT_CONVERSION */
23973 static NTSTATUS
thunk32_vkGetAccelerationStructureHandleNV(void *args
)
23978 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) accelerationStructure
;
23984 TRACE("%p, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
23986 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureHandleNV(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructure
, params
->dataSize
, params
->pData
);
23987 return STATUS_SUCCESS
;
23990 #endif /* USE_STRUCT_CONVERSION */
23992 #if !defined(USE_STRUCT_CONVERSION)
23994 static NTSTATUS
thunk64_vkGetAccelerationStructureMemoryRequirementsNV(void *args
)
23996 struct vkGetAccelerationStructureMemoryRequirementsNV_params
*params
= args
;
23998 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24000 wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
24001 return STATUS_SUCCESS
;
24004 #else /* USE_STRUCT_CONVERSION */
24006 static NTSTATUS
thunk32_vkGetAccelerationStructureMemoryRequirementsNV(void *args
)
24011 const VkAccelerationStructureMemoryRequirementsInfoNV32
*pInfo
;
24012 VkMemoryRequirements2KHR32
*pMemoryRequirements
;
24014 VkAccelerationStructureMemoryRequirementsInfoNV pInfo_host
;
24015 VkMemoryRequirements2KHR pMemoryRequirements_host
;
24017 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24019 convert_VkAccelerationStructureMemoryRequirementsInfoNV_win32_to_host(params
->pInfo
, &pInfo_host
);
24020 convert_VkMemoryRequirements2KHR_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
24021 wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
24022 convert_VkMemoryRequirements2KHR_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
24023 return STATUS_SUCCESS
;
24026 #endif /* USE_STRUCT_CONVERSION */
24028 #if !defined(USE_STRUCT_CONVERSION)
24030 static NTSTATUS
thunk64_vkGetBufferDeviceAddress(void *args
)
24032 struct vkGetBufferDeviceAddress_params
*params
= args
;
24034 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24036 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferDeviceAddress(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
24037 return STATUS_SUCCESS
;
24040 #else /* USE_STRUCT_CONVERSION */
24042 static NTSTATUS
thunk32_vkGetBufferDeviceAddress(void *args
)
24047 const VkBufferDeviceAddressInfo32
*pInfo
;
24048 VkDeviceAddress result
;
24050 VkBufferDeviceAddressInfo pInfo_host
;
24052 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24054 convert_VkBufferDeviceAddressInfo_win32_to_host(params
->pInfo
, &pInfo_host
);
24055 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferDeviceAddress(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
24056 return STATUS_SUCCESS
;
24059 #endif /* USE_STRUCT_CONVERSION */
24061 #if !defined(USE_STRUCT_CONVERSION)
24063 static NTSTATUS
thunk64_vkGetBufferDeviceAddressEXT(void *args
)
24065 struct vkGetBufferDeviceAddressEXT_params
*params
= args
;
24067 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24069 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferDeviceAddressEXT(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
24070 return STATUS_SUCCESS
;
24073 #else /* USE_STRUCT_CONVERSION */
24075 static NTSTATUS
thunk32_vkGetBufferDeviceAddressEXT(void *args
)
24080 const VkBufferDeviceAddressInfo32
*pInfo
;
24081 VkDeviceAddress result
;
24083 VkBufferDeviceAddressInfo pInfo_host
;
24085 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24087 convert_VkBufferDeviceAddressInfo_win32_to_host(params
->pInfo
, &pInfo_host
);
24088 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferDeviceAddressEXT(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
24089 return STATUS_SUCCESS
;
24092 #endif /* USE_STRUCT_CONVERSION */
24094 #if !defined(USE_STRUCT_CONVERSION)
24096 static NTSTATUS
thunk64_vkGetBufferDeviceAddressKHR(void *args
)
24098 struct vkGetBufferDeviceAddressKHR_params
*params
= args
;
24100 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24102 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferDeviceAddressKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
24103 return STATUS_SUCCESS
;
24106 #else /* USE_STRUCT_CONVERSION */
24108 static NTSTATUS
thunk32_vkGetBufferDeviceAddressKHR(void *args
)
24113 const VkBufferDeviceAddressInfo32
*pInfo
;
24114 VkDeviceAddress result
;
24116 VkBufferDeviceAddressInfo pInfo_host
;
24118 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24120 convert_VkBufferDeviceAddressInfo_win32_to_host(params
->pInfo
, &pInfo_host
);
24121 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferDeviceAddressKHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
24122 return STATUS_SUCCESS
;
24125 #endif /* USE_STRUCT_CONVERSION */
24127 #if !defined(USE_STRUCT_CONVERSION)
24129 static NTSTATUS
thunk64_vkGetBufferMemoryRequirements(void *args
)
24131 struct vkGetBufferMemoryRequirements_params
*params
= args
;
24133 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), params
->pMemoryRequirements
);
24135 wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->buffer
, params
->pMemoryRequirements
);
24136 return STATUS_SUCCESS
;
24139 #else /* USE_STRUCT_CONVERSION */
24141 static NTSTATUS
thunk32_vkGetBufferMemoryRequirements(void *args
)
24146 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
24147 VkMemoryRequirements32
*pMemoryRequirements
;
24149 VkMemoryRequirements pMemoryRequirements_host
;
24151 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), params
->pMemoryRequirements
);
24153 wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->buffer
, &pMemoryRequirements_host
);
24154 convert_VkMemoryRequirements_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
24155 return STATUS_SUCCESS
;
24158 #endif /* USE_STRUCT_CONVERSION */
24160 #if !defined(USE_STRUCT_CONVERSION)
24162 static NTSTATUS
thunk64_vkGetBufferMemoryRequirements2(void *args
)
24164 struct vkGetBufferMemoryRequirements2_params
*params
= args
;
24166 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24168 wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferMemoryRequirements2(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
24169 return STATUS_SUCCESS
;
24172 #else /* USE_STRUCT_CONVERSION */
24174 static NTSTATUS
thunk32_vkGetBufferMemoryRequirements2(void *args
)
24179 const VkBufferMemoryRequirementsInfo232
*pInfo
;
24180 VkMemoryRequirements232
*pMemoryRequirements
;
24182 VkBufferMemoryRequirementsInfo2 pInfo_host
;
24183 VkMemoryRequirements2 pMemoryRequirements_host
;
24185 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24187 convert_VkBufferMemoryRequirementsInfo2_win32_to_host(params
->pInfo
, &pInfo_host
);
24188 convert_VkMemoryRequirements2_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
24189 wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferMemoryRequirements2(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
24190 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
24191 return STATUS_SUCCESS
;
24194 #endif /* USE_STRUCT_CONVERSION */
24196 #if !defined(USE_STRUCT_CONVERSION)
24198 static NTSTATUS
thunk64_vkGetBufferMemoryRequirements2KHR(void *args
)
24200 struct vkGetBufferMemoryRequirements2KHR_params
*params
= args
;
24202 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24204 wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferMemoryRequirements2KHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
24205 return STATUS_SUCCESS
;
24208 #else /* USE_STRUCT_CONVERSION */
24210 static NTSTATUS
thunk32_vkGetBufferMemoryRequirements2KHR(void *args
)
24215 const VkBufferMemoryRequirementsInfo232
*pInfo
;
24216 VkMemoryRequirements232
*pMemoryRequirements
;
24218 VkBufferMemoryRequirementsInfo2 pInfo_host
;
24219 VkMemoryRequirements2 pMemoryRequirements_host
;
24221 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24223 convert_VkBufferMemoryRequirementsInfo2_win32_to_host(params
->pInfo
, &pInfo_host
);
24224 convert_VkMemoryRequirements2_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
24225 wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferMemoryRequirements2KHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
24226 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
24227 return STATUS_SUCCESS
;
24230 #endif /* USE_STRUCT_CONVERSION */
24232 #if !defined(USE_STRUCT_CONVERSION)
24234 static NTSTATUS
thunk64_vkGetBufferOpaqueCaptureAddress(void *args
)
24236 struct vkGetBufferOpaqueCaptureAddress_params
*params
= args
;
24238 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24240 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferOpaqueCaptureAddress(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
24241 return STATUS_SUCCESS
;
24244 #else /* USE_STRUCT_CONVERSION */
24246 static NTSTATUS
thunk32_vkGetBufferOpaqueCaptureAddress(void *args
)
24251 const VkBufferDeviceAddressInfo32
*pInfo
;
24254 VkBufferDeviceAddressInfo pInfo_host
;
24256 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24258 convert_VkBufferDeviceAddressInfo_win32_to_host(params
->pInfo
, &pInfo_host
);
24259 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferOpaqueCaptureAddress(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
24260 return STATUS_SUCCESS
;
24263 #endif /* USE_STRUCT_CONVERSION */
24265 #if !defined(USE_STRUCT_CONVERSION)
24267 static NTSTATUS
thunk64_vkGetBufferOpaqueCaptureAddressKHR(void *args
)
24269 struct vkGetBufferOpaqueCaptureAddressKHR_params
*params
= args
;
24271 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24273 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
24274 return STATUS_SUCCESS
;
24277 #else /* USE_STRUCT_CONVERSION */
24279 static NTSTATUS
thunk32_vkGetBufferOpaqueCaptureAddressKHR(void *args
)
24284 const VkBufferDeviceAddressInfo32
*pInfo
;
24287 VkBufferDeviceAddressInfo pInfo_host
;
24289 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24291 convert_VkBufferDeviceAddressInfo_win32_to_host(params
->pInfo
, &pInfo_host
);
24292 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
24293 return STATUS_SUCCESS
;
24296 #endif /* USE_STRUCT_CONVERSION */
24298 #if !defined(USE_STRUCT_CONVERSION)
24300 static NTSTATUS
thunk64_vkGetCalibratedTimestampsEXT(void *args
)
24302 struct vkGetCalibratedTimestampsEXT_params
*params
= args
;
24304 TRACE("%p, %u, %p, %p, %p\n", params
->device
, params
->timestampCount
, params
->pTimestampInfos
, params
->pTimestamps
, params
->pMaxDeviation
);
24306 params
->result
= wine_vkGetCalibratedTimestampsEXT(params
->device
, params
->timestampCount
, params
->pTimestampInfos
, params
->pTimestamps
, params
->pMaxDeviation
);
24307 return STATUS_SUCCESS
;
24310 #else /* USE_STRUCT_CONVERSION */
24312 static NTSTATUS
thunk32_vkGetCalibratedTimestampsEXT(void *args
)
24317 uint32_t timestampCount
;
24318 const VkCalibratedTimestampInfoEXT
*pTimestampInfos
;
24319 uint64_t *pTimestamps
;
24320 uint64_t *pMaxDeviation
;
24324 TRACE("%p, %u, %p, %p, %p\n", params
->device
, params
->timestampCount
, params
->pTimestampInfos
, params
->pTimestamps
, params
->pMaxDeviation
);
24326 params
->result
= wine_vkGetCalibratedTimestampsEXT(params
->device
, params
->timestampCount
, params
->pTimestampInfos
, params
->pTimestamps
, params
->pMaxDeviation
);
24327 return STATUS_SUCCESS
;
24330 #endif /* USE_STRUCT_CONVERSION */
24332 #if !defined(USE_STRUCT_CONVERSION)
24334 static NTSTATUS
thunk64_vkGetDeferredOperationMaxConcurrencyKHR(void *args
)
24336 struct vkGetDeferredOperationMaxConcurrencyKHR_params
*params
= args
;
24338 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
24340 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeferredOperationMaxConcurrencyKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
);
24341 return STATUS_SUCCESS
;
24344 #else /* USE_STRUCT_CONVERSION */
24346 static NTSTATUS
thunk32_vkGetDeferredOperationMaxConcurrencyKHR(void *args
)
24351 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) operation
;
24355 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
24357 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeferredOperationMaxConcurrencyKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
);
24358 return STATUS_SUCCESS
;
24361 #endif /* USE_STRUCT_CONVERSION */
24363 #if !defined(USE_STRUCT_CONVERSION)
24365 static NTSTATUS
thunk64_vkGetDeferredOperationResultKHR(void *args
)
24367 struct vkGetDeferredOperationResultKHR_params
*params
= args
;
24369 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
24371 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeferredOperationResultKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
);
24372 return STATUS_SUCCESS
;
24375 #else /* USE_STRUCT_CONVERSION */
24377 static NTSTATUS
thunk32_vkGetDeferredOperationResultKHR(void *args
)
24382 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) operation
;
24386 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
24388 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeferredOperationResultKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
);
24389 return STATUS_SUCCESS
;
24392 #endif /* USE_STRUCT_CONVERSION */
24394 #if !defined(USE_STRUCT_CONVERSION)
24396 static NTSTATUS
thunk64_vkGetDescriptorSetHostMappingVALVE(void *args
)
24398 struct vkGetDescriptorSetHostMappingVALVE_params
*params
= args
;
24400 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), params
->ppData
);
24402 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetHostMappingVALVE(wine_device_from_handle(params
->device
)->device
, params
->descriptorSet
, params
->ppData
);
24403 return STATUS_SUCCESS
;
24406 #else /* USE_STRUCT_CONVERSION */
24408 static NTSTATUS
thunk32_vkGetDescriptorSetHostMappingVALVE(void *args
)
24413 VkDescriptorSet
DECLSPEC_ALIGN(8) descriptorSet
;
24417 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), params
->ppData
);
24419 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetHostMappingVALVE(wine_device_from_handle(params
->device
)->device
, params
->descriptorSet
, params
->ppData
);
24420 return STATUS_SUCCESS
;
24423 #endif /* USE_STRUCT_CONVERSION */
24425 #if !defined(USE_STRUCT_CONVERSION)
24427 static NTSTATUS
thunk64_vkGetDescriptorSetLayoutHostMappingInfoVALVE(void *args
)
24429 struct vkGetDescriptorSetLayoutHostMappingInfoVALVE_params
*params
= args
;
24431 TRACE("%p, %p, %p\n", params
->device
, params
->pBindingReference
, params
->pHostMapping
);
24433 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutHostMappingInfoVALVE(wine_device_from_handle(params
->device
)->device
, params
->pBindingReference
, params
->pHostMapping
);
24434 return STATUS_SUCCESS
;
24437 #else /* USE_STRUCT_CONVERSION */
24439 static NTSTATUS
thunk32_vkGetDescriptorSetLayoutHostMappingInfoVALVE(void *args
)
24444 const VkDescriptorSetBindingReferenceVALVE32
*pBindingReference
;
24445 VkDescriptorSetLayoutHostMappingInfoVALVE
*pHostMapping
;
24447 VkDescriptorSetBindingReferenceVALVE pBindingReference_host
;
24449 TRACE("%p, %p, %p\n", params
->device
, params
->pBindingReference
, params
->pHostMapping
);
24451 convert_VkDescriptorSetBindingReferenceVALVE_win32_to_host(params
->pBindingReference
, &pBindingReference_host
);
24452 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutHostMappingInfoVALVE(wine_device_from_handle(params
->device
)->device
, &pBindingReference_host
, params
->pHostMapping
);
24453 return STATUS_SUCCESS
;
24456 #endif /* USE_STRUCT_CONVERSION */
24458 #if !defined(USE_STRUCT_CONVERSION)
24460 static NTSTATUS
thunk64_vkGetDescriptorSetLayoutSupport(void *args
)
24462 struct vkGetDescriptorSetLayoutSupport_params
*params
= args
;
24464 TRACE("%p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pSupport
);
24466 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutSupport(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, params
->pSupport
);
24467 return STATUS_SUCCESS
;
24470 #else /* USE_STRUCT_CONVERSION */
24472 static NTSTATUS
thunk32_vkGetDescriptorSetLayoutSupport(void *args
)
24477 const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
;
24478 VkDescriptorSetLayoutSupport
*pSupport
;
24481 TRACE("%p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pSupport
);
24483 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutSupport(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, params
->pSupport
);
24484 return STATUS_SUCCESS
;
24487 #endif /* USE_STRUCT_CONVERSION */
24489 #if !defined(USE_STRUCT_CONVERSION)
24491 static NTSTATUS
thunk64_vkGetDescriptorSetLayoutSupportKHR(void *args
)
24493 struct vkGetDescriptorSetLayoutSupportKHR_params
*params
= args
;
24495 TRACE("%p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pSupport
);
24497 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutSupportKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, params
->pSupport
);
24498 return STATUS_SUCCESS
;
24501 #else /* USE_STRUCT_CONVERSION */
24503 static NTSTATUS
thunk32_vkGetDescriptorSetLayoutSupportKHR(void *args
)
24508 const VkDescriptorSetLayoutCreateInfo
*pCreateInfo
;
24509 VkDescriptorSetLayoutSupport
*pSupport
;
24512 TRACE("%p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pSupport
);
24514 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutSupportKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, params
->pSupport
);
24515 return STATUS_SUCCESS
;
24518 #endif /* USE_STRUCT_CONVERSION */
24520 #if !defined(USE_STRUCT_CONVERSION)
24522 static NTSTATUS
thunk64_vkGetDeviceAccelerationStructureCompatibilityKHR(void *args
)
24524 struct vkGetDeviceAccelerationStructureCompatibilityKHR_params
*params
= args
;
24526 TRACE("%p, %p, %p\n", params
->device
, params
->pVersionInfo
, params
->pCompatibility
);
24528 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceAccelerationStructureCompatibilityKHR(wine_device_from_handle(params
->device
)->device
, params
->pVersionInfo
, params
->pCompatibility
);
24529 return STATUS_SUCCESS
;
24532 #else /* USE_STRUCT_CONVERSION */
24534 static NTSTATUS
thunk32_vkGetDeviceAccelerationStructureCompatibilityKHR(void *args
)
24539 const VkAccelerationStructureVersionInfoKHR
*pVersionInfo
;
24540 VkAccelerationStructureCompatibilityKHR
*pCompatibility
;
24543 TRACE("%p, %p, %p\n", params
->device
, params
->pVersionInfo
, params
->pCompatibility
);
24545 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceAccelerationStructureCompatibilityKHR(wine_device_from_handle(params
->device
)->device
, params
->pVersionInfo
, params
->pCompatibility
);
24546 return STATUS_SUCCESS
;
24549 #endif /* USE_STRUCT_CONVERSION */
24551 #if !defined(USE_STRUCT_CONVERSION)
24553 static NTSTATUS
thunk64_vkGetDeviceBufferMemoryRequirements(void *args
)
24555 struct vkGetDeviceBufferMemoryRequirements_params
*params
= args
;
24557 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24559 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceBufferMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
24560 return STATUS_SUCCESS
;
24563 #else /* USE_STRUCT_CONVERSION */
24565 static NTSTATUS
thunk32_vkGetDeviceBufferMemoryRequirements(void *args
)
24570 const VkDeviceBufferMemoryRequirements32
*pInfo
;
24571 VkMemoryRequirements232
*pMemoryRequirements
;
24573 VkDeviceBufferMemoryRequirements pInfo_host
;
24574 VkMemoryRequirements2 pMemoryRequirements_host
;
24575 struct conversion_context ctx
;
24577 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24579 init_conversion_context(&ctx
);
24580 convert_VkDeviceBufferMemoryRequirements_win32_to_host(&ctx
, params
->pInfo
, &pInfo_host
);
24581 convert_VkMemoryRequirements2_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
24582 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceBufferMemoryRequirements(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
24583 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
24584 free_conversion_context(&ctx
);
24585 return STATUS_SUCCESS
;
24588 #endif /* USE_STRUCT_CONVERSION */
24590 #if !defined(USE_STRUCT_CONVERSION)
24592 static NTSTATUS
thunk64_vkGetDeviceBufferMemoryRequirementsKHR(void *args
)
24594 struct vkGetDeviceBufferMemoryRequirementsKHR_params
*params
= args
;
24596 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24598 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceBufferMemoryRequirementsKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
24599 return STATUS_SUCCESS
;
24602 #else /* USE_STRUCT_CONVERSION */
24604 static NTSTATUS
thunk32_vkGetDeviceBufferMemoryRequirementsKHR(void *args
)
24609 const VkDeviceBufferMemoryRequirements32
*pInfo
;
24610 VkMemoryRequirements232
*pMemoryRequirements
;
24612 VkDeviceBufferMemoryRequirements pInfo_host
;
24613 VkMemoryRequirements2 pMemoryRequirements_host
;
24614 struct conversion_context ctx
;
24616 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24618 init_conversion_context(&ctx
);
24619 convert_VkDeviceBufferMemoryRequirements_win32_to_host(&ctx
, params
->pInfo
, &pInfo_host
);
24620 convert_VkMemoryRequirements2_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
24621 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceBufferMemoryRequirementsKHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
24622 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
24623 free_conversion_context(&ctx
);
24624 return STATUS_SUCCESS
;
24627 #endif /* USE_STRUCT_CONVERSION */
24629 #if !defined(USE_STRUCT_CONVERSION)
24631 static NTSTATUS
thunk64_vkGetDeviceFaultInfoEXT(void *args
)
24633 struct vkGetDeviceFaultInfoEXT_params
*params
= args
;
24635 TRACE("%p, %p, %p\n", params
->device
, params
->pFaultCounts
, params
->pFaultInfo
);
24637 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceFaultInfoEXT(wine_device_from_handle(params
->device
)->device
, params
->pFaultCounts
, params
->pFaultInfo
);
24638 return STATUS_SUCCESS
;
24641 #else /* USE_STRUCT_CONVERSION */
24643 static NTSTATUS
thunk32_vkGetDeviceFaultInfoEXT(void *args
)
24648 VkDeviceFaultCountsEXT32
*pFaultCounts
;
24649 VkDeviceFaultInfoEXT32
*pFaultInfo
;
24652 VkDeviceFaultCountsEXT pFaultCounts_host
;
24653 VkDeviceFaultInfoEXT
*pFaultInfo_host
= NULL
;
24654 struct conversion_context ctx
;
24656 TRACE("%p, %p, %p\n", params
->device
, params
->pFaultCounts
, params
->pFaultInfo
);
24658 init_conversion_context(&ctx
);
24659 convert_VkDeviceFaultCountsEXT_win32_to_host(params
->pFaultCounts
, &pFaultCounts_host
);
24660 if (params
->pFaultInfo
)
24662 pFaultInfo_host
= conversion_context_alloc(&ctx
, sizeof(*pFaultInfo_host
));
24663 convert_VkDeviceFaultInfoEXT_win32_to_host(&ctx
, params
->pFaultInfo
, pFaultInfo_host
);
24665 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceFaultInfoEXT(wine_device_from_handle(params
->device
)->device
, &pFaultCounts_host
, pFaultInfo_host
);
24666 convert_VkDeviceFaultCountsEXT_host_to_win32(&pFaultCounts_host
, params
->pFaultCounts
);
24667 convert_VkDeviceFaultInfoEXT_host_to_win32(pFaultInfo_host
, params
->pFaultInfo
);
24668 free_conversion_context(&ctx
);
24669 return STATUS_SUCCESS
;
24672 #endif /* USE_STRUCT_CONVERSION */
24674 #if !defined(USE_STRUCT_CONVERSION)
24676 static NTSTATUS
thunk64_vkGetDeviceGroupPeerMemoryFeatures(void *args
)
24678 struct vkGetDeviceGroupPeerMemoryFeatures_params
*params
= args
;
24680 TRACE("%p, %u, %u, %u, %p\n", params
->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
24682 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupPeerMemoryFeatures(wine_device_from_handle(params
->device
)->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
24683 return STATUS_SUCCESS
;
24686 #else /* USE_STRUCT_CONVERSION */
24688 static NTSTATUS
thunk32_vkGetDeviceGroupPeerMemoryFeatures(void *args
)
24693 uint32_t heapIndex
;
24694 uint32_t localDeviceIndex
;
24695 uint32_t remoteDeviceIndex
;
24696 VkPeerMemoryFeatureFlags
*pPeerMemoryFeatures
;
24699 TRACE("%p, %u, %u, %u, %p\n", params
->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
24701 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupPeerMemoryFeatures(wine_device_from_handle(params
->device
)->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
24702 return STATUS_SUCCESS
;
24705 #endif /* USE_STRUCT_CONVERSION */
24707 #if !defined(USE_STRUCT_CONVERSION)
24709 static NTSTATUS
thunk64_vkGetDeviceGroupPeerMemoryFeaturesKHR(void *args
)
24711 struct vkGetDeviceGroupPeerMemoryFeaturesKHR_params
*params
= args
;
24713 TRACE("%p, %u, %u, %u, %p\n", params
->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
24715 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupPeerMemoryFeaturesKHR(wine_device_from_handle(params
->device
)->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
24716 return STATUS_SUCCESS
;
24719 #else /* USE_STRUCT_CONVERSION */
24721 static NTSTATUS
thunk32_vkGetDeviceGroupPeerMemoryFeaturesKHR(void *args
)
24726 uint32_t heapIndex
;
24727 uint32_t localDeviceIndex
;
24728 uint32_t remoteDeviceIndex
;
24729 VkPeerMemoryFeatureFlags
*pPeerMemoryFeatures
;
24732 TRACE("%p, %u, %u, %u, %p\n", params
->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
24734 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupPeerMemoryFeaturesKHR(wine_device_from_handle(params
->device
)->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
24735 return STATUS_SUCCESS
;
24738 #endif /* USE_STRUCT_CONVERSION */
24740 #if !defined(USE_STRUCT_CONVERSION)
24742 static NTSTATUS
thunk64_vkGetDeviceGroupPresentCapabilitiesKHR(void *args
)
24744 struct vkGetDeviceGroupPresentCapabilitiesKHR_params
*params
= args
;
24746 TRACE("%p, %p\n", params
->device
, params
->pDeviceGroupPresentCapabilities
);
24748 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupPresentCapabilitiesKHR(wine_device_from_handle(params
->device
)->device
, params
->pDeviceGroupPresentCapabilities
);
24749 return STATUS_SUCCESS
;
24752 #else /* USE_STRUCT_CONVERSION */
24754 static NTSTATUS
thunk32_vkGetDeviceGroupPresentCapabilitiesKHR(void *args
)
24759 VkDeviceGroupPresentCapabilitiesKHR
*pDeviceGroupPresentCapabilities
;
24763 TRACE("%p, %p\n", params
->device
, params
->pDeviceGroupPresentCapabilities
);
24765 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupPresentCapabilitiesKHR(wine_device_from_handle(params
->device
)->device
, params
->pDeviceGroupPresentCapabilities
);
24766 return STATUS_SUCCESS
;
24769 #endif /* USE_STRUCT_CONVERSION */
24771 #if !defined(USE_STRUCT_CONVERSION)
24773 static NTSTATUS
thunk64_vkGetDeviceGroupSurfacePresentModesKHR(void *args
)
24775 struct vkGetDeviceGroupSurfacePresentModesKHR_params
*params
= args
;
24777 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->surface
), params
->pModes
);
24779 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupSurfacePresentModesKHR(wine_device_from_handle(params
->device
)->device
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pModes
);
24780 return STATUS_SUCCESS
;
24783 #else /* USE_STRUCT_CONVERSION */
24785 static NTSTATUS
thunk32_vkGetDeviceGroupSurfacePresentModesKHR(void *args
)
24790 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
24791 VkDeviceGroupPresentModeFlagsKHR
*pModes
;
24795 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->surface
), params
->pModes
);
24797 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupSurfacePresentModesKHR(wine_device_from_handle(params
->device
)->device
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pModes
);
24798 return STATUS_SUCCESS
;
24801 #endif /* USE_STRUCT_CONVERSION */
24803 #if !defined(USE_STRUCT_CONVERSION)
24805 static NTSTATUS
thunk64_vkGetDeviceImageMemoryRequirements(void *args
)
24807 struct vkGetDeviceImageMemoryRequirements_params
*params
= args
;
24809 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24811 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
24812 return STATUS_SUCCESS
;
24815 #else /* USE_STRUCT_CONVERSION */
24817 static NTSTATUS
thunk32_vkGetDeviceImageMemoryRequirements(void *args
)
24822 const VkDeviceImageMemoryRequirements
*pInfo
;
24823 VkMemoryRequirements232
*pMemoryRequirements
;
24825 VkDeviceImageMemoryRequirements pInfo_host
;
24826 VkMemoryRequirements2 pMemoryRequirements_host
;
24827 struct conversion_context ctx
;
24829 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24831 init_conversion_context(&ctx
);
24832 convert_VkDeviceImageMemoryRequirements_win32_to_host(&ctx
, params
->pInfo
, &pInfo_host
);
24833 convert_VkMemoryRequirements2_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
24834 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageMemoryRequirements(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
24835 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
24836 free_conversion_context(&ctx
);
24837 return STATUS_SUCCESS
;
24840 #endif /* USE_STRUCT_CONVERSION */
24842 #if !defined(USE_STRUCT_CONVERSION)
24844 static NTSTATUS
thunk64_vkGetDeviceImageMemoryRequirementsKHR(void *args
)
24846 struct vkGetDeviceImageMemoryRequirementsKHR_params
*params
= args
;
24848 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24850 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageMemoryRequirementsKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
24851 return STATUS_SUCCESS
;
24854 #else /* USE_STRUCT_CONVERSION */
24856 static NTSTATUS
thunk32_vkGetDeviceImageMemoryRequirementsKHR(void *args
)
24861 const VkDeviceImageMemoryRequirements
*pInfo
;
24862 VkMemoryRequirements232
*pMemoryRequirements
;
24864 VkDeviceImageMemoryRequirements pInfo_host
;
24865 VkMemoryRequirements2 pMemoryRequirements_host
;
24866 struct conversion_context ctx
;
24868 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
24870 init_conversion_context(&ctx
);
24871 convert_VkDeviceImageMemoryRequirements_win32_to_host(&ctx
, params
->pInfo
, &pInfo_host
);
24872 convert_VkMemoryRequirements2_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
24873 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageMemoryRequirementsKHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
24874 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
24875 free_conversion_context(&ctx
);
24876 return STATUS_SUCCESS
;
24879 #endif /* USE_STRUCT_CONVERSION */
24881 #if !defined(USE_STRUCT_CONVERSION)
24883 static NTSTATUS
thunk64_vkGetDeviceImageSparseMemoryRequirements(void *args
)
24885 struct vkGetDeviceImageSparseMemoryRequirements_params
*params
= args
;
24887 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
24889 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageSparseMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
24890 return STATUS_SUCCESS
;
24893 #else /* USE_STRUCT_CONVERSION */
24895 static NTSTATUS
thunk32_vkGetDeviceImageSparseMemoryRequirements(void *args
)
24900 const VkDeviceImageMemoryRequirements
*pInfo
;
24901 uint32_t *pSparseMemoryRequirementCount
;
24902 VkSparseImageMemoryRequirements232
*pSparseMemoryRequirements
;
24904 VkDeviceImageMemoryRequirements pInfo_host
;
24905 VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements_host
;
24906 struct conversion_context ctx
;
24908 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
24910 init_conversion_context(&ctx
);
24911 convert_VkDeviceImageMemoryRequirements_win32_to_host(&ctx
, params
->pInfo
, &pInfo_host
);
24912 pSparseMemoryRequirements_host
= convert_VkSparseImageMemoryRequirements2_array_win32_to_host(&ctx
, params
->pSparseMemoryRequirements
, *params
->pSparseMemoryRequirementCount
);
24913 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageSparseMemoryRequirements(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, params
->pSparseMemoryRequirementCount
, pSparseMemoryRequirements_host
);
24914 convert_VkSparseImageMemoryRequirements2_array_host_to_win32(pSparseMemoryRequirements_host
, params
->pSparseMemoryRequirements
, *params
->pSparseMemoryRequirementCount
);
24915 free_conversion_context(&ctx
);
24916 return STATUS_SUCCESS
;
24919 #endif /* USE_STRUCT_CONVERSION */
24921 #if !defined(USE_STRUCT_CONVERSION)
24923 static NTSTATUS
thunk64_vkGetDeviceImageSparseMemoryRequirementsKHR(void *args
)
24925 struct vkGetDeviceImageSparseMemoryRequirementsKHR_params
*params
= args
;
24927 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
24929 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageSparseMemoryRequirementsKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
24930 return STATUS_SUCCESS
;
24933 #else /* USE_STRUCT_CONVERSION */
24935 static NTSTATUS
thunk32_vkGetDeviceImageSparseMemoryRequirementsKHR(void *args
)
24940 const VkDeviceImageMemoryRequirements
*pInfo
;
24941 uint32_t *pSparseMemoryRequirementCount
;
24942 VkSparseImageMemoryRequirements232
*pSparseMemoryRequirements
;
24944 VkDeviceImageMemoryRequirements pInfo_host
;
24945 VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements_host
;
24946 struct conversion_context ctx
;
24948 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
24950 init_conversion_context(&ctx
);
24951 convert_VkDeviceImageMemoryRequirements_win32_to_host(&ctx
, params
->pInfo
, &pInfo_host
);
24952 pSparseMemoryRequirements_host
= convert_VkSparseImageMemoryRequirements2_array_win32_to_host(&ctx
, params
->pSparseMemoryRequirements
, *params
->pSparseMemoryRequirementCount
);
24953 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageSparseMemoryRequirementsKHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, params
->pSparseMemoryRequirementCount
, pSparseMemoryRequirements_host
);
24954 convert_VkSparseImageMemoryRequirements2_array_host_to_win32(pSparseMemoryRequirements_host
, params
->pSparseMemoryRequirements
, *params
->pSparseMemoryRequirementCount
);
24955 free_conversion_context(&ctx
);
24956 return STATUS_SUCCESS
;
24959 #endif /* USE_STRUCT_CONVERSION */
24961 #if !defined(USE_STRUCT_CONVERSION)
24963 static NTSTATUS
thunk64_vkGetDeviceMemoryCommitment(void *args
)
24965 struct vkGetDeviceMemoryCommitment_params
*params
= args
;
24967 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->pCommittedMemoryInBytes
);
24969 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMemoryCommitment(wine_device_from_handle(params
->device
)->device
, params
->memory
, params
->pCommittedMemoryInBytes
);
24970 return STATUS_SUCCESS
;
24973 #else /* USE_STRUCT_CONVERSION */
24975 static NTSTATUS
thunk32_vkGetDeviceMemoryCommitment(void *args
)
24980 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
24981 VkDeviceSize
*pCommittedMemoryInBytes
;
24984 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->pCommittedMemoryInBytes
);
24986 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMemoryCommitment(wine_device_from_handle(params
->device
)->device
, params
->memory
, params
->pCommittedMemoryInBytes
);
24987 return STATUS_SUCCESS
;
24990 #endif /* USE_STRUCT_CONVERSION */
24992 #if !defined(USE_STRUCT_CONVERSION)
24994 static NTSTATUS
thunk64_vkGetDeviceMemoryOpaqueCaptureAddress(void *args
)
24996 struct vkGetDeviceMemoryOpaqueCaptureAddress_params
*params
= args
;
24998 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
25000 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
25001 return STATUS_SUCCESS
;
25004 #else /* USE_STRUCT_CONVERSION */
25006 static NTSTATUS
thunk32_vkGetDeviceMemoryOpaqueCaptureAddress(void *args
)
25011 const VkDeviceMemoryOpaqueCaptureAddressInfo32
*pInfo
;
25014 VkDeviceMemoryOpaqueCaptureAddressInfo pInfo_host
;
25016 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
25018 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win32_to_host(params
->pInfo
, &pInfo_host
);
25019 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
25020 return STATUS_SUCCESS
;
25023 #endif /* USE_STRUCT_CONVERSION */
25025 #if !defined(USE_STRUCT_CONVERSION)
25027 static NTSTATUS
thunk64_vkGetDeviceMemoryOpaqueCaptureAddressKHR(void *args
)
25029 struct vkGetDeviceMemoryOpaqueCaptureAddressKHR_params
*params
= args
;
25031 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
25033 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
25034 return STATUS_SUCCESS
;
25037 #else /* USE_STRUCT_CONVERSION */
25039 static NTSTATUS
thunk32_vkGetDeviceMemoryOpaqueCaptureAddressKHR(void *args
)
25044 const VkDeviceMemoryOpaqueCaptureAddressInfo32
*pInfo
;
25047 VkDeviceMemoryOpaqueCaptureAddressInfo pInfo_host
;
25049 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
25051 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win32_to_host(params
->pInfo
, &pInfo_host
);
25052 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
25053 return STATUS_SUCCESS
;
25056 #endif /* USE_STRUCT_CONVERSION */
25058 #if !defined(USE_STRUCT_CONVERSION)
25060 static NTSTATUS
thunk64_vkGetDeviceMicromapCompatibilityEXT(void *args
)
25062 struct vkGetDeviceMicromapCompatibilityEXT_params
*params
= args
;
25064 TRACE("%p, %p, %p\n", params
->device
, params
->pVersionInfo
, params
->pCompatibility
);
25066 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMicromapCompatibilityEXT(wine_device_from_handle(params
->device
)->device
, params
->pVersionInfo
, params
->pCompatibility
);
25067 return STATUS_SUCCESS
;
25070 #else /* USE_STRUCT_CONVERSION */
25072 static NTSTATUS
thunk32_vkGetDeviceMicromapCompatibilityEXT(void *args
)
25077 const VkMicromapVersionInfoEXT
*pVersionInfo
;
25078 VkAccelerationStructureCompatibilityKHR
*pCompatibility
;
25081 TRACE("%p, %p, %p\n", params
->device
, params
->pVersionInfo
, params
->pCompatibility
);
25083 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMicromapCompatibilityEXT(wine_device_from_handle(params
->device
)->device
, params
->pVersionInfo
, params
->pCompatibility
);
25084 return STATUS_SUCCESS
;
25087 #endif /* USE_STRUCT_CONVERSION */
25089 #if !defined(USE_STRUCT_CONVERSION)
25091 static NTSTATUS
thunk64_vkGetDeviceQueue(void *args
)
25093 struct vkGetDeviceQueue_params
*params
= args
;
25095 TRACE("%p, %u, %u, %p\n", params
->device
, params
->queueFamilyIndex
, params
->queueIndex
, params
->pQueue
);
25097 wine_vkGetDeviceQueue(params
->device
, params
->queueFamilyIndex
, params
->queueIndex
, params
->pQueue
);
25098 return STATUS_SUCCESS
;
25101 #else /* USE_STRUCT_CONVERSION */
25103 static NTSTATUS
thunk32_vkGetDeviceQueue(void *args
)
25108 uint32_t queueFamilyIndex
;
25109 uint32_t queueIndex
;
25113 TRACE("%p, %u, %u, %p\n", params
->device
, params
->queueFamilyIndex
, params
->queueIndex
, params
->pQueue
);
25115 wine_vkGetDeviceQueue(params
->device
, params
->queueFamilyIndex
, params
->queueIndex
, params
->pQueue
);
25116 return STATUS_SUCCESS
;
25119 #endif /* USE_STRUCT_CONVERSION */
25121 #if !defined(USE_STRUCT_CONVERSION)
25123 static NTSTATUS
thunk64_vkGetDeviceQueue2(void *args
)
25125 struct vkGetDeviceQueue2_params
*params
= args
;
25127 TRACE("%p, %p, %p\n", params
->device
, params
->pQueueInfo
, params
->pQueue
);
25129 wine_vkGetDeviceQueue2(params
->device
, params
->pQueueInfo
, params
->pQueue
);
25130 return STATUS_SUCCESS
;
25133 #else /* USE_STRUCT_CONVERSION */
25135 static NTSTATUS
thunk32_vkGetDeviceQueue2(void *args
)
25140 const VkDeviceQueueInfo2
*pQueueInfo
;
25144 TRACE("%p, %p, %p\n", params
->device
, params
->pQueueInfo
, params
->pQueue
);
25146 wine_vkGetDeviceQueue2(params
->device
, params
->pQueueInfo
, params
->pQueue
);
25147 return STATUS_SUCCESS
;
25150 #endif /* USE_STRUCT_CONVERSION */
25152 #if !defined(USE_STRUCT_CONVERSION)
25154 static NTSTATUS
thunk64_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(void *args
)
25156 struct vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI_params
*params
= args
;
25158 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->renderpass
), params
->pMaxWorkgroupSize
);
25160 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(wine_device_from_handle(params
->device
)->device
, params
->renderpass
, params
->pMaxWorkgroupSize
);
25161 return STATUS_SUCCESS
;
25164 #else /* USE_STRUCT_CONVERSION */
25166 static NTSTATUS
thunk32_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(void *args
)
25171 VkRenderPass
DECLSPEC_ALIGN(8) renderpass
;
25172 VkExtent2D
*pMaxWorkgroupSize
;
25176 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->renderpass
), params
->pMaxWorkgroupSize
);
25178 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(wine_device_from_handle(params
->device
)->device
, params
->renderpass
, params
->pMaxWorkgroupSize
);
25179 return STATUS_SUCCESS
;
25182 #endif /* USE_STRUCT_CONVERSION */
25184 #if !defined(USE_STRUCT_CONVERSION)
25186 static NTSTATUS
thunk64_vkGetDynamicRenderingTilePropertiesQCOM(void *args
)
25188 struct vkGetDynamicRenderingTilePropertiesQCOM_params
*params
= args
;
25190 TRACE("%p, %p, %p\n", params
->device
, params
->pRenderingInfo
, params
->pProperties
);
25192 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDynamicRenderingTilePropertiesQCOM(wine_device_from_handle(params
->device
)->device
, params
->pRenderingInfo
, params
->pProperties
);
25193 return STATUS_SUCCESS
;
25196 #else /* USE_STRUCT_CONVERSION */
25198 static NTSTATUS
thunk32_vkGetDynamicRenderingTilePropertiesQCOM(void *args
)
25203 const VkRenderingInfo32
*pRenderingInfo
;
25204 VkTilePropertiesQCOM
*pProperties
;
25207 VkRenderingInfo pRenderingInfo_host
;
25208 struct conversion_context ctx
;
25210 TRACE("%p, %p, %p\n", params
->device
, params
->pRenderingInfo
, params
->pProperties
);
25212 init_conversion_context(&ctx
);
25213 convert_VkRenderingInfo_win32_to_host(&ctx
, params
->pRenderingInfo
, &pRenderingInfo_host
);
25214 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDynamicRenderingTilePropertiesQCOM(wine_device_from_handle(params
->device
)->device
, &pRenderingInfo_host
, params
->pProperties
);
25215 free_conversion_context(&ctx
);
25216 return STATUS_SUCCESS
;
25219 #endif /* USE_STRUCT_CONVERSION */
25221 #if !defined(USE_STRUCT_CONVERSION)
25223 static NTSTATUS
thunk64_vkGetEventStatus(void *args
)
25225 struct vkGetEventStatus_params
*params
= args
;
25227 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
25229 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetEventStatus(wine_device_from_handle(params
->device
)->device
, params
->event
);
25230 return STATUS_SUCCESS
;
25233 #else /* USE_STRUCT_CONVERSION */
25235 static NTSTATUS
thunk32_vkGetEventStatus(void *args
)
25240 VkEvent
DECLSPEC_ALIGN(8) event
;
25244 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
25246 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetEventStatus(wine_device_from_handle(params
->device
)->device
, params
->event
);
25247 return STATUS_SUCCESS
;
25250 #endif /* USE_STRUCT_CONVERSION */
25252 #if !defined(USE_STRUCT_CONVERSION)
25254 static NTSTATUS
thunk64_vkGetFenceStatus(void *args
)
25256 struct vkGetFenceStatus_params
*params
= args
;
25258 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->fence
));
25260 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetFenceStatus(wine_device_from_handle(params
->device
)->device
, params
->fence
);
25261 return STATUS_SUCCESS
;
25264 #else /* USE_STRUCT_CONVERSION */
25266 static NTSTATUS
thunk32_vkGetFenceStatus(void *args
)
25271 VkFence
DECLSPEC_ALIGN(8) fence
;
25275 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->fence
));
25277 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetFenceStatus(wine_device_from_handle(params
->device
)->device
, params
->fence
);
25278 return STATUS_SUCCESS
;
25281 #endif /* USE_STRUCT_CONVERSION */
25283 #if !defined(USE_STRUCT_CONVERSION)
25285 static NTSTATUS
thunk64_vkGetFramebufferTilePropertiesQCOM(void *args
)
25287 struct vkGetFramebufferTilePropertiesQCOM_params
*params
= args
;
25289 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->framebuffer
), params
->pPropertiesCount
, params
->pProperties
);
25291 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetFramebufferTilePropertiesQCOM(wine_device_from_handle(params
->device
)->device
, params
->framebuffer
, params
->pPropertiesCount
, params
->pProperties
);
25292 return STATUS_SUCCESS
;
25295 #else /* USE_STRUCT_CONVERSION */
25297 static NTSTATUS
thunk32_vkGetFramebufferTilePropertiesQCOM(void *args
)
25302 VkFramebuffer
DECLSPEC_ALIGN(8) framebuffer
;
25303 uint32_t *pPropertiesCount
;
25304 VkTilePropertiesQCOM
*pProperties
;
25308 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->framebuffer
), params
->pPropertiesCount
, params
->pProperties
);
25310 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetFramebufferTilePropertiesQCOM(wine_device_from_handle(params
->device
)->device
, params
->framebuffer
, params
->pPropertiesCount
, params
->pProperties
);
25311 return STATUS_SUCCESS
;
25314 #endif /* USE_STRUCT_CONVERSION */
25316 #if !defined(USE_STRUCT_CONVERSION)
25318 static NTSTATUS
thunk64_vkGetGeneratedCommandsMemoryRequirementsNV(void *args
)
25320 struct vkGetGeneratedCommandsMemoryRequirementsNV_params
*params
= args
;
25322 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
25324 wine_device_from_handle(params
->device
)->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
25325 return STATUS_SUCCESS
;
25328 #else /* USE_STRUCT_CONVERSION */
25330 static NTSTATUS
thunk32_vkGetGeneratedCommandsMemoryRequirementsNV(void *args
)
25335 const VkGeneratedCommandsMemoryRequirementsInfoNV32
*pInfo
;
25336 VkMemoryRequirements232
*pMemoryRequirements
;
25338 VkGeneratedCommandsMemoryRequirementsInfoNV pInfo_host
;
25339 VkMemoryRequirements2 pMemoryRequirements_host
;
25341 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
25343 convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win32_to_host(params
->pInfo
, &pInfo_host
);
25344 convert_VkMemoryRequirements2_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
25345 wine_device_from_handle(params
->device
)->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
25346 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
25347 return STATUS_SUCCESS
;
25350 #endif /* USE_STRUCT_CONVERSION */
25352 #if !defined(USE_STRUCT_CONVERSION)
25354 static NTSTATUS
thunk64_vkGetImageMemoryRequirements(void *args
)
25356 struct vkGetImageMemoryRequirements_params
*params
= args
;
25358 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pMemoryRequirements
);
25360 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pMemoryRequirements
);
25361 return STATUS_SUCCESS
;
25364 #else /* USE_STRUCT_CONVERSION */
25366 static NTSTATUS
thunk32_vkGetImageMemoryRequirements(void *args
)
25371 VkImage
DECLSPEC_ALIGN(8) image
;
25372 VkMemoryRequirements32
*pMemoryRequirements
;
25374 VkMemoryRequirements pMemoryRequirements_host
;
25376 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pMemoryRequirements
);
25378 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->image
, &pMemoryRequirements_host
);
25379 convert_VkMemoryRequirements_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
25380 return STATUS_SUCCESS
;
25383 #endif /* USE_STRUCT_CONVERSION */
25385 #if !defined(USE_STRUCT_CONVERSION)
25387 static NTSTATUS
thunk64_vkGetImageMemoryRequirements2(void *args
)
25389 struct vkGetImageMemoryRequirements2_params
*params
= args
;
25391 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
25393 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageMemoryRequirements2(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
25394 return STATUS_SUCCESS
;
25397 #else /* USE_STRUCT_CONVERSION */
25399 static NTSTATUS
thunk32_vkGetImageMemoryRequirements2(void *args
)
25404 const VkImageMemoryRequirementsInfo232
*pInfo
;
25405 VkMemoryRequirements232
*pMemoryRequirements
;
25407 VkImageMemoryRequirementsInfo2 pInfo_host
;
25408 VkMemoryRequirements2 pMemoryRequirements_host
;
25410 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
25412 convert_VkImageMemoryRequirementsInfo2_win32_to_host(params
->pInfo
, &pInfo_host
);
25413 convert_VkMemoryRequirements2_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
25414 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageMemoryRequirements2(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
25415 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
25416 return STATUS_SUCCESS
;
25419 #endif /* USE_STRUCT_CONVERSION */
25421 #if !defined(USE_STRUCT_CONVERSION)
25423 static NTSTATUS
thunk64_vkGetImageMemoryRequirements2KHR(void *args
)
25425 struct vkGetImageMemoryRequirements2KHR_params
*params
= args
;
25427 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
25429 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageMemoryRequirements2KHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
25430 return STATUS_SUCCESS
;
25433 #else /* USE_STRUCT_CONVERSION */
25435 static NTSTATUS
thunk32_vkGetImageMemoryRequirements2KHR(void *args
)
25440 const VkImageMemoryRequirementsInfo232
*pInfo
;
25441 VkMemoryRequirements232
*pMemoryRequirements
;
25443 VkImageMemoryRequirementsInfo2 pInfo_host
;
25444 VkMemoryRequirements2 pMemoryRequirements_host
;
25446 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
25448 convert_VkImageMemoryRequirementsInfo2_win32_to_host(params
->pInfo
, &pInfo_host
);
25449 convert_VkMemoryRequirements2_win32_to_host(params
->pMemoryRequirements
, &pMemoryRequirements_host
);
25450 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageMemoryRequirements2KHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, &pMemoryRequirements_host
);
25451 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, params
->pMemoryRequirements
);
25452 return STATUS_SUCCESS
;
25455 #endif /* USE_STRUCT_CONVERSION */
25457 #if !defined(USE_STRUCT_CONVERSION)
25459 static NTSTATUS
thunk64_vkGetImageSparseMemoryRequirements(void *args
)
25461 struct vkGetImageSparseMemoryRequirements_params
*params
= args
;
25463 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
25465 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSparseMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
25466 return STATUS_SUCCESS
;
25469 #else /* USE_STRUCT_CONVERSION */
25471 static NTSTATUS
thunk32_vkGetImageSparseMemoryRequirements(void *args
)
25476 VkImage
DECLSPEC_ALIGN(8) image
;
25477 uint32_t *pSparseMemoryRequirementCount
;
25478 VkSparseImageMemoryRequirements32
*pSparseMemoryRequirements
;
25480 VkSparseImageMemoryRequirements
*pSparseMemoryRequirements_host
;
25481 struct conversion_context ctx
;
25483 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
25485 init_conversion_context(&ctx
);
25486 pSparseMemoryRequirements_host
= (params
->pSparseMemoryRequirements
&& *params
->pSparseMemoryRequirementCount
) ? conversion_context_alloc(&ctx
, sizeof(*pSparseMemoryRequirements_host
) * *params
->pSparseMemoryRequirementCount
) : NULL
;
25487 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSparseMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pSparseMemoryRequirementCount
, pSparseMemoryRequirements_host
);
25488 convert_VkSparseImageMemoryRequirements_array_host_to_win32(pSparseMemoryRequirements_host
, params
->pSparseMemoryRequirements
, *params
->pSparseMemoryRequirementCount
);
25489 free_conversion_context(&ctx
);
25490 return STATUS_SUCCESS
;
25493 #endif /* USE_STRUCT_CONVERSION */
25495 #if !defined(USE_STRUCT_CONVERSION)
25497 static NTSTATUS
thunk64_vkGetImageSparseMemoryRequirements2(void *args
)
25499 struct vkGetImageSparseMemoryRequirements2_params
*params
= args
;
25501 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
25503 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSparseMemoryRequirements2(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
25504 return STATUS_SUCCESS
;
25507 #else /* USE_STRUCT_CONVERSION */
25509 static NTSTATUS
thunk32_vkGetImageSparseMemoryRequirements2(void *args
)
25514 const VkImageSparseMemoryRequirementsInfo232
*pInfo
;
25515 uint32_t *pSparseMemoryRequirementCount
;
25516 VkSparseImageMemoryRequirements232
*pSparseMemoryRequirements
;
25518 VkImageSparseMemoryRequirementsInfo2 pInfo_host
;
25519 VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements_host
;
25520 struct conversion_context ctx
;
25522 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
25524 init_conversion_context(&ctx
);
25525 convert_VkImageSparseMemoryRequirementsInfo2_win32_to_host(params
->pInfo
, &pInfo_host
);
25526 pSparseMemoryRequirements_host
= convert_VkSparseImageMemoryRequirements2_array_win32_to_host(&ctx
, params
->pSparseMemoryRequirements
, *params
->pSparseMemoryRequirementCount
);
25527 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSparseMemoryRequirements2(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, params
->pSparseMemoryRequirementCount
, pSparseMemoryRequirements_host
);
25528 convert_VkSparseImageMemoryRequirements2_array_host_to_win32(pSparseMemoryRequirements_host
, params
->pSparseMemoryRequirements
, *params
->pSparseMemoryRequirementCount
);
25529 free_conversion_context(&ctx
);
25530 return STATUS_SUCCESS
;
25533 #endif /* USE_STRUCT_CONVERSION */
25535 #if !defined(USE_STRUCT_CONVERSION)
25537 static NTSTATUS
thunk64_vkGetImageSparseMemoryRequirements2KHR(void *args
)
25539 struct vkGetImageSparseMemoryRequirements2KHR_params
*params
= args
;
25541 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
25543 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
25544 return STATUS_SUCCESS
;
25547 #else /* USE_STRUCT_CONVERSION */
25549 static NTSTATUS
thunk32_vkGetImageSparseMemoryRequirements2KHR(void *args
)
25554 const VkImageSparseMemoryRequirementsInfo232
*pInfo
;
25555 uint32_t *pSparseMemoryRequirementCount
;
25556 VkSparseImageMemoryRequirements232
*pSparseMemoryRequirements
;
25558 VkImageSparseMemoryRequirementsInfo2 pInfo_host
;
25559 VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements_host
;
25560 struct conversion_context ctx
;
25562 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
25564 init_conversion_context(&ctx
);
25565 convert_VkImageSparseMemoryRequirementsInfo2_win32_to_host(params
->pInfo
, &pInfo_host
);
25566 pSparseMemoryRequirements_host
= convert_VkSparseImageMemoryRequirements2_array_win32_to_host(&ctx
, params
->pSparseMemoryRequirements
, *params
->pSparseMemoryRequirementCount
);
25567 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(wine_device_from_handle(params
->device
)->device
, &pInfo_host
, params
->pSparseMemoryRequirementCount
, pSparseMemoryRequirements_host
);
25568 convert_VkSparseImageMemoryRequirements2_array_host_to_win32(pSparseMemoryRequirements_host
, params
->pSparseMemoryRequirements
, *params
->pSparseMemoryRequirementCount
);
25569 free_conversion_context(&ctx
);
25570 return STATUS_SUCCESS
;
25573 #endif /* USE_STRUCT_CONVERSION */
25575 #if !defined(USE_STRUCT_CONVERSION)
25577 static NTSTATUS
thunk64_vkGetImageSubresourceLayout(void *args
)
25579 struct vkGetImageSubresourceLayout_params
*params
= args
;
25581 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSubresource
, params
->pLayout
);
25583 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSubresourceLayout(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pSubresource
, params
->pLayout
);
25584 return STATUS_SUCCESS
;
25587 #else /* USE_STRUCT_CONVERSION */
25589 static NTSTATUS
thunk32_vkGetImageSubresourceLayout(void *args
)
25594 VkImage
DECLSPEC_ALIGN(8) image
;
25595 const VkImageSubresource
*pSubresource
;
25596 VkSubresourceLayout32
*pLayout
;
25598 VkSubresourceLayout pLayout_host
;
25600 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSubresource
, params
->pLayout
);
25602 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSubresourceLayout(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pSubresource
, &pLayout_host
);
25603 convert_VkSubresourceLayout_host_to_win32(&pLayout_host
, params
->pLayout
);
25604 return STATUS_SUCCESS
;
25607 #endif /* USE_STRUCT_CONVERSION */
25609 #if !defined(USE_STRUCT_CONVERSION)
25611 static NTSTATUS
thunk64_vkGetImageSubresourceLayout2EXT(void *args
)
25613 struct vkGetImageSubresourceLayout2EXT_params
*params
= args
;
25615 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSubresource
, params
->pLayout
);
25617 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSubresourceLayout2EXT(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pSubresource
, params
->pLayout
);
25618 return STATUS_SUCCESS
;
25621 #else /* USE_STRUCT_CONVERSION */
25623 static NTSTATUS
thunk32_vkGetImageSubresourceLayout2EXT(void *args
)
25628 VkImage
DECLSPEC_ALIGN(8) image
;
25629 const VkImageSubresource2EXT
*pSubresource
;
25630 VkSubresourceLayout2EXT32
*pLayout
;
25632 VkSubresourceLayout2EXT pLayout_host
;
25634 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSubresource
, params
->pLayout
);
25636 convert_VkSubresourceLayout2EXT_win32_to_host(params
->pLayout
, &pLayout_host
);
25637 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSubresourceLayout2EXT(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pSubresource
, &pLayout_host
);
25638 convert_VkSubresourceLayout2EXT_host_to_win32(&pLayout_host
, params
->pLayout
);
25639 return STATUS_SUCCESS
;
25642 #endif /* USE_STRUCT_CONVERSION */
25644 #if !defined(USE_STRUCT_CONVERSION)
25646 static NTSTATUS
thunk64_vkGetImageViewAddressNVX(void *args
)
25648 struct vkGetImageViewAddressNVX_params
*params
= args
;
25650 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->imageView
), params
->pProperties
);
25652 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageViewAddressNVX(wine_device_from_handle(params
->device
)->device
, params
->imageView
, params
->pProperties
);
25653 return STATUS_SUCCESS
;
25656 #else /* USE_STRUCT_CONVERSION */
25658 static NTSTATUS
thunk32_vkGetImageViewAddressNVX(void *args
)
25663 VkImageView
DECLSPEC_ALIGN(8) imageView
;
25664 VkImageViewAddressPropertiesNVX32
*pProperties
;
25667 VkImageViewAddressPropertiesNVX pProperties_host
;
25669 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->imageView
), params
->pProperties
);
25671 convert_VkImageViewAddressPropertiesNVX_win32_to_host(params
->pProperties
, &pProperties_host
);
25672 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageViewAddressNVX(wine_device_from_handle(params
->device
)->device
, params
->imageView
, &pProperties_host
);
25673 convert_VkImageViewAddressPropertiesNVX_host_to_win32(&pProperties_host
, params
->pProperties
);
25674 return STATUS_SUCCESS
;
25677 #endif /* USE_STRUCT_CONVERSION */
25679 #if !defined(USE_STRUCT_CONVERSION)
25681 static NTSTATUS
thunk64_vkGetImageViewHandleNVX(void *args
)
25683 struct vkGetImageViewHandleNVX_params
*params
= args
;
25685 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
25687 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageViewHandleNVX(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
25688 return STATUS_SUCCESS
;
25691 #else /* USE_STRUCT_CONVERSION */
25693 static NTSTATUS
thunk32_vkGetImageViewHandleNVX(void *args
)
25698 const VkImageViewHandleInfoNVX32
*pInfo
;
25701 VkImageViewHandleInfoNVX pInfo_host
;
25703 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
25705 convert_VkImageViewHandleInfoNVX_win32_to_host(params
->pInfo
, &pInfo_host
);
25706 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageViewHandleNVX(wine_device_from_handle(params
->device
)->device
, &pInfo_host
);
25707 return STATUS_SUCCESS
;
25710 #endif /* USE_STRUCT_CONVERSION */
25712 #if !defined(USE_STRUCT_CONVERSION)
25714 static NTSTATUS
thunk64_vkGetMemoryHostPointerPropertiesEXT(void *args
)
25716 struct vkGetMemoryHostPointerPropertiesEXT_params
*params
= args
;
25718 TRACE("%p, %#x, %p, %p\n", params
->device
, params
->handleType
, params
->pHostPointer
, params
->pMemoryHostPointerProperties
);
25720 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetMemoryHostPointerPropertiesEXT(wine_device_from_handle(params
->device
)->device
, params
->handleType
, params
->pHostPointer
, params
->pMemoryHostPointerProperties
);
25721 return STATUS_SUCCESS
;
25724 #else /* USE_STRUCT_CONVERSION */
25726 static NTSTATUS
thunk32_vkGetMemoryHostPointerPropertiesEXT(void *args
)
25731 VkExternalMemoryHandleTypeFlagBits handleType
;
25732 const void *pHostPointer
;
25733 VkMemoryHostPointerPropertiesEXT
*pMemoryHostPointerProperties
;
25737 TRACE("%p, %#x, %p, %p\n", params
->device
, params
->handleType
, params
->pHostPointer
, params
->pMemoryHostPointerProperties
);
25739 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetMemoryHostPointerPropertiesEXT(wine_device_from_handle(params
->device
)->device
, params
->handleType
, params
->pHostPointer
, params
->pMemoryHostPointerProperties
);
25740 return STATUS_SUCCESS
;
25743 #endif /* USE_STRUCT_CONVERSION */
25745 #if !defined(USE_STRUCT_CONVERSION)
25747 static NTSTATUS
thunk64_vkGetMicromapBuildSizesEXT(void *args
)
25749 struct vkGetMicromapBuildSizesEXT_params
*params
= args
;
25751 TRACE("%p, %#x, %p, %p\n", params
->device
, params
->buildType
, params
->pBuildInfo
, params
->pSizeInfo
);
25753 wine_device_from_handle(params
->device
)->funcs
.p_vkGetMicromapBuildSizesEXT(wine_device_from_handle(params
->device
)->device
, params
->buildType
, params
->pBuildInfo
, params
->pSizeInfo
);
25754 return STATUS_SUCCESS
;
25757 #else /* USE_STRUCT_CONVERSION */
25759 static NTSTATUS
thunk32_vkGetMicromapBuildSizesEXT(void *args
)
25764 VkAccelerationStructureBuildTypeKHR buildType
;
25765 const VkMicromapBuildInfoEXT32
*pBuildInfo
;
25766 VkMicromapBuildSizesInfoEXT32
*pSizeInfo
;
25768 VkMicromapBuildInfoEXT pBuildInfo_host
;
25769 VkMicromapBuildSizesInfoEXT pSizeInfo_host
;
25771 TRACE("%p, %#x, %p, %p\n", params
->device
, params
->buildType
, params
->pBuildInfo
, params
->pSizeInfo
);
25773 convert_VkMicromapBuildInfoEXT_win32_to_host(params
->pBuildInfo
, &pBuildInfo_host
);
25774 convert_VkMicromapBuildSizesInfoEXT_win32_to_host(params
->pSizeInfo
, &pSizeInfo_host
);
25775 wine_device_from_handle(params
->device
)->funcs
.p_vkGetMicromapBuildSizesEXT(wine_device_from_handle(params
->device
)->device
, params
->buildType
, &pBuildInfo_host
, &pSizeInfo_host
);
25776 convert_VkMicromapBuildSizesInfoEXT_host_to_win32(&pSizeInfo_host
, params
->pSizeInfo
);
25777 return STATUS_SUCCESS
;
25780 #endif /* USE_STRUCT_CONVERSION */
25782 #if !defined(USE_STRUCT_CONVERSION)
25784 static NTSTATUS
thunk64_vkGetPerformanceParameterINTEL(void *args
)
25786 struct vkGetPerformanceParameterINTEL_params
*params
= args
;
25788 TRACE("%p, %#x, %p\n", params
->device
, params
->parameter
, params
->pValue
);
25790 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPerformanceParameterINTEL(wine_device_from_handle(params
->device
)->device
, params
->parameter
, params
->pValue
);
25791 return STATUS_SUCCESS
;
25794 #else /* USE_STRUCT_CONVERSION */
25796 static NTSTATUS
thunk32_vkGetPerformanceParameterINTEL(void *args
)
25801 VkPerformanceParameterTypeINTEL parameter
;
25802 VkPerformanceValueINTEL32
*pValue
;
25805 VkPerformanceValueINTEL pValue_host
;
25807 TRACE("%p, %#x, %p\n", params
->device
, params
->parameter
, params
->pValue
);
25809 convert_VkPerformanceValueINTEL_win32_to_host(params
->pValue
, &pValue_host
);
25810 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPerformanceParameterINTEL(wine_device_from_handle(params
->device
)->device
, params
->parameter
, &pValue_host
);
25811 convert_VkPerformanceValueINTEL_host_to_win32(&pValue_host
, params
->pValue
);
25812 return STATUS_SUCCESS
;
25815 #endif /* USE_STRUCT_CONVERSION */
25817 #if !defined(USE_STRUCT_CONVERSION)
25819 static NTSTATUS
thunk64_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(void *args
)
25821 struct vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_params
*params
= args
;
25823 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pTimeDomainCount
, params
->pTimeDomains
);
25825 params
->result
= wine_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(params
->physicalDevice
, params
->pTimeDomainCount
, params
->pTimeDomains
);
25826 return STATUS_SUCCESS
;
25829 #else /* USE_STRUCT_CONVERSION */
25831 static NTSTATUS
thunk32_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(void *args
)
25835 VkPhysicalDevice physicalDevice
;
25836 uint32_t *pTimeDomainCount
;
25837 VkTimeDomainEXT
*pTimeDomains
;
25841 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pTimeDomainCount
, params
->pTimeDomains
);
25843 params
->result
= wine_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(params
->physicalDevice
, params
->pTimeDomainCount
, params
->pTimeDomains
);
25844 return STATUS_SUCCESS
;
25847 #endif /* USE_STRUCT_CONVERSION */
25849 #if !defined(USE_STRUCT_CONVERSION)
25851 static NTSTATUS
thunk64_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(void *args
)
25853 struct vkGetPhysicalDeviceCooperativeMatrixPropertiesNV_params
*params
= args
;
25855 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
25857 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pPropertyCount
, params
->pProperties
);
25858 return STATUS_SUCCESS
;
25861 #else /* USE_STRUCT_CONVERSION */
25863 static NTSTATUS
thunk32_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(void *args
)
25867 VkPhysicalDevice physicalDevice
;
25868 uint32_t *pPropertyCount
;
25869 VkCooperativeMatrixPropertiesNV
*pProperties
;
25873 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
25875 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pPropertyCount
, params
->pProperties
);
25876 return STATUS_SUCCESS
;
25879 #endif /* USE_STRUCT_CONVERSION */
25881 #if !defined(USE_STRUCT_CONVERSION)
25883 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalBufferProperties(void *args
)
25885 struct vkGetPhysicalDeviceExternalBufferProperties_params
*params
= args
;
25887 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
25889 wine_vkGetPhysicalDeviceExternalBufferProperties(params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
25890 return STATUS_SUCCESS
;
25893 #else /* USE_STRUCT_CONVERSION */
25895 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalBufferProperties(void *args
)
25899 VkPhysicalDevice physicalDevice
;
25900 const VkPhysicalDeviceExternalBufferInfo
*pExternalBufferInfo
;
25901 VkExternalBufferProperties
*pExternalBufferProperties
;
25904 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
25906 wine_vkGetPhysicalDeviceExternalBufferProperties(params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
25907 return STATUS_SUCCESS
;
25910 #endif /* USE_STRUCT_CONVERSION */
25912 #if !defined(USE_STRUCT_CONVERSION)
25914 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalBufferPropertiesKHR(void *args
)
25916 struct vkGetPhysicalDeviceExternalBufferPropertiesKHR_params
*params
= args
;
25918 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
25920 wine_vkGetPhysicalDeviceExternalBufferPropertiesKHR(params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
25921 return STATUS_SUCCESS
;
25924 #else /* USE_STRUCT_CONVERSION */
25926 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalBufferPropertiesKHR(void *args
)
25930 VkPhysicalDevice physicalDevice
;
25931 const VkPhysicalDeviceExternalBufferInfo
*pExternalBufferInfo
;
25932 VkExternalBufferProperties
*pExternalBufferProperties
;
25935 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
25937 wine_vkGetPhysicalDeviceExternalBufferPropertiesKHR(params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
25938 return STATUS_SUCCESS
;
25941 #endif /* USE_STRUCT_CONVERSION */
25943 #if !defined(USE_STRUCT_CONVERSION)
25945 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalFenceProperties(void *args
)
25947 struct vkGetPhysicalDeviceExternalFenceProperties_params
*params
= args
;
25949 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
25951 wine_vkGetPhysicalDeviceExternalFenceProperties(params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
25952 return STATUS_SUCCESS
;
25955 #else /* USE_STRUCT_CONVERSION */
25957 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalFenceProperties(void *args
)
25961 VkPhysicalDevice physicalDevice
;
25962 const VkPhysicalDeviceExternalFenceInfo
*pExternalFenceInfo
;
25963 VkExternalFenceProperties
*pExternalFenceProperties
;
25966 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
25968 wine_vkGetPhysicalDeviceExternalFenceProperties(params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
25969 return STATUS_SUCCESS
;
25972 #endif /* USE_STRUCT_CONVERSION */
25974 #if !defined(USE_STRUCT_CONVERSION)
25976 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalFencePropertiesKHR(void *args
)
25978 struct vkGetPhysicalDeviceExternalFencePropertiesKHR_params
*params
= args
;
25980 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
25982 wine_vkGetPhysicalDeviceExternalFencePropertiesKHR(params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
25983 return STATUS_SUCCESS
;
25986 #else /* USE_STRUCT_CONVERSION */
25988 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalFencePropertiesKHR(void *args
)
25992 VkPhysicalDevice physicalDevice
;
25993 const VkPhysicalDeviceExternalFenceInfo
*pExternalFenceInfo
;
25994 VkExternalFenceProperties
*pExternalFenceProperties
;
25997 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
25999 wine_vkGetPhysicalDeviceExternalFencePropertiesKHR(params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
26000 return STATUS_SUCCESS
;
26003 #endif /* USE_STRUCT_CONVERSION */
26005 #if !defined(USE_STRUCT_CONVERSION)
26007 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalSemaphoreProperties(void *args
)
26009 struct vkGetPhysicalDeviceExternalSemaphoreProperties_params
*params
= args
;
26011 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
26013 wine_vkGetPhysicalDeviceExternalSemaphoreProperties(params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
26014 return STATUS_SUCCESS
;
26017 #else /* USE_STRUCT_CONVERSION */
26019 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalSemaphoreProperties(void *args
)
26023 VkPhysicalDevice physicalDevice
;
26024 const VkPhysicalDeviceExternalSemaphoreInfo
*pExternalSemaphoreInfo
;
26025 VkExternalSemaphoreProperties
*pExternalSemaphoreProperties
;
26027 VkPhysicalDeviceExternalSemaphoreInfo pExternalSemaphoreInfo_host
;
26028 struct conversion_context ctx
;
26030 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
26032 init_conversion_context(&ctx
);
26033 convert_VkPhysicalDeviceExternalSemaphoreInfo_win32_to_host(&ctx
, params
->pExternalSemaphoreInfo
, &pExternalSemaphoreInfo_host
);
26034 wine_vkGetPhysicalDeviceExternalSemaphoreProperties(params
->physicalDevice
, &pExternalSemaphoreInfo_host
, params
->pExternalSemaphoreProperties
);
26035 free_conversion_context(&ctx
);
26036 return STATUS_SUCCESS
;
26039 #endif /* USE_STRUCT_CONVERSION */
26041 #if !defined(USE_STRUCT_CONVERSION)
26043 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(void *args
)
26045 struct vkGetPhysicalDeviceExternalSemaphorePropertiesKHR_params
*params
= args
;
26047 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
26049 wine_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
26050 return STATUS_SUCCESS
;
26053 #else /* USE_STRUCT_CONVERSION */
26055 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(void *args
)
26059 VkPhysicalDevice physicalDevice
;
26060 const VkPhysicalDeviceExternalSemaphoreInfo
*pExternalSemaphoreInfo
;
26061 VkExternalSemaphoreProperties
*pExternalSemaphoreProperties
;
26063 VkPhysicalDeviceExternalSemaphoreInfo pExternalSemaphoreInfo_host
;
26064 struct conversion_context ctx
;
26066 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
26068 init_conversion_context(&ctx
);
26069 convert_VkPhysicalDeviceExternalSemaphoreInfo_win32_to_host(&ctx
, params
->pExternalSemaphoreInfo
, &pExternalSemaphoreInfo_host
);
26070 wine_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(params
->physicalDevice
, &pExternalSemaphoreInfo_host
, params
->pExternalSemaphoreProperties
);
26071 free_conversion_context(&ctx
);
26072 return STATUS_SUCCESS
;
26075 #endif /* USE_STRUCT_CONVERSION */
26077 #if !defined(USE_STRUCT_CONVERSION)
26079 static NTSTATUS
thunk64_vkGetPhysicalDeviceFeatures(void *args
)
26081 struct vkGetPhysicalDeviceFeatures_params
*params
= args
;
26083 TRACE("%p, %p\n", params
->physicalDevice
, params
->pFeatures
);
26085 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFeatures(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFeatures
);
26086 return STATUS_SUCCESS
;
26089 #else /* USE_STRUCT_CONVERSION */
26091 static NTSTATUS
thunk32_vkGetPhysicalDeviceFeatures(void *args
)
26095 VkPhysicalDevice physicalDevice
;
26096 VkPhysicalDeviceFeatures
*pFeatures
;
26099 TRACE("%p, %p\n", params
->physicalDevice
, params
->pFeatures
);
26101 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFeatures(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFeatures
);
26102 return STATUS_SUCCESS
;
26105 #endif /* USE_STRUCT_CONVERSION */
26107 #if !defined(USE_STRUCT_CONVERSION)
26109 static NTSTATUS
thunk64_vkGetPhysicalDeviceFeatures2(void *args
)
26111 struct vkGetPhysicalDeviceFeatures2_params
*params
= args
;
26113 TRACE("%p, %p\n", params
->physicalDevice
, params
->pFeatures
);
26115 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFeatures
);
26116 return STATUS_SUCCESS
;
26119 #else /* USE_STRUCT_CONVERSION */
26121 static NTSTATUS
thunk32_vkGetPhysicalDeviceFeatures2(void *args
)
26125 VkPhysicalDevice physicalDevice
;
26126 VkPhysicalDeviceFeatures2
*pFeatures
;
26129 TRACE("%p, %p\n", params
->physicalDevice
, params
->pFeatures
);
26131 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFeatures
);
26132 return STATUS_SUCCESS
;
26135 #endif /* USE_STRUCT_CONVERSION */
26137 #if !defined(USE_STRUCT_CONVERSION)
26139 static NTSTATUS
thunk64_vkGetPhysicalDeviceFeatures2KHR(void *args
)
26141 struct vkGetPhysicalDeviceFeatures2KHR_params
*params
= args
;
26143 TRACE("%p, %p\n", params
->physicalDevice
, params
->pFeatures
);
26145 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFeatures
);
26146 return STATUS_SUCCESS
;
26149 #else /* USE_STRUCT_CONVERSION */
26151 static NTSTATUS
thunk32_vkGetPhysicalDeviceFeatures2KHR(void *args
)
26155 VkPhysicalDevice physicalDevice
;
26156 VkPhysicalDeviceFeatures2
*pFeatures
;
26159 TRACE("%p, %p\n", params
->physicalDevice
, params
->pFeatures
);
26161 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFeatures
);
26162 return STATUS_SUCCESS
;
26165 #endif /* USE_STRUCT_CONVERSION */
26167 #if !defined(USE_STRUCT_CONVERSION)
26169 static NTSTATUS
thunk64_vkGetPhysicalDeviceFormatProperties(void *args
)
26171 struct vkGetPhysicalDeviceFormatProperties_params
*params
= args
;
26173 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
26175 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->pFormatProperties
);
26176 return STATUS_SUCCESS
;
26179 #else /* USE_STRUCT_CONVERSION */
26181 static NTSTATUS
thunk32_vkGetPhysicalDeviceFormatProperties(void *args
)
26185 VkPhysicalDevice physicalDevice
;
26187 VkFormatProperties
*pFormatProperties
;
26190 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
26192 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->pFormatProperties
);
26193 return STATUS_SUCCESS
;
26196 #endif /* USE_STRUCT_CONVERSION */
26198 #if !defined(USE_STRUCT_CONVERSION)
26200 static NTSTATUS
thunk64_vkGetPhysicalDeviceFormatProperties2(void *args
)
26202 struct vkGetPhysicalDeviceFormatProperties2_params
*params
= args
;
26204 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
26206 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->pFormatProperties
);
26207 return STATUS_SUCCESS
;
26210 #else /* USE_STRUCT_CONVERSION */
26212 static NTSTATUS
thunk32_vkGetPhysicalDeviceFormatProperties2(void *args
)
26216 VkPhysicalDevice physicalDevice
;
26218 VkFormatProperties2
*pFormatProperties
;
26221 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
26223 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->pFormatProperties
);
26224 return STATUS_SUCCESS
;
26227 #endif /* USE_STRUCT_CONVERSION */
26229 #if !defined(USE_STRUCT_CONVERSION)
26231 static NTSTATUS
thunk64_vkGetPhysicalDeviceFormatProperties2KHR(void *args
)
26233 struct vkGetPhysicalDeviceFormatProperties2KHR_params
*params
= args
;
26235 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
26237 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->pFormatProperties
);
26238 return STATUS_SUCCESS
;
26241 #else /* USE_STRUCT_CONVERSION */
26243 static NTSTATUS
thunk32_vkGetPhysicalDeviceFormatProperties2KHR(void *args
)
26247 VkPhysicalDevice physicalDevice
;
26249 VkFormatProperties2
*pFormatProperties
;
26252 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
26254 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->pFormatProperties
);
26255 return STATUS_SUCCESS
;
26258 #endif /* USE_STRUCT_CONVERSION */
26260 #if !defined(USE_STRUCT_CONVERSION)
26262 static NTSTATUS
thunk64_vkGetPhysicalDeviceFragmentShadingRatesKHR(void *args
)
26264 struct vkGetPhysicalDeviceFragmentShadingRatesKHR_params
*params
= args
;
26266 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pFragmentShadingRateCount
, params
->pFragmentShadingRates
);
26268 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFragmentShadingRatesKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFragmentShadingRateCount
, params
->pFragmentShadingRates
);
26269 return STATUS_SUCCESS
;
26272 #else /* USE_STRUCT_CONVERSION */
26274 static NTSTATUS
thunk32_vkGetPhysicalDeviceFragmentShadingRatesKHR(void *args
)
26278 VkPhysicalDevice physicalDevice
;
26279 uint32_t *pFragmentShadingRateCount
;
26280 VkPhysicalDeviceFragmentShadingRateKHR
*pFragmentShadingRates
;
26284 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pFragmentShadingRateCount
, params
->pFragmentShadingRates
);
26286 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFragmentShadingRatesKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFragmentShadingRateCount
, params
->pFragmentShadingRates
);
26287 return STATUS_SUCCESS
;
26290 #endif /* USE_STRUCT_CONVERSION */
26292 #if !defined(USE_STRUCT_CONVERSION)
26294 static NTSTATUS
thunk64_vkGetPhysicalDeviceImageFormatProperties(void *args
)
26296 struct vkGetPhysicalDeviceImageFormatProperties_params
*params
= args
;
26298 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->type
, params
->tiling
, params
->usage
, params
->flags
, params
->pImageFormatProperties
);
26300 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->type
, params
->tiling
, params
->usage
, params
->flags
, params
->pImageFormatProperties
);
26301 return STATUS_SUCCESS
;
26304 #else /* USE_STRUCT_CONVERSION */
26306 static NTSTATUS
thunk32_vkGetPhysicalDeviceImageFormatProperties(void *args
)
26310 VkPhysicalDevice physicalDevice
;
26313 VkImageTiling tiling
;
26314 VkImageUsageFlags usage
;
26315 VkImageCreateFlags flags
;
26316 VkImageFormatProperties32
*pImageFormatProperties
;
26319 VkImageFormatProperties pImageFormatProperties_host
;
26321 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->type
, params
->tiling
, params
->usage
, params
->flags
, params
->pImageFormatProperties
);
26323 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->type
, params
->tiling
, params
->usage
, params
->flags
, &pImageFormatProperties_host
);
26324 convert_VkImageFormatProperties_host_to_win32(&pImageFormatProperties_host
, params
->pImageFormatProperties
);
26325 return STATUS_SUCCESS
;
26328 #endif /* USE_STRUCT_CONVERSION */
26330 #if !defined(USE_STRUCT_CONVERSION)
26332 static NTSTATUS
thunk64_vkGetPhysicalDeviceImageFormatProperties2(void *args
)
26334 struct vkGetPhysicalDeviceImageFormatProperties2_params
*params
= args
;
26336 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
26338 params
->result
= wine_vkGetPhysicalDeviceImageFormatProperties2(params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
26339 return STATUS_SUCCESS
;
26342 #else /* USE_STRUCT_CONVERSION */
26344 static NTSTATUS
thunk32_vkGetPhysicalDeviceImageFormatProperties2(void *args
)
26348 VkPhysicalDevice physicalDevice
;
26349 const VkPhysicalDeviceImageFormatInfo2
*pImageFormatInfo
;
26350 VkImageFormatProperties232
*pImageFormatProperties
;
26353 VkImageFormatProperties2 pImageFormatProperties_host
;
26355 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
26357 convert_VkImageFormatProperties2_win32_to_host(params
->pImageFormatProperties
, &pImageFormatProperties_host
);
26358 params
->result
= wine_vkGetPhysicalDeviceImageFormatProperties2(params
->physicalDevice
, params
->pImageFormatInfo
, &pImageFormatProperties_host
);
26359 convert_VkImageFormatProperties2_host_to_win32(&pImageFormatProperties_host
, params
->pImageFormatProperties
);
26360 return STATUS_SUCCESS
;
26363 #endif /* USE_STRUCT_CONVERSION */
26365 #if !defined(USE_STRUCT_CONVERSION)
26367 static NTSTATUS
thunk64_vkGetPhysicalDeviceImageFormatProperties2KHR(void *args
)
26369 struct vkGetPhysicalDeviceImageFormatProperties2KHR_params
*params
= args
;
26371 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
26373 params
->result
= wine_vkGetPhysicalDeviceImageFormatProperties2KHR(params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
26374 return STATUS_SUCCESS
;
26377 #else /* USE_STRUCT_CONVERSION */
26379 static NTSTATUS
thunk32_vkGetPhysicalDeviceImageFormatProperties2KHR(void *args
)
26383 VkPhysicalDevice physicalDevice
;
26384 const VkPhysicalDeviceImageFormatInfo2
*pImageFormatInfo
;
26385 VkImageFormatProperties232
*pImageFormatProperties
;
26388 VkImageFormatProperties2 pImageFormatProperties_host
;
26390 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
26392 convert_VkImageFormatProperties2_win32_to_host(params
->pImageFormatProperties
, &pImageFormatProperties_host
);
26393 params
->result
= wine_vkGetPhysicalDeviceImageFormatProperties2KHR(params
->physicalDevice
, params
->pImageFormatInfo
, &pImageFormatProperties_host
);
26394 convert_VkImageFormatProperties2_host_to_win32(&pImageFormatProperties_host
, params
->pImageFormatProperties
);
26395 return STATUS_SUCCESS
;
26398 #endif /* USE_STRUCT_CONVERSION */
26400 #if !defined(USE_STRUCT_CONVERSION)
26402 static NTSTATUS
thunk64_vkGetPhysicalDeviceMemoryProperties(void *args
)
26404 struct vkGetPhysicalDeviceMemoryProperties_params
*params
= args
;
26406 TRACE("%p, %p\n", params
->physicalDevice
, params
->pMemoryProperties
);
26408 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pMemoryProperties
);
26409 return STATUS_SUCCESS
;
26412 #else /* USE_STRUCT_CONVERSION */
26414 static NTSTATUS
thunk32_vkGetPhysicalDeviceMemoryProperties(void *args
)
26418 VkPhysicalDevice physicalDevice
;
26419 VkPhysicalDeviceMemoryProperties32
*pMemoryProperties
;
26421 VkPhysicalDeviceMemoryProperties pMemoryProperties_host
;
26423 TRACE("%p, %p\n", params
->physicalDevice
, params
->pMemoryProperties
);
26425 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, &pMemoryProperties_host
);
26426 convert_VkPhysicalDeviceMemoryProperties_host_to_win32(&pMemoryProperties_host
, params
->pMemoryProperties
);
26427 return STATUS_SUCCESS
;
26430 #endif /* USE_STRUCT_CONVERSION */
26432 #if !defined(USE_STRUCT_CONVERSION)
26434 static NTSTATUS
thunk64_vkGetPhysicalDeviceMemoryProperties2(void *args
)
26436 struct vkGetPhysicalDeviceMemoryProperties2_params
*params
= args
;
26438 TRACE("%p, %p\n", params
->physicalDevice
, params
->pMemoryProperties
);
26440 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pMemoryProperties
);
26441 return STATUS_SUCCESS
;
26444 #else /* USE_STRUCT_CONVERSION */
26446 static NTSTATUS
thunk32_vkGetPhysicalDeviceMemoryProperties2(void *args
)
26450 VkPhysicalDevice physicalDevice
;
26451 VkPhysicalDeviceMemoryProperties232
*pMemoryProperties
;
26453 VkPhysicalDeviceMemoryProperties2 pMemoryProperties_host
;
26454 struct conversion_context ctx
;
26456 TRACE("%p, %p\n", params
->physicalDevice
, params
->pMemoryProperties
);
26458 init_conversion_context(&ctx
);
26459 convert_VkPhysicalDeviceMemoryProperties2_win32_to_host(&ctx
, params
->pMemoryProperties
, &pMemoryProperties_host
);
26460 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, &pMemoryProperties_host
);
26461 convert_VkPhysicalDeviceMemoryProperties2_host_to_win32(&pMemoryProperties_host
, params
->pMemoryProperties
);
26462 free_conversion_context(&ctx
);
26463 return STATUS_SUCCESS
;
26466 #endif /* USE_STRUCT_CONVERSION */
26468 #if !defined(USE_STRUCT_CONVERSION)
26470 static NTSTATUS
thunk64_vkGetPhysicalDeviceMemoryProperties2KHR(void *args
)
26472 struct vkGetPhysicalDeviceMemoryProperties2KHR_params
*params
= args
;
26474 TRACE("%p, %p\n", params
->physicalDevice
, params
->pMemoryProperties
);
26476 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pMemoryProperties
);
26477 return STATUS_SUCCESS
;
26480 #else /* USE_STRUCT_CONVERSION */
26482 static NTSTATUS
thunk32_vkGetPhysicalDeviceMemoryProperties2KHR(void *args
)
26486 VkPhysicalDevice physicalDevice
;
26487 VkPhysicalDeviceMemoryProperties232
*pMemoryProperties
;
26489 VkPhysicalDeviceMemoryProperties2 pMemoryProperties_host
;
26490 struct conversion_context ctx
;
26492 TRACE("%p, %p\n", params
->physicalDevice
, params
->pMemoryProperties
);
26494 init_conversion_context(&ctx
);
26495 convert_VkPhysicalDeviceMemoryProperties2_win32_to_host(&ctx
, params
->pMemoryProperties
, &pMemoryProperties_host
);
26496 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, &pMemoryProperties_host
);
26497 convert_VkPhysicalDeviceMemoryProperties2_host_to_win32(&pMemoryProperties_host
, params
->pMemoryProperties
);
26498 free_conversion_context(&ctx
);
26499 return STATUS_SUCCESS
;
26502 #endif /* USE_STRUCT_CONVERSION */
26504 #if !defined(USE_STRUCT_CONVERSION)
26506 static NTSTATUS
thunk64_vkGetPhysicalDeviceMultisamplePropertiesEXT(void *args
)
26508 struct vkGetPhysicalDeviceMultisamplePropertiesEXT_params
*params
= args
;
26510 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->samples
, params
->pMultisampleProperties
);
26512 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMultisamplePropertiesEXT(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->samples
, params
->pMultisampleProperties
);
26513 return STATUS_SUCCESS
;
26516 #else /* USE_STRUCT_CONVERSION */
26518 static NTSTATUS
thunk32_vkGetPhysicalDeviceMultisamplePropertiesEXT(void *args
)
26522 VkPhysicalDevice physicalDevice
;
26523 VkSampleCountFlagBits samples
;
26524 VkMultisamplePropertiesEXT
*pMultisampleProperties
;
26527 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->samples
, params
->pMultisampleProperties
);
26529 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMultisamplePropertiesEXT(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->samples
, params
->pMultisampleProperties
);
26530 return STATUS_SUCCESS
;
26533 #endif /* USE_STRUCT_CONVERSION */
26535 #if !defined(USE_STRUCT_CONVERSION)
26537 static NTSTATUS
thunk64_vkGetPhysicalDeviceOpticalFlowImageFormatsNV(void *args
)
26539 struct vkGetPhysicalDeviceOpticalFlowImageFormatsNV_params
*params
= args
;
26541 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pOpticalFlowImageFormatInfo
, params
->pFormatCount
, params
->pImageFormatProperties
);
26543 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceOpticalFlowImageFormatsNV(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pOpticalFlowImageFormatInfo
, params
->pFormatCount
, params
->pImageFormatProperties
);
26544 return STATUS_SUCCESS
;
26547 #else /* USE_STRUCT_CONVERSION */
26549 static NTSTATUS
thunk32_vkGetPhysicalDeviceOpticalFlowImageFormatsNV(void *args
)
26553 VkPhysicalDevice physicalDevice
;
26554 const VkOpticalFlowImageFormatInfoNV
*pOpticalFlowImageFormatInfo
;
26555 uint32_t *pFormatCount
;
26556 VkOpticalFlowImageFormatPropertiesNV
*pImageFormatProperties
;
26560 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pOpticalFlowImageFormatInfo
, params
->pFormatCount
, params
->pImageFormatProperties
);
26562 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceOpticalFlowImageFormatsNV(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pOpticalFlowImageFormatInfo
, params
->pFormatCount
, params
->pImageFormatProperties
);
26563 return STATUS_SUCCESS
;
26566 #endif /* USE_STRUCT_CONVERSION */
26568 #if !defined(USE_STRUCT_CONVERSION)
26570 static NTSTATUS
thunk64_vkGetPhysicalDevicePresentRectanglesKHR(void *args
)
26572 struct vkGetPhysicalDevicePresentRectanglesKHR_params
*params
= args
;
26574 TRACE("%p, 0x%s, %p, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pRectCount
, params
->pRects
);
26576 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDevicePresentRectanglesKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pRectCount
, params
->pRects
);
26577 return STATUS_SUCCESS
;
26580 #else /* USE_STRUCT_CONVERSION */
26582 static NTSTATUS
thunk32_vkGetPhysicalDevicePresentRectanglesKHR(void *args
)
26586 VkPhysicalDevice physicalDevice
;
26587 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
26588 uint32_t *pRectCount
;
26593 TRACE("%p, 0x%s, %p, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pRectCount
, params
->pRects
);
26595 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDevicePresentRectanglesKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pRectCount
, params
->pRects
);
26596 return STATUS_SUCCESS
;
26599 #endif /* USE_STRUCT_CONVERSION */
26601 #if !defined(USE_STRUCT_CONVERSION)
26603 static NTSTATUS
thunk64_vkGetPhysicalDeviceProperties(void *args
)
26605 struct vkGetPhysicalDeviceProperties_params
*params
= args
;
26607 TRACE("%p, %p\n", params
->physicalDevice
, params
->pProperties
);
26609 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pProperties
);
26610 return STATUS_SUCCESS
;
26613 #else /* USE_STRUCT_CONVERSION */
26615 static NTSTATUS
thunk32_vkGetPhysicalDeviceProperties(void *args
)
26619 VkPhysicalDevice physicalDevice
;
26620 VkPhysicalDeviceProperties32
*pProperties
;
26622 VkPhysicalDeviceProperties pProperties_host
;
26624 TRACE("%p, %p\n", params
->physicalDevice
, params
->pProperties
);
26626 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, &pProperties_host
);
26627 convert_VkPhysicalDeviceProperties_host_to_win32(&pProperties_host
, params
->pProperties
);
26628 return STATUS_SUCCESS
;
26631 #endif /* USE_STRUCT_CONVERSION */
26633 #if !defined(USE_STRUCT_CONVERSION)
26635 static NTSTATUS
thunk64_vkGetPhysicalDeviceProperties2(void *args
)
26637 struct vkGetPhysicalDeviceProperties2_params
*params
= args
;
26639 TRACE("%p, %p\n", params
->physicalDevice
, params
->pProperties
);
26641 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pProperties
);
26642 return STATUS_SUCCESS
;
26645 #else /* USE_STRUCT_CONVERSION */
26647 static NTSTATUS
thunk32_vkGetPhysicalDeviceProperties2(void *args
)
26651 VkPhysicalDevice physicalDevice
;
26652 VkPhysicalDeviceProperties232
*pProperties
;
26654 VkPhysicalDeviceProperties2 pProperties_host
;
26655 struct conversion_context ctx
;
26657 TRACE("%p, %p\n", params
->physicalDevice
, params
->pProperties
);
26659 init_conversion_context(&ctx
);
26660 convert_VkPhysicalDeviceProperties2_win32_to_host(&ctx
, params
->pProperties
, &pProperties_host
);
26661 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, &pProperties_host
);
26662 convert_VkPhysicalDeviceProperties2_host_to_win32(&pProperties_host
, params
->pProperties
);
26663 free_conversion_context(&ctx
);
26664 return STATUS_SUCCESS
;
26667 #endif /* USE_STRUCT_CONVERSION */
26669 #if !defined(USE_STRUCT_CONVERSION)
26671 static NTSTATUS
thunk64_vkGetPhysicalDeviceProperties2KHR(void *args
)
26673 struct vkGetPhysicalDeviceProperties2KHR_params
*params
= args
;
26675 TRACE("%p, %p\n", params
->physicalDevice
, params
->pProperties
);
26677 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pProperties
);
26678 return STATUS_SUCCESS
;
26681 #else /* USE_STRUCT_CONVERSION */
26683 static NTSTATUS
thunk32_vkGetPhysicalDeviceProperties2KHR(void *args
)
26687 VkPhysicalDevice physicalDevice
;
26688 VkPhysicalDeviceProperties232
*pProperties
;
26690 VkPhysicalDeviceProperties2 pProperties_host
;
26691 struct conversion_context ctx
;
26693 TRACE("%p, %p\n", params
->physicalDevice
, params
->pProperties
);
26695 init_conversion_context(&ctx
);
26696 convert_VkPhysicalDeviceProperties2_win32_to_host(&ctx
, params
->pProperties
, &pProperties_host
);
26697 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, &pProperties_host
);
26698 convert_VkPhysicalDeviceProperties2_host_to_win32(&pProperties_host
, params
->pProperties
);
26699 free_conversion_context(&ctx
);
26700 return STATUS_SUCCESS
;
26703 #endif /* USE_STRUCT_CONVERSION */
26705 #if !defined(USE_STRUCT_CONVERSION)
26707 static NTSTATUS
thunk64_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(void *args
)
26709 struct vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR_params
*params
= args
;
26711 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pPerformanceQueryCreateInfo
, params
->pNumPasses
);
26713 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pPerformanceQueryCreateInfo
, params
->pNumPasses
);
26714 return STATUS_SUCCESS
;
26717 #else /* USE_STRUCT_CONVERSION */
26719 static NTSTATUS
thunk32_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(void *args
)
26723 VkPhysicalDevice physicalDevice
;
26724 const VkQueryPoolPerformanceCreateInfoKHR
*pPerformanceQueryCreateInfo
;
26725 uint32_t *pNumPasses
;
26728 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pPerformanceQueryCreateInfo
, params
->pNumPasses
);
26730 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pPerformanceQueryCreateInfo
, params
->pNumPasses
);
26731 return STATUS_SUCCESS
;
26734 #endif /* USE_STRUCT_CONVERSION */
26736 #if !defined(USE_STRUCT_CONVERSION)
26738 static NTSTATUS
thunk64_vkGetPhysicalDeviceQueueFamilyProperties(void *args
)
26740 struct vkGetPhysicalDeviceQueueFamilyProperties_params
*params
= args
;
26742 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26744 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26745 return STATUS_SUCCESS
;
26748 #else /* USE_STRUCT_CONVERSION */
26750 static NTSTATUS
thunk32_vkGetPhysicalDeviceQueueFamilyProperties(void *args
)
26754 VkPhysicalDevice physicalDevice
;
26755 uint32_t *pQueueFamilyPropertyCount
;
26756 VkQueueFamilyProperties
*pQueueFamilyProperties
;
26759 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26761 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26762 return STATUS_SUCCESS
;
26765 #endif /* USE_STRUCT_CONVERSION */
26767 #if !defined(USE_STRUCT_CONVERSION)
26769 static NTSTATUS
thunk64_vkGetPhysicalDeviceQueueFamilyProperties2(void *args
)
26771 struct vkGetPhysicalDeviceQueueFamilyProperties2_params
*params
= args
;
26773 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26775 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26776 return STATUS_SUCCESS
;
26779 #else /* USE_STRUCT_CONVERSION */
26781 static NTSTATUS
thunk32_vkGetPhysicalDeviceQueueFamilyProperties2(void *args
)
26785 VkPhysicalDevice physicalDevice
;
26786 uint32_t *pQueueFamilyPropertyCount
;
26787 VkQueueFamilyProperties2
*pQueueFamilyProperties
;
26790 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26792 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26793 return STATUS_SUCCESS
;
26796 #endif /* USE_STRUCT_CONVERSION */
26798 #if !defined(USE_STRUCT_CONVERSION)
26800 static NTSTATUS
thunk64_vkGetPhysicalDeviceQueueFamilyProperties2KHR(void *args
)
26802 struct vkGetPhysicalDeviceQueueFamilyProperties2KHR_params
*params
= args
;
26804 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26806 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26807 return STATUS_SUCCESS
;
26810 #else /* USE_STRUCT_CONVERSION */
26812 static NTSTATUS
thunk32_vkGetPhysicalDeviceQueueFamilyProperties2KHR(void *args
)
26816 VkPhysicalDevice physicalDevice
;
26817 uint32_t *pQueueFamilyPropertyCount
;
26818 VkQueueFamilyProperties2
*pQueueFamilyProperties
;
26821 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26823 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
26824 return STATUS_SUCCESS
;
26827 #endif /* USE_STRUCT_CONVERSION */
26829 #if !defined(USE_STRUCT_CONVERSION)
26831 static NTSTATUS
thunk64_vkGetPhysicalDeviceSparseImageFormatProperties(void *args
)
26833 struct vkGetPhysicalDeviceSparseImageFormatProperties_params
*params
= args
;
26835 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p, %p\n", params
->physicalDevice
, params
->format
, params
->type
, params
->samples
, params
->usage
, params
->tiling
, params
->pPropertyCount
, params
->pProperties
);
26837 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->type
, params
->samples
, params
->usage
, params
->tiling
, params
->pPropertyCount
, params
->pProperties
);
26838 return STATUS_SUCCESS
;
26841 #else /* USE_STRUCT_CONVERSION */
26843 static NTSTATUS
thunk32_vkGetPhysicalDeviceSparseImageFormatProperties(void *args
)
26847 VkPhysicalDevice physicalDevice
;
26850 VkSampleCountFlagBits samples
;
26851 VkImageUsageFlags usage
;
26852 VkImageTiling tiling
;
26853 uint32_t *pPropertyCount
;
26854 VkSparseImageFormatProperties
*pProperties
;
26857 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p, %p\n", params
->physicalDevice
, params
->format
, params
->type
, params
->samples
, params
->usage
, params
->tiling
, params
->pPropertyCount
, params
->pProperties
);
26859 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->type
, params
->samples
, params
->usage
, params
->tiling
, params
->pPropertyCount
, params
->pProperties
);
26860 return STATUS_SUCCESS
;
26863 #endif /* USE_STRUCT_CONVERSION */
26865 #if !defined(USE_STRUCT_CONVERSION)
26867 static NTSTATUS
thunk64_vkGetPhysicalDeviceSparseImageFormatProperties2(void *args
)
26869 struct vkGetPhysicalDeviceSparseImageFormatProperties2_params
*params
= args
;
26871 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
26873 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
26874 return STATUS_SUCCESS
;
26877 #else /* USE_STRUCT_CONVERSION */
26879 static NTSTATUS
thunk32_vkGetPhysicalDeviceSparseImageFormatProperties2(void *args
)
26883 VkPhysicalDevice physicalDevice
;
26884 const VkPhysicalDeviceSparseImageFormatInfo2
*pFormatInfo
;
26885 uint32_t *pPropertyCount
;
26886 VkSparseImageFormatProperties2
*pProperties
;
26889 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
26891 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
26892 return STATUS_SUCCESS
;
26895 #endif /* USE_STRUCT_CONVERSION */
26897 #if !defined(USE_STRUCT_CONVERSION)
26899 static NTSTATUS
thunk64_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(void *args
)
26901 struct vkGetPhysicalDeviceSparseImageFormatProperties2KHR_params
*params
= args
;
26903 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
26905 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
26906 return STATUS_SUCCESS
;
26909 #else /* USE_STRUCT_CONVERSION */
26911 static NTSTATUS
thunk32_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(void *args
)
26915 VkPhysicalDevice physicalDevice
;
26916 const VkPhysicalDeviceSparseImageFormatInfo2
*pFormatInfo
;
26917 uint32_t *pPropertyCount
;
26918 VkSparseImageFormatProperties2
*pProperties
;
26921 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
26923 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
26924 return STATUS_SUCCESS
;
26927 #endif /* USE_STRUCT_CONVERSION */
26929 #if !defined(USE_STRUCT_CONVERSION)
26931 static NTSTATUS
thunk64_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(void *args
)
26933 struct vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV_params
*params
= args
;
26935 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pCombinationCount
, params
->pCombinations
);
26937 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pCombinationCount
, params
->pCombinations
);
26938 return STATUS_SUCCESS
;
26941 #else /* USE_STRUCT_CONVERSION */
26943 static NTSTATUS
thunk32_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(void *args
)
26947 VkPhysicalDevice physicalDevice
;
26948 uint32_t *pCombinationCount
;
26949 VkFramebufferMixedSamplesCombinationNV
*pCombinations
;
26953 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pCombinationCount
, params
->pCombinations
);
26955 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pCombinationCount
, params
->pCombinations
);
26956 return STATUS_SUCCESS
;
26959 #endif /* USE_STRUCT_CONVERSION */
26961 #if !defined(USE_STRUCT_CONVERSION)
26963 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceCapabilities2KHR(void *args
)
26965 struct vkGetPhysicalDeviceSurfaceCapabilities2KHR_params
*params
= args
;
26967 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceCapabilities
);
26969 params
->result
= wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR(params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceCapabilities
);
26970 return STATUS_SUCCESS
;
26973 #else /* USE_STRUCT_CONVERSION */
26975 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceCapabilities2KHR(void *args
)
26979 VkPhysicalDevice physicalDevice
;
26980 const VkPhysicalDeviceSurfaceInfo2KHR32
*pSurfaceInfo
;
26981 VkSurfaceCapabilities2KHR
*pSurfaceCapabilities
;
26984 VkPhysicalDeviceSurfaceInfo2KHR pSurfaceInfo_host
;
26986 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceCapabilities
);
26988 convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host(params
->pSurfaceInfo
, &pSurfaceInfo_host
);
26989 params
->result
= wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR(params
->physicalDevice
, &pSurfaceInfo_host
, params
->pSurfaceCapabilities
);
26990 return STATUS_SUCCESS
;
26993 #endif /* USE_STRUCT_CONVERSION */
26995 #if !defined(USE_STRUCT_CONVERSION)
26997 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(void *args
)
26999 struct vkGetPhysicalDeviceSurfaceCapabilitiesKHR_params
*params
= args
;
27001 TRACE("%p, 0x%s, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pSurfaceCapabilities
);
27003 params
->result
= wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(params
->physicalDevice
, params
->surface
, params
->pSurfaceCapabilities
);
27004 return STATUS_SUCCESS
;
27007 #else /* USE_STRUCT_CONVERSION */
27009 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(void *args
)
27013 VkPhysicalDevice physicalDevice
;
27014 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
27015 VkSurfaceCapabilitiesKHR
*pSurfaceCapabilities
;
27019 TRACE("%p, 0x%s, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pSurfaceCapabilities
);
27021 params
->result
= wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(params
->physicalDevice
, params
->surface
, params
->pSurfaceCapabilities
);
27022 return STATUS_SUCCESS
;
27025 #endif /* USE_STRUCT_CONVERSION */
27027 #if !defined(USE_STRUCT_CONVERSION)
27029 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceFormats2KHR(void *args
)
27031 struct vkGetPhysicalDeviceSurfaceFormats2KHR_params
*params
= args
;
27032 VkPhysicalDeviceSurfaceInfo2KHR pSurfaceInfo_host
;
27034 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
27036 convert_VkPhysicalDeviceSurfaceInfo2KHR_win64_to_host(params
->pSurfaceInfo
, &pSurfaceInfo_host
);
27037 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormats2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, &pSurfaceInfo_host
, params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
27038 return STATUS_SUCCESS
;
27041 #else /* USE_STRUCT_CONVERSION */
27043 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceFormats2KHR(void *args
)
27047 VkPhysicalDevice physicalDevice
;
27048 const VkPhysicalDeviceSurfaceInfo2KHR32
*pSurfaceInfo
;
27049 uint32_t *pSurfaceFormatCount
;
27050 VkSurfaceFormat2KHR
*pSurfaceFormats
;
27053 VkPhysicalDeviceSurfaceInfo2KHR pSurfaceInfo_host
;
27055 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
27057 convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host(params
->pSurfaceInfo
, &pSurfaceInfo_host
);
27058 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormats2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, &pSurfaceInfo_host
, params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
27059 return STATUS_SUCCESS
;
27062 #endif /* USE_STRUCT_CONVERSION */
27064 #if !defined(USE_STRUCT_CONVERSION)
27066 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceFormatsKHR(void *args
)
27068 struct vkGetPhysicalDeviceSurfaceFormatsKHR_params
*params
= args
;
27070 TRACE("%p, 0x%s, %p, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
27072 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormatsKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
27073 return STATUS_SUCCESS
;
27076 #else /* USE_STRUCT_CONVERSION */
27078 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceFormatsKHR(void *args
)
27082 VkPhysicalDevice physicalDevice
;
27083 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
27084 uint32_t *pSurfaceFormatCount
;
27085 VkSurfaceFormatKHR
*pSurfaceFormats
;
27089 TRACE("%p, 0x%s, %p, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
27091 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormatsKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
27092 return STATUS_SUCCESS
;
27095 #endif /* USE_STRUCT_CONVERSION */
27097 #if !defined(USE_STRUCT_CONVERSION)
27099 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfacePresentModesKHR(void *args
)
27101 struct vkGetPhysicalDeviceSurfacePresentModesKHR_params
*params
= args
;
27103 TRACE("%p, 0x%s, %p, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pPresentModeCount
, params
->pPresentModes
);
27105 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSurfacePresentModesKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pPresentModeCount
, params
->pPresentModes
);
27106 return STATUS_SUCCESS
;
27109 #else /* USE_STRUCT_CONVERSION */
27111 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfacePresentModesKHR(void *args
)
27115 VkPhysicalDevice physicalDevice
;
27116 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
27117 uint32_t *pPresentModeCount
;
27118 VkPresentModeKHR
*pPresentModes
;
27122 TRACE("%p, 0x%s, %p, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pPresentModeCount
, params
->pPresentModes
);
27124 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSurfacePresentModesKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pPresentModeCount
, params
->pPresentModes
);
27125 return STATUS_SUCCESS
;
27128 #endif /* USE_STRUCT_CONVERSION */
27130 #if !defined(USE_STRUCT_CONVERSION)
27132 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceSupportKHR(void *args
)
27134 struct vkGetPhysicalDeviceSurfaceSupportKHR_params
*params
= args
;
27136 TRACE("%p, %u, 0x%s, %p\n", params
->physicalDevice
, params
->queueFamilyIndex
, wine_dbgstr_longlong(params
->surface
), params
->pSupported
);
27138 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceSupportKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->queueFamilyIndex
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pSupported
);
27139 return STATUS_SUCCESS
;
27142 #else /* USE_STRUCT_CONVERSION */
27144 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceSupportKHR(void *args
)
27148 VkPhysicalDevice physicalDevice
;
27149 uint32_t queueFamilyIndex
;
27150 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
27151 VkBool32
*pSupported
;
27155 TRACE("%p, %u, 0x%s, %p\n", params
->physicalDevice
, params
->queueFamilyIndex
, wine_dbgstr_longlong(params
->surface
), params
->pSupported
);
27157 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceSupportKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->queueFamilyIndex
, wine_surface_from_handle(params
->surface
)->driver_surface
, params
->pSupported
);
27158 return STATUS_SUCCESS
;
27161 #endif /* USE_STRUCT_CONVERSION */
27163 #if !defined(USE_STRUCT_CONVERSION)
27165 static NTSTATUS
thunk64_vkGetPhysicalDeviceToolProperties(void *args
)
27167 struct vkGetPhysicalDeviceToolProperties_params
*params
= args
;
27169 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pToolCount
, params
->pToolProperties
);
27171 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceToolProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pToolCount
, params
->pToolProperties
);
27172 return STATUS_SUCCESS
;
27175 #else /* USE_STRUCT_CONVERSION */
27177 static NTSTATUS
thunk32_vkGetPhysicalDeviceToolProperties(void *args
)
27181 VkPhysicalDevice physicalDevice
;
27182 uint32_t *pToolCount
;
27183 VkPhysicalDeviceToolProperties
*pToolProperties
;
27187 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pToolCount
, params
->pToolProperties
);
27189 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceToolProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pToolCount
, params
->pToolProperties
);
27190 return STATUS_SUCCESS
;
27193 #endif /* USE_STRUCT_CONVERSION */
27195 #if !defined(USE_STRUCT_CONVERSION)
27197 static NTSTATUS
thunk64_vkGetPhysicalDeviceToolPropertiesEXT(void *args
)
27199 struct vkGetPhysicalDeviceToolPropertiesEXT_params
*params
= args
;
27201 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pToolCount
, params
->pToolProperties
);
27203 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceToolPropertiesEXT(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pToolCount
, params
->pToolProperties
);
27204 return STATUS_SUCCESS
;
27207 #else /* USE_STRUCT_CONVERSION */
27209 static NTSTATUS
thunk32_vkGetPhysicalDeviceToolPropertiesEXT(void *args
)
27213 VkPhysicalDevice physicalDevice
;
27214 uint32_t *pToolCount
;
27215 VkPhysicalDeviceToolProperties
*pToolProperties
;
27219 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pToolCount
, params
->pToolProperties
);
27221 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceToolPropertiesEXT(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pToolCount
, params
->pToolProperties
);
27222 return STATUS_SUCCESS
;
27225 #endif /* USE_STRUCT_CONVERSION */
27227 #if !defined(USE_STRUCT_CONVERSION)
27229 static NTSTATUS
thunk64_vkGetPhysicalDeviceWin32PresentationSupportKHR(void *args
)
27231 struct vkGetPhysicalDeviceWin32PresentationSupportKHR_params
*params
= args
;
27233 TRACE("%p, %u\n", params
->physicalDevice
, params
->queueFamilyIndex
);
27235 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceWin32PresentationSupportKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->queueFamilyIndex
);
27236 return STATUS_SUCCESS
;
27239 #else /* USE_STRUCT_CONVERSION */
27241 static NTSTATUS
thunk32_vkGetPhysicalDeviceWin32PresentationSupportKHR(void *args
)
27245 VkPhysicalDevice physicalDevice
;
27246 uint32_t queueFamilyIndex
;
27250 TRACE("%p, %u\n", params
->physicalDevice
, params
->queueFamilyIndex
);
27252 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceWin32PresentationSupportKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->queueFamilyIndex
);
27253 return STATUS_SUCCESS
;
27256 #endif /* USE_STRUCT_CONVERSION */
27258 #if !defined(USE_STRUCT_CONVERSION)
27260 static NTSTATUS
thunk64_vkGetPipelineCacheData(void *args
)
27262 struct vkGetPipelineCacheData_params
*params
= args
;
27264 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->pDataSize
, params
->pData
);
27266 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineCacheData(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, params
->pDataSize
, params
->pData
);
27267 return STATUS_SUCCESS
;
27270 #else /* USE_STRUCT_CONVERSION */
27272 static NTSTATUS
thunk32_vkGetPipelineCacheData(void *args
)
27277 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
27283 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->pDataSize
, params
->pData
);
27285 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineCacheData(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, params
->pDataSize
, params
->pData
);
27286 return STATUS_SUCCESS
;
27289 #endif /* USE_STRUCT_CONVERSION */
27291 #if !defined(USE_STRUCT_CONVERSION)
27293 static NTSTATUS
thunk64_vkGetPipelineExecutableInternalRepresentationsKHR(void *args
)
27295 struct vkGetPipelineExecutableInternalRepresentationsKHR_params
*params
= args
;
27297 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pExecutableInfo
, params
->pInternalRepresentationCount
, params
->pInternalRepresentations
);
27299 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(wine_device_from_handle(params
->device
)->device
, params
->pExecutableInfo
, params
->pInternalRepresentationCount
, params
->pInternalRepresentations
);
27300 return STATUS_SUCCESS
;
27303 #else /* USE_STRUCT_CONVERSION */
27305 static NTSTATUS
thunk32_vkGetPipelineExecutableInternalRepresentationsKHR(void *args
)
27310 const VkPipelineExecutableInfoKHR32
*pExecutableInfo
;
27311 uint32_t *pInternalRepresentationCount
;
27312 VkPipelineExecutableInternalRepresentationKHR
*pInternalRepresentations
;
27315 VkPipelineExecutableInfoKHR pExecutableInfo_host
;
27317 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pExecutableInfo
, params
->pInternalRepresentationCount
, params
->pInternalRepresentations
);
27319 convert_VkPipelineExecutableInfoKHR_win32_to_host(params
->pExecutableInfo
, &pExecutableInfo_host
);
27320 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(wine_device_from_handle(params
->device
)->device
, &pExecutableInfo_host
, params
->pInternalRepresentationCount
, params
->pInternalRepresentations
);
27321 return STATUS_SUCCESS
;
27324 #endif /* USE_STRUCT_CONVERSION */
27326 #if !defined(USE_STRUCT_CONVERSION)
27328 static NTSTATUS
thunk64_vkGetPipelineExecutablePropertiesKHR(void *args
)
27330 struct vkGetPipelineExecutablePropertiesKHR_params
*params
= args
;
27332 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pPipelineInfo
, params
->pExecutableCount
, params
->pProperties
);
27334 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineExecutablePropertiesKHR(wine_device_from_handle(params
->device
)->device
, params
->pPipelineInfo
, params
->pExecutableCount
, params
->pProperties
);
27335 return STATUS_SUCCESS
;
27338 #else /* USE_STRUCT_CONVERSION */
27340 static NTSTATUS
thunk32_vkGetPipelineExecutablePropertiesKHR(void *args
)
27345 const VkPipelineInfoKHR32
*pPipelineInfo
;
27346 uint32_t *pExecutableCount
;
27347 VkPipelineExecutablePropertiesKHR
*pProperties
;
27350 VkPipelineInfoKHR pPipelineInfo_host
;
27352 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pPipelineInfo
, params
->pExecutableCount
, params
->pProperties
);
27354 convert_VkPipelineInfoKHR_win32_to_host(params
->pPipelineInfo
, &pPipelineInfo_host
);
27355 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineExecutablePropertiesKHR(wine_device_from_handle(params
->device
)->device
, &pPipelineInfo_host
, params
->pExecutableCount
, params
->pProperties
);
27356 return STATUS_SUCCESS
;
27359 #endif /* USE_STRUCT_CONVERSION */
27361 #if !defined(USE_STRUCT_CONVERSION)
27363 static NTSTATUS
thunk64_vkGetPipelineExecutableStatisticsKHR(void *args
)
27365 struct vkGetPipelineExecutableStatisticsKHR_params
*params
= args
;
27367 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pExecutableInfo
, params
->pStatisticCount
, params
->pStatistics
);
27369 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineExecutableStatisticsKHR(wine_device_from_handle(params
->device
)->device
, params
->pExecutableInfo
, params
->pStatisticCount
, params
->pStatistics
);
27370 return STATUS_SUCCESS
;
27373 #else /* USE_STRUCT_CONVERSION */
27375 static NTSTATUS
thunk32_vkGetPipelineExecutableStatisticsKHR(void *args
)
27380 const VkPipelineExecutableInfoKHR32
*pExecutableInfo
;
27381 uint32_t *pStatisticCount
;
27382 VkPipelineExecutableStatisticKHR32
*pStatistics
;
27385 VkPipelineExecutableInfoKHR pExecutableInfo_host
;
27386 VkPipelineExecutableStatisticKHR
*pStatistics_host
;
27387 struct conversion_context ctx
;
27389 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pExecutableInfo
, params
->pStatisticCount
, params
->pStatistics
);
27391 init_conversion_context(&ctx
);
27392 convert_VkPipelineExecutableInfoKHR_win32_to_host(params
->pExecutableInfo
, &pExecutableInfo_host
);
27393 pStatistics_host
= convert_VkPipelineExecutableStatisticKHR_array_win32_to_host(&ctx
, params
->pStatistics
, *params
->pStatisticCount
);
27394 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineExecutableStatisticsKHR(wine_device_from_handle(params
->device
)->device
, &pExecutableInfo_host
, params
->pStatisticCount
, pStatistics_host
);
27395 convert_VkPipelineExecutableStatisticKHR_array_host_to_win32(pStatistics_host
, params
->pStatistics
, *params
->pStatisticCount
);
27396 free_conversion_context(&ctx
);
27397 return STATUS_SUCCESS
;
27400 #endif /* USE_STRUCT_CONVERSION */
27402 #if !defined(USE_STRUCT_CONVERSION)
27404 static NTSTATUS
thunk64_vkGetPipelinePropertiesEXT(void *args
)
27406 struct vkGetPipelinePropertiesEXT_params
*params
= args
;
27408 TRACE("%p, %p, %p\n", params
->device
, params
->pPipelineInfo
, params
->pPipelineProperties
);
27410 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelinePropertiesEXT(wine_device_from_handle(params
->device
)->device
, params
->pPipelineInfo
, params
->pPipelineProperties
);
27411 return STATUS_SUCCESS
;
27414 #else /* USE_STRUCT_CONVERSION */
27416 static NTSTATUS
thunk32_vkGetPipelinePropertiesEXT(void *args
)
27421 const VkPipelineInfoEXT32
*pPipelineInfo
;
27422 VkBaseOutStructure
*pPipelineProperties
;
27425 VkPipelineInfoEXT pPipelineInfo_host
;
27427 TRACE("%p, %p, %p\n", params
->device
, params
->pPipelineInfo
, params
->pPipelineProperties
);
27429 convert_VkPipelineInfoEXT_win32_to_host(params
->pPipelineInfo
, &pPipelineInfo_host
);
27430 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelinePropertiesEXT(wine_device_from_handle(params
->device
)->device
, &pPipelineInfo_host
, params
->pPipelineProperties
);
27431 return STATUS_SUCCESS
;
27434 #endif /* USE_STRUCT_CONVERSION */
27436 #if !defined(USE_STRUCT_CONVERSION)
27438 static NTSTATUS
thunk64_vkGetPrivateData(void *args
)
27440 struct vkGetPrivateData_params
*params
= args
;
27442 TRACE("%p, %#x, 0x%s, 0x%s, %p\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), params
->pData
);
27444 wine_device_from_handle(params
->device
)->funcs
.p_vkGetPrivateData(wine_device_from_handle(params
->device
)->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->pData
);
27445 return STATUS_SUCCESS
;
27448 #else /* USE_STRUCT_CONVERSION */
27450 static NTSTATUS
thunk32_vkGetPrivateData(void *args
)
27455 VkObjectType objectType
;
27456 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
27457 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
27461 TRACE("%p, %#x, 0x%s, 0x%s, %p\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), params
->pData
);
27463 wine_device_from_handle(params
->device
)->funcs
.p_vkGetPrivateData(wine_device_from_handle(params
->device
)->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->pData
);
27464 return STATUS_SUCCESS
;
27467 #endif /* USE_STRUCT_CONVERSION */
27469 #if !defined(USE_STRUCT_CONVERSION)
27471 static NTSTATUS
thunk64_vkGetPrivateDataEXT(void *args
)
27473 struct vkGetPrivateDataEXT_params
*params
= args
;
27475 TRACE("%p, %#x, 0x%s, 0x%s, %p\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), params
->pData
);
27477 wine_device_from_handle(params
->device
)->funcs
.p_vkGetPrivateDataEXT(wine_device_from_handle(params
->device
)->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->pData
);
27478 return STATUS_SUCCESS
;
27481 #else /* USE_STRUCT_CONVERSION */
27483 static NTSTATUS
thunk32_vkGetPrivateDataEXT(void *args
)
27488 VkObjectType objectType
;
27489 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
27490 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
27494 TRACE("%p, %#x, 0x%s, 0x%s, %p\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), params
->pData
);
27496 wine_device_from_handle(params
->device
)->funcs
.p_vkGetPrivateDataEXT(wine_device_from_handle(params
->device
)->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->pData
);
27497 return STATUS_SUCCESS
;
27500 #endif /* USE_STRUCT_CONVERSION */
27502 #if !defined(USE_STRUCT_CONVERSION)
27504 static NTSTATUS
thunk64_vkGetQueryPoolResults(void *args
)
27506 struct vkGetQueryPoolResults_params
*params
= args
;
27508 TRACE("%p, 0x%s, %u, %u, 0x%s, %p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
, wine_dbgstr_longlong(params
->stride
), params
->flags
);
27510 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetQueryPoolResults(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
, params
->dataSize
, params
->pData
, params
->stride
, params
->flags
);
27511 return STATUS_SUCCESS
;
27514 #else /* USE_STRUCT_CONVERSION */
27516 static NTSTATUS
thunk32_vkGetQueryPoolResults(void *args
)
27521 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
27522 uint32_t firstQuery
;
27523 uint32_t queryCount
;
27526 VkDeviceSize
DECLSPEC_ALIGN(8) stride
;
27527 VkQueryResultFlags flags
;
27531 TRACE("%p, 0x%s, %u, %u, 0x%s, %p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
, wine_dbgstr_longlong(params
->stride
), params
->flags
);
27533 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetQueryPoolResults(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
, params
->dataSize
, params
->pData
, params
->stride
, params
->flags
);
27534 return STATUS_SUCCESS
;
27537 #endif /* USE_STRUCT_CONVERSION */
27539 #if !defined(USE_STRUCT_CONVERSION)
27541 static NTSTATUS
thunk64_vkGetQueueCheckpointData2NV(void *args
)
27543 struct vkGetQueueCheckpointData2NV_params
*params
= args
;
27545 TRACE("%p, %p, %p\n", params
->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
27547 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkGetQueueCheckpointData2NV(wine_queue_from_handle(params
->queue
)->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
27548 return STATUS_SUCCESS
;
27551 #else /* USE_STRUCT_CONVERSION */
27553 static NTSTATUS
thunk32_vkGetQueueCheckpointData2NV(void *args
)
27558 uint32_t *pCheckpointDataCount
;
27559 VkCheckpointData2NV
*pCheckpointData
;
27562 TRACE("%p, %p, %p\n", params
->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
27564 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkGetQueueCheckpointData2NV(wine_queue_from_handle(params
->queue
)->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
27565 return STATUS_SUCCESS
;
27568 #endif /* USE_STRUCT_CONVERSION */
27570 #if !defined(USE_STRUCT_CONVERSION)
27572 static NTSTATUS
thunk64_vkGetQueueCheckpointDataNV(void *args
)
27574 struct vkGetQueueCheckpointDataNV_params
*params
= args
;
27576 TRACE("%p, %p, %p\n", params
->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
27578 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkGetQueueCheckpointDataNV(wine_queue_from_handle(params
->queue
)->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
27579 return STATUS_SUCCESS
;
27582 #else /* USE_STRUCT_CONVERSION */
27584 static NTSTATUS
thunk32_vkGetQueueCheckpointDataNV(void *args
)
27589 uint32_t *pCheckpointDataCount
;
27590 VkCheckpointDataNV
*pCheckpointData
;
27593 TRACE("%p, %p, %p\n", params
->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
27595 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkGetQueueCheckpointDataNV(wine_queue_from_handle(params
->queue
)->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
27596 return STATUS_SUCCESS
;
27599 #endif /* USE_STRUCT_CONVERSION */
27601 #if !defined(USE_STRUCT_CONVERSION)
27603 static NTSTATUS
thunk64_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(void *args
)
27605 struct vkGetRayTracingCaptureReplayShaderGroupHandlesKHR_params
*params
= args
;
27607 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->firstGroup
, params
->groupCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
27609 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->firstGroup
, params
->groupCount
, params
->dataSize
, params
->pData
);
27610 return STATUS_SUCCESS
;
27613 #else /* USE_STRUCT_CONVERSION */
27615 static NTSTATUS
thunk32_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(void *args
)
27620 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
27621 uint32_t firstGroup
;
27622 uint32_t groupCount
;
27628 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->firstGroup
, params
->groupCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
27630 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->firstGroup
, params
->groupCount
, params
->dataSize
, params
->pData
);
27631 return STATUS_SUCCESS
;
27634 #endif /* USE_STRUCT_CONVERSION */
27636 #if !defined(USE_STRUCT_CONVERSION)
27638 static NTSTATUS
thunk64_vkGetRayTracingShaderGroupHandlesKHR(void *args
)
27640 struct vkGetRayTracingShaderGroupHandlesKHR_params
*params
= args
;
27642 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->firstGroup
, params
->groupCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
27644 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetRayTracingShaderGroupHandlesKHR(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->firstGroup
, params
->groupCount
, params
->dataSize
, params
->pData
);
27645 return STATUS_SUCCESS
;
27648 #else /* USE_STRUCT_CONVERSION */
27650 static NTSTATUS
thunk32_vkGetRayTracingShaderGroupHandlesKHR(void *args
)
27655 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
27656 uint32_t firstGroup
;
27657 uint32_t groupCount
;
27663 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->firstGroup
, params
->groupCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
27665 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetRayTracingShaderGroupHandlesKHR(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->firstGroup
, params
->groupCount
, params
->dataSize
, params
->pData
);
27666 return STATUS_SUCCESS
;
27669 #endif /* USE_STRUCT_CONVERSION */
27671 #if !defined(USE_STRUCT_CONVERSION)
27673 static NTSTATUS
thunk64_vkGetRayTracingShaderGroupHandlesNV(void *args
)
27675 struct vkGetRayTracingShaderGroupHandlesNV_params
*params
= args
;
27677 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->firstGroup
, params
->groupCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
27679 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetRayTracingShaderGroupHandlesNV(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->firstGroup
, params
->groupCount
, params
->dataSize
, params
->pData
);
27680 return STATUS_SUCCESS
;
27683 #else /* USE_STRUCT_CONVERSION */
27685 static NTSTATUS
thunk32_vkGetRayTracingShaderGroupHandlesNV(void *args
)
27690 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
27691 uint32_t firstGroup
;
27692 uint32_t groupCount
;
27698 TRACE("%p, 0x%s, %u, %u, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->firstGroup
, params
->groupCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
27700 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetRayTracingShaderGroupHandlesNV(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->firstGroup
, params
->groupCount
, params
->dataSize
, params
->pData
);
27701 return STATUS_SUCCESS
;
27704 #endif /* USE_STRUCT_CONVERSION */
27706 #if !defined(USE_STRUCT_CONVERSION)
27708 static NTSTATUS
thunk64_vkGetRayTracingShaderGroupStackSizeKHR(void *args
)
27710 struct vkGetRayTracingShaderGroupStackSizeKHR_params
*params
= args
;
27712 TRACE("%p, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->group
, params
->groupShader
);
27714 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetRayTracingShaderGroupStackSizeKHR(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->group
, params
->groupShader
);
27715 return STATUS_SUCCESS
;
27718 #else /* USE_STRUCT_CONVERSION */
27720 static NTSTATUS
thunk32_vkGetRayTracingShaderGroupStackSizeKHR(void *args
)
27725 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
27727 VkShaderGroupShaderKHR groupShader
;
27728 VkDeviceSize result
;
27731 TRACE("%p, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->group
, params
->groupShader
);
27733 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetRayTracingShaderGroupStackSizeKHR(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->group
, params
->groupShader
);
27734 return STATUS_SUCCESS
;
27737 #endif /* USE_STRUCT_CONVERSION */
27739 #if !defined(USE_STRUCT_CONVERSION)
27741 static NTSTATUS
thunk64_vkGetRenderAreaGranularity(void *args
)
27743 struct vkGetRenderAreaGranularity_params
*params
= args
;
27745 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->renderPass
), params
->pGranularity
);
27747 wine_device_from_handle(params
->device
)->funcs
.p_vkGetRenderAreaGranularity(wine_device_from_handle(params
->device
)->device
, params
->renderPass
, params
->pGranularity
);
27748 return STATUS_SUCCESS
;
27751 #else /* USE_STRUCT_CONVERSION */
27753 static NTSTATUS
thunk32_vkGetRenderAreaGranularity(void *args
)
27758 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
27759 VkExtent2D
*pGranularity
;
27762 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->renderPass
), params
->pGranularity
);
27764 wine_device_from_handle(params
->device
)->funcs
.p_vkGetRenderAreaGranularity(wine_device_from_handle(params
->device
)->device
, params
->renderPass
, params
->pGranularity
);
27765 return STATUS_SUCCESS
;
27768 #endif /* USE_STRUCT_CONVERSION */
27770 #if !defined(USE_STRUCT_CONVERSION)
27772 static NTSTATUS
thunk64_vkGetSemaphoreCounterValue(void *args
)
27774 struct vkGetSemaphoreCounterValue_params
*params
= args
;
27776 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pValue
);
27778 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSemaphoreCounterValue(wine_device_from_handle(params
->device
)->device
, params
->semaphore
, params
->pValue
);
27779 return STATUS_SUCCESS
;
27782 #else /* USE_STRUCT_CONVERSION */
27784 static NTSTATUS
thunk32_vkGetSemaphoreCounterValue(void *args
)
27789 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
27794 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pValue
);
27796 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSemaphoreCounterValue(wine_device_from_handle(params
->device
)->device
, params
->semaphore
, params
->pValue
);
27797 return STATUS_SUCCESS
;
27800 #endif /* USE_STRUCT_CONVERSION */
27802 #if !defined(USE_STRUCT_CONVERSION)
27804 static NTSTATUS
thunk64_vkGetSemaphoreCounterValueKHR(void *args
)
27806 struct vkGetSemaphoreCounterValueKHR_params
*params
= args
;
27808 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pValue
);
27810 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSemaphoreCounterValueKHR(wine_device_from_handle(params
->device
)->device
, params
->semaphore
, params
->pValue
);
27811 return STATUS_SUCCESS
;
27814 #else /* USE_STRUCT_CONVERSION */
27816 static NTSTATUS
thunk32_vkGetSemaphoreCounterValueKHR(void *args
)
27821 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
27826 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pValue
);
27828 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSemaphoreCounterValueKHR(wine_device_from_handle(params
->device
)->device
, params
->semaphore
, params
->pValue
);
27829 return STATUS_SUCCESS
;
27832 #endif /* USE_STRUCT_CONVERSION */
27834 #if !defined(USE_STRUCT_CONVERSION)
27836 static NTSTATUS
thunk64_vkGetShaderInfoAMD(void *args
)
27838 struct vkGetShaderInfoAMD_params
*params
= args
;
27840 TRACE("%p, 0x%s, %#x, %#x, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->shaderStage
, params
->infoType
, params
->pInfoSize
, params
->pInfo
);
27842 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetShaderInfoAMD(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->shaderStage
, params
->infoType
, params
->pInfoSize
, params
->pInfo
);
27843 return STATUS_SUCCESS
;
27846 #else /* USE_STRUCT_CONVERSION */
27848 static NTSTATUS
thunk32_vkGetShaderInfoAMD(void *args
)
27853 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
27854 VkShaderStageFlagBits shaderStage
;
27855 VkShaderInfoTypeAMD infoType
;
27861 TRACE("%p, 0x%s, %#x, %#x, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->shaderStage
, params
->infoType
, params
->pInfoSize
, params
->pInfo
);
27863 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetShaderInfoAMD(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->shaderStage
, params
->infoType
, params
->pInfoSize
, params
->pInfo
);
27864 return STATUS_SUCCESS
;
27867 #endif /* USE_STRUCT_CONVERSION */
27869 #if !defined(USE_STRUCT_CONVERSION)
27871 static NTSTATUS
thunk64_vkGetShaderModuleCreateInfoIdentifierEXT(void *args
)
27873 struct vkGetShaderModuleCreateInfoIdentifierEXT_params
*params
= args
;
27875 TRACE("%p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pIdentifier
);
27877 wine_device_from_handle(params
->device
)->funcs
.p_vkGetShaderModuleCreateInfoIdentifierEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, params
->pIdentifier
);
27878 return STATUS_SUCCESS
;
27881 #else /* USE_STRUCT_CONVERSION */
27883 static NTSTATUS
thunk32_vkGetShaderModuleCreateInfoIdentifierEXT(void *args
)
27888 const VkShaderModuleCreateInfo
*pCreateInfo
;
27889 VkShaderModuleIdentifierEXT
*pIdentifier
;
27891 VkShaderModuleCreateInfo pCreateInfo_host
;
27892 struct conversion_context ctx
;
27894 TRACE("%p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pIdentifier
);
27896 init_conversion_context(&ctx
);
27897 convert_VkShaderModuleCreateInfo_win32_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
27898 wine_device_from_handle(params
->device
)->funcs
.p_vkGetShaderModuleCreateInfoIdentifierEXT(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, params
->pIdentifier
);
27899 free_conversion_context(&ctx
);
27900 return STATUS_SUCCESS
;
27903 #endif /* USE_STRUCT_CONVERSION */
27905 #if !defined(USE_STRUCT_CONVERSION)
27907 static NTSTATUS
thunk64_vkGetShaderModuleIdentifierEXT(void *args
)
27909 struct vkGetShaderModuleIdentifierEXT_params
*params
= args
;
27911 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->shaderModule
), params
->pIdentifier
);
27913 wine_device_from_handle(params
->device
)->funcs
.p_vkGetShaderModuleIdentifierEXT(wine_device_from_handle(params
->device
)->device
, params
->shaderModule
, params
->pIdentifier
);
27914 return STATUS_SUCCESS
;
27917 #else /* USE_STRUCT_CONVERSION */
27919 static NTSTATUS
thunk32_vkGetShaderModuleIdentifierEXT(void *args
)
27924 VkShaderModule
DECLSPEC_ALIGN(8) shaderModule
;
27925 VkShaderModuleIdentifierEXT
*pIdentifier
;
27928 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->shaderModule
), params
->pIdentifier
);
27930 wine_device_from_handle(params
->device
)->funcs
.p_vkGetShaderModuleIdentifierEXT(wine_device_from_handle(params
->device
)->device
, params
->shaderModule
, params
->pIdentifier
);
27931 return STATUS_SUCCESS
;
27934 #endif /* USE_STRUCT_CONVERSION */
27936 #if !defined(USE_STRUCT_CONVERSION)
27938 static NTSTATUS
thunk64_vkGetSwapchainImagesKHR(void *args
)
27940 struct vkGetSwapchainImagesKHR_params
*params
= args
;
27942 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), params
->pSwapchainImageCount
, params
->pSwapchainImages
);
27944 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSwapchainImagesKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, params
->pSwapchainImageCount
, params
->pSwapchainImages
);
27945 return STATUS_SUCCESS
;
27948 #else /* USE_STRUCT_CONVERSION */
27950 static NTSTATUS
thunk32_vkGetSwapchainImagesKHR(void *args
)
27955 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
27956 uint32_t *pSwapchainImageCount
;
27957 VkImage
*pSwapchainImages
;
27961 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), params
->pSwapchainImageCount
, params
->pSwapchainImages
);
27963 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSwapchainImagesKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, params
->pSwapchainImageCount
, params
->pSwapchainImages
);
27964 return STATUS_SUCCESS
;
27967 #endif /* USE_STRUCT_CONVERSION */
27969 #if !defined(USE_STRUCT_CONVERSION)
27971 static NTSTATUS
thunk64_vkGetValidationCacheDataEXT(void *args
)
27973 struct vkGetValidationCacheDataEXT_params
*params
= args
;
27975 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->validationCache
), params
->pDataSize
, params
->pData
);
27977 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetValidationCacheDataEXT(wine_device_from_handle(params
->device
)->device
, params
->validationCache
, params
->pDataSize
, params
->pData
);
27978 return STATUS_SUCCESS
;
27981 #else /* USE_STRUCT_CONVERSION */
27983 static NTSTATUS
thunk32_vkGetValidationCacheDataEXT(void *args
)
27988 VkValidationCacheEXT
DECLSPEC_ALIGN(8) validationCache
;
27994 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->validationCache
), params
->pDataSize
, params
->pData
);
27996 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetValidationCacheDataEXT(wine_device_from_handle(params
->device
)->device
, params
->validationCache
, params
->pDataSize
, params
->pData
);
27997 return STATUS_SUCCESS
;
28000 #endif /* USE_STRUCT_CONVERSION */
28002 #if !defined(USE_STRUCT_CONVERSION)
28004 static NTSTATUS
thunk64_vkInitializePerformanceApiINTEL(void *args
)
28006 struct vkInitializePerformanceApiINTEL_params
*params
= args
;
28008 TRACE("%p, %p\n", params
->device
, params
->pInitializeInfo
);
28010 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkInitializePerformanceApiINTEL(wine_device_from_handle(params
->device
)->device
, params
->pInitializeInfo
);
28011 return STATUS_SUCCESS
;
28014 #else /* USE_STRUCT_CONVERSION */
28016 static NTSTATUS
thunk32_vkInitializePerformanceApiINTEL(void *args
)
28021 const VkInitializePerformanceApiInfoINTEL
*pInitializeInfo
;
28025 TRACE("%p, %p\n", params
->device
, params
->pInitializeInfo
);
28027 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkInitializePerformanceApiINTEL(wine_device_from_handle(params
->device
)->device
, params
->pInitializeInfo
);
28028 return STATUS_SUCCESS
;
28031 #endif /* USE_STRUCT_CONVERSION */
28033 #if !defined(USE_STRUCT_CONVERSION)
28035 static NTSTATUS
thunk64_vkInvalidateMappedMemoryRanges(void *args
)
28037 struct vkInvalidateMappedMemoryRanges_params
*params
= args
;
28039 TRACE("%p, %u, %p\n", params
->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
28041 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkInvalidateMappedMemoryRanges(wine_device_from_handle(params
->device
)->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
28042 return STATUS_SUCCESS
;
28045 #else /* USE_STRUCT_CONVERSION */
28047 static NTSTATUS
thunk32_vkInvalidateMappedMemoryRanges(void *args
)
28052 uint32_t memoryRangeCount
;
28053 const VkMappedMemoryRange32
*pMemoryRanges
;
28056 const VkMappedMemoryRange
*pMemoryRanges_host
;
28057 struct conversion_context ctx
;
28059 TRACE("%p, %u, %p\n", params
->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
28061 init_conversion_context(&ctx
);
28062 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win32_to_host(&ctx
, params
->pMemoryRanges
, params
->memoryRangeCount
);
28063 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkInvalidateMappedMemoryRanges(wine_device_from_handle(params
->device
)->device
, params
->memoryRangeCount
, pMemoryRanges_host
);
28064 free_conversion_context(&ctx
);
28065 return STATUS_SUCCESS
;
28068 #endif /* USE_STRUCT_CONVERSION */
28070 #if !defined(USE_STRUCT_CONVERSION)
28072 static NTSTATUS
thunk64_vkMapMemory(void *args
)
28074 struct vkMapMemory_params
*params
= args
;
28076 TRACE("%p, 0x%s, 0x%s, 0x%s, %#x, %p\n", params
->device
, wine_dbgstr_longlong(params
->memory
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->size
), params
->flags
, params
->ppData
);
28078 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkMapMemory(wine_device_from_handle(params
->device
)->device
, params
->memory
, params
->offset
, params
->size
, params
->flags
, params
->ppData
);
28079 return STATUS_SUCCESS
;
28082 #else /* USE_STRUCT_CONVERSION */
28084 static NTSTATUS
thunk32_vkMapMemory(void *args
)
28089 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
28090 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
28091 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
28092 VkMemoryMapFlags flags
;
28097 TRACE("%p, 0x%s, 0x%s, 0x%s, %#x, %p\n", params
->device
, wine_dbgstr_longlong(params
->memory
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->size
), params
->flags
, params
->ppData
);
28099 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkMapMemory(wine_device_from_handle(params
->device
)->device
, params
->memory
, params
->offset
, params
->size
, params
->flags
, params
->ppData
);
28100 return STATUS_SUCCESS
;
28103 #endif /* USE_STRUCT_CONVERSION */
28105 #if !defined(USE_STRUCT_CONVERSION)
28107 static NTSTATUS
thunk64_vkMergePipelineCaches(void *args
)
28109 struct vkMergePipelineCaches_params
*params
= args
;
28111 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->dstCache
), params
->srcCacheCount
, params
->pSrcCaches
);
28113 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkMergePipelineCaches(wine_device_from_handle(params
->device
)->device
, params
->dstCache
, params
->srcCacheCount
, params
->pSrcCaches
);
28114 return STATUS_SUCCESS
;
28117 #else /* USE_STRUCT_CONVERSION */
28119 static NTSTATUS
thunk32_vkMergePipelineCaches(void *args
)
28124 VkPipelineCache
DECLSPEC_ALIGN(8) dstCache
;
28125 uint32_t srcCacheCount
;
28126 const VkPipelineCache
*pSrcCaches
;
28130 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->dstCache
), params
->srcCacheCount
, params
->pSrcCaches
);
28132 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkMergePipelineCaches(wine_device_from_handle(params
->device
)->device
, params
->dstCache
, params
->srcCacheCount
, params
->pSrcCaches
);
28133 return STATUS_SUCCESS
;
28136 #endif /* USE_STRUCT_CONVERSION */
28138 #if !defined(USE_STRUCT_CONVERSION)
28140 static NTSTATUS
thunk64_vkMergeValidationCachesEXT(void *args
)
28142 struct vkMergeValidationCachesEXT_params
*params
= args
;
28144 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->dstCache
), params
->srcCacheCount
, params
->pSrcCaches
);
28146 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkMergeValidationCachesEXT(wine_device_from_handle(params
->device
)->device
, params
->dstCache
, params
->srcCacheCount
, params
->pSrcCaches
);
28147 return STATUS_SUCCESS
;
28150 #else /* USE_STRUCT_CONVERSION */
28152 static NTSTATUS
thunk32_vkMergeValidationCachesEXT(void *args
)
28157 VkValidationCacheEXT
DECLSPEC_ALIGN(8) dstCache
;
28158 uint32_t srcCacheCount
;
28159 const VkValidationCacheEXT
*pSrcCaches
;
28163 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->dstCache
), params
->srcCacheCount
, params
->pSrcCaches
);
28165 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkMergeValidationCachesEXT(wine_device_from_handle(params
->device
)->device
, params
->dstCache
, params
->srcCacheCount
, params
->pSrcCaches
);
28166 return STATUS_SUCCESS
;
28169 #endif /* USE_STRUCT_CONVERSION */
28171 #if !defined(USE_STRUCT_CONVERSION)
28173 static NTSTATUS
thunk64_vkQueueBeginDebugUtilsLabelEXT(void *args
)
28175 struct vkQueueBeginDebugUtilsLabelEXT_params
*params
= args
;
28177 TRACE("%p, %p\n", params
->queue
, params
->pLabelInfo
);
28179 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueBeginDebugUtilsLabelEXT(wine_queue_from_handle(params
->queue
)->queue
, params
->pLabelInfo
);
28180 return STATUS_SUCCESS
;
28183 #else /* USE_STRUCT_CONVERSION */
28185 static NTSTATUS
thunk32_vkQueueBeginDebugUtilsLabelEXT(void *args
)
28190 const VkDebugUtilsLabelEXT
*pLabelInfo
;
28193 TRACE("%p, %p\n", params
->queue
, params
->pLabelInfo
);
28195 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueBeginDebugUtilsLabelEXT(wine_queue_from_handle(params
->queue
)->queue
, params
->pLabelInfo
);
28196 return STATUS_SUCCESS
;
28199 #endif /* USE_STRUCT_CONVERSION */
28201 #if !defined(USE_STRUCT_CONVERSION)
28203 static NTSTATUS
thunk64_vkQueueBindSparse(void *args
)
28205 struct vkQueueBindSparse_params
*params
= args
;
28207 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->bindInfoCount
, params
->pBindInfo
, wine_dbgstr_longlong(params
->fence
));
28209 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueBindSparse(wine_queue_from_handle(params
->queue
)->queue
, params
->bindInfoCount
, params
->pBindInfo
, params
->fence
);
28210 return STATUS_SUCCESS
;
28213 #else /* USE_STRUCT_CONVERSION */
28215 static NTSTATUS
thunk32_vkQueueBindSparse(void *args
)
28220 uint32_t bindInfoCount
;
28221 const VkBindSparseInfo32
*pBindInfo
;
28222 VkFence
DECLSPEC_ALIGN(8) fence
;
28225 const VkBindSparseInfo
*pBindInfo_host
;
28226 struct conversion_context ctx
;
28228 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->bindInfoCount
, params
->pBindInfo
, wine_dbgstr_longlong(params
->fence
));
28230 init_conversion_context(&ctx
);
28231 pBindInfo_host
= convert_VkBindSparseInfo_array_win32_to_host(&ctx
, params
->pBindInfo
, params
->bindInfoCount
);
28232 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueBindSparse(wine_queue_from_handle(params
->queue
)->queue
, params
->bindInfoCount
, pBindInfo_host
, params
->fence
);
28233 free_conversion_context(&ctx
);
28234 return STATUS_SUCCESS
;
28237 #endif /* USE_STRUCT_CONVERSION */
28239 #if !defined(USE_STRUCT_CONVERSION)
28241 static NTSTATUS
thunk64_vkQueueEndDebugUtilsLabelEXT(void *args
)
28243 struct vkQueueEndDebugUtilsLabelEXT_params
*params
= args
;
28245 TRACE("%p\n", params
->queue
);
28247 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueEndDebugUtilsLabelEXT(wine_queue_from_handle(params
->queue
)->queue
);
28248 return STATUS_SUCCESS
;
28251 #else /* USE_STRUCT_CONVERSION */
28253 static NTSTATUS
thunk32_vkQueueEndDebugUtilsLabelEXT(void *args
)
28260 TRACE("%p\n", params
->queue
);
28262 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueEndDebugUtilsLabelEXT(wine_queue_from_handle(params
->queue
)->queue
);
28263 return STATUS_SUCCESS
;
28266 #endif /* USE_STRUCT_CONVERSION */
28268 #if !defined(USE_STRUCT_CONVERSION)
28270 static NTSTATUS
thunk64_vkQueueInsertDebugUtilsLabelEXT(void *args
)
28272 struct vkQueueInsertDebugUtilsLabelEXT_params
*params
= args
;
28274 TRACE("%p, %p\n", params
->queue
, params
->pLabelInfo
);
28276 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueInsertDebugUtilsLabelEXT(wine_queue_from_handle(params
->queue
)->queue
, params
->pLabelInfo
);
28277 return STATUS_SUCCESS
;
28280 #else /* USE_STRUCT_CONVERSION */
28282 static NTSTATUS
thunk32_vkQueueInsertDebugUtilsLabelEXT(void *args
)
28287 const VkDebugUtilsLabelEXT
*pLabelInfo
;
28290 TRACE("%p, %p\n", params
->queue
, params
->pLabelInfo
);
28292 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueInsertDebugUtilsLabelEXT(wine_queue_from_handle(params
->queue
)->queue
, params
->pLabelInfo
);
28293 return STATUS_SUCCESS
;
28296 #endif /* USE_STRUCT_CONVERSION */
28298 #if !defined(USE_STRUCT_CONVERSION)
28300 static NTSTATUS
thunk64_vkQueuePresentKHR(void *args
)
28302 struct vkQueuePresentKHR_params
*params
= args
;
28304 TRACE("%p, %p\n", params
->queue
, params
->pPresentInfo
);
28306 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueuePresentKHR(wine_queue_from_handle(params
->queue
)->queue
, params
->pPresentInfo
);
28307 return STATUS_SUCCESS
;
28310 #else /* USE_STRUCT_CONVERSION */
28312 static NTSTATUS
thunk32_vkQueuePresentKHR(void *args
)
28317 const VkPresentInfoKHR
*pPresentInfo
;
28321 TRACE("%p, %p\n", params
->queue
, params
->pPresentInfo
);
28323 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueuePresentKHR(wine_queue_from_handle(params
->queue
)->queue
, params
->pPresentInfo
);
28324 return STATUS_SUCCESS
;
28327 #endif /* USE_STRUCT_CONVERSION */
28329 #if !defined(USE_STRUCT_CONVERSION)
28331 static NTSTATUS
thunk64_vkQueueSetPerformanceConfigurationINTEL(void *args
)
28333 struct vkQueueSetPerformanceConfigurationINTEL_params
*params
= args
;
28335 TRACE("%p, 0x%s\n", params
->queue
, wine_dbgstr_longlong(params
->configuration
));
28337 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueSetPerformanceConfigurationINTEL(wine_queue_from_handle(params
->queue
)->queue
, params
->configuration
);
28338 return STATUS_SUCCESS
;
28341 #else /* USE_STRUCT_CONVERSION */
28343 static NTSTATUS
thunk32_vkQueueSetPerformanceConfigurationINTEL(void *args
)
28348 VkPerformanceConfigurationINTEL
DECLSPEC_ALIGN(8) configuration
;
28352 TRACE("%p, 0x%s\n", params
->queue
, wine_dbgstr_longlong(params
->configuration
));
28354 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueSetPerformanceConfigurationINTEL(wine_queue_from_handle(params
->queue
)->queue
, params
->configuration
);
28355 return STATUS_SUCCESS
;
28358 #endif /* USE_STRUCT_CONVERSION */
28360 #if !defined(USE_STRUCT_CONVERSION)
28362 static NTSTATUS
thunk64_vkQueueSubmit(void *args
)
28364 struct vkQueueSubmit_params
*params
= args
;
28365 const VkSubmitInfo
*pSubmits_host
;
28366 struct conversion_context ctx
;
28368 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
28370 init_conversion_context(&ctx
);
28371 pSubmits_host
= convert_VkSubmitInfo_array_win64_to_host(&ctx
, params
->pSubmits
, params
->submitCount
);
28372 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueSubmit(wine_queue_from_handle(params
->queue
)->queue
, params
->submitCount
, pSubmits_host
, params
->fence
);
28373 free_conversion_context(&ctx
);
28374 return STATUS_SUCCESS
;
28377 #else /* USE_STRUCT_CONVERSION */
28379 static NTSTATUS
thunk32_vkQueueSubmit(void *args
)
28384 uint32_t submitCount
;
28385 const VkSubmitInfo
*pSubmits
;
28386 VkFence
DECLSPEC_ALIGN(8) fence
;
28389 const VkSubmitInfo
*pSubmits_host
;
28390 struct conversion_context ctx
;
28392 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
28394 init_conversion_context(&ctx
);
28395 pSubmits_host
= convert_VkSubmitInfo_array_win32_to_host(&ctx
, params
->pSubmits
, params
->submitCount
);
28396 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueSubmit(wine_queue_from_handle(params
->queue
)->queue
, params
->submitCount
, pSubmits_host
, params
->fence
);
28397 free_conversion_context(&ctx
);
28398 return STATUS_SUCCESS
;
28401 #endif /* USE_STRUCT_CONVERSION */
28403 #if !defined(USE_STRUCT_CONVERSION)
28405 static NTSTATUS
thunk64_vkQueueSubmit2(void *args
)
28407 struct vkQueueSubmit2_params
*params
= args
;
28408 const VkSubmitInfo2
*pSubmits_host
;
28409 struct conversion_context ctx
;
28411 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
28413 init_conversion_context(&ctx
);
28414 pSubmits_host
= convert_VkSubmitInfo2_array_win64_to_host(&ctx
, params
->pSubmits
, params
->submitCount
);
28415 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueSubmit2(wine_queue_from_handle(params
->queue
)->queue
, params
->submitCount
, pSubmits_host
, params
->fence
);
28416 free_conversion_context(&ctx
);
28417 return STATUS_SUCCESS
;
28420 #else /* USE_STRUCT_CONVERSION */
28422 static NTSTATUS
thunk32_vkQueueSubmit2(void *args
)
28427 uint32_t submitCount
;
28428 const VkSubmitInfo232
*pSubmits
;
28429 VkFence
DECLSPEC_ALIGN(8) fence
;
28432 const VkSubmitInfo2
*pSubmits_host
;
28433 struct conversion_context ctx
;
28435 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
28437 init_conversion_context(&ctx
);
28438 pSubmits_host
= convert_VkSubmitInfo2_array_win32_to_host(&ctx
, params
->pSubmits
, params
->submitCount
);
28439 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueSubmit2(wine_queue_from_handle(params
->queue
)->queue
, params
->submitCount
, pSubmits_host
, params
->fence
);
28440 free_conversion_context(&ctx
);
28441 return STATUS_SUCCESS
;
28444 #endif /* USE_STRUCT_CONVERSION */
28446 #if !defined(USE_STRUCT_CONVERSION)
28448 static NTSTATUS
thunk64_vkQueueSubmit2KHR(void *args
)
28450 struct vkQueueSubmit2KHR_params
*params
= args
;
28451 const VkSubmitInfo2
*pSubmits_host
;
28452 struct conversion_context ctx
;
28454 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
28456 init_conversion_context(&ctx
);
28457 pSubmits_host
= convert_VkSubmitInfo2_array_win64_to_host(&ctx
, params
->pSubmits
, params
->submitCount
);
28458 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueSubmit2KHR(wine_queue_from_handle(params
->queue
)->queue
, params
->submitCount
, pSubmits_host
, params
->fence
);
28459 free_conversion_context(&ctx
);
28460 return STATUS_SUCCESS
;
28463 #else /* USE_STRUCT_CONVERSION */
28465 static NTSTATUS
thunk32_vkQueueSubmit2KHR(void *args
)
28470 uint32_t submitCount
;
28471 const VkSubmitInfo232
*pSubmits
;
28472 VkFence
DECLSPEC_ALIGN(8) fence
;
28475 const VkSubmitInfo2
*pSubmits_host
;
28476 struct conversion_context ctx
;
28478 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
28480 init_conversion_context(&ctx
);
28481 pSubmits_host
= convert_VkSubmitInfo2_array_win32_to_host(&ctx
, params
->pSubmits
, params
->submitCount
);
28482 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueSubmit2KHR(wine_queue_from_handle(params
->queue
)->queue
, params
->submitCount
, pSubmits_host
, params
->fence
);
28483 free_conversion_context(&ctx
);
28484 return STATUS_SUCCESS
;
28487 #endif /* USE_STRUCT_CONVERSION */
28489 #if !defined(USE_STRUCT_CONVERSION)
28491 static NTSTATUS
thunk64_vkQueueWaitIdle(void *args
)
28493 struct vkQueueWaitIdle_params
*params
= args
;
28495 TRACE("%p\n", params
->queue
);
28497 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueWaitIdle(wine_queue_from_handle(params
->queue
)->queue
);
28498 return STATUS_SUCCESS
;
28501 #else /* USE_STRUCT_CONVERSION */
28503 static NTSTATUS
thunk32_vkQueueWaitIdle(void *args
)
28511 TRACE("%p\n", params
->queue
);
28513 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueWaitIdle(wine_queue_from_handle(params
->queue
)->queue
);
28514 return STATUS_SUCCESS
;
28517 #endif /* USE_STRUCT_CONVERSION */
28519 #if !defined(USE_STRUCT_CONVERSION)
28521 static NTSTATUS
thunk64_vkReleasePerformanceConfigurationINTEL(void *args
)
28523 struct vkReleasePerformanceConfigurationINTEL_params
*params
= args
;
28525 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->configuration
));
28527 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkReleasePerformanceConfigurationINTEL(wine_device_from_handle(params
->device
)->device
, params
->configuration
);
28528 return STATUS_SUCCESS
;
28531 #else /* USE_STRUCT_CONVERSION */
28533 static NTSTATUS
thunk32_vkReleasePerformanceConfigurationINTEL(void *args
)
28538 VkPerformanceConfigurationINTEL
DECLSPEC_ALIGN(8) configuration
;
28542 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->configuration
));
28544 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkReleasePerformanceConfigurationINTEL(wine_device_from_handle(params
->device
)->device
, params
->configuration
);
28545 return STATUS_SUCCESS
;
28548 #endif /* USE_STRUCT_CONVERSION */
28550 #if !defined(USE_STRUCT_CONVERSION)
28552 static NTSTATUS
thunk64_vkReleaseProfilingLockKHR(void *args
)
28554 struct vkReleaseProfilingLockKHR_params
*params
= args
;
28556 TRACE("%p\n", params
->device
);
28558 wine_device_from_handle(params
->device
)->funcs
.p_vkReleaseProfilingLockKHR(wine_device_from_handle(params
->device
)->device
);
28559 return STATUS_SUCCESS
;
28562 #else /* USE_STRUCT_CONVERSION */
28564 static NTSTATUS
thunk32_vkReleaseProfilingLockKHR(void *args
)
28571 TRACE("%p\n", params
->device
);
28573 wine_device_from_handle(params
->device
)->funcs
.p_vkReleaseProfilingLockKHR(wine_device_from_handle(params
->device
)->device
);
28574 return STATUS_SUCCESS
;
28577 #endif /* USE_STRUCT_CONVERSION */
28579 #if !defined(USE_STRUCT_CONVERSION)
28581 static NTSTATUS
thunk64_vkResetCommandBuffer(void *args
)
28583 struct vkResetCommandBuffer_params
*params
= args
;
28585 TRACE("%p, %#x\n", params
->commandBuffer
, params
->flags
);
28587 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkResetCommandBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->flags
);
28588 return STATUS_SUCCESS
;
28591 #else /* USE_STRUCT_CONVERSION */
28593 static NTSTATUS
thunk32_vkResetCommandBuffer(void *args
)
28597 VkCommandBuffer commandBuffer
;
28598 VkCommandBufferResetFlags flags
;
28602 TRACE("%p, %#x\n", params
->commandBuffer
, params
->flags
);
28604 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkResetCommandBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->flags
);
28605 return STATUS_SUCCESS
;
28608 #endif /* USE_STRUCT_CONVERSION */
28610 #if !defined(USE_STRUCT_CONVERSION)
28612 static NTSTATUS
thunk64_vkResetCommandPool(void *args
)
28614 struct vkResetCommandPool_params
*params
= args
;
28616 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
28618 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetCommandPool(wine_device_from_handle(params
->device
)->device
, wine_cmd_pool_from_handle(params
->commandPool
)->command_pool
, params
->flags
);
28619 return STATUS_SUCCESS
;
28622 #else /* USE_STRUCT_CONVERSION */
28624 static NTSTATUS
thunk32_vkResetCommandPool(void *args
)
28629 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
28630 VkCommandPoolResetFlags flags
;
28634 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
28636 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetCommandPool(wine_device_from_handle(params
->device
)->device
, wine_cmd_pool_from_handle(params
->commandPool
)->command_pool
, params
->flags
);
28637 return STATUS_SUCCESS
;
28640 #endif /* USE_STRUCT_CONVERSION */
28642 #if !defined(USE_STRUCT_CONVERSION)
28644 static NTSTATUS
thunk64_vkResetDescriptorPool(void *args
)
28646 struct vkResetDescriptorPool_params
*params
= args
;
28648 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->flags
);
28650 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetDescriptorPool(wine_device_from_handle(params
->device
)->device
, params
->descriptorPool
, params
->flags
);
28651 return STATUS_SUCCESS
;
28654 #else /* USE_STRUCT_CONVERSION */
28656 static NTSTATUS
thunk32_vkResetDescriptorPool(void *args
)
28661 VkDescriptorPool
DECLSPEC_ALIGN(8) descriptorPool
;
28662 VkDescriptorPoolResetFlags flags
;
28666 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->flags
);
28668 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetDescriptorPool(wine_device_from_handle(params
->device
)->device
, params
->descriptorPool
, params
->flags
);
28669 return STATUS_SUCCESS
;
28672 #endif /* USE_STRUCT_CONVERSION */
28674 #if !defined(USE_STRUCT_CONVERSION)
28676 static NTSTATUS
thunk64_vkResetEvent(void *args
)
28678 struct vkResetEvent_params
*params
= args
;
28680 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
28682 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetEvent(wine_device_from_handle(params
->device
)->device
, params
->event
);
28683 return STATUS_SUCCESS
;
28686 #else /* USE_STRUCT_CONVERSION */
28688 static NTSTATUS
thunk32_vkResetEvent(void *args
)
28693 VkEvent
DECLSPEC_ALIGN(8) event
;
28697 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
28699 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetEvent(wine_device_from_handle(params
->device
)->device
, params
->event
);
28700 return STATUS_SUCCESS
;
28703 #endif /* USE_STRUCT_CONVERSION */
28705 #if !defined(USE_STRUCT_CONVERSION)
28707 static NTSTATUS
thunk64_vkResetFences(void *args
)
28709 struct vkResetFences_params
*params
= args
;
28711 TRACE("%p, %u, %p\n", params
->device
, params
->fenceCount
, params
->pFences
);
28713 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetFences(wine_device_from_handle(params
->device
)->device
, params
->fenceCount
, params
->pFences
);
28714 return STATUS_SUCCESS
;
28717 #else /* USE_STRUCT_CONVERSION */
28719 static NTSTATUS
thunk32_vkResetFences(void *args
)
28724 uint32_t fenceCount
;
28725 const VkFence
*pFences
;
28729 TRACE("%p, %u, %p\n", params
->device
, params
->fenceCount
, params
->pFences
);
28731 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetFences(wine_device_from_handle(params
->device
)->device
, params
->fenceCount
, params
->pFences
);
28732 return STATUS_SUCCESS
;
28735 #endif /* USE_STRUCT_CONVERSION */
28737 #if !defined(USE_STRUCT_CONVERSION)
28739 static NTSTATUS
thunk64_vkResetQueryPool(void *args
)
28741 struct vkResetQueryPool_params
*params
= args
;
28743 TRACE("%p, 0x%s, %u, %u\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
28745 wine_device_from_handle(params
->device
)->funcs
.p_vkResetQueryPool(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
28746 return STATUS_SUCCESS
;
28749 #else /* USE_STRUCT_CONVERSION */
28751 static NTSTATUS
thunk32_vkResetQueryPool(void *args
)
28756 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
28757 uint32_t firstQuery
;
28758 uint32_t queryCount
;
28761 TRACE("%p, 0x%s, %u, %u\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
28763 wine_device_from_handle(params
->device
)->funcs
.p_vkResetQueryPool(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
28764 return STATUS_SUCCESS
;
28767 #endif /* USE_STRUCT_CONVERSION */
28769 #if !defined(USE_STRUCT_CONVERSION)
28771 static NTSTATUS
thunk64_vkResetQueryPoolEXT(void *args
)
28773 struct vkResetQueryPoolEXT_params
*params
= args
;
28775 TRACE("%p, 0x%s, %u, %u\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
28777 wine_device_from_handle(params
->device
)->funcs
.p_vkResetQueryPoolEXT(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
28778 return STATUS_SUCCESS
;
28781 #else /* USE_STRUCT_CONVERSION */
28783 static NTSTATUS
thunk32_vkResetQueryPoolEXT(void *args
)
28788 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
28789 uint32_t firstQuery
;
28790 uint32_t queryCount
;
28793 TRACE("%p, 0x%s, %u, %u\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
28795 wine_device_from_handle(params
->device
)->funcs
.p_vkResetQueryPoolEXT(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
28796 return STATUS_SUCCESS
;
28799 #endif /* USE_STRUCT_CONVERSION */
28801 #if !defined(USE_STRUCT_CONVERSION)
28803 static NTSTATUS
thunk64_vkSetDebugUtilsObjectNameEXT(void *args
)
28805 struct vkSetDebugUtilsObjectNameEXT_params
*params
= args
;
28806 VkDebugUtilsObjectNameInfoEXT pNameInfo_host
;
28808 TRACE("%p, %p\n", params
->device
, params
->pNameInfo
);
28810 convert_VkDebugUtilsObjectNameInfoEXT_win64_to_host(params
->pNameInfo
, &pNameInfo_host
);
28811 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetDebugUtilsObjectNameEXT(wine_device_from_handle(params
->device
)->device
, &pNameInfo_host
);
28812 return STATUS_SUCCESS
;
28815 #else /* USE_STRUCT_CONVERSION */
28817 static NTSTATUS
thunk32_vkSetDebugUtilsObjectNameEXT(void *args
)
28822 const VkDebugUtilsObjectNameInfoEXT32
*pNameInfo
;
28825 VkDebugUtilsObjectNameInfoEXT pNameInfo_host
;
28827 TRACE("%p, %p\n", params
->device
, params
->pNameInfo
);
28829 convert_VkDebugUtilsObjectNameInfoEXT_win32_to_host(params
->pNameInfo
, &pNameInfo_host
);
28830 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetDebugUtilsObjectNameEXT(wine_device_from_handle(params
->device
)->device
, &pNameInfo_host
);
28831 return STATUS_SUCCESS
;
28834 #endif /* USE_STRUCT_CONVERSION */
28836 #if !defined(USE_STRUCT_CONVERSION)
28838 static NTSTATUS
thunk64_vkSetDebugUtilsObjectTagEXT(void *args
)
28840 struct vkSetDebugUtilsObjectTagEXT_params
*params
= args
;
28841 VkDebugUtilsObjectTagInfoEXT pTagInfo_host
;
28843 TRACE("%p, %p\n", params
->device
, params
->pTagInfo
);
28845 convert_VkDebugUtilsObjectTagInfoEXT_win64_to_host(params
->pTagInfo
, &pTagInfo_host
);
28846 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetDebugUtilsObjectTagEXT(wine_device_from_handle(params
->device
)->device
, &pTagInfo_host
);
28847 return STATUS_SUCCESS
;
28850 #else /* USE_STRUCT_CONVERSION */
28852 static NTSTATUS
thunk32_vkSetDebugUtilsObjectTagEXT(void *args
)
28857 const VkDebugUtilsObjectTagInfoEXT32
*pTagInfo
;
28860 VkDebugUtilsObjectTagInfoEXT pTagInfo_host
;
28862 TRACE("%p, %p\n", params
->device
, params
->pTagInfo
);
28864 convert_VkDebugUtilsObjectTagInfoEXT_win32_to_host(params
->pTagInfo
, &pTagInfo_host
);
28865 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetDebugUtilsObjectTagEXT(wine_device_from_handle(params
->device
)->device
, &pTagInfo_host
);
28866 return STATUS_SUCCESS
;
28869 #endif /* USE_STRUCT_CONVERSION */
28871 #if !defined(USE_STRUCT_CONVERSION)
28873 static NTSTATUS
thunk64_vkSetDeviceMemoryPriorityEXT(void *args
)
28875 struct vkSetDeviceMemoryPriorityEXT_params
*params
= args
;
28877 TRACE("%p, 0x%s, %f\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->priority
);
28879 wine_device_from_handle(params
->device
)->funcs
.p_vkSetDeviceMemoryPriorityEXT(wine_device_from_handle(params
->device
)->device
, params
->memory
, params
->priority
);
28880 return STATUS_SUCCESS
;
28883 #else /* USE_STRUCT_CONVERSION */
28885 static NTSTATUS
thunk32_vkSetDeviceMemoryPriorityEXT(void *args
)
28890 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
28894 TRACE("%p, 0x%s, %f\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->priority
);
28896 wine_device_from_handle(params
->device
)->funcs
.p_vkSetDeviceMemoryPriorityEXT(wine_device_from_handle(params
->device
)->device
, params
->memory
, params
->priority
);
28897 return STATUS_SUCCESS
;
28900 #endif /* USE_STRUCT_CONVERSION */
28902 #if !defined(USE_STRUCT_CONVERSION)
28904 static NTSTATUS
thunk64_vkSetEvent(void *args
)
28906 struct vkSetEvent_params
*params
= args
;
28908 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
28910 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetEvent(wine_device_from_handle(params
->device
)->device
, params
->event
);
28911 return STATUS_SUCCESS
;
28914 #else /* USE_STRUCT_CONVERSION */
28916 static NTSTATUS
thunk32_vkSetEvent(void *args
)
28921 VkEvent
DECLSPEC_ALIGN(8) event
;
28925 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
28927 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetEvent(wine_device_from_handle(params
->device
)->device
, params
->event
);
28928 return STATUS_SUCCESS
;
28931 #endif /* USE_STRUCT_CONVERSION */
28933 #if !defined(USE_STRUCT_CONVERSION)
28935 static NTSTATUS
thunk64_vkSetPrivateData(void *args
)
28937 struct vkSetPrivateData_params
*params
= args
;
28939 TRACE("%p, %#x, 0x%s, 0x%s, 0x%s\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), wine_dbgstr_longlong(params
->data
));
28941 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetPrivateData(wine_device_from_handle(params
->device
)->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->data
);
28942 return STATUS_SUCCESS
;
28945 #else /* USE_STRUCT_CONVERSION */
28947 static NTSTATUS
thunk32_vkSetPrivateData(void *args
)
28952 VkObjectType objectType
;
28953 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
28954 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
28955 uint64_t DECLSPEC_ALIGN(8) data
;
28959 TRACE("%p, %#x, 0x%s, 0x%s, 0x%s\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), wine_dbgstr_longlong(params
->data
));
28961 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetPrivateData(wine_device_from_handle(params
->device
)->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->data
);
28962 return STATUS_SUCCESS
;
28965 #endif /* USE_STRUCT_CONVERSION */
28967 #if !defined(USE_STRUCT_CONVERSION)
28969 static NTSTATUS
thunk64_vkSetPrivateDataEXT(void *args
)
28971 struct vkSetPrivateDataEXT_params
*params
= args
;
28973 TRACE("%p, %#x, 0x%s, 0x%s, 0x%s\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), wine_dbgstr_longlong(params
->data
));
28975 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetPrivateDataEXT(wine_device_from_handle(params
->device
)->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->data
);
28976 return STATUS_SUCCESS
;
28979 #else /* USE_STRUCT_CONVERSION */
28981 static NTSTATUS
thunk32_vkSetPrivateDataEXT(void *args
)
28986 VkObjectType objectType
;
28987 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
28988 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
28989 uint64_t DECLSPEC_ALIGN(8) data
;
28993 TRACE("%p, %#x, 0x%s, 0x%s, 0x%s\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), wine_dbgstr_longlong(params
->data
));
28995 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetPrivateDataEXT(wine_device_from_handle(params
->device
)->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->data
);
28996 return STATUS_SUCCESS
;
28999 #endif /* USE_STRUCT_CONVERSION */
29001 #if !defined(USE_STRUCT_CONVERSION)
29003 static NTSTATUS
thunk64_vkSignalSemaphore(void *args
)
29005 struct vkSignalSemaphore_params
*params
= args
;
29007 TRACE("%p, %p\n", params
->device
, params
->pSignalInfo
);
29009 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSignalSemaphore(wine_device_from_handle(params
->device
)->device
, params
->pSignalInfo
);
29010 return STATUS_SUCCESS
;
29013 #else /* USE_STRUCT_CONVERSION */
29015 static NTSTATUS
thunk32_vkSignalSemaphore(void *args
)
29020 const VkSemaphoreSignalInfo32
*pSignalInfo
;
29023 VkSemaphoreSignalInfo pSignalInfo_host
;
29025 TRACE("%p, %p\n", params
->device
, params
->pSignalInfo
);
29027 convert_VkSemaphoreSignalInfo_win32_to_host(params
->pSignalInfo
, &pSignalInfo_host
);
29028 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSignalSemaphore(wine_device_from_handle(params
->device
)->device
, &pSignalInfo_host
);
29029 return STATUS_SUCCESS
;
29032 #endif /* USE_STRUCT_CONVERSION */
29034 #if !defined(USE_STRUCT_CONVERSION)
29036 static NTSTATUS
thunk64_vkSignalSemaphoreKHR(void *args
)
29038 struct vkSignalSemaphoreKHR_params
*params
= args
;
29040 TRACE("%p, %p\n", params
->device
, params
->pSignalInfo
);
29042 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSignalSemaphoreKHR(wine_device_from_handle(params
->device
)->device
, params
->pSignalInfo
);
29043 return STATUS_SUCCESS
;
29046 #else /* USE_STRUCT_CONVERSION */
29048 static NTSTATUS
thunk32_vkSignalSemaphoreKHR(void *args
)
29053 const VkSemaphoreSignalInfo32
*pSignalInfo
;
29056 VkSemaphoreSignalInfo pSignalInfo_host
;
29058 TRACE("%p, %p\n", params
->device
, params
->pSignalInfo
);
29060 convert_VkSemaphoreSignalInfo_win32_to_host(params
->pSignalInfo
, &pSignalInfo_host
);
29061 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSignalSemaphoreKHR(wine_device_from_handle(params
->device
)->device
, &pSignalInfo_host
);
29062 return STATUS_SUCCESS
;
29065 #endif /* USE_STRUCT_CONVERSION */
29067 #if !defined(USE_STRUCT_CONVERSION)
29069 static NTSTATUS
thunk64_vkSubmitDebugUtilsMessageEXT(void *args
)
29071 struct vkSubmitDebugUtilsMessageEXT_params
*params
= args
;
29072 VkDebugUtilsMessengerCallbackDataEXT pCallbackData_host
;
29073 struct conversion_context ctx
;
29075 TRACE("%p, %#x, %#x, %p\n", params
->instance
, params
->messageSeverity
, params
->messageTypes
, params
->pCallbackData
);
29077 init_conversion_context(&ctx
);
29078 convert_VkDebugUtilsMessengerCallbackDataEXT_win64_to_host(&ctx
, params
->pCallbackData
, &pCallbackData_host
);
29079 wine_instance_from_handle(params
->instance
)->funcs
.p_vkSubmitDebugUtilsMessageEXT(wine_instance_from_handle(params
->instance
)->instance
, params
->messageSeverity
, params
->messageTypes
, &pCallbackData_host
);
29080 free_conversion_context(&ctx
);
29081 return STATUS_SUCCESS
;
29084 #else /* USE_STRUCT_CONVERSION */
29086 static NTSTATUS
thunk32_vkSubmitDebugUtilsMessageEXT(void *args
)
29090 VkInstance instance
;
29091 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity
;
29092 VkDebugUtilsMessageTypeFlagsEXT messageTypes
;
29093 const VkDebugUtilsMessengerCallbackDataEXT32
*pCallbackData
;
29095 VkDebugUtilsMessengerCallbackDataEXT pCallbackData_host
;
29096 struct conversion_context ctx
;
29098 TRACE("%p, %#x, %#x, %p\n", params
->instance
, params
->messageSeverity
, params
->messageTypes
, params
->pCallbackData
);
29100 init_conversion_context(&ctx
);
29101 convert_VkDebugUtilsMessengerCallbackDataEXT_win32_to_host(&ctx
, params
->pCallbackData
, &pCallbackData_host
);
29102 wine_instance_from_handle(params
->instance
)->funcs
.p_vkSubmitDebugUtilsMessageEXT(wine_instance_from_handle(params
->instance
)->instance
, params
->messageSeverity
, params
->messageTypes
, &pCallbackData_host
);
29103 free_conversion_context(&ctx
);
29104 return STATUS_SUCCESS
;
29107 #endif /* USE_STRUCT_CONVERSION */
29109 #if !defined(USE_STRUCT_CONVERSION)
29111 static NTSTATUS
thunk64_vkTrimCommandPool(void *args
)
29113 struct vkTrimCommandPool_params
*params
= args
;
29115 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
29117 wine_device_from_handle(params
->device
)->funcs
.p_vkTrimCommandPool(wine_device_from_handle(params
->device
)->device
, wine_cmd_pool_from_handle(params
->commandPool
)->command_pool
, params
->flags
);
29118 return STATUS_SUCCESS
;
29121 #else /* USE_STRUCT_CONVERSION */
29123 static NTSTATUS
thunk32_vkTrimCommandPool(void *args
)
29128 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
29129 VkCommandPoolTrimFlags flags
;
29132 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
29134 wine_device_from_handle(params
->device
)->funcs
.p_vkTrimCommandPool(wine_device_from_handle(params
->device
)->device
, wine_cmd_pool_from_handle(params
->commandPool
)->command_pool
, params
->flags
);
29135 return STATUS_SUCCESS
;
29138 #endif /* USE_STRUCT_CONVERSION */
29140 #if !defined(USE_STRUCT_CONVERSION)
29142 static NTSTATUS
thunk64_vkTrimCommandPoolKHR(void *args
)
29144 struct vkTrimCommandPoolKHR_params
*params
= args
;
29146 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
29148 wine_device_from_handle(params
->device
)->funcs
.p_vkTrimCommandPoolKHR(wine_device_from_handle(params
->device
)->device
, wine_cmd_pool_from_handle(params
->commandPool
)->command_pool
, params
->flags
);
29149 return STATUS_SUCCESS
;
29152 #else /* USE_STRUCT_CONVERSION */
29154 static NTSTATUS
thunk32_vkTrimCommandPoolKHR(void *args
)
29159 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
29160 VkCommandPoolTrimFlags flags
;
29163 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
29165 wine_device_from_handle(params
->device
)->funcs
.p_vkTrimCommandPoolKHR(wine_device_from_handle(params
->device
)->device
, wine_cmd_pool_from_handle(params
->commandPool
)->command_pool
, params
->flags
);
29166 return STATUS_SUCCESS
;
29169 #endif /* USE_STRUCT_CONVERSION */
29171 #if !defined(USE_STRUCT_CONVERSION)
29173 static NTSTATUS
thunk64_vkUninitializePerformanceApiINTEL(void *args
)
29175 struct vkUninitializePerformanceApiINTEL_params
*params
= args
;
29177 TRACE("%p\n", params
->device
);
29179 wine_device_from_handle(params
->device
)->funcs
.p_vkUninitializePerformanceApiINTEL(wine_device_from_handle(params
->device
)->device
);
29180 return STATUS_SUCCESS
;
29183 #else /* USE_STRUCT_CONVERSION */
29185 static NTSTATUS
thunk32_vkUninitializePerformanceApiINTEL(void *args
)
29192 TRACE("%p\n", params
->device
);
29194 wine_device_from_handle(params
->device
)->funcs
.p_vkUninitializePerformanceApiINTEL(wine_device_from_handle(params
->device
)->device
);
29195 return STATUS_SUCCESS
;
29198 #endif /* USE_STRUCT_CONVERSION */
29200 #if !defined(USE_STRUCT_CONVERSION)
29202 static NTSTATUS
thunk64_vkUnmapMemory(void *args
)
29204 struct vkUnmapMemory_params
*params
= args
;
29206 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->memory
));
29208 wine_device_from_handle(params
->device
)->funcs
.p_vkUnmapMemory(wine_device_from_handle(params
->device
)->device
, params
->memory
);
29209 return STATUS_SUCCESS
;
29212 #else /* USE_STRUCT_CONVERSION */
29214 static NTSTATUS
thunk32_vkUnmapMemory(void *args
)
29219 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
29222 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->memory
));
29224 wine_device_from_handle(params
->device
)->funcs
.p_vkUnmapMemory(wine_device_from_handle(params
->device
)->device
, params
->memory
);
29225 return STATUS_SUCCESS
;
29228 #endif /* USE_STRUCT_CONVERSION */
29230 #if !defined(USE_STRUCT_CONVERSION)
29232 static NTSTATUS
thunk64_vkUpdateDescriptorSetWithTemplate(void *args
)
29234 struct vkUpdateDescriptorSetWithTemplate_params
*params
= args
;
29236 TRACE("%p, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pData
);
29238 wine_device_from_handle(params
->device
)->funcs
.p_vkUpdateDescriptorSetWithTemplate(wine_device_from_handle(params
->device
)->device
, params
->descriptorSet
, params
->descriptorUpdateTemplate
, params
->pData
);
29239 return STATUS_SUCCESS
;
29242 #else /* USE_STRUCT_CONVERSION */
29244 static NTSTATUS
thunk32_vkUpdateDescriptorSetWithTemplate(void *args
)
29249 VkDescriptorSet
DECLSPEC_ALIGN(8) descriptorSet
;
29250 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
29254 TRACE("%p, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pData
);
29256 wine_device_from_handle(params
->device
)->funcs
.p_vkUpdateDescriptorSetWithTemplate(wine_device_from_handle(params
->device
)->device
, params
->descriptorSet
, params
->descriptorUpdateTemplate
, params
->pData
);
29257 return STATUS_SUCCESS
;
29260 #endif /* USE_STRUCT_CONVERSION */
29262 #if !defined(USE_STRUCT_CONVERSION)
29264 static NTSTATUS
thunk64_vkUpdateDescriptorSetWithTemplateKHR(void *args
)
29266 struct vkUpdateDescriptorSetWithTemplateKHR_params
*params
= args
;
29268 TRACE("%p, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pData
);
29270 wine_device_from_handle(params
->device
)->funcs
.p_vkUpdateDescriptorSetWithTemplateKHR(wine_device_from_handle(params
->device
)->device
, params
->descriptorSet
, params
->descriptorUpdateTemplate
, params
->pData
);
29271 return STATUS_SUCCESS
;
29274 #else /* USE_STRUCT_CONVERSION */
29276 static NTSTATUS
thunk32_vkUpdateDescriptorSetWithTemplateKHR(void *args
)
29281 VkDescriptorSet
DECLSPEC_ALIGN(8) descriptorSet
;
29282 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
29286 TRACE("%p, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pData
);
29288 wine_device_from_handle(params
->device
)->funcs
.p_vkUpdateDescriptorSetWithTemplateKHR(wine_device_from_handle(params
->device
)->device
, params
->descriptorSet
, params
->descriptorUpdateTemplate
, params
->pData
);
29289 return STATUS_SUCCESS
;
29292 #endif /* USE_STRUCT_CONVERSION */
29294 #if !defined(USE_STRUCT_CONVERSION)
29296 static NTSTATUS
thunk64_vkUpdateDescriptorSets(void *args
)
29298 struct vkUpdateDescriptorSets_params
*params
= args
;
29300 TRACE("%p, %u, %p, %u, %p\n", params
->device
, params
->descriptorWriteCount
, params
->pDescriptorWrites
, params
->descriptorCopyCount
, params
->pDescriptorCopies
);
29302 wine_device_from_handle(params
->device
)->funcs
.p_vkUpdateDescriptorSets(wine_device_from_handle(params
->device
)->device
, params
->descriptorWriteCount
, params
->pDescriptorWrites
, params
->descriptorCopyCount
, params
->pDescriptorCopies
);
29303 return STATUS_SUCCESS
;
29306 #else /* USE_STRUCT_CONVERSION */
29308 static NTSTATUS
thunk32_vkUpdateDescriptorSets(void *args
)
29313 uint32_t descriptorWriteCount
;
29314 const VkWriteDescriptorSet32
*pDescriptorWrites
;
29315 uint32_t descriptorCopyCount
;
29316 const VkCopyDescriptorSet32
*pDescriptorCopies
;
29318 const VkWriteDescriptorSet
*pDescriptorWrites_host
;
29319 const VkCopyDescriptorSet
*pDescriptorCopies_host
;
29320 struct conversion_context ctx
;
29322 TRACE("%p, %u, %p, %u, %p\n", params
->device
, params
->descriptorWriteCount
, params
->pDescriptorWrites
, params
->descriptorCopyCount
, params
->pDescriptorCopies
);
29324 init_conversion_context(&ctx
);
29325 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win32_to_host(&ctx
, params
->pDescriptorWrites
, params
->descriptorWriteCount
);
29326 pDescriptorCopies_host
= convert_VkCopyDescriptorSet_array_win32_to_host(&ctx
, params
->pDescriptorCopies
, params
->descriptorCopyCount
);
29327 wine_device_from_handle(params
->device
)->funcs
.p_vkUpdateDescriptorSets(wine_device_from_handle(params
->device
)->device
, params
->descriptorWriteCount
, pDescriptorWrites_host
, params
->descriptorCopyCount
, pDescriptorCopies_host
);
29328 free_conversion_context(&ctx
);
29329 return STATUS_SUCCESS
;
29332 #endif /* USE_STRUCT_CONVERSION */
29334 #if !defined(USE_STRUCT_CONVERSION)
29336 static NTSTATUS
thunk64_vkWaitForFences(void *args
)
29338 struct vkWaitForFences_params
*params
= args
;
29340 TRACE("%p, %u, %p, %u, 0x%s\n", params
->device
, params
->fenceCount
, params
->pFences
, params
->waitAll
, wine_dbgstr_longlong(params
->timeout
));
29342 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitForFences(wine_device_from_handle(params
->device
)->device
, params
->fenceCount
, params
->pFences
, params
->waitAll
, params
->timeout
);
29343 return STATUS_SUCCESS
;
29346 #else /* USE_STRUCT_CONVERSION */
29348 static NTSTATUS
thunk32_vkWaitForFences(void *args
)
29353 uint32_t fenceCount
;
29354 const VkFence
*pFences
;
29356 uint64_t DECLSPEC_ALIGN(8) timeout
;
29360 TRACE("%p, %u, %p, %u, 0x%s\n", params
->device
, params
->fenceCount
, params
->pFences
, params
->waitAll
, wine_dbgstr_longlong(params
->timeout
));
29362 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitForFences(wine_device_from_handle(params
->device
)->device
, params
->fenceCount
, params
->pFences
, params
->waitAll
, params
->timeout
);
29363 return STATUS_SUCCESS
;
29366 #endif /* USE_STRUCT_CONVERSION */
29368 #if !defined(USE_STRUCT_CONVERSION)
29370 static NTSTATUS
thunk64_vkWaitForPresentKHR(void *args
)
29372 struct vkWaitForPresentKHR_params
*params
= args
;
29374 TRACE("%p, 0x%s, 0x%s, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), wine_dbgstr_longlong(params
->presentId
), wine_dbgstr_longlong(params
->timeout
));
29376 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitForPresentKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, params
->presentId
, params
->timeout
);
29377 return STATUS_SUCCESS
;
29380 #else /* USE_STRUCT_CONVERSION */
29382 static NTSTATUS
thunk32_vkWaitForPresentKHR(void *args
)
29387 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
29388 uint64_t DECLSPEC_ALIGN(8) presentId
;
29389 uint64_t DECLSPEC_ALIGN(8) timeout
;
29393 TRACE("%p, 0x%s, 0x%s, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), wine_dbgstr_longlong(params
->presentId
), wine_dbgstr_longlong(params
->timeout
));
29395 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitForPresentKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, params
->presentId
, params
->timeout
);
29396 return STATUS_SUCCESS
;
29399 #endif /* USE_STRUCT_CONVERSION */
29401 #if !defined(USE_STRUCT_CONVERSION)
29403 static NTSTATUS
thunk64_vkWaitSemaphores(void *args
)
29405 struct vkWaitSemaphores_params
*params
= args
;
29407 TRACE("%p, %p, 0x%s\n", params
->device
, params
->pWaitInfo
, wine_dbgstr_longlong(params
->timeout
));
29409 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitSemaphores(wine_device_from_handle(params
->device
)->device
, params
->pWaitInfo
, params
->timeout
);
29410 return STATUS_SUCCESS
;
29413 #else /* USE_STRUCT_CONVERSION */
29415 static NTSTATUS
thunk32_vkWaitSemaphores(void *args
)
29420 const VkSemaphoreWaitInfo
*pWaitInfo
;
29421 uint64_t DECLSPEC_ALIGN(8) timeout
;
29425 TRACE("%p, %p, 0x%s\n", params
->device
, params
->pWaitInfo
, wine_dbgstr_longlong(params
->timeout
));
29427 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitSemaphores(wine_device_from_handle(params
->device
)->device
, params
->pWaitInfo
, params
->timeout
);
29428 return STATUS_SUCCESS
;
29431 #endif /* USE_STRUCT_CONVERSION */
29433 #if !defined(USE_STRUCT_CONVERSION)
29435 static NTSTATUS
thunk64_vkWaitSemaphoresKHR(void *args
)
29437 struct vkWaitSemaphoresKHR_params
*params
= args
;
29439 TRACE("%p, %p, 0x%s\n", params
->device
, params
->pWaitInfo
, wine_dbgstr_longlong(params
->timeout
));
29441 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitSemaphoresKHR(wine_device_from_handle(params
->device
)->device
, params
->pWaitInfo
, params
->timeout
);
29442 return STATUS_SUCCESS
;
29445 #else /* USE_STRUCT_CONVERSION */
29447 static NTSTATUS
thunk32_vkWaitSemaphoresKHR(void *args
)
29452 const VkSemaphoreWaitInfo
*pWaitInfo
;
29453 uint64_t DECLSPEC_ALIGN(8) timeout
;
29457 TRACE("%p, %p, 0x%s\n", params
->device
, params
->pWaitInfo
, wine_dbgstr_longlong(params
->timeout
));
29459 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitSemaphoresKHR(wine_device_from_handle(params
->device
)->device
, params
->pWaitInfo
, params
->timeout
);
29460 return STATUS_SUCCESS
;
29463 #endif /* USE_STRUCT_CONVERSION */
29465 #if !defined(USE_STRUCT_CONVERSION)
29467 static NTSTATUS
thunk64_vkWriteAccelerationStructuresPropertiesKHR(void *args
)
29469 struct vkWriteAccelerationStructuresPropertiesKHR_params
*params
= args
;
29471 TRACE("%p, %u, %p, %#x, 0x%s, %p, 0x%s\n", params
->device
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
, wine_dbgstr_longlong(params
->stride
));
29473 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWriteAccelerationStructuresPropertiesKHR(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, params
->dataSize
, params
->pData
, params
->stride
);
29474 return STATUS_SUCCESS
;
29477 #else /* USE_STRUCT_CONVERSION */
29479 static NTSTATUS
thunk32_vkWriteAccelerationStructuresPropertiesKHR(void *args
)
29484 uint32_t accelerationStructureCount
;
29485 const VkAccelerationStructureKHR
*pAccelerationStructures
;
29486 VkQueryType queryType
;
29493 TRACE("%p, %u, %p, %#x, 0x%s, %p, 0x%s\n", params
->device
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
, wine_dbgstr_longlong(params
->stride
));
29495 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWriteAccelerationStructuresPropertiesKHR(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, params
->dataSize
, params
->pData
, params
->stride
);
29496 return STATUS_SUCCESS
;
29499 #endif /* USE_STRUCT_CONVERSION */
29501 #if !defined(USE_STRUCT_CONVERSION)
29503 static NTSTATUS
thunk64_vkWriteMicromapsPropertiesEXT(void *args
)
29505 struct vkWriteMicromapsPropertiesEXT_params
*params
= args
;
29507 TRACE("%p, %u, %p, %#x, 0x%s, %p, 0x%s\n", params
->device
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
, wine_dbgstr_longlong(params
->stride
));
29509 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWriteMicromapsPropertiesEXT(wine_device_from_handle(params
->device
)->device
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, params
->dataSize
, params
->pData
, params
->stride
);
29510 return STATUS_SUCCESS
;
29513 #else /* USE_STRUCT_CONVERSION */
29515 static NTSTATUS
thunk32_vkWriteMicromapsPropertiesEXT(void *args
)
29520 uint32_t micromapCount
;
29521 const VkMicromapEXT
*pMicromaps
;
29522 VkQueryType queryType
;
29529 TRACE("%p, %u, %p, %#x, 0x%s, %p, 0x%s\n", params
->device
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
, wine_dbgstr_longlong(params
->stride
));
29531 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWriteMicromapsPropertiesEXT(wine_device_from_handle(params
->device
)->device
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, params
->dataSize
, params
->pData
, params
->stride
);
29532 return STATUS_SUCCESS
;
29535 #endif /* USE_STRUCT_CONVERSION */
29537 static const char * const vk_device_extensions
[] =
29539 "VK_AMD_buffer_marker",
29540 "VK_AMD_device_coherent_memory",
29541 "VK_AMD_draw_indirect_count",
29542 "VK_AMD_gcn_shader",
29543 "VK_AMD_gpu_shader_half_float",
29544 "VK_AMD_gpu_shader_int16",
29545 "VK_AMD_memory_overallocation_behavior",
29546 "VK_AMD_mixed_attachment_samples",
29547 "VK_AMD_negative_viewport_height",
29548 "VK_AMD_pipeline_compiler_control",
29549 "VK_AMD_rasterization_order",
29550 "VK_AMD_shader_ballot",
29551 "VK_AMD_shader_core_properties",
29552 "VK_AMD_shader_core_properties2",
29553 "VK_AMD_shader_early_and_late_fragment_tests",
29554 "VK_AMD_shader_explicit_vertex_parameter",
29555 "VK_AMD_shader_fragment_mask",
29556 "VK_AMD_shader_image_load_store_lod",
29557 "VK_AMD_shader_info",
29558 "VK_AMD_shader_trinary_minmax",
29559 "VK_AMD_texture_gather_bias_lod",
29560 "VK_ARM_rasterization_order_attachment_access",
29561 "VK_ARM_shader_core_builtins",
29562 "VK_EXT_4444_formats",
29563 "VK_EXT_astc_decode_mode",
29564 "VK_EXT_attachment_feedback_loop_layout",
29565 "VK_EXT_blend_operation_advanced",
29566 "VK_EXT_border_color_swizzle",
29567 "VK_EXT_buffer_device_address",
29568 "VK_EXT_calibrated_timestamps",
29569 "VK_EXT_color_write_enable",
29570 "VK_EXT_conditional_rendering",
29571 "VK_EXT_conservative_rasterization",
29572 "VK_EXT_custom_border_color",
29573 "VK_EXT_debug_marker",
29574 "VK_EXT_depth_clamp_zero_one",
29575 "VK_EXT_depth_clip_control",
29576 "VK_EXT_depth_clip_enable",
29577 "VK_EXT_depth_range_unrestricted",
29578 "VK_EXT_descriptor_indexing",
29579 "VK_EXT_device_address_binding_report",
29580 "VK_EXT_device_fault",
29581 "VK_EXT_discard_rectangles",
29582 "VK_EXT_extended_dynamic_state",
29583 "VK_EXT_extended_dynamic_state2",
29584 "VK_EXT_extended_dynamic_state3",
29585 "VK_EXT_external_memory_host",
29586 "VK_EXT_filter_cubic",
29587 "VK_EXT_fragment_density_map",
29588 "VK_EXT_fragment_density_map2",
29589 "VK_EXT_fragment_shader_interlock",
29590 "VK_EXT_global_priority",
29591 "VK_EXT_global_priority_query",
29592 "VK_EXT_graphics_pipeline_library",
29593 "VK_EXT_host_query_reset",
29594 "VK_EXT_image_2d_view_of_3d",
29595 "VK_EXT_image_compression_control",
29596 "VK_EXT_image_compression_control_swapchain",
29597 "VK_EXT_image_robustness",
29598 "VK_EXT_image_view_min_lod",
29599 "VK_EXT_index_type_uint8",
29600 "VK_EXT_inline_uniform_block",
29601 "VK_EXT_legacy_dithering",
29602 "VK_EXT_line_rasterization",
29603 "VK_EXT_load_store_op_none",
29604 "VK_EXT_memory_budget",
29605 "VK_EXT_memory_priority",
29606 "VK_EXT_mesh_shader",
29607 "VK_EXT_multi_draw",
29608 "VK_EXT_multisampled_render_to_single_sampled",
29609 "VK_EXT_mutable_descriptor_type",
29610 "VK_EXT_non_seamless_cube_map",
29611 "VK_EXT_opacity_micromap",
29612 "VK_EXT_pageable_device_local_memory",
29613 "VK_EXT_pci_bus_info",
29614 "VK_EXT_pipeline_creation_cache_control",
29615 "VK_EXT_pipeline_creation_feedback",
29616 "VK_EXT_pipeline_properties",
29617 "VK_EXT_pipeline_protected_access",
29618 "VK_EXT_pipeline_robustness",
29619 "VK_EXT_post_depth_coverage",
29620 "VK_EXT_primitive_topology_list_restart",
29621 "VK_EXT_primitives_generated_query",
29622 "VK_EXT_private_data",
29623 "VK_EXT_provoking_vertex",
29624 "VK_EXT_queue_family_foreign",
29625 "VK_EXT_rasterization_order_attachment_access",
29626 "VK_EXT_rgba10x6_formats",
29627 "VK_EXT_robustness2",
29628 "VK_EXT_sample_locations",
29629 "VK_EXT_sampler_filter_minmax",
29630 "VK_EXT_scalar_block_layout",
29631 "VK_EXT_separate_stencil_usage",
29632 "VK_EXT_shader_atomic_float",
29633 "VK_EXT_shader_atomic_float2",
29634 "VK_EXT_shader_demote_to_helper_invocation",
29635 "VK_EXT_shader_image_atomic_int64",
29636 "VK_EXT_shader_module_identifier",
29637 "VK_EXT_shader_stencil_export",
29638 "VK_EXT_shader_subgroup_ballot",
29639 "VK_EXT_shader_subgroup_vote",
29640 "VK_EXT_shader_viewport_index_layer",
29641 "VK_EXT_subgroup_size_control",
29642 "VK_EXT_subpass_merge_feedback",
29643 "VK_EXT_texel_buffer_alignment",
29644 "VK_EXT_texture_compression_astc_hdr",
29645 "VK_EXT_tooling_info",
29646 "VK_EXT_transform_feedback",
29647 "VK_EXT_validation_cache",
29648 "VK_EXT_vertex_attribute_divisor",
29649 "VK_EXT_vertex_input_dynamic_state",
29650 "VK_EXT_ycbcr_2plane_444_formats",
29651 "VK_EXT_ycbcr_image_arrays",
29652 "VK_GOOGLE_decorate_string",
29653 "VK_GOOGLE_hlsl_functionality1",
29654 "VK_GOOGLE_user_type",
29655 "VK_HUAWEI_invocation_mask",
29656 "VK_HUAWEI_subpass_shading",
29657 "VK_IMG_filter_cubic",
29658 "VK_IMG_format_pvrtc",
29659 "VK_INTEL_performance_query",
29660 "VK_INTEL_shader_integer_functions2",
29661 "VK_KHR_16bit_storage",
29662 "VK_KHR_8bit_storage",
29663 "VK_KHR_acceleration_structure",
29664 "VK_KHR_bind_memory2",
29665 "VK_KHR_buffer_device_address",
29666 "VK_KHR_copy_commands2",
29667 "VK_KHR_create_renderpass2",
29668 "VK_KHR_dedicated_allocation",
29669 "VK_KHR_deferred_host_operations",
29670 "VK_KHR_depth_stencil_resolve",
29671 "VK_KHR_descriptor_update_template",
29672 "VK_KHR_device_group",
29673 "VK_KHR_draw_indirect_count",
29674 "VK_KHR_driver_properties",
29675 "VK_KHR_dynamic_rendering",
29676 "VK_KHR_external_fence",
29677 "VK_KHR_external_memory",
29678 "VK_KHR_external_semaphore",
29679 "VK_KHR_format_feature_flags2",
29680 "VK_KHR_fragment_shader_barycentric",
29681 "VK_KHR_fragment_shading_rate",
29682 "VK_KHR_get_memory_requirements2",
29683 "VK_KHR_global_priority",
29684 "VK_KHR_image_format_list",
29685 "VK_KHR_imageless_framebuffer",
29686 "VK_KHR_incremental_present",
29687 "VK_KHR_maintenance1",
29688 "VK_KHR_maintenance2",
29689 "VK_KHR_maintenance3",
29690 "VK_KHR_maintenance4",
29691 "VK_KHR_multiview",
29692 "VK_KHR_performance_query",
29693 "VK_KHR_pipeline_executable_properties",
29694 "VK_KHR_pipeline_library",
29695 "VK_KHR_present_id",
29696 "VK_KHR_present_wait",
29697 "VK_KHR_push_descriptor",
29698 "VK_KHR_ray_query",
29699 "VK_KHR_ray_tracing_maintenance1",
29700 "VK_KHR_ray_tracing_pipeline",
29701 "VK_KHR_relaxed_block_layout",
29702 "VK_KHR_sampler_mirror_clamp_to_edge",
29703 "VK_KHR_sampler_ycbcr_conversion",
29704 "VK_KHR_separate_depth_stencil_layouts",
29705 "VK_KHR_shader_atomic_int64",
29706 "VK_KHR_shader_clock",
29707 "VK_KHR_shader_draw_parameters",
29708 "VK_KHR_shader_float16_int8",
29709 "VK_KHR_shader_float_controls",
29710 "VK_KHR_shader_integer_dot_product",
29711 "VK_KHR_shader_non_semantic_info",
29712 "VK_KHR_shader_subgroup_extended_types",
29713 "VK_KHR_shader_subgroup_uniform_control_flow",
29714 "VK_KHR_shader_terminate_invocation",
29715 "VK_KHR_spirv_1_4",
29716 "VK_KHR_storage_buffer_storage_class",
29717 "VK_KHR_swapchain",
29718 "VK_KHR_swapchain_mutable_format",
29719 "VK_KHR_synchronization2",
29720 "VK_KHR_timeline_semaphore",
29721 "VK_KHR_uniform_buffer_standard_layout",
29722 "VK_KHR_variable_pointers",
29723 "VK_KHR_vulkan_memory_model",
29724 "VK_KHR_workgroup_memory_explicit_layout",
29725 "VK_KHR_zero_initialize_workgroup_memory",
29726 "VK_NVX_binary_import",
29727 "VK_NVX_image_view_handle",
29728 "VK_NV_clip_space_w_scaling",
29729 "VK_NV_compute_shader_derivatives",
29730 "VK_NV_cooperative_matrix",
29731 "VK_NV_copy_memory_indirect",
29732 "VK_NV_corner_sampled_image",
29733 "VK_NV_coverage_reduction_mode",
29734 "VK_NV_dedicated_allocation",
29735 "VK_NV_dedicated_allocation_image_aliasing",
29736 "VK_NV_device_diagnostic_checkpoints",
29737 "VK_NV_device_diagnostics_config",
29738 "VK_NV_device_generated_commands",
29739 "VK_NV_fill_rectangle",
29740 "VK_NV_fragment_coverage_to_color",
29741 "VK_NV_fragment_shader_barycentric",
29742 "VK_NV_fragment_shading_rate_enums",
29743 "VK_NV_framebuffer_mixed_samples",
29744 "VK_NV_geometry_shader_passthrough",
29745 "VK_NV_glsl_shader",
29746 "VK_NV_inherited_viewport_scissor",
29747 "VK_NV_linear_color_attachment",
29748 "VK_NV_memory_decompression",
29749 "VK_NV_mesh_shader",
29750 "VK_NV_optical_flow",
29751 "VK_NV_present_barrier",
29752 "VK_NV_ray_tracing",
29753 "VK_NV_ray_tracing_invocation_reorder",
29754 "VK_NV_ray_tracing_motion_blur",
29755 "VK_NV_representative_fragment_test",
29756 "VK_NV_sample_mask_override_coverage",
29757 "VK_NV_scissor_exclusive",
29758 "VK_NV_shader_image_footprint",
29759 "VK_NV_shader_sm_builtins",
29760 "VK_NV_shader_subgroup_partitioned",
29761 "VK_NV_shading_rate_image",
29762 "VK_NV_viewport_array2",
29763 "VK_NV_viewport_swizzle",
29764 "VK_QCOM_fragment_density_map_offset",
29765 "VK_QCOM_image_processing",
29766 "VK_QCOM_render_pass_shader_resolve",
29767 "VK_QCOM_render_pass_store_ops",
29768 "VK_QCOM_render_pass_transform",
29769 "VK_QCOM_rotated_copy_commands",
29770 "VK_QCOM_tile_properties",
29771 "VK_VALVE_descriptor_set_host_mapping",
29772 "VK_VALVE_mutable_descriptor_type",
29775 static const char * const vk_instance_extensions
[] =
29777 "VK_EXT_debug_report",
29778 "VK_EXT_debug_utils",
29779 "VK_EXT_swapchain_colorspace",
29780 "VK_EXT_validation_features",
29781 "VK_EXT_validation_flags",
29782 "VK_KHR_device_group_creation",
29783 "VK_KHR_external_fence_capabilities",
29784 "VK_KHR_external_memory_capabilities",
29785 "VK_KHR_external_semaphore_capabilities",
29786 "VK_KHR_get_physical_device_properties2",
29787 "VK_KHR_get_surface_capabilities2",
29788 "VK_KHR_portability_enumeration",
29790 "VK_KHR_win32_surface",
29793 BOOL
wine_vk_device_extension_supported(const char *name
)
29796 for (i
= 0; i
< ARRAY_SIZE(vk_device_extensions
); i
++)
29798 if (strcmp(vk_device_extensions
[i
], name
) == 0)
29804 BOOL
wine_vk_instance_extension_supported(const char *name
)
29807 for (i
= 0; i
< ARRAY_SIZE(vk_instance_extensions
); i
++)
29809 if (strcmp(vk_instance_extensions
[i
], name
) == 0)
29815 BOOL
wine_vk_is_type_wrapped(VkObjectType type
)
29818 type
== VK_OBJECT_TYPE_COMMAND_BUFFER
||
29819 type
== VK_OBJECT_TYPE_COMMAND_POOL
||
29820 type
== VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
||
29821 type
== VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
||
29822 type
== VK_OBJECT_TYPE_DEVICE
||
29823 type
== VK_OBJECT_TYPE_INSTANCE
||
29824 type
== VK_OBJECT_TYPE_PHYSICAL_DEVICE
||
29825 type
== VK_OBJECT_TYPE_QUEUE
||
29826 type
== VK_OBJECT_TYPE_SURFACE_KHR
;
29829 #if !defined(USE_STRUCT_CONVERSION)
29831 const unixlib_entry_t __wine_unix_call_funcs
[] =
29834 vk_is_available_instance_function
,
29835 vk_is_available_device_function
,
29836 thunk64_vkAcquireNextImage2KHR
,
29837 thunk64_vkAcquireNextImageKHR
,
29838 thunk64_vkAcquirePerformanceConfigurationINTEL
,
29839 thunk64_vkAcquireProfilingLockKHR
,
29840 thunk64_vkAllocateCommandBuffers
,
29841 thunk64_vkAllocateDescriptorSets
,
29842 thunk64_vkAllocateMemory
,
29843 thunk64_vkBeginCommandBuffer
,
29844 thunk64_vkBindAccelerationStructureMemoryNV
,
29845 thunk64_vkBindBufferMemory
,
29846 thunk64_vkBindBufferMemory2
,
29847 thunk64_vkBindBufferMemory2KHR
,
29848 thunk64_vkBindImageMemory
,
29849 thunk64_vkBindImageMemory2
,
29850 thunk64_vkBindImageMemory2KHR
,
29851 thunk64_vkBindOpticalFlowSessionImageNV
,
29852 thunk64_vkBuildAccelerationStructuresKHR
,
29853 thunk64_vkBuildMicromapsEXT
,
29854 thunk64_vkCmdBeginConditionalRenderingEXT
,
29855 thunk64_vkCmdBeginDebugUtilsLabelEXT
,
29856 thunk64_vkCmdBeginQuery
,
29857 thunk64_vkCmdBeginQueryIndexedEXT
,
29858 thunk64_vkCmdBeginRenderPass
,
29859 thunk64_vkCmdBeginRenderPass2
,
29860 thunk64_vkCmdBeginRenderPass2KHR
,
29861 thunk64_vkCmdBeginRendering
,
29862 thunk64_vkCmdBeginRenderingKHR
,
29863 thunk64_vkCmdBeginTransformFeedbackEXT
,
29864 thunk64_vkCmdBindDescriptorSets
,
29865 thunk64_vkCmdBindIndexBuffer
,
29866 thunk64_vkCmdBindInvocationMaskHUAWEI
,
29867 thunk64_vkCmdBindPipeline
,
29868 thunk64_vkCmdBindPipelineShaderGroupNV
,
29869 thunk64_vkCmdBindShadingRateImageNV
,
29870 thunk64_vkCmdBindTransformFeedbackBuffersEXT
,
29871 thunk64_vkCmdBindVertexBuffers
,
29872 thunk64_vkCmdBindVertexBuffers2
,
29873 thunk64_vkCmdBindVertexBuffers2EXT
,
29874 thunk64_vkCmdBlitImage
,
29875 thunk64_vkCmdBlitImage2
,
29876 thunk64_vkCmdBlitImage2KHR
,
29877 thunk64_vkCmdBuildAccelerationStructureNV
,
29878 thunk64_vkCmdBuildAccelerationStructuresIndirectKHR
,
29879 thunk64_vkCmdBuildAccelerationStructuresKHR
,
29880 thunk64_vkCmdBuildMicromapsEXT
,
29881 thunk64_vkCmdClearAttachments
,
29882 thunk64_vkCmdClearColorImage
,
29883 thunk64_vkCmdClearDepthStencilImage
,
29884 thunk64_vkCmdCopyAccelerationStructureKHR
,
29885 thunk64_vkCmdCopyAccelerationStructureNV
,
29886 thunk64_vkCmdCopyAccelerationStructureToMemoryKHR
,
29887 thunk64_vkCmdCopyBuffer
,
29888 thunk64_vkCmdCopyBuffer2
,
29889 thunk64_vkCmdCopyBuffer2KHR
,
29890 thunk64_vkCmdCopyBufferToImage
,
29891 thunk64_vkCmdCopyBufferToImage2
,
29892 thunk64_vkCmdCopyBufferToImage2KHR
,
29893 thunk64_vkCmdCopyImage
,
29894 thunk64_vkCmdCopyImage2
,
29895 thunk64_vkCmdCopyImage2KHR
,
29896 thunk64_vkCmdCopyImageToBuffer
,
29897 thunk64_vkCmdCopyImageToBuffer2
,
29898 thunk64_vkCmdCopyImageToBuffer2KHR
,
29899 thunk64_vkCmdCopyMemoryIndirectNV
,
29900 thunk64_vkCmdCopyMemoryToAccelerationStructureKHR
,
29901 thunk64_vkCmdCopyMemoryToImageIndirectNV
,
29902 thunk64_vkCmdCopyMemoryToMicromapEXT
,
29903 thunk64_vkCmdCopyMicromapEXT
,
29904 thunk64_vkCmdCopyMicromapToMemoryEXT
,
29905 thunk64_vkCmdCopyQueryPoolResults
,
29906 thunk64_vkCmdCuLaunchKernelNVX
,
29907 thunk64_vkCmdDebugMarkerBeginEXT
,
29908 thunk64_vkCmdDebugMarkerEndEXT
,
29909 thunk64_vkCmdDebugMarkerInsertEXT
,
29910 thunk64_vkCmdDecompressMemoryIndirectCountNV
,
29911 thunk64_vkCmdDecompressMemoryNV
,
29912 thunk64_vkCmdDispatch
,
29913 thunk64_vkCmdDispatchBase
,
29914 thunk64_vkCmdDispatchBaseKHR
,
29915 thunk64_vkCmdDispatchIndirect
,
29917 thunk64_vkCmdDrawIndexed
,
29918 thunk64_vkCmdDrawIndexedIndirect
,
29919 thunk64_vkCmdDrawIndexedIndirectCount
,
29920 thunk64_vkCmdDrawIndexedIndirectCountAMD
,
29921 thunk64_vkCmdDrawIndexedIndirectCountKHR
,
29922 thunk64_vkCmdDrawIndirect
,
29923 thunk64_vkCmdDrawIndirectByteCountEXT
,
29924 thunk64_vkCmdDrawIndirectCount
,
29925 thunk64_vkCmdDrawIndirectCountAMD
,
29926 thunk64_vkCmdDrawIndirectCountKHR
,
29927 thunk64_vkCmdDrawMeshTasksEXT
,
29928 thunk64_vkCmdDrawMeshTasksIndirectCountEXT
,
29929 thunk64_vkCmdDrawMeshTasksIndirectCountNV
,
29930 thunk64_vkCmdDrawMeshTasksIndirectEXT
,
29931 thunk64_vkCmdDrawMeshTasksIndirectNV
,
29932 thunk64_vkCmdDrawMeshTasksNV
,
29933 thunk64_vkCmdDrawMultiEXT
,
29934 thunk64_vkCmdDrawMultiIndexedEXT
,
29935 thunk64_vkCmdEndConditionalRenderingEXT
,
29936 thunk64_vkCmdEndDebugUtilsLabelEXT
,
29937 thunk64_vkCmdEndQuery
,
29938 thunk64_vkCmdEndQueryIndexedEXT
,
29939 thunk64_vkCmdEndRenderPass
,
29940 thunk64_vkCmdEndRenderPass2
,
29941 thunk64_vkCmdEndRenderPass2KHR
,
29942 thunk64_vkCmdEndRendering
,
29943 thunk64_vkCmdEndRenderingKHR
,
29944 thunk64_vkCmdEndTransformFeedbackEXT
,
29945 thunk64_vkCmdExecuteCommands
,
29946 thunk64_vkCmdExecuteGeneratedCommandsNV
,
29947 thunk64_vkCmdFillBuffer
,
29948 thunk64_vkCmdInsertDebugUtilsLabelEXT
,
29949 thunk64_vkCmdNextSubpass
,
29950 thunk64_vkCmdNextSubpass2
,
29951 thunk64_vkCmdNextSubpass2KHR
,
29952 thunk64_vkCmdOpticalFlowExecuteNV
,
29953 thunk64_vkCmdPipelineBarrier
,
29954 thunk64_vkCmdPipelineBarrier2
,
29955 thunk64_vkCmdPipelineBarrier2KHR
,
29956 thunk64_vkCmdPreprocessGeneratedCommandsNV
,
29957 thunk64_vkCmdPushConstants
,
29958 thunk64_vkCmdPushDescriptorSetKHR
,
29959 thunk64_vkCmdPushDescriptorSetWithTemplateKHR
,
29960 thunk64_vkCmdResetEvent
,
29961 thunk64_vkCmdResetEvent2
,
29962 thunk64_vkCmdResetEvent2KHR
,
29963 thunk64_vkCmdResetQueryPool
,
29964 thunk64_vkCmdResolveImage
,
29965 thunk64_vkCmdResolveImage2
,
29966 thunk64_vkCmdResolveImage2KHR
,
29967 thunk64_vkCmdSetAlphaToCoverageEnableEXT
,
29968 thunk64_vkCmdSetAlphaToOneEnableEXT
,
29969 thunk64_vkCmdSetBlendConstants
,
29970 thunk64_vkCmdSetCheckpointNV
,
29971 thunk64_vkCmdSetCoarseSampleOrderNV
,
29972 thunk64_vkCmdSetColorBlendAdvancedEXT
,
29973 thunk64_vkCmdSetColorBlendEnableEXT
,
29974 thunk64_vkCmdSetColorBlendEquationEXT
,
29975 thunk64_vkCmdSetColorWriteEnableEXT
,
29976 thunk64_vkCmdSetColorWriteMaskEXT
,
29977 thunk64_vkCmdSetConservativeRasterizationModeEXT
,
29978 thunk64_vkCmdSetCoverageModulationModeNV
,
29979 thunk64_vkCmdSetCoverageModulationTableEnableNV
,
29980 thunk64_vkCmdSetCoverageModulationTableNV
,
29981 thunk64_vkCmdSetCoverageReductionModeNV
,
29982 thunk64_vkCmdSetCoverageToColorEnableNV
,
29983 thunk64_vkCmdSetCoverageToColorLocationNV
,
29984 thunk64_vkCmdSetCullMode
,
29985 thunk64_vkCmdSetCullModeEXT
,
29986 thunk64_vkCmdSetDepthBias
,
29987 thunk64_vkCmdSetDepthBiasEnable
,
29988 thunk64_vkCmdSetDepthBiasEnableEXT
,
29989 thunk64_vkCmdSetDepthBounds
,
29990 thunk64_vkCmdSetDepthBoundsTestEnable
,
29991 thunk64_vkCmdSetDepthBoundsTestEnableEXT
,
29992 thunk64_vkCmdSetDepthClampEnableEXT
,
29993 thunk64_vkCmdSetDepthClipEnableEXT
,
29994 thunk64_vkCmdSetDepthClipNegativeOneToOneEXT
,
29995 thunk64_vkCmdSetDepthCompareOp
,
29996 thunk64_vkCmdSetDepthCompareOpEXT
,
29997 thunk64_vkCmdSetDepthTestEnable
,
29998 thunk64_vkCmdSetDepthTestEnableEXT
,
29999 thunk64_vkCmdSetDepthWriteEnable
,
30000 thunk64_vkCmdSetDepthWriteEnableEXT
,
30001 thunk64_vkCmdSetDeviceMask
,
30002 thunk64_vkCmdSetDeviceMaskKHR
,
30003 thunk64_vkCmdSetDiscardRectangleEXT
,
30004 thunk64_vkCmdSetEvent
,
30005 thunk64_vkCmdSetEvent2
,
30006 thunk64_vkCmdSetEvent2KHR
,
30007 thunk64_vkCmdSetExclusiveScissorNV
,
30008 thunk64_vkCmdSetExtraPrimitiveOverestimationSizeEXT
,
30009 thunk64_vkCmdSetFragmentShadingRateEnumNV
,
30010 thunk64_vkCmdSetFragmentShadingRateKHR
,
30011 thunk64_vkCmdSetFrontFace
,
30012 thunk64_vkCmdSetFrontFaceEXT
,
30013 thunk64_vkCmdSetLineRasterizationModeEXT
,
30014 thunk64_vkCmdSetLineStippleEXT
,
30015 thunk64_vkCmdSetLineStippleEnableEXT
,
30016 thunk64_vkCmdSetLineWidth
,
30017 thunk64_vkCmdSetLogicOpEXT
,
30018 thunk64_vkCmdSetLogicOpEnableEXT
,
30019 thunk64_vkCmdSetPatchControlPointsEXT
,
30020 thunk64_vkCmdSetPerformanceMarkerINTEL
,
30021 thunk64_vkCmdSetPerformanceOverrideINTEL
,
30022 thunk64_vkCmdSetPerformanceStreamMarkerINTEL
,
30023 thunk64_vkCmdSetPolygonModeEXT
,
30024 thunk64_vkCmdSetPrimitiveRestartEnable
,
30025 thunk64_vkCmdSetPrimitiveRestartEnableEXT
,
30026 thunk64_vkCmdSetPrimitiveTopology
,
30027 thunk64_vkCmdSetPrimitiveTopologyEXT
,
30028 thunk64_vkCmdSetProvokingVertexModeEXT
,
30029 thunk64_vkCmdSetRasterizationSamplesEXT
,
30030 thunk64_vkCmdSetRasterizationStreamEXT
,
30031 thunk64_vkCmdSetRasterizerDiscardEnable
,
30032 thunk64_vkCmdSetRasterizerDiscardEnableEXT
,
30033 thunk64_vkCmdSetRayTracingPipelineStackSizeKHR
,
30034 thunk64_vkCmdSetRepresentativeFragmentTestEnableNV
,
30035 thunk64_vkCmdSetSampleLocationsEXT
,
30036 thunk64_vkCmdSetSampleLocationsEnableEXT
,
30037 thunk64_vkCmdSetSampleMaskEXT
,
30038 thunk64_vkCmdSetScissor
,
30039 thunk64_vkCmdSetScissorWithCount
,
30040 thunk64_vkCmdSetScissorWithCountEXT
,
30041 thunk64_vkCmdSetShadingRateImageEnableNV
,
30042 thunk64_vkCmdSetStencilCompareMask
,
30043 thunk64_vkCmdSetStencilOp
,
30044 thunk64_vkCmdSetStencilOpEXT
,
30045 thunk64_vkCmdSetStencilReference
,
30046 thunk64_vkCmdSetStencilTestEnable
,
30047 thunk64_vkCmdSetStencilTestEnableEXT
,
30048 thunk64_vkCmdSetStencilWriteMask
,
30049 thunk64_vkCmdSetTessellationDomainOriginEXT
,
30050 thunk64_vkCmdSetVertexInputEXT
,
30051 thunk64_vkCmdSetViewport
,
30052 thunk64_vkCmdSetViewportShadingRatePaletteNV
,
30053 thunk64_vkCmdSetViewportSwizzleNV
,
30054 thunk64_vkCmdSetViewportWScalingEnableNV
,
30055 thunk64_vkCmdSetViewportWScalingNV
,
30056 thunk64_vkCmdSetViewportWithCount
,
30057 thunk64_vkCmdSetViewportWithCountEXT
,
30058 thunk64_vkCmdSubpassShadingHUAWEI
,
30059 thunk64_vkCmdTraceRaysIndirect2KHR
,
30060 thunk64_vkCmdTraceRaysIndirectKHR
,
30061 thunk64_vkCmdTraceRaysKHR
,
30062 thunk64_vkCmdTraceRaysNV
,
30063 thunk64_vkCmdUpdateBuffer
,
30064 thunk64_vkCmdWaitEvents
,
30065 thunk64_vkCmdWaitEvents2
,
30066 thunk64_vkCmdWaitEvents2KHR
,
30067 thunk64_vkCmdWriteAccelerationStructuresPropertiesKHR
,
30068 thunk64_vkCmdWriteAccelerationStructuresPropertiesNV
,
30069 thunk64_vkCmdWriteBufferMarker2AMD
,
30070 thunk64_vkCmdWriteBufferMarkerAMD
,
30071 thunk64_vkCmdWriteMicromapsPropertiesEXT
,
30072 thunk64_vkCmdWriteTimestamp
,
30073 thunk64_vkCmdWriteTimestamp2
,
30074 thunk64_vkCmdWriteTimestamp2KHR
,
30075 thunk64_vkCompileDeferredNV
,
30076 thunk64_vkCopyAccelerationStructureKHR
,
30077 thunk64_vkCopyAccelerationStructureToMemoryKHR
,
30078 thunk64_vkCopyMemoryToAccelerationStructureKHR
,
30079 thunk64_vkCopyMemoryToMicromapEXT
,
30080 thunk64_vkCopyMicromapEXT
,
30081 thunk64_vkCopyMicromapToMemoryEXT
,
30082 thunk64_vkCreateAccelerationStructureKHR
,
30083 thunk64_vkCreateAccelerationStructureNV
,
30084 thunk64_vkCreateBuffer
,
30085 thunk64_vkCreateBufferView
,
30086 thunk64_vkCreateCommandPool
,
30087 thunk64_vkCreateComputePipelines
,
30088 thunk64_vkCreateCuFunctionNVX
,
30089 thunk64_vkCreateCuModuleNVX
,
30090 thunk64_vkCreateDebugReportCallbackEXT
,
30091 thunk64_vkCreateDebugUtilsMessengerEXT
,
30092 thunk64_vkCreateDeferredOperationKHR
,
30093 thunk64_vkCreateDescriptorPool
,
30094 thunk64_vkCreateDescriptorSetLayout
,
30095 thunk64_vkCreateDescriptorUpdateTemplate
,
30096 thunk64_vkCreateDescriptorUpdateTemplateKHR
,
30097 thunk64_vkCreateDevice
,
30098 thunk64_vkCreateEvent
,
30099 thunk64_vkCreateFence
,
30100 thunk64_vkCreateFramebuffer
,
30101 thunk64_vkCreateGraphicsPipelines
,
30102 thunk64_vkCreateImage
,
30103 thunk64_vkCreateImageView
,
30104 thunk64_vkCreateIndirectCommandsLayoutNV
,
30105 thunk64_vkCreateInstance
,
30106 thunk64_vkCreateMicromapEXT
,
30107 thunk64_vkCreateOpticalFlowSessionNV
,
30108 thunk64_vkCreatePipelineCache
,
30109 thunk64_vkCreatePipelineLayout
,
30110 thunk64_vkCreatePrivateDataSlot
,
30111 thunk64_vkCreatePrivateDataSlotEXT
,
30112 thunk64_vkCreateQueryPool
,
30113 thunk64_vkCreateRayTracingPipelinesKHR
,
30114 thunk64_vkCreateRayTracingPipelinesNV
,
30115 thunk64_vkCreateRenderPass
,
30116 thunk64_vkCreateRenderPass2
,
30117 thunk64_vkCreateRenderPass2KHR
,
30118 thunk64_vkCreateSampler
,
30119 thunk64_vkCreateSamplerYcbcrConversion
,
30120 thunk64_vkCreateSamplerYcbcrConversionKHR
,
30121 thunk64_vkCreateSemaphore
,
30122 thunk64_vkCreateShaderModule
,
30123 thunk64_vkCreateSwapchainKHR
,
30124 thunk64_vkCreateValidationCacheEXT
,
30125 thunk64_vkCreateWin32SurfaceKHR
,
30126 thunk64_vkDebugMarkerSetObjectNameEXT
,
30127 thunk64_vkDebugMarkerSetObjectTagEXT
,
30128 thunk64_vkDebugReportMessageEXT
,
30129 thunk64_vkDeferredOperationJoinKHR
,
30130 thunk64_vkDestroyAccelerationStructureKHR
,
30131 thunk64_vkDestroyAccelerationStructureNV
,
30132 thunk64_vkDestroyBuffer
,
30133 thunk64_vkDestroyBufferView
,
30134 thunk64_vkDestroyCommandPool
,
30135 thunk64_vkDestroyCuFunctionNVX
,
30136 thunk64_vkDestroyCuModuleNVX
,
30137 thunk64_vkDestroyDebugReportCallbackEXT
,
30138 thunk64_vkDestroyDebugUtilsMessengerEXT
,
30139 thunk64_vkDestroyDeferredOperationKHR
,
30140 thunk64_vkDestroyDescriptorPool
,
30141 thunk64_vkDestroyDescriptorSetLayout
,
30142 thunk64_vkDestroyDescriptorUpdateTemplate
,
30143 thunk64_vkDestroyDescriptorUpdateTemplateKHR
,
30144 thunk64_vkDestroyDevice
,
30145 thunk64_vkDestroyEvent
,
30146 thunk64_vkDestroyFence
,
30147 thunk64_vkDestroyFramebuffer
,
30148 thunk64_vkDestroyImage
,
30149 thunk64_vkDestroyImageView
,
30150 thunk64_vkDestroyIndirectCommandsLayoutNV
,
30151 thunk64_vkDestroyInstance
,
30152 thunk64_vkDestroyMicromapEXT
,
30153 thunk64_vkDestroyOpticalFlowSessionNV
,
30154 thunk64_vkDestroyPipeline
,
30155 thunk64_vkDestroyPipelineCache
,
30156 thunk64_vkDestroyPipelineLayout
,
30157 thunk64_vkDestroyPrivateDataSlot
,
30158 thunk64_vkDestroyPrivateDataSlotEXT
,
30159 thunk64_vkDestroyQueryPool
,
30160 thunk64_vkDestroyRenderPass
,
30161 thunk64_vkDestroySampler
,
30162 thunk64_vkDestroySamplerYcbcrConversion
,
30163 thunk64_vkDestroySamplerYcbcrConversionKHR
,
30164 thunk64_vkDestroySemaphore
,
30165 thunk64_vkDestroyShaderModule
,
30166 thunk64_vkDestroySurfaceKHR
,
30167 thunk64_vkDestroySwapchainKHR
,
30168 thunk64_vkDestroyValidationCacheEXT
,
30169 thunk64_vkDeviceWaitIdle
,
30170 thunk64_vkEndCommandBuffer
,
30171 thunk64_vkEnumerateDeviceExtensionProperties
,
30172 thunk64_vkEnumerateDeviceLayerProperties
,
30173 thunk64_vkEnumerateInstanceExtensionProperties
,
30174 thunk64_vkEnumerateInstanceVersion
,
30175 thunk64_vkEnumeratePhysicalDeviceGroups
,
30176 thunk64_vkEnumeratePhysicalDeviceGroupsKHR
,
30177 thunk64_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
,
30178 thunk64_vkEnumeratePhysicalDevices
,
30179 thunk64_vkFlushMappedMemoryRanges
,
30180 thunk64_vkFreeCommandBuffers
,
30181 thunk64_vkFreeDescriptorSets
,
30182 thunk64_vkFreeMemory
,
30183 thunk64_vkGetAccelerationStructureBuildSizesKHR
,
30184 thunk64_vkGetAccelerationStructureDeviceAddressKHR
,
30185 thunk64_vkGetAccelerationStructureHandleNV
,
30186 thunk64_vkGetAccelerationStructureMemoryRequirementsNV
,
30187 thunk64_vkGetBufferDeviceAddress
,
30188 thunk64_vkGetBufferDeviceAddressEXT
,
30189 thunk64_vkGetBufferDeviceAddressKHR
,
30190 thunk64_vkGetBufferMemoryRequirements
,
30191 thunk64_vkGetBufferMemoryRequirements2
,
30192 thunk64_vkGetBufferMemoryRequirements2KHR
,
30193 thunk64_vkGetBufferOpaqueCaptureAddress
,
30194 thunk64_vkGetBufferOpaqueCaptureAddressKHR
,
30195 thunk64_vkGetCalibratedTimestampsEXT
,
30196 thunk64_vkGetDeferredOperationMaxConcurrencyKHR
,
30197 thunk64_vkGetDeferredOperationResultKHR
,
30198 thunk64_vkGetDescriptorSetHostMappingVALVE
,
30199 thunk64_vkGetDescriptorSetLayoutHostMappingInfoVALVE
,
30200 thunk64_vkGetDescriptorSetLayoutSupport
,
30201 thunk64_vkGetDescriptorSetLayoutSupportKHR
,
30202 thunk64_vkGetDeviceAccelerationStructureCompatibilityKHR
,
30203 thunk64_vkGetDeviceBufferMemoryRequirements
,
30204 thunk64_vkGetDeviceBufferMemoryRequirementsKHR
,
30205 thunk64_vkGetDeviceFaultInfoEXT
,
30206 thunk64_vkGetDeviceGroupPeerMemoryFeatures
,
30207 thunk64_vkGetDeviceGroupPeerMemoryFeaturesKHR
,
30208 thunk64_vkGetDeviceGroupPresentCapabilitiesKHR
,
30209 thunk64_vkGetDeviceGroupSurfacePresentModesKHR
,
30210 thunk64_vkGetDeviceImageMemoryRequirements
,
30211 thunk64_vkGetDeviceImageMemoryRequirementsKHR
,
30212 thunk64_vkGetDeviceImageSparseMemoryRequirements
,
30213 thunk64_vkGetDeviceImageSparseMemoryRequirementsKHR
,
30214 thunk64_vkGetDeviceMemoryCommitment
,
30215 thunk64_vkGetDeviceMemoryOpaqueCaptureAddress
,
30216 thunk64_vkGetDeviceMemoryOpaqueCaptureAddressKHR
,
30217 thunk64_vkGetDeviceMicromapCompatibilityEXT
,
30218 thunk64_vkGetDeviceQueue
,
30219 thunk64_vkGetDeviceQueue2
,
30220 thunk64_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
,
30221 thunk64_vkGetDynamicRenderingTilePropertiesQCOM
,
30222 thunk64_vkGetEventStatus
,
30223 thunk64_vkGetFenceStatus
,
30224 thunk64_vkGetFramebufferTilePropertiesQCOM
,
30225 thunk64_vkGetGeneratedCommandsMemoryRequirementsNV
,
30226 thunk64_vkGetImageMemoryRequirements
,
30227 thunk64_vkGetImageMemoryRequirements2
,
30228 thunk64_vkGetImageMemoryRequirements2KHR
,
30229 thunk64_vkGetImageSparseMemoryRequirements
,
30230 thunk64_vkGetImageSparseMemoryRequirements2
,
30231 thunk64_vkGetImageSparseMemoryRequirements2KHR
,
30232 thunk64_vkGetImageSubresourceLayout
,
30233 thunk64_vkGetImageSubresourceLayout2EXT
,
30234 thunk64_vkGetImageViewAddressNVX
,
30235 thunk64_vkGetImageViewHandleNVX
,
30236 thunk64_vkGetMemoryHostPointerPropertiesEXT
,
30237 thunk64_vkGetMicromapBuildSizesEXT
,
30238 thunk64_vkGetPerformanceParameterINTEL
,
30239 thunk64_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
,
30240 thunk64_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
,
30241 thunk64_vkGetPhysicalDeviceExternalBufferProperties
,
30242 thunk64_vkGetPhysicalDeviceExternalBufferPropertiesKHR
,
30243 thunk64_vkGetPhysicalDeviceExternalFenceProperties
,
30244 thunk64_vkGetPhysicalDeviceExternalFencePropertiesKHR
,
30245 thunk64_vkGetPhysicalDeviceExternalSemaphoreProperties
,
30246 thunk64_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
,
30247 thunk64_vkGetPhysicalDeviceFeatures
,
30248 thunk64_vkGetPhysicalDeviceFeatures2
,
30249 thunk64_vkGetPhysicalDeviceFeatures2KHR
,
30250 thunk64_vkGetPhysicalDeviceFormatProperties
,
30251 thunk64_vkGetPhysicalDeviceFormatProperties2
,
30252 thunk64_vkGetPhysicalDeviceFormatProperties2KHR
,
30253 thunk64_vkGetPhysicalDeviceFragmentShadingRatesKHR
,
30254 thunk64_vkGetPhysicalDeviceImageFormatProperties
,
30255 thunk64_vkGetPhysicalDeviceImageFormatProperties2
,
30256 thunk64_vkGetPhysicalDeviceImageFormatProperties2KHR
,
30257 thunk64_vkGetPhysicalDeviceMemoryProperties
,
30258 thunk64_vkGetPhysicalDeviceMemoryProperties2
,
30259 thunk64_vkGetPhysicalDeviceMemoryProperties2KHR
,
30260 thunk64_vkGetPhysicalDeviceMultisamplePropertiesEXT
,
30261 thunk64_vkGetPhysicalDeviceOpticalFlowImageFormatsNV
,
30262 thunk64_vkGetPhysicalDevicePresentRectanglesKHR
,
30263 thunk64_vkGetPhysicalDeviceProperties
,
30264 thunk64_vkGetPhysicalDeviceProperties2
,
30265 thunk64_vkGetPhysicalDeviceProperties2KHR
,
30266 thunk64_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
,
30267 thunk64_vkGetPhysicalDeviceQueueFamilyProperties
,
30268 thunk64_vkGetPhysicalDeviceQueueFamilyProperties2
,
30269 thunk64_vkGetPhysicalDeviceQueueFamilyProperties2KHR
,
30270 thunk64_vkGetPhysicalDeviceSparseImageFormatProperties
,
30271 thunk64_vkGetPhysicalDeviceSparseImageFormatProperties2
,
30272 thunk64_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
,
30273 thunk64_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
,
30274 thunk64_vkGetPhysicalDeviceSurfaceCapabilities2KHR
,
30275 thunk64_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
,
30276 thunk64_vkGetPhysicalDeviceSurfaceFormats2KHR
,
30277 thunk64_vkGetPhysicalDeviceSurfaceFormatsKHR
,
30278 thunk64_vkGetPhysicalDeviceSurfacePresentModesKHR
,
30279 thunk64_vkGetPhysicalDeviceSurfaceSupportKHR
,
30280 thunk64_vkGetPhysicalDeviceToolProperties
,
30281 thunk64_vkGetPhysicalDeviceToolPropertiesEXT
,
30282 thunk64_vkGetPhysicalDeviceWin32PresentationSupportKHR
,
30283 thunk64_vkGetPipelineCacheData
,
30284 thunk64_vkGetPipelineExecutableInternalRepresentationsKHR
,
30285 thunk64_vkGetPipelineExecutablePropertiesKHR
,
30286 thunk64_vkGetPipelineExecutableStatisticsKHR
,
30287 thunk64_vkGetPipelinePropertiesEXT
,
30288 thunk64_vkGetPrivateData
,
30289 thunk64_vkGetPrivateDataEXT
,
30290 thunk64_vkGetQueryPoolResults
,
30291 thunk64_vkGetQueueCheckpointData2NV
,
30292 thunk64_vkGetQueueCheckpointDataNV
,
30293 thunk64_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR
,
30294 thunk64_vkGetRayTracingShaderGroupHandlesKHR
,
30295 thunk64_vkGetRayTracingShaderGroupHandlesNV
,
30296 thunk64_vkGetRayTracingShaderGroupStackSizeKHR
,
30297 thunk64_vkGetRenderAreaGranularity
,
30298 thunk64_vkGetSemaphoreCounterValue
,
30299 thunk64_vkGetSemaphoreCounterValueKHR
,
30300 thunk64_vkGetShaderInfoAMD
,
30301 thunk64_vkGetShaderModuleCreateInfoIdentifierEXT
,
30302 thunk64_vkGetShaderModuleIdentifierEXT
,
30303 thunk64_vkGetSwapchainImagesKHR
,
30304 thunk64_vkGetValidationCacheDataEXT
,
30305 thunk64_vkInitializePerformanceApiINTEL
,
30306 thunk64_vkInvalidateMappedMemoryRanges
,
30307 thunk64_vkMapMemory
,
30308 thunk64_vkMergePipelineCaches
,
30309 thunk64_vkMergeValidationCachesEXT
,
30310 thunk64_vkQueueBeginDebugUtilsLabelEXT
,
30311 thunk64_vkQueueBindSparse
,
30312 thunk64_vkQueueEndDebugUtilsLabelEXT
,
30313 thunk64_vkQueueInsertDebugUtilsLabelEXT
,
30314 thunk64_vkQueuePresentKHR
,
30315 thunk64_vkQueueSetPerformanceConfigurationINTEL
,
30316 thunk64_vkQueueSubmit
,
30317 thunk64_vkQueueSubmit2
,
30318 thunk64_vkQueueSubmit2KHR
,
30319 thunk64_vkQueueWaitIdle
,
30320 thunk64_vkReleasePerformanceConfigurationINTEL
,
30321 thunk64_vkReleaseProfilingLockKHR
,
30322 thunk64_vkResetCommandBuffer
,
30323 thunk64_vkResetCommandPool
,
30324 thunk64_vkResetDescriptorPool
,
30325 thunk64_vkResetEvent
,
30326 thunk64_vkResetFences
,
30327 thunk64_vkResetQueryPool
,
30328 thunk64_vkResetQueryPoolEXT
,
30329 thunk64_vkSetDebugUtilsObjectNameEXT
,
30330 thunk64_vkSetDebugUtilsObjectTagEXT
,
30331 thunk64_vkSetDeviceMemoryPriorityEXT
,
30332 thunk64_vkSetEvent
,
30333 thunk64_vkSetPrivateData
,
30334 thunk64_vkSetPrivateDataEXT
,
30335 thunk64_vkSignalSemaphore
,
30336 thunk64_vkSignalSemaphoreKHR
,
30337 thunk64_vkSubmitDebugUtilsMessageEXT
,
30338 thunk64_vkTrimCommandPool
,
30339 thunk64_vkTrimCommandPoolKHR
,
30340 thunk64_vkUninitializePerformanceApiINTEL
,
30341 thunk64_vkUnmapMemory
,
30342 thunk64_vkUpdateDescriptorSetWithTemplate
,
30343 thunk64_vkUpdateDescriptorSetWithTemplateKHR
,
30344 thunk64_vkUpdateDescriptorSets
,
30345 thunk64_vkWaitForFences
,
30346 thunk64_vkWaitForPresentKHR
,
30347 thunk64_vkWaitSemaphores
,
30348 thunk64_vkWaitSemaphoresKHR
,
30349 thunk64_vkWriteAccelerationStructuresPropertiesKHR
,
30350 thunk64_vkWriteMicromapsPropertiesEXT
,
30352 C_ASSERT(ARRAYSIZE(__wine_unix_call_funcs
) == unix_count
);
30354 #else /* USE_STRUCT_CONVERSION) */
30356 const unixlib_entry_t __wine_unix_call_funcs
[] =
30359 vk_is_available_instance_function
,
30360 vk_is_available_device_function
,
30361 thunk32_vkAcquireNextImage2KHR
,
30362 thunk32_vkAcquireNextImageKHR
,
30363 thunk32_vkAcquirePerformanceConfigurationINTEL
,
30364 thunk32_vkAcquireProfilingLockKHR
,
30365 thunk32_vkAllocateCommandBuffers
,
30366 thunk32_vkAllocateDescriptorSets
,
30367 thunk32_vkAllocateMemory
,
30368 thunk32_vkBeginCommandBuffer
,
30369 thunk32_vkBindAccelerationStructureMemoryNV
,
30370 thunk32_vkBindBufferMemory
,
30371 thunk32_vkBindBufferMemory2
,
30372 thunk32_vkBindBufferMemory2KHR
,
30373 thunk32_vkBindImageMemory
,
30374 thunk32_vkBindImageMemory2
,
30375 thunk32_vkBindImageMemory2KHR
,
30376 thunk32_vkBindOpticalFlowSessionImageNV
,
30377 thunk32_vkBuildAccelerationStructuresKHR
,
30378 thunk32_vkBuildMicromapsEXT
,
30379 thunk32_vkCmdBeginConditionalRenderingEXT
,
30380 thunk32_vkCmdBeginDebugUtilsLabelEXT
,
30381 thunk32_vkCmdBeginQuery
,
30382 thunk32_vkCmdBeginQueryIndexedEXT
,
30383 thunk32_vkCmdBeginRenderPass
,
30384 thunk32_vkCmdBeginRenderPass2
,
30385 thunk32_vkCmdBeginRenderPass2KHR
,
30386 thunk32_vkCmdBeginRendering
,
30387 thunk32_vkCmdBeginRenderingKHR
,
30388 thunk32_vkCmdBeginTransformFeedbackEXT
,
30389 thunk32_vkCmdBindDescriptorSets
,
30390 thunk32_vkCmdBindIndexBuffer
,
30391 thunk32_vkCmdBindInvocationMaskHUAWEI
,
30392 thunk32_vkCmdBindPipeline
,
30393 thunk32_vkCmdBindPipelineShaderGroupNV
,
30394 thunk32_vkCmdBindShadingRateImageNV
,
30395 thunk32_vkCmdBindTransformFeedbackBuffersEXT
,
30396 thunk32_vkCmdBindVertexBuffers
,
30397 thunk32_vkCmdBindVertexBuffers2
,
30398 thunk32_vkCmdBindVertexBuffers2EXT
,
30399 thunk32_vkCmdBlitImage
,
30400 thunk32_vkCmdBlitImage2
,
30401 thunk32_vkCmdBlitImage2KHR
,
30402 thunk32_vkCmdBuildAccelerationStructureNV
,
30403 thunk32_vkCmdBuildAccelerationStructuresIndirectKHR
,
30404 thunk32_vkCmdBuildAccelerationStructuresKHR
,
30405 thunk32_vkCmdBuildMicromapsEXT
,
30406 thunk32_vkCmdClearAttachments
,
30407 thunk32_vkCmdClearColorImage
,
30408 thunk32_vkCmdClearDepthStencilImage
,
30409 thunk32_vkCmdCopyAccelerationStructureKHR
,
30410 thunk32_vkCmdCopyAccelerationStructureNV
,
30411 thunk32_vkCmdCopyAccelerationStructureToMemoryKHR
,
30412 thunk32_vkCmdCopyBuffer
,
30413 thunk32_vkCmdCopyBuffer2
,
30414 thunk32_vkCmdCopyBuffer2KHR
,
30415 thunk32_vkCmdCopyBufferToImage
,
30416 thunk32_vkCmdCopyBufferToImage2
,
30417 thunk32_vkCmdCopyBufferToImage2KHR
,
30418 thunk32_vkCmdCopyImage
,
30419 thunk32_vkCmdCopyImage2
,
30420 thunk32_vkCmdCopyImage2KHR
,
30421 thunk32_vkCmdCopyImageToBuffer
,
30422 thunk32_vkCmdCopyImageToBuffer2
,
30423 thunk32_vkCmdCopyImageToBuffer2KHR
,
30424 thunk32_vkCmdCopyMemoryIndirectNV
,
30425 thunk32_vkCmdCopyMemoryToAccelerationStructureKHR
,
30426 thunk32_vkCmdCopyMemoryToImageIndirectNV
,
30427 thunk32_vkCmdCopyMemoryToMicromapEXT
,
30428 thunk32_vkCmdCopyMicromapEXT
,
30429 thunk32_vkCmdCopyMicromapToMemoryEXT
,
30430 thunk32_vkCmdCopyQueryPoolResults
,
30431 thunk32_vkCmdCuLaunchKernelNVX
,
30432 thunk32_vkCmdDebugMarkerBeginEXT
,
30433 thunk32_vkCmdDebugMarkerEndEXT
,
30434 thunk32_vkCmdDebugMarkerInsertEXT
,
30435 thunk32_vkCmdDecompressMemoryIndirectCountNV
,
30436 thunk32_vkCmdDecompressMemoryNV
,
30437 thunk32_vkCmdDispatch
,
30438 thunk32_vkCmdDispatchBase
,
30439 thunk32_vkCmdDispatchBaseKHR
,
30440 thunk32_vkCmdDispatchIndirect
,
30442 thunk32_vkCmdDrawIndexed
,
30443 thunk32_vkCmdDrawIndexedIndirect
,
30444 thunk32_vkCmdDrawIndexedIndirectCount
,
30445 thunk32_vkCmdDrawIndexedIndirectCountAMD
,
30446 thunk32_vkCmdDrawIndexedIndirectCountKHR
,
30447 thunk32_vkCmdDrawIndirect
,
30448 thunk32_vkCmdDrawIndirectByteCountEXT
,
30449 thunk32_vkCmdDrawIndirectCount
,
30450 thunk32_vkCmdDrawIndirectCountAMD
,
30451 thunk32_vkCmdDrawIndirectCountKHR
,
30452 thunk32_vkCmdDrawMeshTasksEXT
,
30453 thunk32_vkCmdDrawMeshTasksIndirectCountEXT
,
30454 thunk32_vkCmdDrawMeshTasksIndirectCountNV
,
30455 thunk32_vkCmdDrawMeshTasksIndirectEXT
,
30456 thunk32_vkCmdDrawMeshTasksIndirectNV
,
30457 thunk32_vkCmdDrawMeshTasksNV
,
30458 thunk32_vkCmdDrawMultiEXT
,
30459 thunk32_vkCmdDrawMultiIndexedEXT
,
30460 thunk32_vkCmdEndConditionalRenderingEXT
,
30461 thunk32_vkCmdEndDebugUtilsLabelEXT
,
30462 thunk32_vkCmdEndQuery
,
30463 thunk32_vkCmdEndQueryIndexedEXT
,
30464 thunk32_vkCmdEndRenderPass
,
30465 thunk32_vkCmdEndRenderPass2
,
30466 thunk32_vkCmdEndRenderPass2KHR
,
30467 thunk32_vkCmdEndRendering
,
30468 thunk32_vkCmdEndRenderingKHR
,
30469 thunk32_vkCmdEndTransformFeedbackEXT
,
30470 thunk32_vkCmdExecuteCommands
,
30471 thunk32_vkCmdExecuteGeneratedCommandsNV
,
30472 thunk32_vkCmdFillBuffer
,
30473 thunk32_vkCmdInsertDebugUtilsLabelEXT
,
30474 thunk32_vkCmdNextSubpass
,
30475 thunk32_vkCmdNextSubpass2
,
30476 thunk32_vkCmdNextSubpass2KHR
,
30477 thunk32_vkCmdOpticalFlowExecuteNV
,
30478 thunk32_vkCmdPipelineBarrier
,
30479 thunk32_vkCmdPipelineBarrier2
,
30480 thunk32_vkCmdPipelineBarrier2KHR
,
30481 thunk32_vkCmdPreprocessGeneratedCommandsNV
,
30482 thunk32_vkCmdPushConstants
,
30483 thunk32_vkCmdPushDescriptorSetKHR
,
30484 thunk32_vkCmdPushDescriptorSetWithTemplateKHR
,
30485 thunk32_vkCmdResetEvent
,
30486 thunk32_vkCmdResetEvent2
,
30487 thunk32_vkCmdResetEvent2KHR
,
30488 thunk32_vkCmdResetQueryPool
,
30489 thunk32_vkCmdResolveImage
,
30490 thunk32_vkCmdResolveImage2
,
30491 thunk32_vkCmdResolveImage2KHR
,
30492 thunk32_vkCmdSetAlphaToCoverageEnableEXT
,
30493 thunk32_vkCmdSetAlphaToOneEnableEXT
,
30494 thunk32_vkCmdSetBlendConstants
,
30495 thunk32_vkCmdSetCheckpointNV
,
30496 thunk32_vkCmdSetCoarseSampleOrderNV
,
30497 thunk32_vkCmdSetColorBlendAdvancedEXT
,
30498 thunk32_vkCmdSetColorBlendEnableEXT
,
30499 thunk32_vkCmdSetColorBlendEquationEXT
,
30500 thunk32_vkCmdSetColorWriteEnableEXT
,
30501 thunk32_vkCmdSetColorWriteMaskEXT
,
30502 thunk32_vkCmdSetConservativeRasterizationModeEXT
,
30503 thunk32_vkCmdSetCoverageModulationModeNV
,
30504 thunk32_vkCmdSetCoverageModulationTableEnableNV
,
30505 thunk32_vkCmdSetCoverageModulationTableNV
,
30506 thunk32_vkCmdSetCoverageReductionModeNV
,
30507 thunk32_vkCmdSetCoverageToColorEnableNV
,
30508 thunk32_vkCmdSetCoverageToColorLocationNV
,
30509 thunk32_vkCmdSetCullMode
,
30510 thunk32_vkCmdSetCullModeEXT
,
30511 thunk32_vkCmdSetDepthBias
,
30512 thunk32_vkCmdSetDepthBiasEnable
,
30513 thunk32_vkCmdSetDepthBiasEnableEXT
,
30514 thunk32_vkCmdSetDepthBounds
,
30515 thunk32_vkCmdSetDepthBoundsTestEnable
,
30516 thunk32_vkCmdSetDepthBoundsTestEnableEXT
,
30517 thunk32_vkCmdSetDepthClampEnableEXT
,
30518 thunk32_vkCmdSetDepthClipEnableEXT
,
30519 thunk32_vkCmdSetDepthClipNegativeOneToOneEXT
,
30520 thunk32_vkCmdSetDepthCompareOp
,
30521 thunk32_vkCmdSetDepthCompareOpEXT
,
30522 thunk32_vkCmdSetDepthTestEnable
,
30523 thunk32_vkCmdSetDepthTestEnableEXT
,
30524 thunk32_vkCmdSetDepthWriteEnable
,
30525 thunk32_vkCmdSetDepthWriteEnableEXT
,
30526 thunk32_vkCmdSetDeviceMask
,
30527 thunk32_vkCmdSetDeviceMaskKHR
,
30528 thunk32_vkCmdSetDiscardRectangleEXT
,
30529 thunk32_vkCmdSetEvent
,
30530 thunk32_vkCmdSetEvent2
,
30531 thunk32_vkCmdSetEvent2KHR
,
30532 thunk32_vkCmdSetExclusiveScissorNV
,
30533 thunk32_vkCmdSetExtraPrimitiveOverestimationSizeEXT
,
30534 thunk32_vkCmdSetFragmentShadingRateEnumNV
,
30535 thunk32_vkCmdSetFragmentShadingRateKHR
,
30536 thunk32_vkCmdSetFrontFace
,
30537 thunk32_vkCmdSetFrontFaceEXT
,
30538 thunk32_vkCmdSetLineRasterizationModeEXT
,
30539 thunk32_vkCmdSetLineStippleEXT
,
30540 thunk32_vkCmdSetLineStippleEnableEXT
,
30541 thunk32_vkCmdSetLineWidth
,
30542 thunk32_vkCmdSetLogicOpEXT
,
30543 thunk32_vkCmdSetLogicOpEnableEXT
,
30544 thunk32_vkCmdSetPatchControlPointsEXT
,
30545 thunk32_vkCmdSetPerformanceMarkerINTEL
,
30546 thunk32_vkCmdSetPerformanceOverrideINTEL
,
30547 thunk32_vkCmdSetPerformanceStreamMarkerINTEL
,
30548 thunk32_vkCmdSetPolygonModeEXT
,
30549 thunk32_vkCmdSetPrimitiveRestartEnable
,
30550 thunk32_vkCmdSetPrimitiveRestartEnableEXT
,
30551 thunk32_vkCmdSetPrimitiveTopology
,
30552 thunk32_vkCmdSetPrimitiveTopologyEXT
,
30553 thunk32_vkCmdSetProvokingVertexModeEXT
,
30554 thunk32_vkCmdSetRasterizationSamplesEXT
,
30555 thunk32_vkCmdSetRasterizationStreamEXT
,
30556 thunk32_vkCmdSetRasterizerDiscardEnable
,
30557 thunk32_vkCmdSetRasterizerDiscardEnableEXT
,
30558 thunk32_vkCmdSetRayTracingPipelineStackSizeKHR
,
30559 thunk32_vkCmdSetRepresentativeFragmentTestEnableNV
,
30560 thunk32_vkCmdSetSampleLocationsEXT
,
30561 thunk32_vkCmdSetSampleLocationsEnableEXT
,
30562 thunk32_vkCmdSetSampleMaskEXT
,
30563 thunk32_vkCmdSetScissor
,
30564 thunk32_vkCmdSetScissorWithCount
,
30565 thunk32_vkCmdSetScissorWithCountEXT
,
30566 thunk32_vkCmdSetShadingRateImageEnableNV
,
30567 thunk32_vkCmdSetStencilCompareMask
,
30568 thunk32_vkCmdSetStencilOp
,
30569 thunk32_vkCmdSetStencilOpEXT
,
30570 thunk32_vkCmdSetStencilReference
,
30571 thunk32_vkCmdSetStencilTestEnable
,
30572 thunk32_vkCmdSetStencilTestEnableEXT
,
30573 thunk32_vkCmdSetStencilWriteMask
,
30574 thunk32_vkCmdSetTessellationDomainOriginEXT
,
30575 thunk32_vkCmdSetVertexInputEXT
,
30576 thunk32_vkCmdSetViewport
,
30577 thunk32_vkCmdSetViewportShadingRatePaletteNV
,
30578 thunk32_vkCmdSetViewportSwizzleNV
,
30579 thunk32_vkCmdSetViewportWScalingEnableNV
,
30580 thunk32_vkCmdSetViewportWScalingNV
,
30581 thunk32_vkCmdSetViewportWithCount
,
30582 thunk32_vkCmdSetViewportWithCountEXT
,
30583 thunk32_vkCmdSubpassShadingHUAWEI
,
30584 thunk32_vkCmdTraceRaysIndirect2KHR
,
30585 thunk32_vkCmdTraceRaysIndirectKHR
,
30586 thunk32_vkCmdTraceRaysKHR
,
30587 thunk32_vkCmdTraceRaysNV
,
30588 thunk32_vkCmdUpdateBuffer
,
30589 thunk32_vkCmdWaitEvents
,
30590 thunk32_vkCmdWaitEvents2
,
30591 thunk32_vkCmdWaitEvents2KHR
,
30592 thunk32_vkCmdWriteAccelerationStructuresPropertiesKHR
,
30593 thunk32_vkCmdWriteAccelerationStructuresPropertiesNV
,
30594 thunk32_vkCmdWriteBufferMarker2AMD
,
30595 thunk32_vkCmdWriteBufferMarkerAMD
,
30596 thunk32_vkCmdWriteMicromapsPropertiesEXT
,
30597 thunk32_vkCmdWriteTimestamp
,
30598 thunk32_vkCmdWriteTimestamp2
,
30599 thunk32_vkCmdWriteTimestamp2KHR
,
30600 thunk32_vkCompileDeferredNV
,
30601 thunk32_vkCopyAccelerationStructureKHR
,
30602 thunk32_vkCopyAccelerationStructureToMemoryKHR
,
30603 thunk32_vkCopyMemoryToAccelerationStructureKHR
,
30604 thunk32_vkCopyMemoryToMicromapEXT
,
30605 thunk32_vkCopyMicromapEXT
,
30606 thunk32_vkCopyMicromapToMemoryEXT
,
30607 thunk32_vkCreateAccelerationStructureKHR
,
30608 thunk32_vkCreateAccelerationStructureNV
,
30609 thunk32_vkCreateBuffer
,
30610 thunk32_vkCreateBufferView
,
30611 thunk32_vkCreateCommandPool
,
30612 thunk32_vkCreateComputePipelines
,
30613 thunk32_vkCreateCuFunctionNVX
,
30614 thunk32_vkCreateCuModuleNVX
,
30615 thunk32_vkCreateDebugReportCallbackEXT
,
30616 thunk32_vkCreateDebugUtilsMessengerEXT
,
30617 thunk32_vkCreateDeferredOperationKHR
,
30618 thunk32_vkCreateDescriptorPool
,
30619 thunk32_vkCreateDescriptorSetLayout
,
30620 thunk32_vkCreateDescriptorUpdateTemplate
,
30621 thunk32_vkCreateDescriptorUpdateTemplateKHR
,
30622 thunk32_vkCreateDevice
,
30623 thunk32_vkCreateEvent
,
30624 thunk32_vkCreateFence
,
30625 thunk32_vkCreateFramebuffer
,
30626 thunk32_vkCreateGraphicsPipelines
,
30627 thunk32_vkCreateImage
,
30628 thunk32_vkCreateImageView
,
30629 thunk32_vkCreateIndirectCommandsLayoutNV
,
30630 thunk32_vkCreateInstance
,
30631 thunk32_vkCreateMicromapEXT
,
30632 thunk32_vkCreateOpticalFlowSessionNV
,
30633 thunk32_vkCreatePipelineCache
,
30634 thunk32_vkCreatePipelineLayout
,
30635 thunk32_vkCreatePrivateDataSlot
,
30636 thunk32_vkCreatePrivateDataSlotEXT
,
30637 thunk32_vkCreateQueryPool
,
30638 thunk32_vkCreateRayTracingPipelinesKHR
,
30639 thunk32_vkCreateRayTracingPipelinesNV
,
30640 thunk32_vkCreateRenderPass
,
30641 thunk32_vkCreateRenderPass2
,
30642 thunk32_vkCreateRenderPass2KHR
,
30643 thunk32_vkCreateSampler
,
30644 thunk32_vkCreateSamplerYcbcrConversion
,
30645 thunk32_vkCreateSamplerYcbcrConversionKHR
,
30646 thunk32_vkCreateSemaphore
,
30647 thunk32_vkCreateShaderModule
,
30648 thunk32_vkCreateSwapchainKHR
,
30649 thunk32_vkCreateValidationCacheEXT
,
30650 thunk32_vkCreateWin32SurfaceKHR
,
30651 thunk32_vkDebugMarkerSetObjectNameEXT
,
30652 thunk32_vkDebugMarkerSetObjectTagEXT
,
30653 thunk32_vkDebugReportMessageEXT
,
30654 thunk32_vkDeferredOperationJoinKHR
,
30655 thunk32_vkDestroyAccelerationStructureKHR
,
30656 thunk32_vkDestroyAccelerationStructureNV
,
30657 thunk32_vkDestroyBuffer
,
30658 thunk32_vkDestroyBufferView
,
30659 thunk32_vkDestroyCommandPool
,
30660 thunk32_vkDestroyCuFunctionNVX
,
30661 thunk32_vkDestroyCuModuleNVX
,
30662 thunk32_vkDestroyDebugReportCallbackEXT
,
30663 thunk32_vkDestroyDebugUtilsMessengerEXT
,
30664 thunk32_vkDestroyDeferredOperationKHR
,
30665 thunk32_vkDestroyDescriptorPool
,
30666 thunk32_vkDestroyDescriptorSetLayout
,
30667 thunk32_vkDestroyDescriptorUpdateTemplate
,
30668 thunk32_vkDestroyDescriptorUpdateTemplateKHR
,
30669 thunk32_vkDestroyDevice
,
30670 thunk32_vkDestroyEvent
,
30671 thunk32_vkDestroyFence
,
30672 thunk32_vkDestroyFramebuffer
,
30673 thunk32_vkDestroyImage
,
30674 thunk32_vkDestroyImageView
,
30675 thunk32_vkDestroyIndirectCommandsLayoutNV
,
30676 thunk32_vkDestroyInstance
,
30677 thunk32_vkDestroyMicromapEXT
,
30678 thunk32_vkDestroyOpticalFlowSessionNV
,
30679 thunk32_vkDestroyPipeline
,
30680 thunk32_vkDestroyPipelineCache
,
30681 thunk32_vkDestroyPipelineLayout
,
30682 thunk32_vkDestroyPrivateDataSlot
,
30683 thunk32_vkDestroyPrivateDataSlotEXT
,
30684 thunk32_vkDestroyQueryPool
,
30685 thunk32_vkDestroyRenderPass
,
30686 thunk32_vkDestroySampler
,
30687 thunk32_vkDestroySamplerYcbcrConversion
,
30688 thunk32_vkDestroySamplerYcbcrConversionKHR
,
30689 thunk32_vkDestroySemaphore
,
30690 thunk32_vkDestroyShaderModule
,
30691 thunk32_vkDestroySurfaceKHR
,
30692 thunk32_vkDestroySwapchainKHR
,
30693 thunk32_vkDestroyValidationCacheEXT
,
30694 thunk32_vkDeviceWaitIdle
,
30695 thunk32_vkEndCommandBuffer
,
30696 thunk32_vkEnumerateDeviceExtensionProperties
,
30697 thunk32_vkEnumerateDeviceLayerProperties
,
30698 thunk32_vkEnumerateInstanceExtensionProperties
,
30699 thunk32_vkEnumerateInstanceVersion
,
30700 thunk32_vkEnumeratePhysicalDeviceGroups
,
30701 thunk32_vkEnumeratePhysicalDeviceGroupsKHR
,
30702 thunk32_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
,
30703 thunk32_vkEnumeratePhysicalDevices
,
30704 thunk32_vkFlushMappedMemoryRanges
,
30705 thunk32_vkFreeCommandBuffers
,
30706 thunk32_vkFreeDescriptorSets
,
30707 thunk32_vkFreeMemory
,
30708 thunk32_vkGetAccelerationStructureBuildSizesKHR
,
30709 thunk32_vkGetAccelerationStructureDeviceAddressKHR
,
30710 thunk32_vkGetAccelerationStructureHandleNV
,
30711 thunk32_vkGetAccelerationStructureMemoryRequirementsNV
,
30712 thunk32_vkGetBufferDeviceAddress
,
30713 thunk32_vkGetBufferDeviceAddressEXT
,
30714 thunk32_vkGetBufferDeviceAddressKHR
,
30715 thunk32_vkGetBufferMemoryRequirements
,
30716 thunk32_vkGetBufferMemoryRequirements2
,
30717 thunk32_vkGetBufferMemoryRequirements2KHR
,
30718 thunk32_vkGetBufferOpaqueCaptureAddress
,
30719 thunk32_vkGetBufferOpaqueCaptureAddressKHR
,
30720 thunk32_vkGetCalibratedTimestampsEXT
,
30721 thunk32_vkGetDeferredOperationMaxConcurrencyKHR
,
30722 thunk32_vkGetDeferredOperationResultKHR
,
30723 thunk32_vkGetDescriptorSetHostMappingVALVE
,
30724 thunk32_vkGetDescriptorSetLayoutHostMappingInfoVALVE
,
30725 thunk32_vkGetDescriptorSetLayoutSupport
,
30726 thunk32_vkGetDescriptorSetLayoutSupportKHR
,
30727 thunk32_vkGetDeviceAccelerationStructureCompatibilityKHR
,
30728 thunk32_vkGetDeviceBufferMemoryRequirements
,
30729 thunk32_vkGetDeviceBufferMemoryRequirementsKHR
,
30730 thunk32_vkGetDeviceFaultInfoEXT
,
30731 thunk32_vkGetDeviceGroupPeerMemoryFeatures
,
30732 thunk32_vkGetDeviceGroupPeerMemoryFeaturesKHR
,
30733 thunk32_vkGetDeviceGroupPresentCapabilitiesKHR
,
30734 thunk32_vkGetDeviceGroupSurfacePresentModesKHR
,
30735 thunk32_vkGetDeviceImageMemoryRequirements
,
30736 thunk32_vkGetDeviceImageMemoryRequirementsKHR
,
30737 thunk32_vkGetDeviceImageSparseMemoryRequirements
,
30738 thunk32_vkGetDeviceImageSparseMemoryRequirementsKHR
,
30739 thunk32_vkGetDeviceMemoryCommitment
,
30740 thunk32_vkGetDeviceMemoryOpaqueCaptureAddress
,
30741 thunk32_vkGetDeviceMemoryOpaqueCaptureAddressKHR
,
30742 thunk32_vkGetDeviceMicromapCompatibilityEXT
,
30743 thunk32_vkGetDeviceQueue
,
30744 thunk32_vkGetDeviceQueue2
,
30745 thunk32_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
,
30746 thunk32_vkGetDynamicRenderingTilePropertiesQCOM
,
30747 thunk32_vkGetEventStatus
,
30748 thunk32_vkGetFenceStatus
,
30749 thunk32_vkGetFramebufferTilePropertiesQCOM
,
30750 thunk32_vkGetGeneratedCommandsMemoryRequirementsNV
,
30751 thunk32_vkGetImageMemoryRequirements
,
30752 thunk32_vkGetImageMemoryRequirements2
,
30753 thunk32_vkGetImageMemoryRequirements2KHR
,
30754 thunk32_vkGetImageSparseMemoryRequirements
,
30755 thunk32_vkGetImageSparseMemoryRequirements2
,
30756 thunk32_vkGetImageSparseMemoryRequirements2KHR
,
30757 thunk32_vkGetImageSubresourceLayout
,
30758 thunk32_vkGetImageSubresourceLayout2EXT
,
30759 thunk32_vkGetImageViewAddressNVX
,
30760 thunk32_vkGetImageViewHandleNVX
,
30761 thunk32_vkGetMemoryHostPointerPropertiesEXT
,
30762 thunk32_vkGetMicromapBuildSizesEXT
,
30763 thunk32_vkGetPerformanceParameterINTEL
,
30764 thunk32_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
,
30765 thunk32_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
,
30766 thunk32_vkGetPhysicalDeviceExternalBufferProperties
,
30767 thunk32_vkGetPhysicalDeviceExternalBufferPropertiesKHR
,
30768 thunk32_vkGetPhysicalDeviceExternalFenceProperties
,
30769 thunk32_vkGetPhysicalDeviceExternalFencePropertiesKHR
,
30770 thunk32_vkGetPhysicalDeviceExternalSemaphoreProperties
,
30771 thunk32_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
,
30772 thunk32_vkGetPhysicalDeviceFeatures
,
30773 thunk32_vkGetPhysicalDeviceFeatures2
,
30774 thunk32_vkGetPhysicalDeviceFeatures2KHR
,
30775 thunk32_vkGetPhysicalDeviceFormatProperties
,
30776 thunk32_vkGetPhysicalDeviceFormatProperties2
,
30777 thunk32_vkGetPhysicalDeviceFormatProperties2KHR
,
30778 thunk32_vkGetPhysicalDeviceFragmentShadingRatesKHR
,
30779 thunk32_vkGetPhysicalDeviceImageFormatProperties
,
30780 thunk32_vkGetPhysicalDeviceImageFormatProperties2
,
30781 thunk32_vkGetPhysicalDeviceImageFormatProperties2KHR
,
30782 thunk32_vkGetPhysicalDeviceMemoryProperties
,
30783 thunk32_vkGetPhysicalDeviceMemoryProperties2
,
30784 thunk32_vkGetPhysicalDeviceMemoryProperties2KHR
,
30785 thunk32_vkGetPhysicalDeviceMultisamplePropertiesEXT
,
30786 thunk32_vkGetPhysicalDeviceOpticalFlowImageFormatsNV
,
30787 thunk32_vkGetPhysicalDevicePresentRectanglesKHR
,
30788 thunk32_vkGetPhysicalDeviceProperties
,
30789 thunk32_vkGetPhysicalDeviceProperties2
,
30790 thunk32_vkGetPhysicalDeviceProperties2KHR
,
30791 thunk32_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
,
30792 thunk32_vkGetPhysicalDeviceQueueFamilyProperties
,
30793 thunk32_vkGetPhysicalDeviceQueueFamilyProperties2
,
30794 thunk32_vkGetPhysicalDeviceQueueFamilyProperties2KHR
,
30795 thunk32_vkGetPhysicalDeviceSparseImageFormatProperties
,
30796 thunk32_vkGetPhysicalDeviceSparseImageFormatProperties2
,
30797 thunk32_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
,
30798 thunk32_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
,
30799 thunk32_vkGetPhysicalDeviceSurfaceCapabilities2KHR
,
30800 thunk32_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
,
30801 thunk32_vkGetPhysicalDeviceSurfaceFormats2KHR
,
30802 thunk32_vkGetPhysicalDeviceSurfaceFormatsKHR
,
30803 thunk32_vkGetPhysicalDeviceSurfacePresentModesKHR
,
30804 thunk32_vkGetPhysicalDeviceSurfaceSupportKHR
,
30805 thunk32_vkGetPhysicalDeviceToolProperties
,
30806 thunk32_vkGetPhysicalDeviceToolPropertiesEXT
,
30807 thunk32_vkGetPhysicalDeviceWin32PresentationSupportKHR
,
30808 thunk32_vkGetPipelineCacheData
,
30809 thunk32_vkGetPipelineExecutableInternalRepresentationsKHR
,
30810 thunk32_vkGetPipelineExecutablePropertiesKHR
,
30811 thunk32_vkGetPipelineExecutableStatisticsKHR
,
30812 thunk32_vkGetPipelinePropertiesEXT
,
30813 thunk32_vkGetPrivateData
,
30814 thunk32_vkGetPrivateDataEXT
,
30815 thunk32_vkGetQueryPoolResults
,
30816 thunk32_vkGetQueueCheckpointData2NV
,
30817 thunk32_vkGetQueueCheckpointDataNV
,
30818 thunk32_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR
,
30819 thunk32_vkGetRayTracingShaderGroupHandlesKHR
,
30820 thunk32_vkGetRayTracingShaderGroupHandlesNV
,
30821 thunk32_vkGetRayTracingShaderGroupStackSizeKHR
,
30822 thunk32_vkGetRenderAreaGranularity
,
30823 thunk32_vkGetSemaphoreCounterValue
,
30824 thunk32_vkGetSemaphoreCounterValueKHR
,
30825 thunk32_vkGetShaderInfoAMD
,
30826 thunk32_vkGetShaderModuleCreateInfoIdentifierEXT
,
30827 thunk32_vkGetShaderModuleIdentifierEXT
,
30828 thunk32_vkGetSwapchainImagesKHR
,
30829 thunk32_vkGetValidationCacheDataEXT
,
30830 thunk32_vkInitializePerformanceApiINTEL
,
30831 thunk32_vkInvalidateMappedMemoryRanges
,
30832 thunk32_vkMapMemory
,
30833 thunk32_vkMergePipelineCaches
,
30834 thunk32_vkMergeValidationCachesEXT
,
30835 thunk32_vkQueueBeginDebugUtilsLabelEXT
,
30836 thunk32_vkQueueBindSparse
,
30837 thunk32_vkQueueEndDebugUtilsLabelEXT
,
30838 thunk32_vkQueueInsertDebugUtilsLabelEXT
,
30839 thunk32_vkQueuePresentKHR
,
30840 thunk32_vkQueueSetPerformanceConfigurationINTEL
,
30841 thunk32_vkQueueSubmit
,
30842 thunk32_vkQueueSubmit2
,
30843 thunk32_vkQueueSubmit2KHR
,
30844 thunk32_vkQueueWaitIdle
,
30845 thunk32_vkReleasePerformanceConfigurationINTEL
,
30846 thunk32_vkReleaseProfilingLockKHR
,
30847 thunk32_vkResetCommandBuffer
,
30848 thunk32_vkResetCommandPool
,
30849 thunk32_vkResetDescriptorPool
,
30850 thunk32_vkResetEvent
,
30851 thunk32_vkResetFences
,
30852 thunk32_vkResetQueryPool
,
30853 thunk32_vkResetQueryPoolEXT
,
30854 thunk32_vkSetDebugUtilsObjectNameEXT
,
30855 thunk32_vkSetDebugUtilsObjectTagEXT
,
30856 thunk32_vkSetDeviceMemoryPriorityEXT
,
30857 thunk32_vkSetEvent
,
30858 thunk32_vkSetPrivateData
,
30859 thunk32_vkSetPrivateDataEXT
,
30860 thunk32_vkSignalSemaphore
,
30861 thunk32_vkSignalSemaphoreKHR
,
30862 thunk32_vkSubmitDebugUtilsMessageEXT
,
30863 thunk32_vkTrimCommandPool
,
30864 thunk32_vkTrimCommandPoolKHR
,
30865 thunk32_vkUninitializePerformanceApiINTEL
,
30866 thunk32_vkUnmapMemory
,
30867 thunk32_vkUpdateDescriptorSetWithTemplate
,
30868 thunk32_vkUpdateDescriptorSetWithTemplateKHR
,
30869 thunk32_vkUpdateDescriptorSets
,
30870 thunk32_vkWaitForFences
,
30871 thunk32_vkWaitForPresentKHR
,
30872 thunk32_vkWaitSemaphores
,
30873 thunk32_vkWaitSemaphoresKHR
,
30874 thunk32_vkWriteAccelerationStructuresPropertiesKHR
,
30875 thunk32_vkWriteMicromapsPropertiesEXT
,
30877 C_ASSERT(ARRAYSIZE(__wine_unix_call_funcs
) == unix_count
);
30879 #endif /* USE_STRUCT_CONVERSION) */
30881 NTSTATUS WINAPI
vk_direct_unix_call(unixlib_handle_t handle
, unsigned int code
, void *params
)
30883 return __wine_unix_call_funcs
[code
](params
);