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 typedef struct VkAcquireNextImageInfoKHR32
26 VkStructureType sType
;
28 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
29 uint64_t DECLSPEC_ALIGN(8) timeout
;
30 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
31 VkFence
DECLSPEC_ALIGN(8) fence
;
33 } VkAcquireNextImageInfoKHR32
;
35 typedef struct VkPerformanceConfigurationAcquireInfoINTEL32
37 VkStructureType sType
;
39 VkPerformanceConfigurationTypeINTEL type
;
40 } VkPerformanceConfigurationAcquireInfoINTEL32
;
42 typedef struct VkAcquireProfilingLockInfoKHR32
44 VkStructureType sType
;
46 VkAcquireProfilingLockFlagsKHR flags
;
47 uint64_t DECLSPEC_ALIGN(8) timeout
;
48 } VkAcquireProfilingLockInfoKHR32
;
50 typedef struct VkCommandBufferAllocateInfo32
52 VkStructureType sType
;
54 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
55 VkCommandBufferLevel level
;
56 uint32_t commandBufferCount
;
57 } VkCommandBufferAllocateInfo32
;
59 typedef struct VkDescriptorSetVariableDescriptorCountAllocateInfo32
61 VkStructureType sType
;
63 uint32_t descriptorSetCount
;
64 PTR32 pDescriptorCounts
;
65 } VkDescriptorSetVariableDescriptorCountAllocateInfo32
;
66 typedef VkDescriptorSetVariableDescriptorCountAllocateInfo32 VkDescriptorSetVariableDescriptorCountAllocateInfoEXT32
;
68 typedef struct VkDescriptorSetAllocateInfo32
70 VkStructureType sType
;
72 VkDescriptorPool
DECLSPEC_ALIGN(8) descriptorPool
;
73 uint32_t descriptorSetCount
;
75 } VkDescriptorSetAllocateInfo32
;
77 typedef struct VkDedicatedAllocationMemoryAllocateInfoNV32
79 VkStructureType sType
;
81 VkImage
DECLSPEC_ALIGN(8) image
;
82 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
83 } VkDedicatedAllocationMemoryAllocateInfoNV32
;
85 typedef struct VkExportMemoryAllocateInfo32
87 VkStructureType sType
;
89 VkExternalMemoryHandleTypeFlags handleTypes
;
90 } VkExportMemoryAllocateInfo32
;
91 typedef VkExportMemoryAllocateInfo32 VkExportMemoryAllocateInfoKHR32
;
93 typedef struct VkImportMemoryWin32HandleInfoKHR32
95 VkStructureType sType
;
97 VkExternalMemoryHandleTypeFlagBits handleType
;
100 } VkImportMemoryWin32HandleInfoKHR32
;
102 typedef struct VkExportMemoryWin32HandleInfoKHR32
104 VkStructureType sType
;
109 } VkExportMemoryWin32HandleInfoKHR32
;
111 typedef struct VkMemoryAllocateFlagsInfo32
113 VkStructureType sType
;
115 VkMemoryAllocateFlags flags
;
117 } VkMemoryAllocateFlagsInfo32
;
118 typedef VkMemoryAllocateFlagsInfo32 VkMemoryAllocateFlagsInfoKHR32
;
120 typedef struct VkMemoryDedicatedAllocateInfo32
122 VkStructureType sType
;
124 VkImage
DECLSPEC_ALIGN(8) image
;
125 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
126 } VkMemoryDedicatedAllocateInfo32
;
127 typedef VkMemoryDedicatedAllocateInfo32 VkMemoryDedicatedAllocateInfoKHR32
;
129 typedef struct VkImportMemoryHostPointerInfoEXT32
131 VkStructureType sType
;
133 VkExternalMemoryHandleTypeFlagBits handleType
;
135 } VkImportMemoryHostPointerInfoEXT32
;
137 typedef struct VkMemoryPriorityAllocateInfoEXT32
139 VkStructureType sType
;
142 } VkMemoryPriorityAllocateInfoEXT32
;
144 typedef struct VkMemoryOpaqueCaptureAddressAllocateInfo32
146 VkStructureType sType
;
148 uint64_t DECLSPEC_ALIGN(8) opaqueCaptureAddress
;
149 } VkMemoryOpaqueCaptureAddressAllocateInfo32
;
150 typedef VkMemoryOpaqueCaptureAddressAllocateInfo32 VkMemoryOpaqueCaptureAddressAllocateInfoKHR32
;
152 typedef struct VkMemoryAllocateInfo32
154 VkStructureType sType
;
156 VkDeviceSize
DECLSPEC_ALIGN(8) allocationSize
;
157 uint32_t memoryTypeIndex
;
158 } VkMemoryAllocateInfo32
;
160 typedef struct VkCommandBufferInheritanceConditionalRenderingInfoEXT32
162 VkStructureType sType
;
164 VkBool32 conditionalRenderingEnable
;
165 } VkCommandBufferInheritanceConditionalRenderingInfoEXT32
;
167 typedef struct VkCommandBufferInheritanceRenderPassTransformInfoQCOM32
169 VkStructureType sType
;
171 VkSurfaceTransformFlagBitsKHR transform
;
173 } VkCommandBufferInheritanceRenderPassTransformInfoQCOM32
;
175 typedef struct VkCommandBufferInheritanceViewportScissorInfoNV32
177 VkStructureType sType
;
179 VkBool32 viewportScissor2D
;
180 uint32_t viewportDepthCount
;
181 PTR32 pViewportDepths
;
182 } VkCommandBufferInheritanceViewportScissorInfoNV32
;
184 typedef struct VkCommandBufferInheritanceRenderingInfo32
186 VkStructureType sType
;
188 VkRenderingFlags flags
;
190 uint32_t colorAttachmentCount
;
191 PTR32 pColorAttachmentFormats
;
192 VkFormat depthAttachmentFormat
;
193 VkFormat stencilAttachmentFormat
;
194 VkSampleCountFlagBits rasterizationSamples
;
195 } VkCommandBufferInheritanceRenderingInfo32
;
196 typedef VkCommandBufferInheritanceRenderingInfo32 VkCommandBufferInheritanceRenderingInfoKHR32
;
198 typedef struct VkAttachmentSampleCountInfoAMD32
200 VkStructureType sType
;
202 uint32_t colorAttachmentCount
;
203 PTR32 pColorAttachmentSamples
;
204 VkSampleCountFlagBits depthStencilAttachmentSamples
;
205 } VkAttachmentSampleCountInfoAMD32
;
206 typedef VkAttachmentSampleCountInfoAMD32 VkAttachmentSampleCountInfoNV32
;
208 typedef struct VkMultiviewPerViewAttributesInfoNVX32
210 VkStructureType sType
;
212 VkBool32 perViewAttributes
;
213 VkBool32 perViewAttributesPositionXOnly
;
214 } VkMultiviewPerViewAttributesInfoNVX32
;
216 typedef struct VkCommandBufferInheritanceInfo32
218 VkStructureType sType
;
220 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
222 VkFramebuffer
DECLSPEC_ALIGN(8) framebuffer
;
223 VkBool32 occlusionQueryEnable
;
224 VkQueryControlFlags queryFlags
;
225 VkQueryPipelineStatisticFlags pipelineStatistics
;
226 } VkCommandBufferInheritanceInfo32
;
228 typedef struct VkDeviceGroupCommandBufferBeginInfo32
230 VkStructureType sType
;
233 } VkDeviceGroupCommandBufferBeginInfo32
;
234 typedef VkDeviceGroupCommandBufferBeginInfo32 VkDeviceGroupCommandBufferBeginInfoKHR32
;
236 typedef struct VkCommandBufferBeginInfo32
238 VkStructureType sType
;
240 VkCommandBufferUsageFlags flags
;
241 PTR32 pInheritanceInfo
;
242 } VkCommandBufferBeginInfo32
;
244 typedef struct VkBindAccelerationStructureMemoryInfoNV32
246 VkStructureType sType
;
248 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) accelerationStructure
;
249 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
250 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
251 uint32_t deviceIndexCount
;
252 PTR32 pDeviceIndices
;
253 } VkBindAccelerationStructureMemoryInfoNV32
;
255 typedef struct VkBindBufferMemoryDeviceGroupInfo32
257 VkStructureType sType
;
259 uint32_t deviceIndexCount
;
260 PTR32 pDeviceIndices
;
261 } VkBindBufferMemoryDeviceGroupInfo32
;
262 typedef VkBindBufferMemoryDeviceGroupInfo32 VkBindBufferMemoryDeviceGroupInfoKHR32
;
264 typedef struct VkBindBufferMemoryInfo32
266 VkStructureType sType
;
268 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
269 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
270 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
271 } VkBindBufferMemoryInfo32
;
272 typedef VkBindBufferMemoryInfo32 VkBindBufferMemoryInfoKHR32
;
274 typedef struct VkBindImageMemoryDeviceGroupInfo32
276 VkStructureType sType
;
278 uint32_t deviceIndexCount
;
279 PTR32 pDeviceIndices
;
280 uint32_t splitInstanceBindRegionCount
;
281 PTR32 pSplitInstanceBindRegions
;
282 } VkBindImageMemoryDeviceGroupInfo32
;
283 typedef VkBindImageMemoryDeviceGroupInfo32 VkBindImageMemoryDeviceGroupInfoKHR32
;
285 typedef struct VkBindImageMemorySwapchainInfoKHR32
287 VkStructureType sType
;
289 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
291 } VkBindImageMemorySwapchainInfoKHR32
;
293 typedef struct VkBindImagePlaneMemoryInfo32
295 VkStructureType sType
;
297 VkImageAspectFlagBits planeAspect
;
298 } VkBindImagePlaneMemoryInfo32
;
299 typedef VkBindImagePlaneMemoryInfo32 VkBindImagePlaneMemoryInfoKHR32
;
301 typedef struct VkBindImageMemoryInfo32
303 VkStructureType sType
;
305 VkImage
DECLSPEC_ALIGN(8) image
;
306 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
307 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
308 } VkBindImageMemoryInfo32
;
309 typedef VkBindImageMemoryInfo32 VkBindImageMemoryInfoKHR32
;
311 typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV32
313 VkStructureType sType
;
315 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) vertexData
;
316 } VkAccelerationStructureGeometryMotionTrianglesDataNV32
;
318 typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT32
320 VkStructureType sType
;
322 VkIndexType indexType
;
323 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) indexBuffer
;
324 VkDeviceSize
DECLSPEC_ALIGN(8) indexStride
;
325 uint32_t baseTriangle
;
326 uint32_t usageCountsCount
;
329 VkMicromapEXT
DECLSPEC_ALIGN(8) micromap
;
330 } VkAccelerationStructureTrianglesOpacityMicromapEXT32
;
332 typedef struct VkAccelerationStructureGeometryTrianglesDataKHR32
334 VkStructureType sType
;
336 VkFormat vertexFormat
;
337 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) vertexData
;
338 VkDeviceSize
DECLSPEC_ALIGN(8) vertexStride
;
340 VkIndexType indexType
;
341 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) indexData
;
342 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) transformData
;
343 } VkAccelerationStructureGeometryTrianglesDataKHR32
;
345 typedef struct VkAccelerationStructureGeometryAabbsDataKHR32
347 VkStructureType sType
;
349 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) data
;
350 VkDeviceSize
DECLSPEC_ALIGN(8) stride
;
351 } VkAccelerationStructureGeometryAabbsDataKHR32
;
353 typedef struct VkAccelerationStructureGeometryInstancesDataKHR32
355 VkStructureType sType
;
357 VkBool32 arrayOfPointers
;
358 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) data
;
359 } VkAccelerationStructureGeometryInstancesDataKHR32
;
361 typedef union VkAccelerationStructureGeometryDataKHR32
363 VkAccelerationStructureGeometryTrianglesDataKHR32
DECLSPEC_ALIGN(8) triangles
;
364 VkAccelerationStructureGeometryAabbsDataKHR32
DECLSPEC_ALIGN(8) aabbs
;
365 VkAccelerationStructureGeometryInstancesDataKHR32
DECLSPEC_ALIGN(8) instances
;
366 } VkAccelerationStructureGeometryDataKHR32
;
368 typedef struct VkAccelerationStructureGeometryKHR32
370 VkStructureType sType
;
372 VkGeometryTypeKHR geometryType
;
373 VkAccelerationStructureGeometryDataKHR32
DECLSPEC_ALIGN(8) geometry
;
374 VkGeometryFlagsKHR flags
;
375 } VkAccelerationStructureGeometryKHR32
;
377 typedef struct VkAccelerationStructureBuildGeometryInfoKHR32
379 VkStructureType sType
;
381 VkAccelerationStructureTypeKHR type
;
382 VkBuildAccelerationStructureFlagsKHR flags
;
383 VkBuildAccelerationStructureModeKHR mode
;
384 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) srcAccelerationStructure
;
385 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) dstAccelerationStructure
;
386 uint32_t geometryCount
;
389 VkDeviceOrHostAddressKHR
DECLSPEC_ALIGN(8) scratchData
;
390 } VkAccelerationStructureBuildGeometryInfoKHR32
;
392 typedef struct VkMicromapBuildInfoEXT32
394 VkStructureType sType
;
396 VkMicromapTypeEXT type
;
397 VkBuildMicromapFlagsEXT flags
;
398 VkBuildMicromapModeEXT mode
;
399 VkMicromapEXT
DECLSPEC_ALIGN(8) dstMicromap
;
400 uint32_t usageCountsCount
;
403 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) data
;
404 VkDeviceOrHostAddressKHR
DECLSPEC_ALIGN(8) scratchData
;
405 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) triangleArray
;
406 VkDeviceSize
DECLSPEC_ALIGN(8) triangleArrayStride
;
407 } VkMicromapBuildInfoEXT32
;
409 typedef struct VkConditionalRenderingBeginInfoEXT32
411 VkStructureType sType
;
413 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
414 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
415 VkConditionalRenderingFlagsEXT flags
;
416 } VkConditionalRenderingBeginInfoEXT32
;
418 typedef struct VkDebugUtilsLabelEXT32
420 VkStructureType sType
;
424 } VkDebugUtilsLabelEXT32
;
426 typedef struct VkSampleLocationsInfoEXT32
428 VkStructureType sType
;
430 VkSampleCountFlagBits sampleLocationsPerPixel
;
431 VkExtent2D sampleLocationGridSize
;
432 uint32_t sampleLocationsCount
;
433 PTR32 pSampleLocations
;
434 } VkSampleLocationsInfoEXT32
;
436 typedef struct VkAttachmentSampleLocationsEXT32
438 uint32_t attachmentIndex
;
439 VkSampleLocationsInfoEXT32 sampleLocationsInfo
;
440 } VkAttachmentSampleLocationsEXT32
;
442 typedef struct VkSubpassSampleLocationsEXT32
444 uint32_t subpassIndex
;
445 VkSampleLocationsInfoEXT32 sampleLocationsInfo
;
446 } VkSubpassSampleLocationsEXT32
;
448 typedef struct VkDeviceGroupRenderPassBeginInfo32
450 VkStructureType sType
;
453 uint32_t deviceRenderAreaCount
;
454 PTR32 pDeviceRenderAreas
;
455 } VkDeviceGroupRenderPassBeginInfo32
;
456 typedef VkDeviceGroupRenderPassBeginInfo32 VkDeviceGroupRenderPassBeginInfoKHR32
;
458 typedef struct VkRenderPassSampleLocationsBeginInfoEXT32
460 VkStructureType sType
;
462 uint32_t attachmentInitialSampleLocationsCount
;
463 PTR32 pAttachmentInitialSampleLocations
;
464 uint32_t postSubpassSampleLocationsCount
;
465 PTR32 pPostSubpassSampleLocations
;
466 } VkRenderPassSampleLocationsBeginInfoEXT32
;
468 typedef struct VkRenderPassAttachmentBeginInfo32
470 VkStructureType sType
;
472 uint32_t attachmentCount
;
474 } VkRenderPassAttachmentBeginInfo32
;
475 typedef VkRenderPassAttachmentBeginInfo32 VkRenderPassAttachmentBeginInfoKHR32
;
477 typedef struct VkRenderPassTransformBeginInfoQCOM32
479 VkStructureType sType
;
481 VkSurfaceTransformFlagBitsKHR transform
;
482 } VkRenderPassTransformBeginInfoQCOM32
;
484 typedef struct VkRenderPassBeginInfo32
486 VkStructureType sType
;
488 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
489 VkFramebuffer
DECLSPEC_ALIGN(8) framebuffer
;
491 uint32_t clearValueCount
;
493 } VkRenderPassBeginInfo32
;
495 typedef struct VkSubpassBeginInfo32
497 VkStructureType sType
;
499 VkSubpassContents contents
;
500 } VkSubpassBeginInfo32
;
501 typedef VkSubpassBeginInfo32 VkSubpassBeginInfoKHR32
;
503 typedef struct VkRenderingAttachmentInfo32
505 VkStructureType sType
;
507 VkImageView
DECLSPEC_ALIGN(8) imageView
;
508 VkImageLayout imageLayout
;
509 VkResolveModeFlagBits resolveMode
;
510 VkImageView
DECLSPEC_ALIGN(8) resolveImageView
;
511 VkImageLayout resolveImageLayout
;
512 VkAttachmentLoadOp loadOp
;
513 VkAttachmentStoreOp storeOp
;
514 VkClearValue clearValue
;
515 } VkRenderingAttachmentInfo32
;
516 typedef VkRenderingAttachmentInfo32 VkRenderingAttachmentInfoKHR32
;
518 typedef struct VkMultisampledRenderToSingleSampledInfoEXT32
520 VkStructureType sType
;
522 VkBool32 multisampledRenderToSingleSampledEnable
;
523 VkSampleCountFlagBits rasterizationSamples
;
524 } VkMultisampledRenderToSingleSampledInfoEXT32
;
526 typedef struct VkRenderingFragmentShadingRateAttachmentInfoKHR32
528 VkStructureType sType
;
530 VkImageView
DECLSPEC_ALIGN(8) imageView
;
531 VkImageLayout imageLayout
;
532 VkExtent2D shadingRateAttachmentTexelSize
;
533 } VkRenderingFragmentShadingRateAttachmentInfoKHR32
;
535 typedef struct VkRenderingFragmentDensityMapAttachmentInfoEXT32
537 VkStructureType sType
;
539 VkImageView
DECLSPEC_ALIGN(8) imageView
;
540 VkImageLayout imageLayout
;
541 } VkRenderingFragmentDensityMapAttachmentInfoEXT32
;
543 typedef struct VkRenderingInfo32
545 VkStructureType sType
;
547 VkRenderingFlags flags
;
551 uint32_t colorAttachmentCount
;
552 PTR32 pColorAttachments
;
553 PTR32 pDepthAttachment
;
554 PTR32 pStencilAttachment
;
556 typedef VkRenderingInfo32 VkRenderingInfoKHR32
;
558 typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT32
560 VkStructureType sType
;
562 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
563 } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT32
;
565 typedef struct VkDescriptorBufferBindingInfoEXT32
567 VkStructureType sType
;
569 VkDeviceAddress
DECLSPEC_ALIGN(8) address
;
570 VkBufferUsageFlags usage
;
571 } VkDescriptorBufferBindingInfoEXT32
;
573 typedef struct VkCopyCommandTransformInfoQCOM32
575 VkStructureType sType
;
577 VkSurfaceTransformFlagBitsKHR transform
;
578 } VkCopyCommandTransformInfoQCOM32
;
580 typedef struct VkImageBlit232
582 VkStructureType sType
;
584 VkImageSubresourceLayers srcSubresource
;
585 VkOffset3D srcOffsets
[2];
586 VkImageSubresourceLayers dstSubresource
;
587 VkOffset3D dstOffsets
[2];
589 typedef VkImageBlit232 VkImageBlit2KHR32
;
591 typedef struct VkBlitImageInfo232
593 VkStructureType sType
;
595 VkImage
DECLSPEC_ALIGN(8) srcImage
;
596 VkImageLayout srcImageLayout
;
597 VkImage
DECLSPEC_ALIGN(8) dstImage
;
598 VkImageLayout dstImageLayout
;
599 uint32_t regionCount
;
602 } VkBlitImageInfo232
;
603 typedef VkBlitImageInfo232 VkBlitImageInfo2KHR32
;
605 typedef struct VkGeometryTrianglesNV32
607 VkStructureType sType
;
609 VkBuffer
DECLSPEC_ALIGN(8) vertexData
;
610 VkDeviceSize
DECLSPEC_ALIGN(8) vertexOffset
;
611 uint32_t vertexCount
;
612 VkDeviceSize
DECLSPEC_ALIGN(8) vertexStride
;
613 VkFormat vertexFormat
;
614 VkBuffer
DECLSPEC_ALIGN(8) indexData
;
615 VkDeviceSize
DECLSPEC_ALIGN(8) indexOffset
;
617 VkIndexType indexType
;
618 VkBuffer
DECLSPEC_ALIGN(8) transformData
;
619 VkDeviceSize
DECLSPEC_ALIGN(8) transformOffset
;
620 } VkGeometryTrianglesNV32
;
622 typedef struct VkGeometryAABBNV32
624 VkStructureType sType
;
626 VkBuffer
DECLSPEC_ALIGN(8) aabbData
;
629 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
630 } VkGeometryAABBNV32
;
632 typedef struct VkGeometryDataNV32
634 VkGeometryTrianglesNV32
DECLSPEC_ALIGN(8) triangles
;
635 VkGeometryAABBNV32
DECLSPEC_ALIGN(8) aabbs
;
636 } VkGeometryDataNV32
;
638 typedef struct VkGeometryNV32
640 VkStructureType sType
;
642 VkGeometryTypeKHR geometryType
;
643 VkGeometryDataNV32
DECLSPEC_ALIGN(8) geometry
;
644 VkGeometryFlagsKHR flags
;
647 typedef struct VkAccelerationStructureInfoNV32
649 VkStructureType sType
;
651 VkAccelerationStructureTypeNV type
;
652 VkBuildAccelerationStructureFlagsNV flags
;
653 uint32_t instanceCount
;
654 uint32_t geometryCount
;
656 } VkAccelerationStructureInfoNV32
;
658 typedef struct VkCopyAccelerationStructureInfoKHR32
660 VkStructureType sType
;
662 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) src
;
663 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) dst
;
664 VkCopyAccelerationStructureModeKHR mode
;
665 } VkCopyAccelerationStructureInfoKHR32
;
667 typedef struct VkCopyAccelerationStructureToMemoryInfoKHR32
669 VkStructureType sType
;
671 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) src
;
672 VkDeviceOrHostAddressKHR
DECLSPEC_ALIGN(8) dst
;
673 VkCopyAccelerationStructureModeKHR mode
;
674 } VkCopyAccelerationStructureToMemoryInfoKHR32
;
676 typedef struct VkBufferCopy32
678 VkDeviceSize
DECLSPEC_ALIGN(8) srcOffset
;
679 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
680 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
683 typedef struct VkBufferCopy232
685 VkStructureType sType
;
687 VkDeviceSize
DECLSPEC_ALIGN(8) srcOffset
;
688 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
689 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
691 typedef VkBufferCopy232 VkBufferCopy2KHR32
;
693 typedef struct VkCopyBufferInfo232
695 VkStructureType sType
;
697 VkBuffer
DECLSPEC_ALIGN(8) srcBuffer
;
698 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
699 uint32_t regionCount
;
701 } VkCopyBufferInfo232
;
702 typedef VkCopyBufferInfo232 VkCopyBufferInfo2KHR32
;
704 typedef struct VkBufferImageCopy32
706 VkDeviceSize
DECLSPEC_ALIGN(8) bufferOffset
;
707 uint32_t bufferRowLength
;
708 uint32_t bufferImageHeight
;
709 VkImageSubresourceLayers imageSubresource
;
710 VkOffset3D imageOffset
;
711 VkExtent3D imageExtent
;
712 } VkBufferImageCopy32
;
714 typedef struct VkBufferImageCopy232
716 VkStructureType sType
;
718 VkDeviceSize
DECLSPEC_ALIGN(8) bufferOffset
;
719 uint32_t bufferRowLength
;
720 uint32_t bufferImageHeight
;
721 VkImageSubresourceLayers imageSubresource
;
722 VkOffset3D imageOffset
;
723 VkExtent3D imageExtent
;
724 } VkBufferImageCopy232
;
725 typedef VkBufferImageCopy232 VkBufferImageCopy2KHR32
;
727 typedef struct VkCopyBufferToImageInfo232
729 VkStructureType sType
;
731 VkBuffer
DECLSPEC_ALIGN(8) srcBuffer
;
732 VkImage
DECLSPEC_ALIGN(8) dstImage
;
733 VkImageLayout dstImageLayout
;
734 uint32_t regionCount
;
736 } VkCopyBufferToImageInfo232
;
737 typedef VkCopyBufferToImageInfo232 VkCopyBufferToImageInfo2KHR32
;
739 typedef struct VkImageCopy232
741 VkStructureType sType
;
743 VkImageSubresourceLayers srcSubresource
;
744 VkOffset3D srcOffset
;
745 VkImageSubresourceLayers dstSubresource
;
746 VkOffset3D dstOffset
;
749 typedef VkImageCopy232 VkImageCopy2KHR32
;
751 typedef struct VkCopyImageInfo232
753 VkStructureType sType
;
755 VkImage
DECLSPEC_ALIGN(8) srcImage
;
756 VkImageLayout srcImageLayout
;
757 VkImage
DECLSPEC_ALIGN(8) dstImage
;
758 VkImageLayout dstImageLayout
;
759 uint32_t regionCount
;
761 } VkCopyImageInfo232
;
762 typedef VkCopyImageInfo232 VkCopyImageInfo2KHR32
;
764 typedef struct VkCopyImageToBufferInfo232
766 VkStructureType sType
;
768 VkImage
DECLSPEC_ALIGN(8) srcImage
;
769 VkImageLayout srcImageLayout
;
770 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
771 uint32_t regionCount
;
773 } VkCopyImageToBufferInfo232
;
774 typedef VkCopyImageToBufferInfo232 VkCopyImageToBufferInfo2KHR32
;
776 typedef struct VkCopyMemoryToAccelerationStructureInfoKHR32
778 VkStructureType sType
;
780 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) src
;
781 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) dst
;
782 VkCopyAccelerationStructureModeKHR mode
;
783 } VkCopyMemoryToAccelerationStructureInfoKHR32
;
785 typedef struct VkCopyMemoryToMicromapInfoEXT32
787 VkStructureType sType
;
789 VkDeviceOrHostAddressConstKHR
DECLSPEC_ALIGN(8) src
;
790 VkMicromapEXT
DECLSPEC_ALIGN(8) dst
;
791 VkCopyMicromapModeEXT mode
;
792 } VkCopyMemoryToMicromapInfoEXT32
;
794 typedef struct VkCopyMicromapInfoEXT32
796 VkStructureType sType
;
798 VkMicromapEXT
DECLSPEC_ALIGN(8) src
;
799 VkMicromapEXT
DECLSPEC_ALIGN(8) dst
;
800 VkCopyMicromapModeEXT mode
;
801 } VkCopyMicromapInfoEXT32
;
803 typedef struct VkCopyMicromapToMemoryInfoEXT32
805 VkStructureType sType
;
807 VkMicromapEXT
DECLSPEC_ALIGN(8) src
;
808 VkDeviceOrHostAddressKHR
DECLSPEC_ALIGN(8) dst
;
809 VkCopyMicromapModeEXT mode
;
810 } VkCopyMicromapToMemoryInfoEXT32
;
812 typedef struct VkCuLaunchInfoNVX32
814 VkStructureType sType
;
816 VkCuFunctionNVX
DECLSPEC_ALIGN(8) function
;
823 uint32_t sharedMemBytes
;
828 } VkCuLaunchInfoNVX32
;
830 typedef struct VkDebugMarkerMarkerInfoEXT32
832 VkStructureType sType
;
836 } VkDebugMarkerMarkerInfoEXT32
;
838 typedef struct VkDecompressMemoryRegionNV32
840 VkDeviceAddress
DECLSPEC_ALIGN(8) srcAddress
;
841 VkDeviceAddress
DECLSPEC_ALIGN(8) dstAddress
;
842 VkDeviceSize
DECLSPEC_ALIGN(8) compressedSize
;
843 VkDeviceSize
DECLSPEC_ALIGN(8) decompressedSize
;
844 VkMemoryDecompressionMethodFlagsNV
DECLSPEC_ALIGN(8) decompressionMethod
;
845 } VkDecompressMemoryRegionNV32
;
847 typedef struct VkSubpassFragmentDensityMapOffsetEndInfoQCOM32
849 VkStructureType sType
;
851 uint32_t fragmentDensityOffsetCount
;
852 PTR32 pFragmentDensityOffsets
;
853 } VkSubpassFragmentDensityMapOffsetEndInfoQCOM32
;
855 typedef struct VkSubpassEndInfo32
857 VkStructureType sType
;
859 } VkSubpassEndInfo32
;
860 typedef VkSubpassEndInfo32 VkSubpassEndInfoKHR32
;
862 typedef struct VkIndirectCommandsStreamNV32
864 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
865 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
866 } VkIndirectCommandsStreamNV32
;
868 typedef struct VkGeneratedCommandsInfoNV32
870 VkStructureType sType
;
872 VkPipelineBindPoint pipelineBindPoint
;
873 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
874 VkIndirectCommandsLayoutNV
DECLSPEC_ALIGN(8) indirectCommandsLayout
;
875 uint32_t streamCount
;
877 uint32_t sequencesCount
;
878 VkBuffer
DECLSPEC_ALIGN(8) preprocessBuffer
;
879 VkDeviceSize
DECLSPEC_ALIGN(8) preprocessOffset
;
880 VkDeviceSize
DECLSPEC_ALIGN(8) preprocessSize
;
881 VkBuffer
DECLSPEC_ALIGN(8) sequencesCountBuffer
;
882 VkDeviceSize
DECLSPEC_ALIGN(8) sequencesCountOffset
;
883 VkBuffer
DECLSPEC_ALIGN(8) sequencesIndexBuffer
;
884 VkDeviceSize
DECLSPEC_ALIGN(8) sequencesIndexOffset
;
885 } VkGeneratedCommandsInfoNV32
;
887 typedef struct VkOpticalFlowExecuteInfoNV32
889 VkStructureType sType
;
891 VkOpticalFlowExecuteFlagsNV flags
;
892 uint32_t regionCount
;
894 } VkOpticalFlowExecuteInfoNV32
;
896 typedef struct VkMemoryBarrier32
898 VkStructureType sType
;
900 VkAccessFlags srcAccessMask
;
901 VkAccessFlags dstAccessMask
;
904 typedef struct VkBufferMemoryBarrier32
906 VkStructureType sType
;
908 VkAccessFlags srcAccessMask
;
909 VkAccessFlags dstAccessMask
;
910 uint32_t srcQueueFamilyIndex
;
911 uint32_t dstQueueFamilyIndex
;
912 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
913 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
914 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
915 } VkBufferMemoryBarrier32
;
917 typedef struct VkImageMemoryBarrier32
919 VkStructureType sType
;
921 VkAccessFlags srcAccessMask
;
922 VkAccessFlags dstAccessMask
;
923 VkImageLayout oldLayout
;
924 VkImageLayout newLayout
;
925 uint32_t srcQueueFamilyIndex
;
926 uint32_t dstQueueFamilyIndex
;
927 VkImage
DECLSPEC_ALIGN(8) image
;
928 VkImageSubresourceRange subresourceRange
;
929 } VkImageMemoryBarrier32
;
931 typedef struct VkMemoryBarrier232
933 VkStructureType sType
;
935 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) srcStageMask
;
936 VkAccessFlags2
DECLSPEC_ALIGN(8) srcAccessMask
;
937 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) dstStageMask
;
938 VkAccessFlags2
DECLSPEC_ALIGN(8) dstAccessMask
;
939 } VkMemoryBarrier232
;
940 typedef VkMemoryBarrier232 VkMemoryBarrier2KHR32
;
942 typedef struct VkBufferMemoryBarrier232
944 VkStructureType sType
;
946 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) srcStageMask
;
947 VkAccessFlags2
DECLSPEC_ALIGN(8) srcAccessMask
;
948 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) dstStageMask
;
949 VkAccessFlags2
DECLSPEC_ALIGN(8) dstAccessMask
;
950 uint32_t srcQueueFamilyIndex
;
951 uint32_t dstQueueFamilyIndex
;
952 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
953 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
954 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
955 } VkBufferMemoryBarrier232
;
956 typedef VkBufferMemoryBarrier232 VkBufferMemoryBarrier2KHR32
;
958 typedef struct VkImageMemoryBarrier232
960 VkStructureType sType
;
962 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) srcStageMask
;
963 VkAccessFlags2
DECLSPEC_ALIGN(8) srcAccessMask
;
964 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) dstStageMask
;
965 VkAccessFlags2
DECLSPEC_ALIGN(8) dstAccessMask
;
966 VkImageLayout oldLayout
;
967 VkImageLayout newLayout
;
968 uint32_t srcQueueFamilyIndex
;
969 uint32_t dstQueueFamilyIndex
;
970 VkImage
DECLSPEC_ALIGN(8) image
;
971 VkImageSubresourceRange subresourceRange
;
972 } VkImageMemoryBarrier232
;
973 typedef VkImageMemoryBarrier232 VkImageMemoryBarrier2KHR32
;
975 typedef struct VkDependencyInfo32
977 VkStructureType sType
;
979 VkDependencyFlags dependencyFlags
;
980 uint32_t memoryBarrierCount
;
981 PTR32 pMemoryBarriers
;
982 uint32_t bufferMemoryBarrierCount
;
983 PTR32 pBufferMemoryBarriers
;
984 uint32_t imageMemoryBarrierCount
;
985 PTR32 pImageMemoryBarriers
;
986 } VkDependencyInfo32
;
987 typedef VkDependencyInfo32 VkDependencyInfoKHR32
;
989 typedef struct VkDescriptorImageInfo32
991 VkSampler
DECLSPEC_ALIGN(8) sampler
;
992 VkImageView
DECLSPEC_ALIGN(8) imageView
;
993 VkImageLayout imageLayout
;
994 } VkDescriptorImageInfo32
;
996 typedef struct VkDescriptorBufferInfo32
998 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
999 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
1000 VkDeviceSize
DECLSPEC_ALIGN(8) range
;
1001 } VkDescriptorBufferInfo32
;
1003 typedef struct VkWriteDescriptorSetInlineUniformBlock32
1005 VkStructureType sType
;
1009 } VkWriteDescriptorSetInlineUniformBlock32
;
1010 typedef VkWriteDescriptorSetInlineUniformBlock32 VkWriteDescriptorSetInlineUniformBlockEXT32
;
1012 typedef struct VkWriteDescriptorSetAccelerationStructureKHR32
1014 VkStructureType sType
;
1016 uint32_t accelerationStructureCount
;
1017 PTR32 pAccelerationStructures
;
1018 } VkWriteDescriptorSetAccelerationStructureKHR32
;
1020 typedef struct VkWriteDescriptorSetAccelerationStructureNV32
1022 VkStructureType sType
;
1024 uint32_t accelerationStructureCount
;
1025 PTR32 pAccelerationStructures
;
1026 } VkWriteDescriptorSetAccelerationStructureNV32
;
1028 typedef struct VkWriteDescriptorSet32
1030 VkStructureType sType
;
1032 VkDescriptorSet
DECLSPEC_ALIGN(8) dstSet
;
1033 uint32_t dstBinding
;
1034 uint32_t dstArrayElement
;
1035 uint32_t descriptorCount
;
1036 VkDescriptorType descriptorType
;
1039 PTR32 pTexelBufferView
;
1040 } VkWriteDescriptorSet32
;
1042 typedef struct VkImageResolve232
1044 VkStructureType sType
;
1046 VkImageSubresourceLayers srcSubresource
;
1047 VkOffset3D srcOffset
;
1048 VkImageSubresourceLayers dstSubresource
;
1049 VkOffset3D dstOffset
;
1051 } VkImageResolve232
;
1052 typedef VkImageResolve232 VkImageResolve2KHR32
;
1054 typedef struct VkResolveImageInfo232
1056 VkStructureType sType
;
1058 VkImage
DECLSPEC_ALIGN(8) srcImage
;
1059 VkImageLayout srcImageLayout
;
1060 VkImage
DECLSPEC_ALIGN(8) dstImage
;
1061 VkImageLayout dstImageLayout
;
1062 uint32_t regionCount
;
1064 } VkResolveImageInfo232
;
1065 typedef VkResolveImageInfo232 VkResolveImageInfo2KHR32
;
1067 typedef struct VkCoarseSampleOrderCustomNV32
1069 VkShadingRatePaletteEntryNV shadingRate
;
1070 uint32_t sampleCount
;
1071 uint32_t sampleLocationCount
;
1072 PTR32 pSampleLocations
;
1073 } VkCoarseSampleOrderCustomNV32
;
1075 typedef struct VkPerformanceMarkerInfoINTEL32
1077 VkStructureType sType
;
1079 uint64_t DECLSPEC_ALIGN(8) marker
;
1080 } VkPerformanceMarkerInfoINTEL32
;
1082 typedef struct VkPerformanceOverrideInfoINTEL32
1084 VkStructureType sType
;
1086 VkPerformanceOverrideTypeINTEL type
;
1088 uint64_t DECLSPEC_ALIGN(8) parameter
;
1089 } VkPerformanceOverrideInfoINTEL32
;
1091 typedef struct VkPerformanceStreamMarkerInfoINTEL32
1093 VkStructureType sType
;
1096 } VkPerformanceStreamMarkerInfoINTEL32
;
1098 typedef struct VkVertexInputBindingDescription2EXT32
1100 VkStructureType sType
;
1104 VkVertexInputRate inputRate
;
1106 } VkVertexInputBindingDescription2EXT32
;
1108 typedef struct VkVertexInputAttributeDescription2EXT32
1110 VkStructureType sType
;
1116 } VkVertexInputAttributeDescription2EXT32
;
1118 typedef struct VkShadingRatePaletteNV32
1120 uint32_t shadingRatePaletteEntryCount
;
1121 PTR32 pShadingRatePaletteEntries
;
1122 } VkShadingRatePaletteNV32
;
1124 typedef struct VkStridedDeviceAddressRegionKHR32
1126 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
1127 VkDeviceSize
DECLSPEC_ALIGN(8) stride
;
1128 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1129 } VkStridedDeviceAddressRegionKHR32
;
1131 typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT32
1133 VkStructureType sType
;
1135 PTR32 opaqueCaptureDescriptorData
;
1136 } VkOpaqueCaptureDescriptorDataCreateInfoEXT32
;
1138 typedef struct VkAccelerationStructureMotionInfoNV32
1140 VkStructureType sType
;
1142 uint32_t maxInstances
;
1143 VkAccelerationStructureMotionInfoFlagsNV flags
;
1144 } VkAccelerationStructureMotionInfoNV32
;
1146 typedef struct VkAccelerationStructureCreateInfoKHR32
1148 VkStructureType sType
;
1150 VkAccelerationStructureCreateFlagsKHR createFlags
;
1151 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
1152 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
1153 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1154 VkAccelerationStructureTypeKHR type
;
1155 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
1156 } VkAccelerationStructureCreateInfoKHR32
;
1158 typedef struct VkAccelerationStructureCreateInfoNV32
1160 VkStructureType sType
;
1162 VkDeviceSize
DECLSPEC_ALIGN(8) compactedSize
;
1163 VkAccelerationStructureInfoNV32 info
;
1164 } VkAccelerationStructureCreateInfoNV32
;
1166 typedef struct VkDedicatedAllocationBufferCreateInfoNV32
1168 VkStructureType sType
;
1170 VkBool32 dedicatedAllocation
;
1171 } VkDedicatedAllocationBufferCreateInfoNV32
;
1173 typedef struct VkExternalMemoryBufferCreateInfo32
1175 VkStructureType sType
;
1177 VkExternalMemoryHandleTypeFlags handleTypes
;
1178 } VkExternalMemoryBufferCreateInfo32
;
1179 typedef VkExternalMemoryBufferCreateInfo32 VkExternalMemoryBufferCreateInfoKHR32
;
1181 typedef struct VkBufferOpaqueCaptureAddressCreateInfo32
1183 VkStructureType sType
;
1185 uint64_t DECLSPEC_ALIGN(8) opaqueCaptureAddress
;
1186 } VkBufferOpaqueCaptureAddressCreateInfo32
;
1187 typedef VkBufferOpaqueCaptureAddressCreateInfo32 VkBufferOpaqueCaptureAddressCreateInfoKHR32
;
1189 typedef struct VkBufferDeviceAddressCreateInfoEXT32
1191 VkStructureType sType
;
1193 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
1194 } VkBufferDeviceAddressCreateInfoEXT32
;
1196 typedef struct VkBufferCreateInfo32
1198 VkStructureType sType
;
1200 VkBufferCreateFlags flags
;
1201 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
1202 VkBufferUsageFlags usage
;
1203 VkSharingMode sharingMode
;
1204 uint32_t queueFamilyIndexCount
;
1205 PTR32 pQueueFamilyIndices
;
1206 } VkBufferCreateInfo32
;
1208 typedef struct VkBufferViewCreateInfo32
1210 VkStructureType sType
;
1212 VkBufferViewCreateFlags flags
;
1213 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
1215 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
1216 VkDeviceSize
DECLSPEC_ALIGN(8) range
;
1217 } VkBufferViewCreateInfo32
;
1219 typedef struct VkCommandPoolCreateInfo32
1221 VkStructureType sType
;
1223 VkCommandPoolCreateFlags flags
;
1224 uint32_t queueFamilyIndex
;
1225 } VkCommandPoolCreateInfo32
;
1227 typedef struct VkPipelineCreationFeedback32
1229 VkPipelineCreationFeedbackFlags flags
;
1230 uint64_t DECLSPEC_ALIGN(8) duration
;
1231 } VkPipelineCreationFeedback32
;
1232 typedef VkPipelineCreationFeedback32 VkPipelineCreationFeedbackEXT32
;
1234 typedef struct VkSpecializationMapEntry32
1236 uint32_t constantID
;
1239 } VkSpecializationMapEntry32
;
1241 typedef struct VkSpecializationInfo32
1243 uint32_t mapEntryCount
;
1247 } VkSpecializationInfo32
;
1249 typedef struct VkShaderModuleCreateInfo32
1251 VkStructureType sType
;
1253 VkShaderModuleCreateFlags flags
;
1256 } VkShaderModuleCreateInfo32
;
1258 typedef struct VkShaderModuleValidationCacheCreateInfoEXT32
1260 VkStructureType sType
;
1262 VkValidationCacheEXT
DECLSPEC_ALIGN(8) validationCache
;
1263 } VkShaderModuleValidationCacheCreateInfoEXT32
;
1265 typedef struct VkDebugUtilsObjectNameInfoEXT32
1267 VkStructureType sType
;
1269 VkObjectType objectType
;
1270 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
1272 } VkDebugUtilsObjectNameInfoEXT32
;
1274 typedef struct VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32
1276 VkStructureType sType
;
1278 uint32_t requiredSubgroupSize
;
1279 } VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32
;
1280 typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32 VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT32
;
1282 typedef struct VkPipelineShaderStageModuleIdentifierCreateInfoEXT32
1284 VkStructureType sType
;
1286 uint32_t identifierSize
;
1288 } VkPipelineShaderStageModuleIdentifierCreateInfoEXT32
;
1290 typedef struct VkPipelineRobustnessCreateInfoEXT32
1292 VkStructureType sType
;
1294 VkPipelineRobustnessBufferBehaviorEXT storageBuffers
;
1295 VkPipelineRobustnessBufferBehaviorEXT uniformBuffers
;
1296 VkPipelineRobustnessBufferBehaviorEXT vertexInputs
;
1297 VkPipelineRobustnessImageBehaviorEXT images
;
1298 } VkPipelineRobustnessCreateInfoEXT32
;
1300 typedef struct VkPipelineShaderStageCreateInfo32
1302 VkStructureType sType
;
1304 VkPipelineShaderStageCreateFlags flags
;
1305 VkShaderStageFlagBits stage
;
1306 VkShaderModule
DECLSPEC_ALIGN(8) module
;
1308 PTR32 pSpecializationInfo
;
1309 } VkPipelineShaderStageCreateInfo32
;
1311 typedef struct VkPipelineCreationFeedbackCreateInfo32
1313 VkStructureType sType
;
1315 PTR32 pPipelineCreationFeedback
;
1316 uint32_t pipelineStageCreationFeedbackCount
;
1317 PTR32 pPipelineStageCreationFeedbacks
;
1318 } VkPipelineCreationFeedbackCreateInfo32
;
1319 typedef VkPipelineCreationFeedbackCreateInfo32 VkPipelineCreationFeedbackCreateInfoEXT32
;
1321 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI32
1323 VkStructureType sType
;
1325 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
1327 } VkSubpassShadingPipelineCreateInfoHUAWEI32
;
1329 typedef struct VkPipelineCompilerControlCreateInfoAMD32
1331 VkStructureType sType
;
1333 VkPipelineCompilerControlFlagsAMD compilerControlFlags
;
1334 } VkPipelineCompilerControlCreateInfoAMD32
;
1336 typedef struct VkComputePipelineCreateInfo32
1338 VkStructureType sType
;
1340 VkPipelineCreateFlags flags
;
1341 VkPipelineShaderStageCreateInfo32
DECLSPEC_ALIGN(8) stage
;
1342 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
1343 VkPipeline
DECLSPEC_ALIGN(8) basePipelineHandle
;
1344 int32_t basePipelineIndex
;
1345 } VkComputePipelineCreateInfo32
;
1347 typedef struct VkCuFunctionCreateInfoNVX32
1349 VkStructureType sType
;
1351 VkCuModuleNVX
DECLSPEC_ALIGN(8) module
;
1353 } VkCuFunctionCreateInfoNVX32
;
1355 typedef struct VkCuModuleCreateInfoNVX32
1357 VkStructureType sType
;
1361 } VkCuModuleCreateInfoNVX32
;
1363 typedef struct VkDebugReportCallbackCreateInfoEXT32
1365 VkStructureType sType
;
1367 VkDebugReportFlagsEXT flags
;
1368 PFN_vkDebugReportCallbackEXT pfnCallback
;
1370 } VkDebugReportCallbackCreateInfoEXT32
;
1372 typedef struct VkDebugUtilsMessengerCreateInfoEXT32
1374 VkStructureType sType
;
1376 VkDebugUtilsMessengerCreateFlagsEXT flags
;
1377 VkDebugUtilsMessageSeverityFlagsEXT messageSeverity
;
1378 VkDebugUtilsMessageTypeFlagsEXT messageType
;
1379 PFN_vkDebugUtilsMessengerCallbackEXT pfnUserCallback
;
1381 } VkDebugUtilsMessengerCreateInfoEXT32
;
1383 typedef struct VkMutableDescriptorTypeListEXT32
1385 uint32_t descriptorTypeCount
;
1386 PTR32 pDescriptorTypes
;
1387 } VkMutableDescriptorTypeListEXT32
;
1388 typedef VkMutableDescriptorTypeListEXT32 VkMutableDescriptorTypeListVALVE32
;
1390 typedef struct VkDescriptorPoolInlineUniformBlockCreateInfo32
1392 VkStructureType sType
;
1394 uint32_t maxInlineUniformBlockBindings
;
1395 } VkDescriptorPoolInlineUniformBlockCreateInfo32
;
1396 typedef VkDescriptorPoolInlineUniformBlockCreateInfo32 VkDescriptorPoolInlineUniformBlockCreateInfoEXT32
;
1398 typedef struct VkMutableDescriptorTypeCreateInfoEXT32
1400 VkStructureType sType
;
1402 uint32_t mutableDescriptorTypeListCount
;
1403 PTR32 pMutableDescriptorTypeLists
;
1404 } VkMutableDescriptorTypeCreateInfoEXT32
;
1405 typedef VkMutableDescriptorTypeCreateInfoEXT32 VkMutableDescriptorTypeCreateInfoVALVE32
;
1407 typedef struct VkDescriptorPoolCreateInfo32
1409 VkStructureType sType
;
1411 VkDescriptorPoolCreateFlags flags
;
1413 uint32_t poolSizeCount
;
1415 } VkDescriptorPoolCreateInfo32
;
1417 typedef struct VkDescriptorSetLayoutBinding32
1420 VkDescriptorType descriptorType
;
1421 uint32_t descriptorCount
;
1422 VkShaderStageFlags stageFlags
;
1423 PTR32 pImmutableSamplers
;
1424 } VkDescriptorSetLayoutBinding32
;
1426 typedef struct VkDescriptorSetLayoutBindingFlagsCreateInfo32
1428 VkStructureType sType
;
1430 uint32_t bindingCount
;
1431 PTR32 pBindingFlags
;
1432 } VkDescriptorSetLayoutBindingFlagsCreateInfo32
;
1433 typedef VkDescriptorSetLayoutBindingFlagsCreateInfo32 VkDescriptorSetLayoutBindingFlagsCreateInfoEXT32
;
1435 typedef struct VkDescriptorSetLayoutCreateInfo32
1437 VkStructureType sType
;
1439 VkDescriptorSetLayoutCreateFlags flags
;
1440 uint32_t bindingCount
;
1442 } VkDescriptorSetLayoutCreateInfo32
;
1444 typedef struct VkDescriptorUpdateTemplateEntry32
1446 uint32_t dstBinding
;
1447 uint32_t dstArrayElement
;
1448 uint32_t descriptorCount
;
1449 VkDescriptorType descriptorType
;
1452 } VkDescriptorUpdateTemplateEntry32
;
1453 typedef VkDescriptorUpdateTemplateEntry32 VkDescriptorUpdateTemplateEntryKHR32
;
1455 typedef struct VkDescriptorUpdateTemplateCreateInfo32
1457 VkStructureType sType
;
1459 VkDescriptorUpdateTemplateCreateFlags flags
;
1460 uint32_t descriptorUpdateEntryCount
;
1461 PTR32 pDescriptorUpdateEntries
;
1462 VkDescriptorUpdateTemplateType templateType
;
1463 VkDescriptorSetLayout
DECLSPEC_ALIGN(8) descriptorSetLayout
;
1464 VkPipelineBindPoint pipelineBindPoint
;
1465 VkPipelineLayout
DECLSPEC_ALIGN(8) pipelineLayout
;
1467 } VkDescriptorUpdateTemplateCreateInfo32
;
1468 typedef VkDescriptorUpdateTemplateCreateInfo32 VkDescriptorUpdateTemplateCreateInfoKHR32
;
1470 typedef struct VkDeviceQueueGlobalPriorityCreateInfoKHR32
1472 VkStructureType sType
;
1474 VkQueueGlobalPriorityKHR globalPriority
;
1475 } VkDeviceQueueGlobalPriorityCreateInfoKHR32
;
1476 typedef VkDeviceQueueGlobalPriorityCreateInfoKHR32 VkDeviceQueueGlobalPriorityCreateInfoEXT32
;
1478 typedef struct VkDeviceQueueCreateInfo32
1480 VkStructureType sType
;
1482 VkDeviceQueueCreateFlags flags
;
1483 uint32_t queueFamilyIndex
;
1484 uint32_t queueCount
;
1485 PTR32 pQueuePriorities
;
1486 } VkDeviceQueueCreateInfo32
;
1488 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV32
1490 VkStructureType sType
;
1492 VkBool32 deviceGeneratedCommands
;
1493 } VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV32
;
1495 typedef struct VkDevicePrivateDataCreateInfo32
1497 VkStructureType sType
;
1499 uint32_t privateDataSlotRequestCount
;
1500 } VkDevicePrivateDataCreateInfo32
;
1501 typedef VkDevicePrivateDataCreateInfo32 VkDevicePrivateDataCreateInfoEXT32
;
1503 typedef struct VkPhysicalDevicePrivateDataFeatures32
1505 VkStructureType sType
;
1507 VkBool32 privateData
;
1508 } VkPhysicalDevicePrivateDataFeatures32
;
1509 typedef VkPhysicalDevicePrivateDataFeatures32 VkPhysicalDevicePrivateDataFeaturesEXT32
;
1511 typedef struct VkPhysicalDeviceFeatures232
1513 VkStructureType sType
;
1515 VkPhysicalDeviceFeatures features
;
1516 } VkPhysicalDeviceFeatures232
;
1517 typedef VkPhysicalDeviceFeatures232 VkPhysicalDeviceFeatures2KHR32
;
1519 typedef struct VkPhysicalDeviceVariablePointersFeatures32
1521 VkStructureType sType
;
1523 VkBool32 variablePointersStorageBuffer
;
1524 VkBool32 variablePointers
;
1525 } VkPhysicalDeviceVariablePointersFeatures32
;
1526 typedef VkPhysicalDeviceVariablePointersFeatures32 VkPhysicalDeviceVariablePointersFeaturesKHR32
;
1527 typedef VkPhysicalDeviceVariablePointersFeatures32 VkPhysicalDeviceVariablePointerFeaturesKHR32
;
1528 typedef VkPhysicalDeviceVariablePointersFeatures32 VkPhysicalDeviceVariablePointerFeatures32
;
1530 typedef struct VkPhysicalDeviceMultiviewFeatures32
1532 VkStructureType sType
;
1535 VkBool32 multiviewGeometryShader
;
1536 VkBool32 multiviewTessellationShader
;
1537 } VkPhysicalDeviceMultiviewFeatures32
;
1538 typedef VkPhysicalDeviceMultiviewFeatures32 VkPhysicalDeviceMultiviewFeaturesKHR32
;
1540 typedef struct VkDeviceGroupDeviceCreateInfo32
1542 VkStructureType sType
;
1544 uint32_t physicalDeviceCount
;
1545 PTR32 pPhysicalDevices
;
1546 } VkDeviceGroupDeviceCreateInfo32
;
1547 typedef VkDeviceGroupDeviceCreateInfo32 VkDeviceGroupDeviceCreateInfoKHR32
;
1549 typedef struct VkPhysicalDevicePresentIdFeaturesKHR32
1551 VkStructureType sType
;
1554 } VkPhysicalDevicePresentIdFeaturesKHR32
;
1556 typedef struct VkPhysicalDevicePresentWaitFeaturesKHR32
1558 VkStructureType sType
;
1560 VkBool32 presentWait
;
1561 } VkPhysicalDevicePresentWaitFeaturesKHR32
;
1563 typedef struct VkPhysicalDevice16BitStorageFeatures32
1565 VkStructureType sType
;
1567 VkBool32 storageBuffer16BitAccess
;
1568 VkBool32 uniformAndStorageBuffer16BitAccess
;
1569 VkBool32 storagePushConstant16
;
1570 VkBool32 storageInputOutput16
;
1571 } VkPhysicalDevice16BitStorageFeatures32
;
1572 typedef VkPhysicalDevice16BitStorageFeatures32 VkPhysicalDevice16BitStorageFeaturesKHR32
;
1574 typedef struct VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures32
1576 VkStructureType sType
;
1578 VkBool32 shaderSubgroupExtendedTypes
;
1579 } VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures32
;
1580 typedef VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures32 VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR32
;
1582 typedef struct VkPhysicalDeviceSamplerYcbcrConversionFeatures32
1584 VkStructureType sType
;
1586 VkBool32 samplerYcbcrConversion
;
1587 } VkPhysicalDeviceSamplerYcbcrConversionFeatures32
;
1588 typedef VkPhysicalDeviceSamplerYcbcrConversionFeatures32 VkPhysicalDeviceSamplerYcbcrConversionFeaturesKHR32
;
1590 typedef struct VkPhysicalDeviceProtectedMemoryFeatures32
1592 VkStructureType sType
;
1594 VkBool32 protectedMemory
;
1595 } VkPhysicalDeviceProtectedMemoryFeatures32
;
1597 typedef struct VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT32
1599 VkStructureType sType
;
1601 VkBool32 advancedBlendCoherentOperations
;
1602 } VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT32
;
1604 typedef struct VkPhysicalDeviceMultiDrawFeaturesEXT32
1606 VkStructureType sType
;
1609 } VkPhysicalDeviceMultiDrawFeaturesEXT32
;
1611 typedef struct VkPhysicalDeviceInlineUniformBlockFeatures32
1613 VkStructureType sType
;
1615 VkBool32 inlineUniformBlock
;
1616 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind
;
1617 } VkPhysicalDeviceInlineUniformBlockFeatures32
;
1618 typedef VkPhysicalDeviceInlineUniformBlockFeatures32 VkPhysicalDeviceInlineUniformBlockFeaturesEXT32
;
1620 typedef struct VkPhysicalDeviceMaintenance4Features32
1622 VkStructureType sType
;
1624 VkBool32 maintenance4
;
1625 } VkPhysicalDeviceMaintenance4Features32
;
1626 typedef VkPhysicalDeviceMaintenance4Features32 VkPhysicalDeviceMaintenance4FeaturesKHR32
;
1628 typedef struct VkPhysicalDeviceShaderDrawParametersFeatures32
1630 VkStructureType sType
;
1632 VkBool32 shaderDrawParameters
;
1633 } VkPhysicalDeviceShaderDrawParametersFeatures32
;
1634 typedef VkPhysicalDeviceShaderDrawParametersFeatures32 VkPhysicalDeviceShaderDrawParameterFeatures32
;
1636 typedef struct VkPhysicalDeviceShaderFloat16Int8Features32
1638 VkStructureType sType
;
1640 VkBool32 shaderFloat16
;
1641 VkBool32 shaderInt8
;
1642 } VkPhysicalDeviceShaderFloat16Int8Features32
;
1643 typedef VkPhysicalDeviceShaderFloat16Int8Features32 VkPhysicalDeviceShaderFloat16Int8FeaturesKHR32
;
1644 typedef VkPhysicalDeviceShaderFloat16Int8Features32 VkPhysicalDeviceFloat16Int8FeaturesKHR32
;
1646 typedef struct VkPhysicalDeviceHostQueryResetFeatures32
1648 VkStructureType sType
;
1650 VkBool32 hostQueryReset
;
1651 } VkPhysicalDeviceHostQueryResetFeatures32
;
1652 typedef VkPhysicalDeviceHostQueryResetFeatures32 VkPhysicalDeviceHostQueryResetFeaturesEXT32
;
1654 typedef struct VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32
1656 VkStructureType sType
;
1658 VkBool32 globalPriorityQuery
;
1659 } VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32
;
1660 typedef VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32 VkPhysicalDeviceGlobalPriorityQueryFeaturesEXT32
;
1662 typedef struct VkPhysicalDeviceDescriptorIndexingFeatures32
1664 VkStructureType sType
;
1666 VkBool32 shaderInputAttachmentArrayDynamicIndexing
;
1667 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing
;
1668 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing
;
1669 VkBool32 shaderUniformBufferArrayNonUniformIndexing
;
1670 VkBool32 shaderSampledImageArrayNonUniformIndexing
;
1671 VkBool32 shaderStorageBufferArrayNonUniformIndexing
;
1672 VkBool32 shaderStorageImageArrayNonUniformIndexing
;
1673 VkBool32 shaderInputAttachmentArrayNonUniformIndexing
;
1674 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing
;
1675 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing
;
1676 VkBool32 descriptorBindingUniformBufferUpdateAfterBind
;
1677 VkBool32 descriptorBindingSampledImageUpdateAfterBind
;
1678 VkBool32 descriptorBindingStorageImageUpdateAfterBind
;
1679 VkBool32 descriptorBindingStorageBufferUpdateAfterBind
;
1680 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind
;
1681 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind
;
1682 VkBool32 descriptorBindingUpdateUnusedWhilePending
;
1683 VkBool32 descriptorBindingPartiallyBound
;
1684 VkBool32 descriptorBindingVariableDescriptorCount
;
1685 VkBool32 runtimeDescriptorArray
;
1686 } VkPhysicalDeviceDescriptorIndexingFeatures32
;
1687 typedef VkPhysicalDeviceDescriptorIndexingFeatures32 VkPhysicalDeviceDescriptorIndexingFeaturesEXT32
;
1689 typedef struct VkPhysicalDeviceTimelineSemaphoreFeatures32
1691 VkStructureType sType
;
1693 VkBool32 timelineSemaphore
;
1694 } VkPhysicalDeviceTimelineSemaphoreFeatures32
;
1695 typedef VkPhysicalDeviceTimelineSemaphoreFeatures32 VkPhysicalDeviceTimelineSemaphoreFeaturesKHR32
;
1697 typedef struct VkPhysicalDevice8BitStorageFeatures32
1699 VkStructureType sType
;
1701 VkBool32 storageBuffer8BitAccess
;
1702 VkBool32 uniformAndStorageBuffer8BitAccess
;
1703 VkBool32 storagePushConstant8
;
1704 } VkPhysicalDevice8BitStorageFeatures32
;
1705 typedef VkPhysicalDevice8BitStorageFeatures32 VkPhysicalDevice8BitStorageFeaturesKHR32
;
1707 typedef struct VkPhysicalDeviceConditionalRenderingFeaturesEXT32
1709 VkStructureType sType
;
1711 VkBool32 conditionalRendering
;
1712 VkBool32 inheritedConditionalRendering
;
1713 } VkPhysicalDeviceConditionalRenderingFeaturesEXT32
;
1715 typedef struct VkPhysicalDeviceVulkanMemoryModelFeatures32
1717 VkStructureType sType
;
1719 VkBool32 vulkanMemoryModel
;
1720 VkBool32 vulkanMemoryModelDeviceScope
;
1721 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains
;
1722 } VkPhysicalDeviceVulkanMemoryModelFeatures32
;
1723 typedef VkPhysicalDeviceVulkanMemoryModelFeatures32 VkPhysicalDeviceVulkanMemoryModelFeaturesKHR32
;
1725 typedef struct VkPhysicalDeviceShaderAtomicInt64Features32
1727 VkStructureType sType
;
1729 VkBool32 shaderBufferInt64Atomics
;
1730 VkBool32 shaderSharedInt64Atomics
;
1731 } VkPhysicalDeviceShaderAtomicInt64Features32
;
1732 typedef VkPhysicalDeviceShaderAtomicInt64Features32 VkPhysicalDeviceShaderAtomicInt64FeaturesKHR32
;
1734 typedef struct VkPhysicalDeviceShaderAtomicFloatFeaturesEXT32
1736 VkStructureType sType
;
1738 VkBool32 shaderBufferFloat32Atomics
;
1739 VkBool32 shaderBufferFloat32AtomicAdd
;
1740 VkBool32 shaderBufferFloat64Atomics
;
1741 VkBool32 shaderBufferFloat64AtomicAdd
;
1742 VkBool32 shaderSharedFloat32Atomics
;
1743 VkBool32 shaderSharedFloat32AtomicAdd
;
1744 VkBool32 shaderSharedFloat64Atomics
;
1745 VkBool32 shaderSharedFloat64AtomicAdd
;
1746 VkBool32 shaderImageFloat32Atomics
;
1747 VkBool32 shaderImageFloat32AtomicAdd
;
1748 VkBool32 sparseImageFloat32Atomics
;
1749 VkBool32 sparseImageFloat32AtomicAdd
;
1750 } VkPhysicalDeviceShaderAtomicFloatFeaturesEXT32
;
1752 typedef struct VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT32
1754 VkStructureType sType
;
1756 VkBool32 shaderBufferFloat16Atomics
;
1757 VkBool32 shaderBufferFloat16AtomicAdd
;
1758 VkBool32 shaderBufferFloat16AtomicMinMax
;
1759 VkBool32 shaderBufferFloat32AtomicMinMax
;
1760 VkBool32 shaderBufferFloat64AtomicMinMax
;
1761 VkBool32 shaderSharedFloat16Atomics
;
1762 VkBool32 shaderSharedFloat16AtomicAdd
;
1763 VkBool32 shaderSharedFloat16AtomicMinMax
;
1764 VkBool32 shaderSharedFloat32AtomicMinMax
;
1765 VkBool32 shaderSharedFloat64AtomicMinMax
;
1766 VkBool32 shaderImageFloat32AtomicMinMax
;
1767 VkBool32 sparseImageFloat32AtomicMinMax
;
1768 } VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT32
;
1770 typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT32
1772 VkStructureType sType
;
1774 VkBool32 vertexAttributeInstanceRateDivisor
;
1775 VkBool32 vertexAttributeInstanceRateZeroDivisor
;
1776 } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT32
;
1778 typedef struct VkPhysicalDeviceASTCDecodeFeaturesEXT32
1780 VkStructureType sType
;
1782 VkBool32 decodeModeSharedExponent
;
1783 } VkPhysicalDeviceASTCDecodeFeaturesEXT32
;
1785 typedef struct VkPhysicalDeviceTransformFeedbackFeaturesEXT32
1787 VkStructureType sType
;
1789 VkBool32 transformFeedback
;
1790 VkBool32 geometryStreams
;
1791 } VkPhysicalDeviceTransformFeedbackFeaturesEXT32
;
1793 typedef struct VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV32
1795 VkStructureType sType
;
1797 VkBool32 representativeFragmentTest
;
1798 } VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV32
;
1800 typedef struct VkPhysicalDeviceExclusiveScissorFeaturesNV32
1802 VkStructureType sType
;
1804 VkBool32 exclusiveScissor
;
1805 } VkPhysicalDeviceExclusiveScissorFeaturesNV32
;
1807 typedef struct VkPhysicalDeviceCornerSampledImageFeaturesNV32
1809 VkStructureType sType
;
1811 VkBool32 cornerSampledImage
;
1812 } VkPhysicalDeviceCornerSampledImageFeaturesNV32
;
1814 typedef struct VkPhysicalDeviceComputeShaderDerivativesFeaturesNV32
1816 VkStructureType sType
;
1818 VkBool32 computeDerivativeGroupQuads
;
1819 VkBool32 computeDerivativeGroupLinear
;
1820 } VkPhysicalDeviceComputeShaderDerivativesFeaturesNV32
;
1822 typedef struct VkPhysicalDeviceShaderImageFootprintFeaturesNV32
1824 VkStructureType sType
;
1826 VkBool32 imageFootprint
;
1827 } VkPhysicalDeviceShaderImageFootprintFeaturesNV32
;
1829 typedef struct VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV32
1831 VkStructureType sType
;
1833 VkBool32 dedicatedAllocationImageAliasing
;
1834 } VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV32
;
1836 typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV32
1838 VkStructureType sType
;
1840 VkBool32 indirectCopy
;
1841 } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV32
;
1843 typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV32
1845 VkStructureType sType
;
1847 VkBool32 memoryDecompression
;
1848 } VkPhysicalDeviceMemoryDecompressionFeaturesNV32
;
1850 typedef struct VkPhysicalDeviceShadingRateImageFeaturesNV32
1852 VkStructureType sType
;
1854 VkBool32 shadingRateImage
;
1855 VkBool32 shadingRateCoarseSampleOrder
;
1856 } VkPhysicalDeviceShadingRateImageFeaturesNV32
;
1858 typedef struct VkPhysicalDeviceInvocationMaskFeaturesHUAWEI32
1860 VkStructureType sType
;
1862 VkBool32 invocationMask
;
1863 } VkPhysicalDeviceInvocationMaskFeaturesHUAWEI32
;
1865 typedef struct VkPhysicalDeviceMeshShaderFeaturesNV32
1867 VkStructureType sType
;
1869 VkBool32 taskShader
;
1870 VkBool32 meshShader
;
1871 } VkPhysicalDeviceMeshShaderFeaturesNV32
;
1873 typedef struct VkPhysicalDeviceMeshShaderFeaturesEXT32
1875 VkStructureType sType
;
1877 VkBool32 taskShader
;
1878 VkBool32 meshShader
;
1879 VkBool32 multiviewMeshShader
;
1880 VkBool32 primitiveFragmentShadingRateMeshShader
;
1881 VkBool32 meshShaderQueries
;
1882 } VkPhysicalDeviceMeshShaderFeaturesEXT32
;
1884 typedef struct VkPhysicalDeviceAccelerationStructureFeaturesKHR32
1886 VkStructureType sType
;
1888 VkBool32 accelerationStructure
;
1889 VkBool32 accelerationStructureCaptureReplay
;
1890 VkBool32 accelerationStructureIndirectBuild
;
1891 VkBool32 accelerationStructureHostCommands
;
1892 VkBool32 descriptorBindingAccelerationStructureUpdateAfterBind
;
1893 } VkPhysicalDeviceAccelerationStructureFeaturesKHR32
;
1895 typedef struct VkPhysicalDeviceRayTracingPipelineFeaturesKHR32
1897 VkStructureType sType
;
1899 VkBool32 rayTracingPipeline
;
1900 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplay
;
1901 VkBool32 rayTracingPipelineShaderGroupHandleCaptureReplayMixed
;
1902 VkBool32 rayTracingPipelineTraceRaysIndirect
;
1903 VkBool32 rayTraversalPrimitiveCulling
;
1904 } VkPhysicalDeviceRayTracingPipelineFeaturesKHR32
;
1906 typedef struct VkPhysicalDeviceRayQueryFeaturesKHR32
1908 VkStructureType sType
;
1911 } VkPhysicalDeviceRayQueryFeaturesKHR32
;
1913 typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR32
1915 VkStructureType sType
;
1917 VkBool32 rayTracingMaintenance1
;
1918 VkBool32 rayTracingPipelineTraceRaysIndirect2
;
1919 } VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR32
;
1921 typedef struct VkDeviceMemoryOverallocationCreateInfoAMD32
1923 VkStructureType sType
;
1925 VkMemoryOverallocationBehaviorAMD overallocationBehavior
;
1926 } VkDeviceMemoryOverallocationCreateInfoAMD32
;
1928 typedef struct VkPhysicalDeviceFragmentDensityMapFeaturesEXT32
1930 VkStructureType sType
;
1932 VkBool32 fragmentDensityMap
;
1933 VkBool32 fragmentDensityMapDynamic
;
1934 VkBool32 fragmentDensityMapNonSubsampledImages
;
1935 } VkPhysicalDeviceFragmentDensityMapFeaturesEXT32
;
1937 typedef struct VkPhysicalDeviceFragmentDensityMap2FeaturesEXT32
1939 VkStructureType sType
;
1941 VkBool32 fragmentDensityMapDeferred
;
1942 } VkPhysicalDeviceFragmentDensityMap2FeaturesEXT32
;
1944 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM32
1946 VkStructureType sType
;
1948 VkBool32 fragmentDensityMapOffset
;
1949 } VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM32
;
1951 typedef struct VkPhysicalDeviceScalarBlockLayoutFeatures32
1953 VkStructureType sType
;
1955 VkBool32 scalarBlockLayout
;
1956 } VkPhysicalDeviceScalarBlockLayoutFeatures32
;
1957 typedef VkPhysicalDeviceScalarBlockLayoutFeatures32 VkPhysicalDeviceScalarBlockLayoutFeaturesEXT32
;
1959 typedef struct VkPhysicalDeviceUniformBufferStandardLayoutFeatures32
1961 VkStructureType sType
;
1963 VkBool32 uniformBufferStandardLayout
;
1964 } VkPhysicalDeviceUniformBufferStandardLayoutFeatures32
;
1965 typedef VkPhysicalDeviceUniformBufferStandardLayoutFeatures32 VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR32
;
1967 typedef struct VkPhysicalDeviceDepthClipEnableFeaturesEXT32
1969 VkStructureType sType
;
1971 VkBool32 depthClipEnable
;
1972 } VkPhysicalDeviceDepthClipEnableFeaturesEXT32
;
1974 typedef struct VkPhysicalDeviceMemoryPriorityFeaturesEXT32
1976 VkStructureType sType
;
1978 VkBool32 memoryPriority
;
1979 } VkPhysicalDeviceMemoryPriorityFeaturesEXT32
;
1981 typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT32
1983 VkStructureType sType
;
1985 VkBool32 pageableDeviceLocalMemory
;
1986 } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT32
;
1988 typedef struct VkPhysicalDeviceBufferDeviceAddressFeatures32
1990 VkStructureType sType
;
1992 VkBool32 bufferDeviceAddress
;
1993 VkBool32 bufferDeviceAddressCaptureReplay
;
1994 VkBool32 bufferDeviceAddressMultiDevice
;
1995 } VkPhysicalDeviceBufferDeviceAddressFeatures32
;
1996 typedef VkPhysicalDeviceBufferDeviceAddressFeatures32 VkPhysicalDeviceBufferDeviceAddressFeaturesKHR32
;
1998 typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT32
2000 VkStructureType sType
;
2002 VkBool32 bufferDeviceAddress
;
2003 VkBool32 bufferDeviceAddressCaptureReplay
;
2004 VkBool32 bufferDeviceAddressMultiDevice
;
2005 } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT32
;
2006 typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT32 VkPhysicalDeviceBufferAddressFeaturesEXT32
;
2008 typedef struct VkPhysicalDeviceImagelessFramebufferFeatures32
2010 VkStructureType sType
;
2012 VkBool32 imagelessFramebuffer
;
2013 } VkPhysicalDeviceImagelessFramebufferFeatures32
;
2014 typedef VkPhysicalDeviceImagelessFramebufferFeatures32 VkPhysicalDeviceImagelessFramebufferFeaturesKHR32
;
2016 typedef struct VkPhysicalDeviceTextureCompressionASTCHDRFeatures32
2018 VkStructureType sType
;
2020 VkBool32 textureCompressionASTC_HDR
;
2021 } VkPhysicalDeviceTextureCompressionASTCHDRFeatures32
;
2022 typedef VkPhysicalDeviceTextureCompressionASTCHDRFeatures32 VkPhysicalDeviceTextureCompressionASTCHDRFeaturesEXT32
;
2024 typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesNV32
2026 VkStructureType sType
;
2028 VkBool32 cooperativeMatrix
;
2029 VkBool32 cooperativeMatrixRobustBufferAccess
;
2030 } VkPhysicalDeviceCooperativeMatrixFeaturesNV32
;
2032 typedef struct VkPhysicalDeviceYcbcrImageArraysFeaturesEXT32
2034 VkStructureType sType
;
2036 VkBool32 ycbcrImageArrays
;
2037 } VkPhysicalDeviceYcbcrImageArraysFeaturesEXT32
;
2039 typedef struct VkPhysicalDevicePresentBarrierFeaturesNV32
2041 VkStructureType sType
;
2043 VkBool32 presentBarrier
;
2044 } VkPhysicalDevicePresentBarrierFeaturesNV32
;
2046 typedef struct VkPhysicalDevicePerformanceQueryFeaturesKHR32
2048 VkStructureType sType
;
2050 VkBool32 performanceCounterQueryPools
;
2051 VkBool32 performanceCounterMultipleQueryPools
;
2052 } VkPhysicalDevicePerformanceQueryFeaturesKHR32
;
2054 typedef struct VkPhysicalDeviceCoverageReductionModeFeaturesNV32
2056 VkStructureType sType
;
2058 VkBool32 coverageReductionMode
;
2059 } VkPhysicalDeviceCoverageReductionModeFeaturesNV32
;
2061 typedef struct VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL32
2063 VkStructureType sType
;
2065 VkBool32 shaderIntegerFunctions2
;
2066 } VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL32
;
2068 typedef struct VkPhysicalDeviceShaderClockFeaturesKHR32
2070 VkStructureType sType
;
2072 VkBool32 shaderSubgroupClock
;
2073 VkBool32 shaderDeviceClock
;
2074 } VkPhysicalDeviceShaderClockFeaturesKHR32
;
2076 typedef struct VkPhysicalDeviceIndexTypeUint8FeaturesEXT32
2078 VkStructureType sType
;
2080 VkBool32 indexTypeUint8
;
2081 } VkPhysicalDeviceIndexTypeUint8FeaturesEXT32
;
2083 typedef struct VkPhysicalDeviceShaderSMBuiltinsFeaturesNV32
2085 VkStructureType sType
;
2087 VkBool32 shaderSMBuiltins
;
2088 } VkPhysicalDeviceShaderSMBuiltinsFeaturesNV32
;
2090 typedef struct VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT32
2092 VkStructureType sType
;
2094 VkBool32 fragmentShaderSampleInterlock
;
2095 VkBool32 fragmentShaderPixelInterlock
;
2096 VkBool32 fragmentShaderShadingRateInterlock
;
2097 } VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT32
;
2099 typedef struct VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures32
2101 VkStructureType sType
;
2103 VkBool32 separateDepthStencilLayouts
;
2104 } VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures32
;
2105 typedef VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures32 VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR32
;
2107 typedef struct VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT32
2109 VkStructureType sType
;
2111 VkBool32 primitiveTopologyListRestart
;
2112 VkBool32 primitiveTopologyPatchListRestart
;
2113 } VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT32
;
2115 typedef struct VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR32
2117 VkStructureType sType
;
2119 VkBool32 pipelineExecutableInfo
;
2120 } VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR32
;
2122 typedef struct VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures32
2124 VkStructureType sType
;
2126 VkBool32 shaderDemoteToHelperInvocation
;
2127 } VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures32
;
2128 typedef VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures32 VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT32
;
2130 typedef struct VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT32
2132 VkStructureType sType
;
2134 VkBool32 texelBufferAlignment
;
2135 } VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT32
;
2137 typedef struct VkPhysicalDeviceSubgroupSizeControlFeatures32
2139 VkStructureType sType
;
2141 VkBool32 subgroupSizeControl
;
2142 VkBool32 computeFullSubgroups
;
2143 } VkPhysicalDeviceSubgroupSizeControlFeatures32
;
2144 typedef VkPhysicalDeviceSubgroupSizeControlFeatures32 VkPhysicalDeviceSubgroupSizeControlFeaturesEXT32
;
2146 typedef struct VkPhysicalDeviceLineRasterizationFeaturesEXT32
2148 VkStructureType sType
;
2150 VkBool32 rectangularLines
;
2151 VkBool32 bresenhamLines
;
2152 VkBool32 smoothLines
;
2153 VkBool32 stippledRectangularLines
;
2154 VkBool32 stippledBresenhamLines
;
2155 VkBool32 stippledSmoothLines
;
2156 } VkPhysicalDeviceLineRasterizationFeaturesEXT32
;
2158 typedef struct VkPhysicalDevicePipelineCreationCacheControlFeatures32
2160 VkStructureType sType
;
2162 VkBool32 pipelineCreationCacheControl
;
2163 } VkPhysicalDevicePipelineCreationCacheControlFeatures32
;
2164 typedef VkPhysicalDevicePipelineCreationCacheControlFeatures32 VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT32
;
2166 typedef struct VkPhysicalDeviceVulkan11Features32
2168 VkStructureType sType
;
2170 VkBool32 storageBuffer16BitAccess
;
2171 VkBool32 uniformAndStorageBuffer16BitAccess
;
2172 VkBool32 storagePushConstant16
;
2173 VkBool32 storageInputOutput16
;
2175 VkBool32 multiviewGeometryShader
;
2176 VkBool32 multiviewTessellationShader
;
2177 VkBool32 variablePointersStorageBuffer
;
2178 VkBool32 variablePointers
;
2179 VkBool32 protectedMemory
;
2180 VkBool32 samplerYcbcrConversion
;
2181 VkBool32 shaderDrawParameters
;
2182 } VkPhysicalDeviceVulkan11Features32
;
2184 typedef struct VkPhysicalDeviceVulkan12Features32
2186 VkStructureType sType
;
2188 VkBool32 samplerMirrorClampToEdge
;
2189 VkBool32 drawIndirectCount
;
2190 VkBool32 storageBuffer8BitAccess
;
2191 VkBool32 uniformAndStorageBuffer8BitAccess
;
2192 VkBool32 storagePushConstant8
;
2193 VkBool32 shaderBufferInt64Atomics
;
2194 VkBool32 shaderSharedInt64Atomics
;
2195 VkBool32 shaderFloat16
;
2196 VkBool32 shaderInt8
;
2197 VkBool32 descriptorIndexing
;
2198 VkBool32 shaderInputAttachmentArrayDynamicIndexing
;
2199 VkBool32 shaderUniformTexelBufferArrayDynamicIndexing
;
2200 VkBool32 shaderStorageTexelBufferArrayDynamicIndexing
;
2201 VkBool32 shaderUniformBufferArrayNonUniformIndexing
;
2202 VkBool32 shaderSampledImageArrayNonUniformIndexing
;
2203 VkBool32 shaderStorageBufferArrayNonUniformIndexing
;
2204 VkBool32 shaderStorageImageArrayNonUniformIndexing
;
2205 VkBool32 shaderInputAttachmentArrayNonUniformIndexing
;
2206 VkBool32 shaderUniformTexelBufferArrayNonUniformIndexing
;
2207 VkBool32 shaderStorageTexelBufferArrayNonUniformIndexing
;
2208 VkBool32 descriptorBindingUniformBufferUpdateAfterBind
;
2209 VkBool32 descriptorBindingSampledImageUpdateAfterBind
;
2210 VkBool32 descriptorBindingStorageImageUpdateAfterBind
;
2211 VkBool32 descriptorBindingStorageBufferUpdateAfterBind
;
2212 VkBool32 descriptorBindingUniformTexelBufferUpdateAfterBind
;
2213 VkBool32 descriptorBindingStorageTexelBufferUpdateAfterBind
;
2214 VkBool32 descriptorBindingUpdateUnusedWhilePending
;
2215 VkBool32 descriptorBindingPartiallyBound
;
2216 VkBool32 descriptorBindingVariableDescriptorCount
;
2217 VkBool32 runtimeDescriptorArray
;
2218 VkBool32 samplerFilterMinmax
;
2219 VkBool32 scalarBlockLayout
;
2220 VkBool32 imagelessFramebuffer
;
2221 VkBool32 uniformBufferStandardLayout
;
2222 VkBool32 shaderSubgroupExtendedTypes
;
2223 VkBool32 separateDepthStencilLayouts
;
2224 VkBool32 hostQueryReset
;
2225 VkBool32 timelineSemaphore
;
2226 VkBool32 bufferDeviceAddress
;
2227 VkBool32 bufferDeviceAddressCaptureReplay
;
2228 VkBool32 bufferDeviceAddressMultiDevice
;
2229 VkBool32 vulkanMemoryModel
;
2230 VkBool32 vulkanMemoryModelDeviceScope
;
2231 VkBool32 vulkanMemoryModelAvailabilityVisibilityChains
;
2232 VkBool32 shaderOutputViewportIndex
;
2233 VkBool32 shaderOutputLayer
;
2234 VkBool32 subgroupBroadcastDynamicId
;
2235 } VkPhysicalDeviceVulkan12Features32
;
2237 typedef struct VkPhysicalDeviceVulkan13Features32
2239 VkStructureType sType
;
2241 VkBool32 robustImageAccess
;
2242 VkBool32 inlineUniformBlock
;
2243 VkBool32 descriptorBindingInlineUniformBlockUpdateAfterBind
;
2244 VkBool32 pipelineCreationCacheControl
;
2245 VkBool32 privateData
;
2246 VkBool32 shaderDemoteToHelperInvocation
;
2247 VkBool32 shaderTerminateInvocation
;
2248 VkBool32 subgroupSizeControl
;
2249 VkBool32 computeFullSubgroups
;
2250 VkBool32 synchronization2
;
2251 VkBool32 textureCompressionASTC_HDR
;
2252 VkBool32 shaderZeroInitializeWorkgroupMemory
;
2253 VkBool32 dynamicRendering
;
2254 VkBool32 shaderIntegerDotProduct
;
2255 VkBool32 maintenance4
;
2256 } VkPhysicalDeviceVulkan13Features32
;
2258 typedef struct VkPhysicalDeviceCoherentMemoryFeaturesAMD32
2260 VkStructureType sType
;
2262 VkBool32 deviceCoherentMemory
;
2263 } VkPhysicalDeviceCoherentMemoryFeaturesAMD32
;
2265 typedef struct VkPhysicalDeviceCustomBorderColorFeaturesEXT32
2267 VkStructureType sType
;
2269 VkBool32 customBorderColors
;
2270 VkBool32 customBorderColorWithoutFormat
;
2271 } VkPhysicalDeviceCustomBorderColorFeaturesEXT32
;
2273 typedef struct VkPhysicalDeviceBorderColorSwizzleFeaturesEXT32
2275 VkStructureType sType
;
2277 VkBool32 borderColorSwizzle
;
2278 VkBool32 borderColorSwizzleFromImage
;
2279 } VkPhysicalDeviceBorderColorSwizzleFeaturesEXT32
;
2281 typedef struct VkPhysicalDeviceExtendedDynamicStateFeaturesEXT32
2283 VkStructureType sType
;
2285 VkBool32 extendedDynamicState
;
2286 } VkPhysicalDeviceExtendedDynamicStateFeaturesEXT32
;
2288 typedef struct VkPhysicalDeviceExtendedDynamicState2FeaturesEXT32
2290 VkStructureType sType
;
2292 VkBool32 extendedDynamicState2
;
2293 VkBool32 extendedDynamicState2LogicOp
;
2294 VkBool32 extendedDynamicState2PatchControlPoints
;
2295 } VkPhysicalDeviceExtendedDynamicState2FeaturesEXT32
;
2297 typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT32
2299 VkStructureType sType
;
2301 VkBool32 extendedDynamicState3TessellationDomainOrigin
;
2302 VkBool32 extendedDynamicState3DepthClampEnable
;
2303 VkBool32 extendedDynamicState3PolygonMode
;
2304 VkBool32 extendedDynamicState3RasterizationSamples
;
2305 VkBool32 extendedDynamicState3SampleMask
;
2306 VkBool32 extendedDynamicState3AlphaToCoverageEnable
;
2307 VkBool32 extendedDynamicState3AlphaToOneEnable
;
2308 VkBool32 extendedDynamicState3LogicOpEnable
;
2309 VkBool32 extendedDynamicState3ColorBlendEnable
;
2310 VkBool32 extendedDynamicState3ColorBlendEquation
;
2311 VkBool32 extendedDynamicState3ColorWriteMask
;
2312 VkBool32 extendedDynamicState3RasterizationStream
;
2313 VkBool32 extendedDynamicState3ConservativeRasterizationMode
;
2314 VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize
;
2315 VkBool32 extendedDynamicState3DepthClipEnable
;
2316 VkBool32 extendedDynamicState3SampleLocationsEnable
;
2317 VkBool32 extendedDynamicState3ColorBlendAdvanced
;
2318 VkBool32 extendedDynamicState3ProvokingVertexMode
;
2319 VkBool32 extendedDynamicState3LineRasterizationMode
;
2320 VkBool32 extendedDynamicState3LineStippleEnable
;
2321 VkBool32 extendedDynamicState3DepthClipNegativeOneToOne
;
2322 VkBool32 extendedDynamicState3ViewportWScalingEnable
;
2323 VkBool32 extendedDynamicState3ViewportSwizzle
;
2324 VkBool32 extendedDynamicState3CoverageToColorEnable
;
2325 VkBool32 extendedDynamicState3CoverageToColorLocation
;
2326 VkBool32 extendedDynamicState3CoverageModulationMode
;
2327 VkBool32 extendedDynamicState3CoverageModulationTableEnable
;
2328 VkBool32 extendedDynamicState3CoverageModulationTable
;
2329 VkBool32 extendedDynamicState3CoverageReductionMode
;
2330 VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable
;
2331 VkBool32 extendedDynamicState3ShadingRateImageEnable
;
2332 } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT32
;
2334 typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV32
2336 VkStructureType sType
;
2338 VkBool32 diagnosticsConfig
;
2339 } VkPhysicalDeviceDiagnosticsConfigFeaturesNV32
;
2341 typedef struct VkDeviceDiagnosticsConfigCreateInfoNV32
2343 VkStructureType sType
;
2345 VkDeviceDiagnosticsConfigFlagsNV flags
;
2346 } VkDeviceDiagnosticsConfigCreateInfoNV32
;
2348 typedef struct VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures32
2350 VkStructureType sType
;
2352 VkBool32 shaderZeroInitializeWorkgroupMemory
;
2353 } VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures32
;
2354 typedef VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures32 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR32
;
2356 typedef struct VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR32
2358 VkStructureType sType
;
2360 VkBool32 shaderSubgroupUniformControlFlow
;
2361 } VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR32
;
2363 typedef struct VkPhysicalDeviceRobustness2FeaturesEXT32
2365 VkStructureType sType
;
2367 VkBool32 robustBufferAccess2
;
2368 VkBool32 robustImageAccess2
;
2369 VkBool32 nullDescriptor
;
2370 } VkPhysicalDeviceRobustness2FeaturesEXT32
;
2372 typedef struct VkPhysicalDeviceImageRobustnessFeatures32
2374 VkStructureType sType
;
2376 VkBool32 robustImageAccess
;
2377 } VkPhysicalDeviceImageRobustnessFeatures32
;
2378 typedef VkPhysicalDeviceImageRobustnessFeatures32 VkPhysicalDeviceImageRobustnessFeaturesEXT32
;
2380 typedef struct VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR32
2382 VkStructureType sType
;
2384 VkBool32 workgroupMemoryExplicitLayout
;
2385 VkBool32 workgroupMemoryExplicitLayoutScalarBlockLayout
;
2386 VkBool32 workgroupMemoryExplicitLayout8BitAccess
;
2387 VkBool32 workgroupMemoryExplicitLayout16BitAccess
;
2388 } VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR32
;
2390 typedef struct VkPhysicalDevice4444FormatsFeaturesEXT32
2392 VkStructureType sType
;
2394 VkBool32 formatA4R4G4B4
;
2395 VkBool32 formatA4B4G4R4
;
2396 } VkPhysicalDevice4444FormatsFeaturesEXT32
;
2398 typedef struct VkPhysicalDeviceSubpassShadingFeaturesHUAWEI32
2400 VkStructureType sType
;
2402 VkBool32 subpassShading
;
2403 } VkPhysicalDeviceSubpassShadingFeaturesHUAWEI32
;
2405 typedef struct VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT32
2407 VkStructureType sType
;
2409 VkBool32 shaderImageInt64Atomics
;
2410 VkBool32 sparseImageInt64Atomics
;
2411 } VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT32
;
2413 typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR32
2415 VkStructureType sType
;
2417 VkBool32 pipelineFragmentShadingRate
;
2418 VkBool32 primitiveFragmentShadingRate
;
2419 VkBool32 attachmentFragmentShadingRate
;
2420 } VkPhysicalDeviceFragmentShadingRateFeaturesKHR32
;
2422 typedef struct VkPhysicalDeviceShaderTerminateInvocationFeatures32
2424 VkStructureType sType
;
2426 VkBool32 shaderTerminateInvocation
;
2427 } VkPhysicalDeviceShaderTerminateInvocationFeatures32
;
2428 typedef VkPhysicalDeviceShaderTerminateInvocationFeatures32 VkPhysicalDeviceShaderTerminateInvocationFeaturesKHR32
;
2430 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV32
2432 VkStructureType sType
;
2434 VkBool32 fragmentShadingRateEnums
;
2435 VkBool32 supersampleFragmentShadingRates
;
2436 VkBool32 noInvocationFragmentShadingRates
;
2437 } VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV32
;
2439 typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT32
2441 VkStructureType sType
;
2443 VkBool32 image2DViewOf3D
;
2444 VkBool32 sampler2DViewOf3D
;
2445 } VkPhysicalDeviceImage2DViewOf3DFeaturesEXT32
;
2447 typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32
2449 VkStructureType sType
;
2451 VkBool32 mutableDescriptorType
;
2452 } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32
;
2453 typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32 VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE32
;
2455 typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT32
2457 VkStructureType sType
;
2459 VkBool32 depthClipControl
;
2460 } VkPhysicalDeviceDepthClipControlFeaturesEXT32
;
2462 typedef struct VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT32
2464 VkStructureType sType
;
2466 VkBool32 vertexInputDynamicState
;
2467 } VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT32
;
2469 typedef struct VkPhysicalDeviceColorWriteEnableFeaturesEXT32
2471 VkStructureType sType
;
2473 VkBool32 colorWriteEnable
;
2474 } VkPhysicalDeviceColorWriteEnableFeaturesEXT32
;
2476 typedef struct VkPhysicalDeviceSynchronization2Features32
2478 VkStructureType sType
;
2480 VkBool32 synchronization2
;
2481 } VkPhysicalDeviceSynchronization2Features32
;
2482 typedef VkPhysicalDeviceSynchronization2Features32 VkPhysicalDeviceSynchronization2FeaturesKHR32
;
2484 typedef struct VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT32
2486 VkStructureType sType
;
2488 VkBool32 primitivesGeneratedQuery
;
2489 VkBool32 primitivesGeneratedQueryWithRasterizerDiscard
;
2490 VkBool32 primitivesGeneratedQueryWithNonZeroStreams
;
2491 } VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT32
;
2493 typedef struct VkPhysicalDeviceLegacyDitheringFeaturesEXT32
2495 VkStructureType sType
;
2497 VkBool32 legacyDithering
;
2498 } VkPhysicalDeviceLegacyDitheringFeaturesEXT32
;
2500 typedef struct VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT32
2502 VkStructureType sType
;
2504 VkBool32 multisampledRenderToSingleSampled
;
2505 } VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT32
;
2507 typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT32
2509 VkStructureType sType
;
2511 VkBool32 pipelineProtectedAccess
;
2512 } VkPhysicalDevicePipelineProtectedAccessFeaturesEXT32
;
2514 typedef struct VkPhysicalDeviceInheritedViewportScissorFeaturesNV32
2516 VkStructureType sType
;
2518 VkBool32 inheritedViewportScissor2D
;
2519 } VkPhysicalDeviceInheritedViewportScissorFeaturesNV32
;
2521 typedef struct VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT32
2523 VkStructureType sType
;
2525 VkBool32 ycbcr2plane444Formats
;
2526 } VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT32
;
2528 typedef struct VkPhysicalDeviceProvokingVertexFeaturesEXT32
2530 VkStructureType sType
;
2532 VkBool32 provokingVertexLast
;
2533 VkBool32 transformFeedbackPreservesProvokingVertex
;
2534 } VkPhysicalDeviceProvokingVertexFeaturesEXT32
;
2536 typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT32
2538 VkStructureType sType
;
2540 VkBool32 descriptorBuffer
;
2541 VkBool32 descriptorBufferCaptureReplay
;
2542 VkBool32 descriptorBufferImageLayoutIgnored
;
2543 VkBool32 descriptorBufferPushDescriptors
;
2544 } VkPhysicalDeviceDescriptorBufferFeaturesEXT32
;
2546 typedef struct VkPhysicalDeviceShaderIntegerDotProductFeatures32
2548 VkStructureType sType
;
2550 VkBool32 shaderIntegerDotProduct
;
2551 } VkPhysicalDeviceShaderIntegerDotProductFeatures32
;
2552 typedef VkPhysicalDeviceShaderIntegerDotProductFeatures32 VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR32
;
2554 typedef struct VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR32
2556 VkStructureType sType
;
2558 VkBool32 fragmentShaderBarycentric
;
2559 } VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR32
;
2560 typedef VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR32 VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV32
;
2562 typedef struct VkPhysicalDeviceRayTracingMotionBlurFeaturesNV32
2564 VkStructureType sType
;
2566 VkBool32 rayTracingMotionBlur
;
2567 VkBool32 rayTracingMotionBlurPipelineTraceRaysIndirect
;
2568 } VkPhysicalDeviceRayTracingMotionBlurFeaturesNV32
;
2570 typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT32
2572 VkStructureType sType
;
2574 VkBool32 formatRgba10x6WithoutYCbCrSampler
;
2575 } VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT32
;
2577 typedef struct VkPhysicalDeviceDynamicRenderingFeatures32
2579 VkStructureType sType
;
2581 VkBool32 dynamicRendering
;
2582 } VkPhysicalDeviceDynamicRenderingFeatures32
;
2583 typedef VkPhysicalDeviceDynamicRenderingFeatures32 VkPhysicalDeviceDynamicRenderingFeaturesKHR32
;
2585 typedef struct VkPhysicalDeviceImageViewMinLodFeaturesEXT32
2587 VkStructureType sType
;
2590 } VkPhysicalDeviceImageViewMinLodFeaturesEXT32
;
2592 typedef struct VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT32
2594 VkStructureType sType
;
2596 VkBool32 rasterizationOrderColorAttachmentAccess
;
2597 VkBool32 rasterizationOrderDepthAttachmentAccess
;
2598 VkBool32 rasterizationOrderStencilAttachmentAccess
;
2599 } VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT32
;
2600 typedef VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT32 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM32
;
2602 typedef struct VkPhysicalDeviceLinearColorAttachmentFeaturesNV32
2604 VkStructureType sType
;
2606 VkBool32 linearColorAttachment
;
2607 } VkPhysicalDeviceLinearColorAttachmentFeaturesNV32
;
2609 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT32
2611 VkStructureType sType
;
2613 VkBool32 graphicsPipelineLibrary
;
2614 } VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT32
;
2616 typedef struct VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE32
2618 VkStructureType sType
;
2620 VkBool32 descriptorSetHostMapping
;
2621 } VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE32
;
2623 typedef struct VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT32
2625 VkStructureType sType
;
2627 VkBool32 shaderModuleIdentifier
;
2628 } VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT32
;
2630 typedef struct VkPhysicalDeviceImageCompressionControlFeaturesEXT32
2632 VkStructureType sType
;
2634 VkBool32 imageCompressionControl
;
2635 } VkPhysicalDeviceImageCompressionControlFeaturesEXT32
;
2637 typedef struct VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT32
2639 VkStructureType sType
;
2641 VkBool32 imageCompressionControlSwapchain
;
2642 } VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT32
;
2644 typedef struct VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT32
2646 VkStructureType sType
;
2648 VkBool32 subpassMergeFeedback
;
2649 } VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT32
;
2651 typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT32
2653 VkStructureType sType
;
2656 VkBool32 micromapCaptureReplay
;
2657 VkBool32 micromapHostCommands
;
2658 } VkPhysicalDeviceOpacityMicromapFeaturesEXT32
;
2660 typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT32
2662 VkStructureType sType
;
2664 VkBool32 pipelinePropertiesIdentifier
;
2665 } VkPhysicalDevicePipelinePropertiesFeaturesEXT32
;
2667 typedef struct VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD32
2669 VkStructureType sType
;
2671 VkBool32 shaderEarlyAndLateFragmentTests
;
2672 } VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD32
;
2674 typedef struct VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT32
2676 VkStructureType sType
;
2678 VkBool32 nonSeamlessCubeMap
;
2679 } VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT32
;
2681 typedef struct VkPhysicalDevicePipelineRobustnessFeaturesEXT32
2683 VkStructureType sType
;
2685 VkBool32 pipelineRobustness
;
2686 } VkPhysicalDevicePipelineRobustnessFeaturesEXT32
;
2688 typedef struct VkPhysicalDeviceImageProcessingFeaturesQCOM32
2690 VkStructureType sType
;
2692 VkBool32 textureSampleWeighted
;
2693 VkBool32 textureBoxFilter
;
2694 VkBool32 textureBlockMatch
;
2695 } VkPhysicalDeviceImageProcessingFeaturesQCOM32
;
2697 typedef struct VkPhysicalDeviceTilePropertiesFeaturesQCOM32
2699 VkStructureType sType
;
2701 VkBool32 tileProperties
;
2702 } VkPhysicalDeviceTilePropertiesFeaturesQCOM32
;
2704 typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT32
2706 VkStructureType sType
;
2708 VkBool32 attachmentFeedbackLoopLayout
;
2709 } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT32
;
2711 typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32
2713 VkStructureType sType
;
2715 VkBool32 depthClampZeroOne
;
2716 } VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32
;
2718 typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT32
2720 VkStructureType sType
;
2722 VkBool32 reportAddressBinding
;
2723 } VkPhysicalDeviceAddressBindingReportFeaturesEXT32
;
2725 typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV32
2727 VkStructureType sType
;
2729 VkBool32 opticalFlow
;
2730 } VkPhysicalDeviceOpticalFlowFeaturesNV32
;
2732 typedef struct VkPhysicalDeviceFaultFeaturesEXT32
2734 VkStructureType sType
;
2736 VkBool32 deviceFault
;
2737 VkBool32 deviceFaultVendorBinary
;
2738 } VkPhysicalDeviceFaultFeaturesEXT32
;
2740 typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM32
2742 VkStructureType sType
;
2744 VkBool32 shaderCoreBuiltins
;
2745 } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM32
;
2747 typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32
2749 VkStructureType sType
;
2751 VkBool32 rayTracingInvocationReorder
;
2752 } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32
;
2754 typedef struct VkDeviceCreateInfo32
2756 VkStructureType sType
;
2758 VkDeviceCreateFlags flags
;
2759 uint32_t queueCreateInfoCount
;
2760 PTR32 pQueueCreateInfos
;
2761 uint32_t enabledLayerCount
;
2762 PTR32 ppEnabledLayerNames
;
2763 uint32_t enabledExtensionCount
;
2764 PTR32 ppEnabledExtensionNames
;
2765 PTR32 pEnabledFeatures
;
2766 } VkDeviceCreateInfo32
;
2768 typedef struct VkEventCreateInfo32
2770 VkStructureType sType
;
2772 VkEventCreateFlags flags
;
2773 } VkEventCreateInfo32
;
2775 typedef struct VkExportFenceCreateInfo32
2777 VkStructureType sType
;
2779 VkExternalFenceHandleTypeFlags handleTypes
;
2780 } VkExportFenceCreateInfo32
;
2781 typedef VkExportFenceCreateInfo32 VkExportFenceCreateInfoKHR32
;
2783 typedef struct VkFenceCreateInfo32
2785 VkStructureType sType
;
2787 VkFenceCreateFlags flags
;
2788 } VkFenceCreateInfo32
;
2790 typedef struct VkFramebufferAttachmentImageInfo32
2792 VkStructureType sType
;
2794 VkImageCreateFlags flags
;
2795 VkImageUsageFlags usage
;
2798 uint32_t layerCount
;
2799 uint32_t viewFormatCount
;
2801 } VkFramebufferAttachmentImageInfo32
;
2802 typedef VkFramebufferAttachmentImageInfo32 VkFramebufferAttachmentImageInfoKHR32
;
2804 typedef struct VkFramebufferAttachmentsCreateInfo32
2806 VkStructureType sType
;
2808 uint32_t attachmentImageInfoCount
;
2809 PTR32 pAttachmentImageInfos
;
2810 } VkFramebufferAttachmentsCreateInfo32
;
2811 typedef VkFramebufferAttachmentsCreateInfo32 VkFramebufferAttachmentsCreateInfoKHR32
;
2813 typedef struct VkFramebufferCreateInfo32
2815 VkStructureType sType
;
2817 VkFramebufferCreateFlags flags
;
2818 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
2819 uint32_t attachmentCount
;
2824 } VkFramebufferCreateInfo32
;
2826 typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT32
2828 VkStructureType sType
;
2830 uint32_t vertexBindingDivisorCount
;
2831 PTR32 pVertexBindingDivisors
;
2832 } VkPipelineVertexInputDivisorStateCreateInfoEXT32
;
2834 typedef struct VkPipelineVertexInputStateCreateInfo32
2836 VkStructureType sType
;
2838 VkPipelineVertexInputStateCreateFlags flags
;
2839 uint32_t vertexBindingDescriptionCount
;
2840 PTR32 pVertexBindingDescriptions
;
2841 uint32_t vertexAttributeDescriptionCount
;
2842 PTR32 pVertexAttributeDescriptions
;
2843 } VkPipelineVertexInputStateCreateInfo32
;
2845 typedef struct VkPipelineTessellationDomainOriginStateCreateInfo32
2847 VkStructureType sType
;
2849 VkTessellationDomainOrigin domainOrigin
;
2850 } VkPipelineTessellationDomainOriginStateCreateInfo32
;
2851 typedef VkPipelineTessellationDomainOriginStateCreateInfo32 VkPipelineTessellationDomainOriginStateCreateInfoKHR32
;
2853 typedef struct VkPipelineTessellationStateCreateInfo32
2855 VkStructureType sType
;
2857 VkPipelineTessellationStateCreateFlags flags
;
2858 uint32_t patchControlPoints
;
2859 } VkPipelineTessellationStateCreateInfo32
;
2861 typedef struct VkGraphicsShaderGroupCreateInfoNV32
2863 VkStructureType sType
;
2865 uint32_t stageCount
;
2867 PTR32 pVertexInputState
;
2868 PTR32 pTessellationState
;
2869 } VkGraphicsShaderGroupCreateInfoNV32
;
2871 typedef struct VkPipelineInputAssemblyStateCreateInfo32
2873 VkStructureType sType
;
2875 VkPipelineInputAssemblyStateCreateFlags flags
;
2876 VkPrimitiveTopology topology
;
2877 VkBool32 primitiveRestartEnable
;
2878 } VkPipelineInputAssemblyStateCreateInfo32
;
2880 typedef struct VkPipelineViewportWScalingStateCreateInfoNV32
2882 VkStructureType sType
;
2884 VkBool32 viewportWScalingEnable
;
2885 uint32_t viewportCount
;
2886 PTR32 pViewportWScalings
;
2887 } VkPipelineViewportWScalingStateCreateInfoNV32
;
2889 typedef struct VkPipelineViewportSwizzleStateCreateInfoNV32
2891 VkStructureType sType
;
2893 VkPipelineViewportSwizzleStateCreateFlagsNV flags
;
2894 uint32_t viewportCount
;
2895 PTR32 pViewportSwizzles
;
2896 } VkPipelineViewportSwizzleStateCreateInfoNV32
;
2898 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV32
2900 VkStructureType sType
;
2902 uint32_t exclusiveScissorCount
;
2903 PTR32 pExclusiveScissors
;
2904 } VkPipelineViewportExclusiveScissorStateCreateInfoNV32
;
2906 typedef struct VkPipelineViewportShadingRateImageStateCreateInfoNV32
2908 VkStructureType sType
;
2910 VkBool32 shadingRateImageEnable
;
2911 uint32_t viewportCount
;
2912 PTR32 pShadingRatePalettes
;
2913 } VkPipelineViewportShadingRateImageStateCreateInfoNV32
;
2915 typedef struct VkPipelineViewportCoarseSampleOrderStateCreateInfoNV32
2917 VkStructureType sType
;
2919 VkCoarseSampleOrderTypeNV sampleOrderType
;
2920 uint32_t customSampleOrderCount
;
2921 PTR32 pCustomSampleOrders
;
2922 } VkPipelineViewportCoarseSampleOrderStateCreateInfoNV32
;
2924 typedef struct VkPipelineViewportDepthClipControlCreateInfoEXT32
2926 VkStructureType sType
;
2928 VkBool32 negativeOneToOne
;
2929 } VkPipelineViewportDepthClipControlCreateInfoEXT32
;
2931 typedef struct VkPipelineViewportStateCreateInfo32
2933 VkStructureType sType
;
2935 VkPipelineViewportStateCreateFlags flags
;
2936 uint32_t viewportCount
;
2938 uint32_t scissorCount
;
2940 } VkPipelineViewportStateCreateInfo32
;
2942 typedef struct VkPipelineRasterizationStateRasterizationOrderAMD32
2944 VkStructureType sType
;
2946 VkRasterizationOrderAMD rasterizationOrder
;
2947 } VkPipelineRasterizationStateRasterizationOrderAMD32
;
2949 typedef struct VkPipelineRasterizationConservativeStateCreateInfoEXT32
2951 VkStructureType sType
;
2953 VkPipelineRasterizationConservativeStateCreateFlagsEXT flags
;
2954 VkConservativeRasterizationModeEXT conservativeRasterizationMode
;
2955 float extraPrimitiveOverestimationSize
;
2956 } VkPipelineRasterizationConservativeStateCreateInfoEXT32
;
2958 typedef struct VkPipelineRasterizationStateStreamCreateInfoEXT32
2960 VkStructureType sType
;
2962 VkPipelineRasterizationStateStreamCreateFlagsEXT flags
;
2963 uint32_t rasterizationStream
;
2964 } VkPipelineRasterizationStateStreamCreateInfoEXT32
;
2966 typedef struct VkPipelineRasterizationDepthClipStateCreateInfoEXT32
2968 VkStructureType sType
;
2970 VkPipelineRasterizationDepthClipStateCreateFlagsEXT flags
;
2971 VkBool32 depthClipEnable
;
2972 } VkPipelineRasterizationDepthClipStateCreateInfoEXT32
;
2974 typedef struct VkPipelineRasterizationLineStateCreateInfoEXT32
2976 VkStructureType sType
;
2978 VkLineRasterizationModeEXT lineRasterizationMode
;
2979 VkBool32 stippledLineEnable
;
2980 uint32_t lineStippleFactor
;
2981 uint16_t lineStipplePattern
;
2982 } VkPipelineRasterizationLineStateCreateInfoEXT32
;
2984 typedef struct VkPipelineRasterizationProvokingVertexStateCreateInfoEXT32
2986 VkStructureType sType
;
2988 VkProvokingVertexModeEXT provokingVertexMode
;
2989 } VkPipelineRasterizationProvokingVertexStateCreateInfoEXT32
;
2991 typedef struct VkPipelineRasterizationStateCreateInfo32
2993 VkStructureType sType
;
2995 VkPipelineRasterizationStateCreateFlags flags
;
2996 VkBool32 depthClampEnable
;
2997 VkBool32 rasterizerDiscardEnable
;
2998 VkPolygonMode polygonMode
;
2999 VkCullModeFlags cullMode
;
3000 VkFrontFace frontFace
;
3001 VkBool32 depthBiasEnable
;
3002 float depthBiasConstantFactor
;
3003 float depthBiasClamp
;
3004 float depthBiasSlopeFactor
;
3006 } VkPipelineRasterizationStateCreateInfo32
;
3008 typedef struct VkPipelineCoverageToColorStateCreateInfoNV32
3010 VkStructureType sType
;
3012 VkPipelineCoverageToColorStateCreateFlagsNV flags
;
3013 VkBool32 coverageToColorEnable
;
3014 uint32_t coverageToColorLocation
;
3015 } VkPipelineCoverageToColorStateCreateInfoNV32
;
3017 typedef struct VkPipelineSampleLocationsStateCreateInfoEXT32
3019 VkStructureType sType
;
3021 VkBool32 sampleLocationsEnable
;
3022 VkSampleLocationsInfoEXT32 sampleLocationsInfo
;
3023 } VkPipelineSampleLocationsStateCreateInfoEXT32
;
3025 typedef struct VkPipelineCoverageModulationStateCreateInfoNV32
3027 VkStructureType sType
;
3029 VkPipelineCoverageModulationStateCreateFlagsNV flags
;
3030 VkCoverageModulationModeNV coverageModulationMode
;
3031 VkBool32 coverageModulationTableEnable
;
3032 uint32_t coverageModulationTableCount
;
3033 PTR32 pCoverageModulationTable
;
3034 } VkPipelineCoverageModulationStateCreateInfoNV32
;
3036 typedef struct VkPipelineCoverageReductionStateCreateInfoNV32
3038 VkStructureType sType
;
3040 VkPipelineCoverageReductionStateCreateFlagsNV flags
;
3041 VkCoverageReductionModeNV coverageReductionMode
;
3042 } VkPipelineCoverageReductionStateCreateInfoNV32
;
3044 typedef struct VkPipelineMultisampleStateCreateInfo32
3046 VkStructureType sType
;
3048 VkPipelineMultisampleStateCreateFlags flags
;
3049 VkSampleCountFlagBits rasterizationSamples
;
3050 VkBool32 sampleShadingEnable
;
3051 float minSampleShading
;
3053 VkBool32 alphaToCoverageEnable
;
3054 VkBool32 alphaToOneEnable
;
3055 } VkPipelineMultisampleStateCreateInfo32
;
3057 typedef struct VkPipelineDepthStencilStateCreateInfo32
3059 VkStructureType sType
;
3061 VkPipelineDepthStencilStateCreateFlags flags
;
3062 VkBool32 depthTestEnable
;
3063 VkBool32 depthWriteEnable
;
3064 VkCompareOp depthCompareOp
;
3065 VkBool32 depthBoundsTestEnable
;
3066 VkBool32 stencilTestEnable
;
3067 VkStencilOpState front
;
3068 VkStencilOpState back
;
3069 float minDepthBounds
;
3070 float maxDepthBounds
;
3071 } VkPipelineDepthStencilStateCreateInfo32
;
3073 typedef struct VkPipelineColorBlendAdvancedStateCreateInfoEXT32
3075 VkStructureType sType
;
3077 VkBool32 srcPremultiplied
;
3078 VkBool32 dstPremultiplied
;
3079 VkBlendOverlapEXT blendOverlap
;
3080 } VkPipelineColorBlendAdvancedStateCreateInfoEXT32
;
3082 typedef struct VkPipelineColorWriteCreateInfoEXT32
3084 VkStructureType sType
;
3086 uint32_t attachmentCount
;
3087 PTR32 pColorWriteEnables
;
3088 } VkPipelineColorWriteCreateInfoEXT32
;
3090 typedef struct VkPipelineColorBlendStateCreateInfo32
3092 VkStructureType sType
;
3094 VkPipelineColorBlendStateCreateFlags flags
;
3095 VkBool32 logicOpEnable
;
3097 uint32_t attachmentCount
;
3099 float blendConstants
[4];
3100 } VkPipelineColorBlendStateCreateInfo32
;
3102 typedef struct VkPipelineDynamicStateCreateInfo32
3104 VkStructureType sType
;
3106 VkPipelineDynamicStateCreateFlags flags
;
3107 uint32_t dynamicStateCount
;
3108 PTR32 pDynamicStates
;
3109 } VkPipelineDynamicStateCreateInfo32
;
3111 typedef struct VkGraphicsPipelineShaderGroupsCreateInfoNV32
3113 VkStructureType sType
;
3115 uint32_t groupCount
;
3117 uint32_t pipelineCount
;
3119 } VkGraphicsPipelineShaderGroupsCreateInfoNV32
;
3121 typedef struct VkPipelineDiscardRectangleStateCreateInfoEXT32
3123 VkStructureType sType
;
3125 VkPipelineDiscardRectangleStateCreateFlagsEXT flags
;
3126 VkDiscardRectangleModeEXT discardRectangleMode
;
3127 uint32_t discardRectangleCount
;
3128 PTR32 pDiscardRectangles
;
3129 } VkPipelineDiscardRectangleStateCreateInfoEXT32
;
3131 typedef struct VkPipelineRepresentativeFragmentTestStateCreateInfoNV32
3133 VkStructureType sType
;
3135 VkBool32 representativeFragmentTestEnable
;
3136 } VkPipelineRepresentativeFragmentTestStateCreateInfoNV32
;
3138 typedef struct VkPipelineLibraryCreateInfoKHR32
3140 VkStructureType sType
;
3142 uint32_t libraryCount
;
3144 } VkPipelineLibraryCreateInfoKHR32
;
3146 typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR32
3148 VkStructureType sType
;
3150 VkExtent2D fragmentSize
;
3151 VkFragmentShadingRateCombinerOpKHR combinerOps
[2];
3152 } VkPipelineFragmentShadingRateStateCreateInfoKHR32
;
3154 typedef struct VkPipelineFragmentShadingRateEnumStateCreateInfoNV32
3156 VkStructureType sType
;
3158 VkFragmentShadingRateTypeNV shadingRateType
;
3159 VkFragmentShadingRateNV shadingRate
;
3160 VkFragmentShadingRateCombinerOpKHR combinerOps
[2];
3161 } VkPipelineFragmentShadingRateEnumStateCreateInfoNV32
;
3163 typedef struct VkPipelineRenderingCreateInfo32
3165 VkStructureType sType
;
3168 uint32_t colorAttachmentCount
;
3169 PTR32 pColorAttachmentFormats
;
3170 VkFormat depthAttachmentFormat
;
3171 VkFormat stencilAttachmentFormat
;
3172 } VkPipelineRenderingCreateInfo32
;
3173 typedef VkPipelineRenderingCreateInfo32 VkPipelineRenderingCreateInfoKHR32
;
3175 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT32
3177 VkStructureType sType
;
3179 VkGraphicsPipelineLibraryFlagsEXT flags
;
3180 } VkGraphicsPipelineLibraryCreateInfoEXT32
;
3182 typedef struct VkGraphicsPipelineCreateInfo32
3184 VkStructureType sType
;
3186 VkPipelineCreateFlags flags
;
3187 uint32_t stageCount
;
3189 PTR32 pVertexInputState
;
3190 PTR32 pInputAssemblyState
;
3191 PTR32 pTessellationState
;
3192 PTR32 pViewportState
;
3193 PTR32 pRasterizationState
;
3194 PTR32 pMultisampleState
;
3195 PTR32 pDepthStencilState
;
3196 PTR32 pColorBlendState
;
3197 PTR32 pDynamicState
;
3198 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
3199 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
3201 VkPipeline
DECLSPEC_ALIGN(8) basePipelineHandle
;
3202 int32_t basePipelineIndex
;
3203 } VkGraphicsPipelineCreateInfo32
;
3205 typedef struct VkDedicatedAllocationImageCreateInfoNV32
3207 VkStructureType sType
;
3209 VkBool32 dedicatedAllocation
;
3210 } VkDedicatedAllocationImageCreateInfoNV32
;
3212 typedef struct VkExternalMemoryImageCreateInfo32
3214 VkStructureType sType
;
3216 VkExternalMemoryHandleTypeFlags handleTypes
;
3217 } VkExternalMemoryImageCreateInfo32
;
3218 typedef VkExternalMemoryImageCreateInfo32 VkExternalMemoryImageCreateInfoKHR32
;
3220 typedef struct VkImageSwapchainCreateInfoKHR32
3222 VkStructureType sType
;
3224 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
3225 } VkImageSwapchainCreateInfoKHR32
;
3227 typedef struct VkImageFormatListCreateInfo32
3229 VkStructureType sType
;
3231 uint32_t viewFormatCount
;
3233 } VkImageFormatListCreateInfo32
;
3234 typedef VkImageFormatListCreateInfo32 VkImageFormatListCreateInfoKHR32
;
3236 typedef struct VkImageStencilUsageCreateInfo32
3238 VkStructureType sType
;
3240 VkImageUsageFlags stencilUsage
;
3241 } VkImageStencilUsageCreateInfo32
;
3242 typedef VkImageStencilUsageCreateInfo32 VkImageStencilUsageCreateInfoEXT32
;
3244 typedef struct VkImageCompressionControlEXT32
3246 VkStructureType sType
;
3248 VkImageCompressionFlagsEXT flags
;
3249 uint32_t compressionControlPlaneCount
;
3250 PTR32 pFixedRateFlags
;
3251 } VkImageCompressionControlEXT32
;
3253 typedef struct VkOpticalFlowImageFormatInfoNV32
3255 VkStructureType sType
;
3257 VkOpticalFlowUsageFlagsNV usage
;
3258 } VkOpticalFlowImageFormatInfoNV32
;
3260 typedef struct VkImageCreateInfo32
3262 VkStructureType sType
;
3264 VkImageCreateFlags flags
;
3265 VkImageType imageType
;
3269 uint32_t arrayLayers
;
3270 VkSampleCountFlagBits samples
;
3271 VkImageTiling tiling
;
3272 VkImageUsageFlags usage
;
3273 VkSharingMode sharingMode
;
3274 uint32_t queueFamilyIndexCount
;
3275 PTR32 pQueueFamilyIndices
;
3276 VkImageLayout initialLayout
;
3277 } VkImageCreateInfo32
;
3279 typedef struct VkImageViewUsageCreateInfo32
3281 VkStructureType sType
;
3283 VkImageUsageFlags usage
;
3284 } VkImageViewUsageCreateInfo32
;
3285 typedef VkImageViewUsageCreateInfo32 VkImageViewUsageCreateInfoKHR32
;
3287 typedef struct VkSamplerYcbcrConversionInfo32
3289 VkStructureType sType
;
3291 VkSamplerYcbcrConversion
DECLSPEC_ALIGN(8) conversion
;
3292 } VkSamplerYcbcrConversionInfo32
;
3293 typedef VkSamplerYcbcrConversionInfo32 VkSamplerYcbcrConversionInfoKHR32
;
3295 typedef struct VkImageViewASTCDecodeModeEXT32
3297 VkStructureType sType
;
3299 VkFormat decodeMode
;
3300 } VkImageViewASTCDecodeModeEXT32
;
3302 typedef struct VkImageViewMinLodCreateInfoEXT32
3304 VkStructureType sType
;
3307 } VkImageViewMinLodCreateInfoEXT32
;
3309 typedef struct VkImageViewSampleWeightCreateInfoQCOM32
3311 VkStructureType sType
;
3313 VkOffset2D filterCenter
;
3314 VkExtent2D filterSize
;
3316 } VkImageViewSampleWeightCreateInfoQCOM32
;
3318 typedef struct VkImageViewCreateInfo32
3320 VkStructureType sType
;
3322 VkImageViewCreateFlags flags
;
3323 VkImage
DECLSPEC_ALIGN(8) image
;
3324 VkImageViewType viewType
;
3326 VkComponentMapping components
;
3327 VkImageSubresourceRange subresourceRange
;
3328 } VkImageViewCreateInfo32
;
3330 typedef struct VkIndirectCommandsLayoutTokenNV32
3332 VkStructureType sType
;
3334 VkIndirectCommandsTokenTypeNV tokenType
;
3337 uint32_t vertexBindingUnit
;
3338 VkBool32 vertexDynamicStride
;
3339 VkPipelineLayout
DECLSPEC_ALIGN(8) pushconstantPipelineLayout
;
3340 VkShaderStageFlags pushconstantShaderStageFlags
;
3341 uint32_t pushconstantOffset
;
3342 uint32_t pushconstantSize
;
3343 VkIndirectStateFlagsNV indirectStateFlags
;
3344 uint32_t indexTypeCount
;
3346 PTR32 pIndexTypeValues
;
3347 } VkIndirectCommandsLayoutTokenNV32
;
3349 typedef struct VkIndirectCommandsLayoutCreateInfoNV32
3351 VkStructureType sType
;
3353 VkIndirectCommandsLayoutUsageFlagsNV flags
;
3354 VkPipelineBindPoint pipelineBindPoint
;
3355 uint32_t tokenCount
;
3357 uint32_t streamCount
;
3358 PTR32 pStreamStrides
;
3359 } VkIndirectCommandsLayoutCreateInfoNV32
;
3361 typedef struct VkApplicationInfo32
3363 VkStructureType sType
;
3365 PTR32 pApplicationName
;
3366 uint32_t applicationVersion
;
3368 uint32_t engineVersion
;
3369 uint32_t apiVersion
;
3370 } VkApplicationInfo32
;
3372 typedef struct VkValidationFlagsEXT32
3374 VkStructureType sType
;
3376 uint32_t disabledValidationCheckCount
;
3377 PTR32 pDisabledValidationChecks
;
3378 } VkValidationFlagsEXT32
;
3380 typedef struct VkValidationFeaturesEXT32
3382 VkStructureType sType
;
3384 uint32_t enabledValidationFeatureCount
;
3385 PTR32 pEnabledValidationFeatures
;
3386 uint32_t disabledValidationFeatureCount
;
3387 PTR32 pDisabledValidationFeatures
;
3388 } VkValidationFeaturesEXT32
;
3390 typedef struct VkInstanceCreateInfo32
3392 VkStructureType sType
;
3394 VkInstanceCreateFlags flags
;
3395 PTR32 pApplicationInfo
;
3396 uint32_t enabledLayerCount
;
3397 PTR32 ppEnabledLayerNames
;
3398 uint32_t enabledExtensionCount
;
3399 PTR32 ppEnabledExtensionNames
;
3400 } VkInstanceCreateInfo32
;
3402 typedef struct VkMicromapCreateInfoEXT32
3404 VkStructureType sType
;
3406 VkMicromapCreateFlagsEXT createFlags
;
3407 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
3408 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
3409 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
3410 VkMicromapTypeEXT type
;
3411 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
3412 } VkMicromapCreateInfoEXT32
;
3414 typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV32
3416 VkStructureType sType
;
3421 } VkOpticalFlowSessionCreatePrivateDataInfoNV32
;
3423 typedef struct VkOpticalFlowSessionCreateInfoNV32
3425 VkStructureType sType
;
3429 VkFormat imageFormat
;
3430 VkFormat flowVectorFormat
;
3431 VkFormat costFormat
;
3432 VkOpticalFlowGridSizeFlagsNV outputGridSize
;
3433 VkOpticalFlowGridSizeFlagsNV hintGridSize
;
3434 VkOpticalFlowPerformanceLevelNV performanceLevel
;
3435 VkOpticalFlowSessionCreateFlagsNV flags
;
3436 } VkOpticalFlowSessionCreateInfoNV32
;
3438 typedef struct VkPipelineCacheCreateInfo32
3440 VkStructureType sType
;
3442 VkPipelineCacheCreateFlags flags
;
3443 PTR32 initialDataSize
;
3445 } VkPipelineCacheCreateInfo32
;
3447 typedef struct VkPipelineLayoutCreateInfo32
3449 VkStructureType sType
;
3451 VkPipelineLayoutCreateFlags flags
;
3452 uint32_t setLayoutCount
;
3454 uint32_t pushConstantRangeCount
;
3455 PTR32 pPushConstantRanges
;
3456 } VkPipelineLayoutCreateInfo32
;
3458 typedef struct VkPrivateDataSlotCreateInfo32
3460 VkStructureType sType
;
3462 VkPrivateDataSlotCreateFlags flags
;
3463 } VkPrivateDataSlotCreateInfo32
;
3464 typedef VkPrivateDataSlotCreateInfo32 VkPrivateDataSlotCreateInfoEXT32
;
3466 typedef struct VkQueryPoolPerformanceCreateInfoKHR32
3468 VkStructureType sType
;
3470 uint32_t queueFamilyIndex
;
3471 uint32_t counterIndexCount
;
3472 PTR32 pCounterIndices
;
3473 } VkQueryPoolPerformanceCreateInfoKHR32
;
3475 typedef struct VkQueryPoolPerformanceQueryCreateInfoINTEL32
3477 VkStructureType sType
;
3479 VkQueryPoolSamplingModeINTEL performanceCountersSampling
;
3480 } VkQueryPoolPerformanceQueryCreateInfoINTEL32
;
3481 typedef VkQueryPoolPerformanceQueryCreateInfoINTEL32 VkQueryPoolCreateInfoINTEL32
;
3483 typedef struct VkQueryPoolCreateInfo32
3485 VkStructureType sType
;
3487 VkQueryPoolCreateFlags flags
;
3488 VkQueryType queryType
;
3489 uint32_t queryCount
;
3490 VkQueryPipelineStatisticFlags pipelineStatistics
;
3491 } VkQueryPoolCreateInfo32
;
3493 typedef struct VkRayTracingShaderGroupCreateInfoKHR32
3495 VkStructureType sType
;
3497 VkRayTracingShaderGroupTypeKHR type
;
3498 uint32_t generalShader
;
3499 uint32_t closestHitShader
;
3500 uint32_t anyHitShader
;
3501 uint32_t intersectionShader
;
3502 PTR32 pShaderGroupCaptureReplayHandle
;
3503 } VkRayTracingShaderGroupCreateInfoKHR32
;
3505 typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR32
3507 VkStructureType sType
;
3509 uint32_t maxPipelineRayPayloadSize
;
3510 uint32_t maxPipelineRayHitAttributeSize
;
3511 } VkRayTracingPipelineInterfaceCreateInfoKHR32
;
3513 typedef struct VkRayTracingPipelineCreateInfoKHR32
3515 VkStructureType sType
;
3517 VkPipelineCreateFlags flags
;
3518 uint32_t stageCount
;
3520 uint32_t groupCount
;
3522 uint32_t maxPipelineRayRecursionDepth
;
3524 PTR32 pLibraryInterface
;
3525 PTR32 pDynamicState
;
3526 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
3527 VkPipeline
DECLSPEC_ALIGN(8) basePipelineHandle
;
3528 int32_t basePipelineIndex
;
3529 } VkRayTracingPipelineCreateInfoKHR32
;
3531 typedef struct VkRayTracingShaderGroupCreateInfoNV32
3533 VkStructureType sType
;
3535 VkRayTracingShaderGroupTypeKHR type
;
3536 uint32_t generalShader
;
3537 uint32_t closestHitShader
;
3538 uint32_t anyHitShader
;
3539 uint32_t intersectionShader
;
3540 } VkRayTracingShaderGroupCreateInfoNV32
;
3542 typedef struct VkRayTracingPipelineCreateInfoNV32
3544 VkStructureType sType
;
3546 VkPipelineCreateFlags flags
;
3547 uint32_t stageCount
;
3549 uint32_t groupCount
;
3551 uint32_t maxRecursionDepth
;
3552 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
3553 VkPipeline
DECLSPEC_ALIGN(8) basePipelineHandle
;
3554 int32_t basePipelineIndex
;
3555 } VkRayTracingPipelineCreateInfoNV32
;
3557 typedef struct VkSubpassDescription32
3559 VkSubpassDescriptionFlags flags
;
3560 VkPipelineBindPoint pipelineBindPoint
;
3561 uint32_t inputAttachmentCount
;
3562 PTR32 pInputAttachments
;
3563 uint32_t colorAttachmentCount
;
3564 PTR32 pColorAttachments
;
3565 PTR32 pResolveAttachments
;
3566 PTR32 pDepthStencilAttachment
;
3567 uint32_t preserveAttachmentCount
;
3568 PTR32 pPreserveAttachments
;
3569 } VkSubpassDescription32
;
3571 typedef struct VkRenderPassMultiviewCreateInfo32
3573 VkStructureType sType
;
3575 uint32_t subpassCount
;
3577 uint32_t dependencyCount
;
3579 uint32_t correlationMaskCount
;
3580 PTR32 pCorrelationMasks
;
3581 } VkRenderPassMultiviewCreateInfo32
;
3582 typedef VkRenderPassMultiviewCreateInfo32 VkRenderPassMultiviewCreateInfoKHR32
;
3584 typedef struct VkRenderPassInputAttachmentAspectCreateInfo32
3586 VkStructureType sType
;
3588 uint32_t aspectReferenceCount
;
3589 PTR32 pAspectReferences
;
3590 } VkRenderPassInputAttachmentAspectCreateInfo32
;
3591 typedef VkRenderPassInputAttachmentAspectCreateInfo32 VkRenderPassInputAttachmentAspectCreateInfoKHR32
;
3593 typedef struct VkRenderPassFragmentDensityMapCreateInfoEXT32
3595 VkStructureType sType
;
3597 VkAttachmentReference fragmentDensityMapAttachment
;
3598 } VkRenderPassFragmentDensityMapCreateInfoEXT32
;
3600 typedef struct VkRenderPassCreateInfo32
3602 VkStructureType sType
;
3604 VkRenderPassCreateFlags flags
;
3605 uint32_t attachmentCount
;
3607 uint32_t subpassCount
;
3609 uint32_t dependencyCount
;
3610 PTR32 pDependencies
;
3611 } VkRenderPassCreateInfo32
;
3613 typedef struct VkAttachmentDescriptionStencilLayout32
3615 VkStructureType sType
;
3617 VkImageLayout stencilInitialLayout
;
3618 VkImageLayout stencilFinalLayout
;
3619 } VkAttachmentDescriptionStencilLayout32
;
3620 typedef VkAttachmentDescriptionStencilLayout32 VkAttachmentDescriptionStencilLayoutKHR32
;
3622 typedef struct VkAttachmentDescription232
3624 VkStructureType sType
;
3626 VkAttachmentDescriptionFlags flags
;
3628 VkSampleCountFlagBits samples
;
3629 VkAttachmentLoadOp loadOp
;
3630 VkAttachmentStoreOp storeOp
;
3631 VkAttachmentLoadOp stencilLoadOp
;
3632 VkAttachmentStoreOp stencilStoreOp
;
3633 VkImageLayout initialLayout
;
3634 VkImageLayout finalLayout
;
3635 } VkAttachmentDescription232
;
3636 typedef VkAttachmentDescription232 VkAttachmentDescription2KHR32
;
3638 typedef struct VkAttachmentReferenceStencilLayout32
3640 VkStructureType sType
;
3642 VkImageLayout stencilLayout
;
3643 } VkAttachmentReferenceStencilLayout32
;
3644 typedef VkAttachmentReferenceStencilLayout32 VkAttachmentReferenceStencilLayoutKHR32
;
3646 typedef struct VkAttachmentReference232
3648 VkStructureType sType
;
3650 uint32_t attachment
;
3651 VkImageLayout layout
;
3652 VkImageAspectFlags aspectMask
;
3653 } VkAttachmentReference232
;
3654 typedef VkAttachmentReference232 VkAttachmentReference2KHR32
;
3656 typedef struct VkSubpassDescriptionDepthStencilResolve32
3658 VkStructureType sType
;
3660 VkResolveModeFlagBits depthResolveMode
;
3661 VkResolveModeFlagBits stencilResolveMode
;
3662 PTR32 pDepthStencilResolveAttachment
;
3663 } VkSubpassDescriptionDepthStencilResolve32
;
3664 typedef VkSubpassDescriptionDepthStencilResolve32 VkSubpassDescriptionDepthStencilResolveKHR32
;
3666 typedef struct VkFragmentShadingRateAttachmentInfoKHR32
3668 VkStructureType sType
;
3670 PTR32 pFragmentShadingRateAttachment
;
3671 VkExtent2D shadingRateAttachmentTexelSize
;
3672 } VkFragmentShadingRateAttachmentInfoKHR32
;
3674 typedef struct VkRenderPassCreationControlEXT32
3676 VkStructureType sType
;
3678 VkBool32 disallowMerging
;
3679 } VkRenderPassCreationControlEXT32
;
3681 typedef struct VkRenderPassSubpassFeedbackCreateInfoEXT32
3683 VkStructureType sType
;
3685 PTR32 pSubpassFeedback
;
3686 } VkRenderPassSubpassFeedbackCreateInfoEXT32
;
3688 typedef struct VkSubpassDescription232
3690 VkStructureType sType
;
3692 VkSubpassDescriptionFlags flags
;
3693 VkPipelineBindPoint pipelineBindPoint
;
3695 uint32_t inputAttachmentCount
;
3696 PTR32 pInputAttachments
;
3697 uint32_t colorAttachmentCount
;
3698 PTR32 pColorAttachments
;
3699 PTR32 pResolveAttachments
;
3700 PTR32 pDepthStencilAttachment
;
3701 uint32_t preserveAttachmentCount
;
3702 PTR32 pPreserveAttachments
;
3703 } VkSubpassDescription232
;
3704 typedef VkSubpassDescription232 VkSubpassDescription2KHR32
;
3706 typedef struct VkSubpassDependency232
3708 VkStructureType sType
;
3710 uint32_t srcSubpass
;
3711 uint32_t dstSubpass
;
3712 VkPipelineStageFlags srcStageMask
;
3713 VkPipelineStageFlags dstStageMask
;
3714 VkAccessFlags srcAccessMask
;
3715 VkAccessFlags dstAccessMask
;
3716 VkDependencyFlags dependencyFlags
;
3718 } VkSubpassDependency232
;
3719 typedef VkSubpassDependency232 VkSubpassDependency2KHR32
;
3721 typedef struct VkRenderPassCreationFeedbackCreateInfoEXT32
3723 VkStructureType sType
;
3725 PTR32 pRenderPassFeedback
;
3726 } VkRenderPassCreationFeedbackCreateInfoEXT32
;
3728 typedef struct VkRenderPassCreateInfo232
3730 VkStructureType sType
;
3732 VkRenderPassCreateFlags flags
;
3733 uint32_t attachmentCount
;
3735 uint32_t subpassCount
;
3737 uint32_t dependencyCount
;
3738 PTR32 pDependencies
;
3739 uint32_t correlatedViewMaskCount
;
3740 PTR32 pCorrelatedViewMasks
;
3741 } VkRenderPassCreateInfo232
;
3742 typedef VkRenderPassCreateInfo232 VkRenderPassCreateInfo2KHR32
;
3744 typedef struct VkSamplerReductionModeCreateInfo32
3746 VkStructureType sType
;
3748 VkSamplerReductionMode reductionMode
;
3749 } VkSamplerReductionModeCreateInfo32
;
3750 typedef VkSamplerReductionModeCreateInfo32 VkSamplerReductionModeCreateInfoEXT32
;
3752 typedef struct VkSamplerCustomBorderColorCreateInfoEXT32
3754 VkStructureType sType
;
3756 VkClearColorValue customBorderColor
;
3758 } VkSamplerCustomBorderColorCreateInfoEXT32
;
3760 typedef struct VkSamplerBorderColorComponentMappingCreateInfoEXT32
3762 VkStructureType sType
;
3764 VkComponentMapping components
;
3766 } VkSamplerBorderColorComponentMappingCreateInfoEXT32
;
3768 typedef struct VkSamplerCreateInfo32
3770 VkStructureType sType
;
3772 VkSamplerCreateFlags flags
;
3775 VkSamplerMipmapMode mipmapMode
;
3776 VkSamplerAddressMode addressModeU
;
3777 VkSamplerAddressMode addressModeV
;
3778 VkSamplerAddressMode addressModeW
;
3780 VkBool32 anisotropyEnable
;
3781 float maxAnisotropy
;
3782 VkBool32 compareEnable
;
3783 VkCompareOp compareOp
;
3786 VkBorderColor borderColor
;
3787 VkBool32 unnormalizedCoordinates
;
3788 } VkSamplerCreateInfo32
;
3790 typedef struct VkSamplerYcbcrConversionCreateInfo32
3792 VkStructureType sType
;
3795 VkSamplerYcbcrModelConversion ycbcrModel
;
3796 VkSamplerYcbcrRange ycbcrRange
;
3797 VkComponentMapping components
;
3798 VkChromaLocation xChromaOffset
;
3799 VkChromaLocation yChromaOffset
;
3800 VkFilter chromaFilter
;
3801 VkBool32 forceExplicitReconstruction
;
3802 } VkSamplerYcbcrConversionCreateInfo32
;
3803 typedef VkSamplerYcbcrConversionCreateInfo32 VkSamplerYcbcrConversionCreateInfoKHR32
;
3805 typedef struct VkExportSemaphoreCreateInfo32
3807 VkStructureType sType
;
3809 VkExternalSemaphoreHandleTypeFlags handleTypes
;
3810 } VkExportSemaphoreCreateInfo32
;
3811 typedef VkExportSemaphoreCreateInfo32 VkExportSemaphoreCreateInfoKHR32
;
3813 typedef struct VkSemaphoreTypeCreateInfo32
3815 VkStructureType sType
;
3817 VkSemaphoreType semaphoreType
;
3818 uint64_t DECLSPEC_ALIGN(8) initialValue
;
3819 } VkSemaphoreTypeCreateInfo32
;
3820 typedef VkSemaphoreTypeCreateInfo32 VkSemaphoreTypeCreateInfoKHR32
;
3822 typedef struct VkSemaphoreCreateInfo32
3824 VkStructureType sType
;
3826 VkSemaphoreCreateFlags flags
;
3827 } VkSemaphoreCreateInfo32
;
3829 typedef struct VkDeviceGroupSwapchainCreateInfoKHR32
3831 VkStructureType sType
;
3833 VkDeviceGroupPresentModeFlagsKHR modes
;
3834 } VkDeviceGroupSwapchainCreateInfoKHR32
;
3836 typedef struct VkSwapchainPresentBarrierCreateInfoNV32
3838 VkStructureType sType
;
3840 VkBool32 presentBarrierEnable
;
3841 } VkSwapchainPresentBarrierCreateInfoNV32
;
3843 typedef struct VkSwapchainCreateInfoKHR32
3845 VkStructureType sType
;
3847 VkSwapchainCreateFlagsKHR flags
;
3848 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
3849 uint32_t minImageCount
;
3850 VkFormat imageFormat
;
3851 VkColorSpaceKHR imageColorSpace
;
3852 VkExtent2D imageExtent
;
3853 uint32_t imageArrayLayers
;
3854 VkImageUsageFlags imageUsage
;
3855 VkSharingMode imageSharingMode
;
3856 uint32_t queueFamilyIndexCount
;
3857 PTR32 pQueueFamilyIndices
;
3858 VkSurfaceTransformFlagBitsKHR preTransform
;
3859 VkCompositeAlphaFlagBitsKHR compositeAlpha
;
3860 VkPresentModeKHR presentMode
;
3862 VkSwapchainKHR
DECLSPEC_ALIGN(8) oldSwapchain
;
3863 } VkSwapchainCreateInfoKHR32
;
3865 typedef struct VkValidationCacheCreateInfoEXT32
3867 VkStructureType sType
;
3869 VkValidationCacheCreateFlagsEXT flags
;
3870 PTR32 initialDataSize
;
3872 } VkValidationCacheCreateInfoEXT32
;
3874 typedef struct VkWin32SurfaceCreateInfoKHR32
3876 VkStructureType sType
;
3878 VkWin32SurfaceCreateFlagsKHR flags
;
3881 } VkWin32SurfaceCreateInfoKHR32
;
3883 typedef struct VkDebugMarkerObjectNameInfoEXT32
3885 VkStructureType sType
;
3887 VkDebugReportObjectTypeEXT objectType
;
3888 uint64_t DECLSPEC_ALIGN(8) object
;
3890 } VkDebugMarkerObjectNameInfoEXT32
;
3892 typedef struct VkDebugMarkerObjectTagInfoEXT32
3894 VkStructureType sType
;
3896 VkDebugReportObjectTypeEXT objectType
;
3897 uint64_t DECLSPEC_ALIGN(8) object
;
3898 uint64_t DECLSPEC_ALIGN(8) tagName
;
3901 } VkDebugMarkerObjectTagInfoEXT32
;
3903 typedef struct VkPhysicalDeviceGroupProperties32
3905 VkStructureType sType
;
3907 uint32_t physicalDeviceCount
;
3908 PTR32 physicalDevices
[VK_MAX_DEVICE_GROUP_SIZE
];
3909 VkBool32 subsetAllocation
;
3910 } VkPhysicalDeviceGroupProperties32
;
3911 typedef VkPhysicalDeviceGroupProperties32 VkPhysicalDeviceGroupPropertiesKHR32
;
3913 typedef struct VkPerformanceCounterKHR32
3915 VkStructureType sType
;
3917 VkPerformanceCounterUnitKHR unit
;
3918 VkPerformanceCounterScopeKHR scope
;
3919 VkPerformanceCounterStorageKHR storage
;
3920 uint8_t uuid
[VK_UUID_SIZE
];
3921 } VkPerformanceCounterKHR32
;
3923 typedef struct VkPerformanceCounterDescriptionKHR32
3925 VkStructureType sType
;
3927 VkPerformanceCounterDescriptionFlagsKHR flags
;
3928 char name
[VK_MAX_DESCRIPTION_SIZE
];
3929 char category
[VK_MAX_DESCRIPTION_SIZE
];
3930 char description
[VK_MAX_DESCRIPTION_SIZE
];
3931 } VkPerformanceCounterDescriptionKHR32
;
3933 typedef struct VkMappedMemoryRange32
3935 VkStructureType sType
;
3937 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
3938 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
3939 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
3940 } VkMappedMemoryRange32
;
3942 typedef struct VkAccelerationStructureBuildSizesInfoKHR32
3944 VkStructureType sType
;
3946 VkDeviceSize
DECLSPEC_ALIGN(8) accelerationStructureSize
;
3947 VkDeviceSize
DECLSPEC_ALIGN(8) updateScratchSize
;
3948 VkDeviceSize
DECLSPEC_ALIGN(8) buildScratchSize
;
3949 } VkAccelerationStructureBuildSizesInfoKHR32
;
3951 typedef struct VkAccelerationStructureDeviceAddressInfoKHR32
3953 VkStructureType sType
;
3955 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) accelerationStructure
;
3956 } VkAccelerationStructureDeviceAddressInfoKHR32
;
3958 typedef struct VkAccelerationStructureMemoryRequirementsInfoNV32
3960 VkStructureType sType
;
3962 VkAccelerationStructureMemoryRequirementsTypeNV type
;
3963 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) accelerationStructure
;
3964 } VkAccelerationStructureMemoryRequirementsInfoNV32
;
3966 typedef struct VkMemoryRequirements32
3968 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
3969 VkDeviceSize
DECLSPEC_ALIGN(8) alignment
;
3970 uint32_t memoryTypeBits
;
3971 } VkMemoryRequirements32
;
3974 typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT32
3976 VkStructureType sType
;
3978 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) accelerationStructure
;
3979 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) accelerationStructureNV
;
3980 } VkAccelerationStructureCaptureDescriptorDataInfoEXT32
;
3982 typedef struct VkBufferDeviceAddressInfo32
3984 VkStructureType sType
;
3986 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
3987 } VkBufferDeviceAddressInfo32
;
3988 typedef VkBufferDeviceAddressInfo32 VkBufferDeviceAddressInfoKHR32
;
3989 typedef VkBufferDeviceAddressInfo32 VkBufferDeviceAddressInfoEXT32
;
3991 typedef struct VkBufferMemoryRequirementsInfo232
3993 VkStructureType sType
;
3995 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
3996 } VkBufferMemoryRequirementsInfo232
;
3997 typedef VkBufferMemoryRequirementsInfo232 VkBufferMemoryRequirementsInfo2KHR32
;
3999 typedef struct VkMemoryDedicatedRequirements32
4001 VkStructureType sType
;
4003 VkBool32 prefersDedicatedAllocation
;
4004 VkBool32 requiresDedicatedAllocation
;
4005 } VkMemoryDedicatedRequirements32
;
4006 typedef VkMemoryDedicatedRequirements32 VkMemoryDedicatedRequirementsKHR32
;
4008 typedef struct VkMemoryRequirements232
4010 VkStructureType sType
;
4012 VkMemoryRequirements32
DECLSPEC_ALIGN(8) memoryRequirements
;
4013 } VkMemoryRequirements232
;
4014 typedef VkMemoryRequirements232 VkMemoryRequirements2KHR32
;
4016 typedef struct VkBufferCaptureDescriptorDataInfoEXT32
4018 VkStructureType sType
;
4020 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
4021 } VkBufferCaptureDescriptorDataInfoEXT32
;
4023 typedef struct VkCalibratedTimestampInfoEXT32
4025 VkStructureType sType
;
4027 VkTimeDomainEXT timeDomain
;
4028 } VkCalibratedTimestampInfoEXT32
;
4030 typedef struct VkDescriptorAddressInfoEXT32
4032 VkStructureType sType
;
4034 VkDeviceAddress
DECLSPEC_ALIGN(8) address
;
4035 VkDeviceSize
DECLSPEC_ALIGN(8) range
;
4037 } VkDescriptorAddressInfoEXT32
;
4039 typedef union VkDescriptorDataEXT32
4042 PTR32 pCombinedImageSampler
;
4043 PTR32 pInputAttachmentImage
;
4044 PTR32 pSampledImage
;
4045 PTR32 pStorageImage
;
4046 PTR32 pUniformTexelBuffer
;
4047 PTR32 pStorageTexelBuffer
;
4048 PTR32 pUniformBuffer
;
4049 PTR32 pStorageBuffer
;
4050 VkDeviceAddress
DECLSPEC_ALIGN(8) accelerationStructure
;
4051 } VkDescriptorDataEXT32
;
4053 typedef struct VkDescriptorGetInfoEXT32
4055 VkStructureType sType
;
4057 VkDescriptorType type
;
4058 VkDescriptorDataEXT32
DECLSPEC_ALIGN(8) data
;
4059 } VkDescriptorGetInfoEXT32
;
4061 typedef struct VkDescriptorSetBindingReferenceVALVE32
4063 VkStructureType sType
;
4065 VkDescriptorSetLayout
DECLSPEC_ALIGN(8) descriptorSetLayout
;
4067 } VkDescriptorSetBindingReferenceVALVE32
;
4069 typedef struct VkDescriptorSetLayoutHostMappingInfoVALVE32
4071 VkStructureType sType
;
4073 PTR32 descriptorOffset
;
4074 uint32_t descriptorSize
;
4075 } VkDescriptorSetLayoutHostMappingInfoVALVE32
;
4077 typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport32
4079 VkStructureType sType
;
4081 uint32_t maxVariableDescriptorCount
;
4082 } VkDescriptorSetVariableDescriptorCountLayoutSupport32
;
4083 typedef VkDescriptorSetVariableDescriptorCountLayoutSupport32 VkDescriptorSetVariableDescriptorCountLayoutSupportEXT32
;
4085 typedef struct VkDescriptorSetLayoutSupport32
4087 VkStructureType sType
;
4090 } VkDescriptorSetLayoutSupport32
;
4091 typedef VkDescriptorSetLayoutSupport32 VkDescriptorSetLayoutSupportKHR32
;
4093 typedef struct VkAccelerationStructureVersionInfoKHR32
4095 VkStructureType sType
;
4098 } VkAccelerationStructureVersionInfoKHR32
;
4100 typedef struct VkDeviceBufferMemoryRequirements32
4102 VkStructureType sType
;
4105 } VkDeviceBufferMemoryRequirements32
;
4106 typedef VkDeviceBufferMemoryRequirements32 VkDeviceBufferMemoryRequirementsKHR32
;
4108 typedef struct VkDeviceFaultCountsEXT32
4110 VkStructureType sType
;
4112 uint32_t addressInfoCount
;
4113 uint32_t vendorInfoCount
;
4114 VkDeviceSize
DECLSPEC_ALIGN(8) vendorBinarySize
;
4115 } VkDeviceFaultCountsEXT32
;
4117 typedef struct VkDeviceFaultAddressInfoEXT32
4119 VkDeviceFaultAddressTypeEXT addressType
;
4120 VkDeviceAddress
DECLSPEC_ALIGN(8) reportedAddress
;
4121 VkDeviceSize
DECLSPEC_ALIGN(8) addressPrecision
;
4122 } VkDeviceFaultAddressInfoEXT32
;
4124 typedef struct VkDeviceFaultVendorInfoEXT32
4126 char description
[VK_MAX_DESCRIPTION_SIZE
];
4127 uint64_t DECLSPEC_ALIGN(8) vendorFaultCode
;
4128 uint64_t DECLSPEC_ALIGN(8) vendorFaultData
;
4129 } VkDeviceFaultVendorInfoEXT32
;
4131 typedef struct VkDeviceFaultInfoEXT32
4133 VkStructureType sType
;
4135 char description
[VK_MAX_DESCRIPTION_SIZE
];
4136 PTR32 pAddressInfos
;
4138 PTR32 pVendorBinaryData
;
4139 } VkDeviceFaultInfoEXT32
;
4141 typedef struct VkDeviceGroupPresentCapabilitiesKHR32
4143 VkStructureType sType
;
4145 uint32_t presentMask
[VK_MAX_DEVICE_GROUP_SIZE
];
4146 VkDeviceGroupPresentModeFlagsKHR modes
;
4147 } VkDeviceGroupPresentCapabilitiesKHR32
;
4149 typedef struct VkDeviceImageMemoryRequirements32
4151 VkStructureType sType
;
4154 VkImageAspectFlagBits planeAspect
;
4155 } VkDeviceImageMemoryRequirements32
;
4156 typedef VkDeviceImageMemoryRequirements32 VkDeviceImageMemoryRequirementsKHR32
;
4158 typedef struct VkSparseImageMemoryRequirements32
4160 VkSparseImageFormatProperties formatProperties
;
4161 uint32_t imageMipTailFirstLod
;
4162 VkDeviceSize
DECLSPEC_ALIGN(8) imageMipTailSize
;
4163 VkDeviceSize
DECLSPEC_ALIGN(8) imageMipTailOffset
;
4164 VkDeviceSize
DECLSPEC_ALIGN(8) imageMipTailStride
;
4165 } VkSparseImageMemoryRequirements32
;
4167 typedef struct VkSparseImageMemoryRequirements232
4169 VkStructureType sType
;
4171 VkSparseImageMemoryRequirements32
DECLSPEC_ALIGN(8) memoryRequirements
;
4172 } VkSparseImageMemoryRequirements232
;
4173 typedef VkSparseImageMemoryRequirements232 VkSparseImageMemoryRequirements2KHR32
;
4175 typedef struct VkDeviceMemoryOpaqueCaptureAddressInfo32
4177 VkStructureType sType
;
4179 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
4180 } VkDeviceMemoryOpaqueCaptureAddressInfo32
;
4181 typedef VkDeviceMemoryOpaqueCaptureAddressInfo32 VkDeviceMemoryOpaqueCaptureAddressInfoKHR32
;
4183 typedef struct VkMicromapVersionInfoEXT32
4185 VkStructureType sType
;
4188 } VkMicromapVersionInfoEXT32
;
4190 typedef struct VkDeviceQueueInfo232
4192 VkStructureType sType
;
4194 VkDeviceQueueCreateFlags flags
;
4195 uint32_t queueFamilyIndex
;
4196 uint32_t queueIndex
;
4197 } VkDeviceQueueInfo232
;
4199 typedef struct VkTilePropertiesQCOM32
4201 VkStructureType sType
;
4203 VkExtent3D tileSize
;
4204 VkExtent2D apronSize
;
4206 } VkTilePropertiesQCOM32
;
4208 typedef struct VkGeneratedCommandsMemoryRequirementsInfoNV32
4210 VkStructureType sType
;
4212 VkPipelineBindPoint pipelineBindPoint
;
4213 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
4214 VkIndirectCommandsLayoutNV
DECLSPEC_ALIGN(8) indirectCommandsLayout
;
4215 uint32_t maxSequencesCount
;
4216 } VkGeneratedCommandsMemoryRequirementsInfoNV32
;
4218 typedef struct VkImagePlaneMemoryRequirementsInfo32
4220 VkStructureType sType
;
4222 VkImageAspectFlagBits planeAspect
;
4223 } VkImagePlaneMemoryRequirementsInfo32
;
4224 typedef VkImagePlaneMemoryRequirementsInfo32 VkImagePlaneMemoryRequirementsInfoKHR32
;
4226 typedef struct VkImageMemoryRequirementsInfo232
4228 VkStructureType sType
;
4230 VkImage
DECLSPEC_ALIGN(8) image
;
4231 } VkImageMemoryRequirementsInfo232
;
4232 typedef VkImageMemoryRequirementsInfo232 VkImageMemoryRequirementsInfo2KHR32
;
4234 typedef struct VkImageCaptureDescriptorDataInfoEXT32
4236 VkStructureType sType
;
4238 VkImage
DECLSPEC_ALIGN(8) image
;
4239 } VkImageCaptureDescriptorDataInfoEXT32
;
4241 typedef struct VkImageSparseMemoryRequirementsInfo232
4243 VkStructureType sType
;
4245 VkImage
DECLSPEC_ALIGN(8) image
;
4246 } VkImageSparseMemoryRequirementsInfo232
;
4247 typedef VkImageSparseMemoryRequirementsInfo232 VkImageSparseMemoryRequirementsInfo2KHR32
;
4249 typedef struct VkSubresourceLayout32
4251 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
4252 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
4253 VkDeviceSize
DECLSPEC_ALIGN(8) rowPitch
;
4254 VkDeviceSize
DECLSPEC_ALIGN(8) arrayPitch
;
4255 VkDeviceSize
DECLSPEC_ALIGN(8) depthPitch
;
4256 } VkSubresourceLayout32
;
4258 typedef struct VkImageSubresource2EXT32
4260 VkStructureType sType
;
4262 VkImageSubresource imageSubresource
;
4263 } VkImageSubresource2EXT32
;
4265 typedef struct VkImageCompressionPropertiesEXT32
4267 VkStructureType sType
;
4269 VkImageCompressionFlagsEXT imageCompressionFlags
;
4270 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags
;
4271 } VkImageCompressionPropertiesEXT32
;
4273 typedef struct VkSubresourceLayout2EXT32
4275 VkStructureType sType
;
4277 VkSubresourceLayout32
DECLSPEC_ALIGN(8) subresourceLayout
;
4278 } VkSubresourceLayout2EXT32
;
4280 typedef struct VkImageViewAddressPropertiesNVX32
4282 VkStructureType sType
;
4284 VkDeviceAddress
DECLSPEC_ALIGN(8) deviceAddress
;
4285 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
4286 } VkImageViewAddressPropertiesNVX32
;
4288 typedef struct VkImageViewHandleInfoNVX32
4290 VkStructureType sType
;
4292 VkImageView
DECLSPEC_ALIGN(8) imageView
;
4293 VkDescriptorType descriptorType
;
4294 VkSampler
DECLSPEC_ALIGN(8) sampler
;
4295 } VkImageViewHandleInfoNVX32
;
4297 typedef struct VkImageViewCaptureDescriptorDataInfoEXT32
4299 VkStructureType sType
;
4301 VkImageView
DECLSPEC_ALIGN(8) imageView
;
4302 } VkImageViewCaptureDescriptorDataInfoEXT32
;
4304 typedef struct VkMemoryHostPointerPropertiesEXT32
4306 VkStructureType sType
;
4308 uint32_t memoryTypeBits
;
4309 } VkMemoryHostPointerPropertiesEXT32
;
4311 typedef struct VkMicromapBuildSizesInfoEXT32
4313 VkStructureType sType
;
4315 VkDeviceSize
DECLSPEC_ALIGN(8) micromapSize
;
4316 VkDeviceSize
DECLSPEC_ALIGN(8) buildScratchSize
;
4317 VkBool32 discardable
;
4318 } VkMicromapBuildSizesInfoEXT32
;
4320 typedef union VkPerformanceValueDataINTEL32
4323 uint64_t DECLSPEC_ALIGN(8) value64
;
4327 } VkPerformanceValueDataINTEL32
;
4329 typedef struct VkPerformanceValueINTEL32
4331 VkPerformanceValueTypeINTEL type
;
4332 VkPerformanceValueDataINTEL32
DECLSPEC_ALIGN(8) data
;
4333 } VkPerformanceValueINTEL32
;
4335 typedef struct VkCooperativeMatrixPropertiesNV32
4337 VkStructureType sType
;
4342 VkComponentTypeNV AType
;
4343 VkComponentTypeNV BType
;
4344 VkComponentTypeNV CType
;
4345 VkComponentTypeNV DType
;
4347 } VkCooperativeMatrixPropertiesNV32
;
4349 typedef struct VkPhysicalDeviceExternalBufferInfo32
4351 VkStructureType sType
;
4353 VkBufferCreateFlags flags
;
4354 VkBufferUsageFlags usage
;
4355 VkExternalMemoryHandleTypeFlagBits handleType
;
4356 } VkPhysicalDeviceExternalBufferInfo32
;
4357 typedef VkPhysicalDeviceExternalBufferInfo32 VkPhysicalDeviceExternalBufferInfoKHR32
;
4359 typedef struct VkExternalBufferProperties32
4361 VkStructureType sType
;
4363 VkExternalMemoryProperties externalMemoryProperties
;
4364 } VkExternalBufferProperties32
;
4365 typedef VkExternalBufferProperties32 VkExternalBufferPropertiesKHR32
;
4367 typedef struct VkPhysicalDeviceExternalFenceInfo32
4369 VkStructureType sType
;
4371 VkExternalFenceHandleTypeFlagBits handleType
;
4372 } VkPhysicalDeviceExternalFenceInfo32
;
4373 typedef VkPhysicalDeviceExternalFenceInfo32 VkPhysicalDeviceExternalFenceInfoKHR32
;
4375 typedef struct VkExternalFenceProperties32
4377 VkStructureType sType
;
4379 VkExternalFenceHandleTypeFlags exportFromImportedHandleTypes
;
4380 VkExternalFenceHandleTypeFlags compatibleHandleTypes
;
4381 VkExternalFenceFeatureFlags externalFenceFeatures
;
4382 } VkExternalFenceProperties32
;
4383 typedef VkExternalFenceProperties32 VkExternalFencePropertiesKHR32
;
4385 typedef struct VkPhysicalDeviceExternalSemaphoreInfo32
4387 VkStructureType sType
;
4389 VkExternalSemaphoreHandleTypeFlagBits handleType
;
4390 } VkPhysicalDeviceExternalSemaphoreInfo32
;
4391 typedef VkPhysicalDeviceExternalSemaphoreInfo32 VkPhysicalDeviceExternalSemaphoreInfoKHR32
;
4393 typedef struct VkExternalSemaphoreProperties32
4395 VkStructureType sType
;
4397 VkExternalSemaphoreHandleTypeFlags exportFromImportedHandleTypes
;
4398 VkExternalSemaphoreHandleTypeFlags compatibleHandleTypes
;
4399 VkExternalSemaphoreFeatureFlags externalSemaphoreFeatures
;
4400 } VkExternalSemaphoreProperties32
;
4401 typedef VkExternalSemaphoreProperties32 VkExternalSemaphorePropertiesKHR32
;
4403 typedef struct VkSubpassResolvePerformanceQueryEXT32
4405 VkStructureType sType
;
4408 } VkSubpassResolvePerformanceQueryEXT32
;
4410 typedef struct VkFormatProperties332
4412 VkStructureType sType
;
4414 VkFormatFeatureFlags2
DECLSPEC_ALIGN(8) linearTilingFeatures
;
4415 VkFormatFeatureFlags2
DECLSPEC_ALIGN(8) optimalTilingFeatures
;
4416 VkFormatFeatureFlags2
DECLSPEC_ALIGN(8) bufferFeatures
;
4417 } VkFormatProperties332
;
4418 typedef VkFormatProperties332 VkFormatProperties3KHR32
;
4420 typedef struct VkFormatProperties232
4422 VkStructureType sType
;
4424 VkFormatProperties formatProperties
;
4425 } VkFormatProperties232
;
4426 typedef VkFormatProperties232 VkFormatProperties2KHR32
;
4428 typedef struct VkPhysicalDeviceFragmentShadingRateKHR32
4430 VkStructureType sType
;
4432 VkSampleCountFlags sampleCounts
;
4433 VkExtent2D fragmentSize
;
4434 } VkPhysicalDeviceFragmentShadingRateKHR32
;
4436 typedef struct VkImageFormatProperties32
4438 VkExtent3D maxExtent
;
4439 uint32_t maxMipLevels
;
4440 uint32_t maxArrayLayers
;
4441 VkSampleCountFlags sampleCounts
;
4442 VkDeviceSize
DECLSPEC_ALIGN(8) maxResourceSize
;
4443 } VkImageFormatProperties32
;
4445 typedef struct VkPhysicalDeviceExternalImageFormatInfo32
4447 VkStructureType sType
;
4449 VkExternalMemoryHandleTypeFlagBits handleType
;
4450 } VkPhysicalDeviceExternalImageFormatInfo32
;
4451 typedef VkPhysicalDeviceExternalImageFormatInfo32 VkPhysicalDeviceExternalImageFormatInfoKHR32
;
4453 typedef struct VkPhysicalDeviceImageViewImageFormatInfoEXT32
4455 VkStructureType sType
;
4457 VkImageViewType imageViewType
;
4458 } VkPhysicalDeviceImageViewImageFormatInfoEXT32
;
4460 typedef struct VkPhysicalDeviceImageFormatInfo232
4462 VkStructureType sType
;
4466 VkImageTiling tiling
;
4467 VkImageUsageFlags usage
;
4468 VkImageCreateFlags flags
;
4469 } VkPhysicalDeviceImageFormatInfo232
;
4470 typedef VkPhysicalDeviceImageFormatInfo232 VkPhysicalDeviceImageFormatInfo2KHR32
;
4472 typedef struct VkExternalImageFormatProperties32
4474 VkStructureType sType
;
4476 VkExternalMemoryProperties externalMemoryProperties
;
4477 } VkExternalImageFormatProperties32
;
4478 typedef VkExternalImageFormatProperties32 VkExternalImageFormatPropertiesKHR32
;
4480 typedef struct VkSamplerYcbcrConversionImageFormatProperties32
4482 VkStructureType sType
;
4484 uint32_t combinedImageSamplerDescriptorCount
;
4485 } VkSamplerYcbcrConversionImageFormatProperties32
;
4486 typedef VkSamplerYcbcrConversionImageFormatProperties32 VkSamplerYcbcrConversionImageFormatPropertiesKHR32
;
4488 typedef struct VkTextureLODGatherFormatPropertiesAMD32
4490 VkStructureType sType
;
4492 VkBool32 supportsTextureGatherLODBiasAMD
;
4493 } VkTextureLODGatherFormatPropertiesAMD32
;
4495 typedef struct VkFilterCubicImageViewImageFormatPropertiesEXT32
4497 VkStructureType sType
;
4499 VkBool32 filterCubic
;
4500 VkBool32 filterCubicMinmax
;
4501 } VkFilterCubicImageViewImageFormatPropertiesEXT32
;
4503 typedef struct VkImageFormatProperties232
4505 VkStructureType sType
;
4507 VkImageFormatProperties32
DECLSPEC_ALIGN(8) imageFormatProperties
;
4508 } VkImageFormatProperties232
;
4509 typedef VkImageFormatProperties232 VkImageFormatProperties2KHR32
;
4511 typedef struct VkMemoryHeap32
4513 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
4514 VkMemoryHeapFlags flags
;
4517 typedef struct VkPhysicalDeviceMemoryProperties32
4519 uint32_t memoryTypeCount
;
4520 VkMemoryType memoryTypes
[VK_MAX_MEMORY_TYPES
];
4521 uint32_t memoryHeapCount
;
4522 VkMemoryHeap32
DECLSPEC_ALIGN(8) memoryHeaps
[VK_MAX_MEMORY_HEAPS
];
4523 } VkPhysicalDeviceMemoryProperties32
;
4525 typedef struct VkPhysicalDeviceMemoryBudgetPropertiesEXT32
4527 VkStructureType sType
;
4529 VkDeviceSize
DECLSPEC_ALIGN(8) heapBudget
[VK_MAX_MEMORY_HEAPS
];
4530 VkDeviceSize
DECLSPEC_ALIGN(8) heapUsage
[VK_MAX_MEMORY_HEAPS
];
4531 } VkPhysicalDeviceMemoryBudgetPropertiesEXT32
;
4533 typedef struct VkPhysicalDeviceMemoryProperties232
4535 VkStructureType sType
;
4537 VkPhysicalDeviceMemoryProperties32
DECLSPEC_ALIGN(8) memoryProperties
;
4538 } VkPhysicalDeviceMemoryProperties232
;
4539 typedef VkPhysicalDeviceMemoryProperties232 VkPhysicalDeviceMemoryProperties2KHR32
;
4541 typedef struct VkMultisamplePropertiesEXT32
4543 VkStructureType sType
;
4545 VkExtent2D maxSampleLocationGridSize
;
4546 } VkMultisamplePropertiesEXT32
;
4548 typedef struct VkOpticalFlowImageFormatPropertiesNV32
4550 VkStructureType sType
;
4553 } VkOpticalFlowImageFormatPropertiesNV32
;
4555 typedef struct VkPhysicalDeviceLimits32
4557 uint32_t maxImageDimension1D
;
4558 uint32_t maxImageDimension2D
;
4559 uint32_t maxImageDimension3D
;
4560 uint32_t maxImageDimensionCube
;
4561 uint32_t maxImageArrayLayers
;
4562 uint32_t maxTexelBufferElements
;
4563 uint32_t maxUniformBufferRange
;
4564 uint32_t maxStorageBufferRange
;
4565 uint32_t maxPushConstantsSize
;
4566 uint32_t maxMemoryAllocationCount
;
4567 uint32_t maxSamplerAllocationCount
;
4568 VkDeviceSize
DECLSPEC_ALIGN(8) bufferImageGranularity
;
4569 VkDeviceSize
DECLSPEC_ALIGN(8) sparseAddressSpaceSize
;
4570 uint32_t maxBoundDescriptorSets
;
4571 uint32_t maxPerStageDescriptorSamplers
;
4572 uint32_t maxPerStageDescriptorUniformBuffers
;
4573 uint32_t maxPerStageDescriptorStorageBuffers
;
4574 uint32_t maxPerStageDescriptorSampledImages
;
4575 uint32_t maxPerStageDescriptorStorageImages
;
4576 uint32_t maxPerStageDescriptorInputAttachments
;
4577 uint32_t maxPerStageResources
;
4578 uint32_t maxDescriptorSetSamplers
;
4579 uint32_t maxDescriptorSetUniformBuffers
;
4580 uint32_t maxDescriptorSetUniformBuffersDynamic
;
4581 uint32_t maxDescriptorSetStorageBuffers
;
4582 uint32_t maxDescriptorSetStorageBuffersDynamic
;
4583 uint32_t maxDescriptorSetSampledImages
;
4584 uint32_t maxDescriptorSetStorageImages
;
4585 uint32_t maxDescriptorSetInputAttachments
;
4586 uint32_t maxVertexInputAttributes
;
4587 uint32_t maxVertexInputBindings
;
4588 uint32_t maxVertexInputAttributeOffset
;
4589 uint32_t maxVertexInputBindingStride
;
4590 uint32_t maxVertexOutputComponents
;
4591 uint32_t maxTessellationGenerationLevel
;
4592 uint32_t maxTessellationPatchSize
;
4593 uint32_t maxTessellationControlPerVertexInputComponents
;
4594 uint32_t maxTessellationControlPerVertexOutputComponents
;
4595 uint32_t maxTessellationControlPerPatchOutputComponents
;
4596 uint32_t maxTessellationControlTotalOutputComponents
;
4597 uint32_t maxTessellationEvaluationInputComponents
;
4598 uint32_t maxTessellationEvaluationOutputComponents
;
4599 uint32_t maxGeometryShaderInvocations
;
4600 uint32_t maxGeometryInputComponents
;
4601 uint32_t maxGeometryOutputComponents
;
4602 uint32_t maxGeometryOutputVertices
;
4603 uint32_t maxGeometryTotalOutputComponents
;
4604 uint32_t maxFragmentInputComponents
;
4605 uint32_t maxFragmentOutputAttachments
;
4606 uint32_t maxFragmentDualSrcAttachments
;
4607 uint32_t maxFragmentCombinedOutputResources
;
4608 uint32_t maxComputeSharedMemorySize
;
4609 uint32_t maxComputeWorkGroupCount
[3];
4610 uint32_t maxComputeWorkGroupInvocations
;
4611 uint32_t maxComputeWorkGroupSize
[3];
4612 uint32_t subPixelPrecisionBits
;
4613 uint32_t subTexelPrecisionBits
;
4614 uint32_t mipmapPrecisionBits
;
4615 uint32_t maxDrawIndexedIndexValue
;
4616 uint32_t maxDrawIndirectCount
;
4617 float maxSamplerLodBias
;
4618 float maxSamplerAnisotropy
;
4619 uint32_t maxViewports
;
4620 uint32_t maxViewportDimensions
[2];
4621 float viewportBoundsRange
[2];
4622 uint32_t viewportSubPixelBits
;
4623 PTR32 minMemoryMapAlignment
;
4624 VkDeviceSize
DECLSPEC_ALIGN(8) minTexelBufferOffsetAlignment
;
4625 VkDeviceSize
DECLSPEC_ALIGN(8) minUniformBufferOffsetAlignment
;
4626 VkDeviceSize
DECLSPEC_ALIGN(8) minStorageBufferOffsetAlignment
;
4627 int32_t minTexelOffset
;
4628 uint32_t maxTexelOffset
;
4629 int32_t minTexelGatherOffset
;
4630 uint32_t maxTexelGatherOffset
;
4631 float minInterpolationOffset
;
4632 float maxInterpolationOffset
;
4633 uint32_t subPixelInterpolationOffsetBits
;
4634 uint32_t maxFramebufferWidth
;
4635 uint32_t maxFramebufferHeight
;
4636 uint32_t maxFramebufferLayers
;
4637 VkSampleCountFlags framebufferColorSampleCounts
;
4638 VkSampleCountFlags framebufferDepthSampleCounts
;
4639 VkSampleCountFlags framebufferStencilSampleCounts
;
4640 VkSampleCountFlags framebufferNoAttachmentsSampleCounts
;
4641 uint32_t maxColorAttachments
;
4642 VkSampleCountFlags sampledImageColorSampleCounts
;
4643 VkSampleCountFlags sampledImageIntegerSampleCounts
;
4644 VkSampleCountFlags sampledImageDepthSampleCounts
;
4645 VkSampleCountFlags sampledImageStencilSampleCounts
;
4646 VkSampleCountFlags storageImageSampleCounts
;
4647 uint32_t maxSampleMaskWords
;
4648 VkBool32 timestampComputeAndGraphics
;
4649 float timestampPeriod
;
4650 uint32_t maxClipDistances
;
4651 uint32_t maxCullDistances
;
4652 uint32_t maxCombinedClipAndCullDistances
;
4653 uint32_t discreteQueuePriorities
;
4654 float pointSizeRange
[2];
4655 float lineWidthRange
[2];
4656 float pointSizeGranularity
;
4657 float lineWidthGranularity
;
4658 VkBool32 strictLines
;
4659 VkBool32 standardSampleLocations
;
4660 VkDeviceSize
DECLSPEC_ALIGN(8) optimalBufferCopyOffsetAlignment
;
4661 VkDeviceSize
DECLSPEC_ALIGN(8) optimalBufferCopyRowPitchAlignment
;
4662 VkDeviceSize
DECLSPEC_ALIGN(8) nonCoherentAtomSize
;
4663 } VkPhysicalDeviceLimits32
;
4665 typedef struct VkPhysicalDeviceProperties32
4667 uint32_t apiVersion
;
4668 uint32_t driverVersion
;
4671 VkPhysicalDeviceType deviceType
;
4672 char deviceName
[VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
];
4673 uint8_t pipelineCacheUUID
[VK_UUID_SIZE
];
4674 VkPhysicalDeviceLimits32
DECLSPEC_ALIGN(8) limits
;
4675 VkPhysicalDeviceSparseProperties sparseProperties
;
4676 } VkPhysicalDeviceProperties32
;
4678 typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV32
4680 VkStructureType sType
;
4682 uint32_t maxGraphicsShaderGroupCount
;
4683 uint32_t maxIndirectSequenceCount
;
4684 uint32_t maxIndirectCommandsTokenCount
;
4685 uint32_t maxIndirectCommandsStreamCount
;
4686 uint32_t maxIndirectCommandsTokenOffset
;
4687 uint32_t maxIndirectCommandsStreamStride
;
4688 uint32_t minSequencesCountBufferOffsetAlignment
;
4689 uint32_t minSequencesIndexBufferOffsetAlignment
;
4690 uint32_t minIndirectCommandsBufferOffsetAlignment
;
4691 } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV32
;
4693 typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT32
4695 VkStructureType sType
;
4697 uint32_t maxMultiDrawCount
;
4698 } VkPhysicalDeviceMultiDrawPropertiesEXT32
;
4700 typedef struct VkPhysicalDevicePushDescriptorPropertiesKHR32
4702 VkStructureType sType
;
4704 uint32_t maxPushDescriptors
;
4705 } VkPhysicalDevicePushDescriptorPropertiesKHR32
;
4707 typedef struct VkPhysicalDeviceDriverProperties32
4709 VkStructureType sType
;
4711 VkDriverId driverID
;
4712 char driverName
[VK_MAX_DRIVER_NAME_SIZE
];
4713 char driverInfo
[VK_MAX_DRIVER_INFO_SIZE
];
4714 VkConformanceVersion conformanceVersion
;
4715 } VkPhysicalDeviceDriverProperties32
;
4716 typedef VkPhysicalDeviceDriverProperties32 VkPhysicalDeviceDriverPropertiesKHR32
;
4718 typedef struct VkPhysicalDeviceIDProperties32
4720 VkStructureType sType
;
4722 uint8_t deviceUUID
[VK_UUID_SIZE
];
4723 uint8_t driverUUID
[VK_UUID_SIZE
];
4724 uint8_t deviceLUID
[VK_LUID_SIZE
];
4725 uint32_t deviceNodeMask
;
4726 VkBool32 deviceLUIDValid
;
4727 } VkPhysicalDeviceIDProperties32
;
4728 typedef VkPhysicalDeviceIDProperties32 VkPhysicalDeviceIDPropertiesKHR32
;
4730 typedef struct VkPhysicalDeviceMultiviewProperties32
4732 VkStructureType sType
;
4734 uint32_t maxMultiviewViewCount
;
4735 uint32_t maxMultiviewInstanceIndex
;
4736 } VkPhysicalDeviceMultiviewProperties32
;
4737 typedef VkPhysicalDeviceMultiviewProperties32 VkPhysicalDeviceMultiviewPropertiesKHR32
;
4739 typedef struct VkPhysicalDeviceDiscardRectanglePropertiesEXT32
4741 VkStructureType sType
;
4743 uint32_t maxDiscardRectangles
;
4744 } VkPhysicalDeviceDiscardRectanglePropertiesEXT32
;
4746 typedef struct VkPhysicalDeviceSubgroupProperties32
4748 VkStructureType sType
;
4750 uint32_t subgroupSize
;
4751 VkShaderStageFlags supportedStages
;
4752 VkSubgroupFeatureFlags supportedOperations
;
4753 VkBool32 quadOperationsInAllStages
;
4754 } VkPhysicalDeviceSubgroupProperties32
;
4756 typedef struct VkPhysicalDevicePointClippingProperties32
4758 VkStructureType sType
;
4760 VkPointClippingBehavior pointClippingBehavior
;
4761 } VkPhysicalDevicePointClippingProperties32
;
4762 typedef VkPhysicalDevicePointClippingProperties32 VkPhysicalDevicePointClippingPropertiesKHR32
;
4764 typedef struct VkPhysicalDeviceProtectedMemoryProperties32
4766 VkStructureType sType
;
4768 VkBool32 protectedNoFault
;
4769 } VkPhysicalDeviceProtectedMemoryProperties32
;
4771 typedef struct VkPhysicalDeviceSamplerFilterMinmaxProperties32
4773 VkStructureType sType
;
4775 VkBool32 filterMinmaxSingleComponentFormats
;
4776 VkBool32 filterMinmaxImageComponentMapping
;
4777 } VkPhysicalDeviceSamplerFilterMinmaxProperties32
;
4778 typedef VkPhysicalDeviceSamplerFilterMinmaxProperties32 VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT32
;
4780 typedef struct VkPhysicalDeviceSampleLocationsPropertiesEXT32
4782 VkStructureType sType
;
4784 VkSampleCountFlags sampleLocationSampleCounts
;
4785 VkExtent2D maxSampleLocationGridSize
;
4786 float sampleLocationCoordinateRange
[2];
4787 uint32_t sampleLocationSubPixelBits
;
4788 VkBool32 variableSampleLocations
;
4789 } VkPhysicalDeviceSampleLocationsPropertiesEXT32
;
4791 typedef struct VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT32
4793 VkStructureType sType
;
4795 uint32_t advancedBlendMaxColorAttachments
;
4796 VkBool32 advancedBlendIndependentBlend
;
4797 VkBool32 advancedBlendNonPremultipliedSrcColor
;
4798 VkBool32 advancedBlendNonPremultipliedDstColor
;
4799 VkBool32 advancedBlendCorrelatedOverlap
;
4800 VkBool32 advancedBlendAllOperations
;
4801 } VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT32
;
4803 typedef struct VkPhysicalDeviceInlineUniformBlockProperties32
4805 VkStructureType sType
;
4807 uint32_t maxInlineUniformBlockSize
;
4808 uint32_t maxPerStageDescriptorInlineUniformBlocks
;
4809 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
;
4810 uint32_t maxDescriptorSetInlineUniformBlocks
;
4811 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks
;
4812 } VkPhysicalDeviceInlineUniformBlockProperties32
;
4813 typedef VkPhysicalDeviceInlineUniformBlockProperties32 VkPhysicalDeviceInlineUniformBlockPropertiesEXT32
;
4815 typedef struct VkPhysicalDeviceMaintenance3Properties32
4817 VkStructureType sType
;
4819 uint32_t maxPerSetDescriptors
;
4820 VkDeviceSize
DECLSPEC_ALIGN(8) maxMemoryAllocationSize
;
4821 } VkPhysicalDeviceMaintenance3Properties32
;
4822 typedef VkPhysicalDeviceMaintenance3Properties32 VkPhysicalDeviceMaintenance3PropertiesKHR32
;
4824 typedef struct VkPhysicalDeviceMaintenance4Properties32
4826 VkStructureType sType
;
4828 VkDeviceSize
DECLSPEC_ALIGN(8) maxBufferSize
;
4829 } VkPhysicalDeviceMaintenance4Properties32
;
4830 typedef VkPhysicalDeviceMaintenance4Properties32 VkPhysicalDeviceMaintenance4PropertiesKHR32
;
4832 typedef struct VkPhysicalDeviceFloatControlsProperties32
4834 VkStructureType sType
;
4836 VkShaderFloatControlsIndependence denormBehaviorIndependence
;
4837 VkShaderFloatControlsIndependence roundingModeIndependence
;
4838 VkBool32 shaderSignedZeroInfNanPreserveFloat16
;
4839 VkBool32 shaderSignedZeroInfNanPreserveFloat32
;
4840 VkBool32 shaderSignedZeroInfNanPreserveFloat64
;
4841 VkBool32 shaderDenormPreserveFloat16
;
4842 VkBool32 shaderDenormPreserveFloat32
;
4843 VkBool32 shaderDenormPreserveFloat64
;
4844 VkBool32 shaderDenormFlushToZeroFloat16
;
4845 VkBool32 shaderDenormFlushToZeroFloat32
;
4846 VkBool32 shaderDenormFlushToZeroFloat64
;
4847 VkBool32 shaderRoundingModeRTEFloat16
;
4848 VkBool32 shaderRoundingModeRTEFloat32
;
4849 VkBool32 shaderRoundingModeRTEFloat64
;
4850 VkBool32 shaderRoundingModeRTZFloat16
;
4851 VkBool32 shaderRoundingModeRTZFloat32
;
4852 VkBool32 shaderRoundingModeRTZFloat64
;
4853 } VkPhysicalDeviceFloatControlsProperties32
;
4854 typedef VkPhysicalDeviceFloatControlsProperties32 VkPhysicalDeviceFloatControlsPropertiesKHR32
;
4856 typedef struct VkPhysicalDeviceExternalMemoryHostPropertiesEXT32
4858 VkStructureType sType
;
4860 VkDeviceSize
DECLSPEC_ALIGN(8) minImportedHostPointerAlignment
;
4861 } VkPhysicalDeviceExternalMemoryHostPropertiesEXT32
;
4863 typedef struct VkPhysicalDeviceConservativeRasterizationPropertiesEXT32
4865 VkStructureType sType
;
4867 float primitiveOverestimationSize
;
4868 float maxExtraPrimitiveOverestimationSize
;
4869 float extraPrimitiveOverestimationSizeGranularity
;
4870 VkBool32 primitiveUnderestimation
;
4871 VkBool32 conservativePointAndLineRasterization
;
4872 VkBool32 degenerateTrianglesRasterized
;
4873 VkBool32 degenerateLinesRasterized
;
4874 VkBool32 fullyCoveredFragmentShaderInputVariable
;
4875 VkBool32 conservativeRasterizationPostDepthCoverage
;
4876 } VkPhysicalDeviceConservativeRasterizationPropertiesEXT32
;
4878 typedef struct VkPhysicalDeviceShaderCorePropertiesAMD32
4880 VkStructureType sType
;
4882 uint32_t shaderEngineCount
;
4883 uint32_t shaderArraysPerEngineCount
;
4884 uint32_t computeUnitsPerShaderArray
;
4885 uint32_t simdPerComputeUnit
;
4886 uint32_t wavefrontsPerSimd
;
4887 uint32_t wavefrontSize
;
4888 uint32_t sgprsPerSimd
;
4889 uint32_t minSgprAllocation
;
4890 uint32_t maxSgprAllocation
;
4891 uint32_t sgprAllocationGranularity
;
4892 uint32_t vgprsPerSimd
;
4893 uint32_t minVgprAllocation
;
4894 uint32_t maxVgprAllocation
;
4895 uint32_t vgprAllocationGranularity
;
4896 } VkPhysicalDeviceShaderCorePropertiesAMD32
;
4898 typedef struct VkPhysicalDeviceShaderCoreProperties2AMD32
4900 VkStructureType sType
;
4902 VkShaderCorePropertiesFlagsAMD shaderCoreFeatures
;
4903 uint32_t activeComputeUnitCount
;
4904 } VkPhysicalDeviceShaderCoreProperties2AMD32
;
4906 typedef struct VkPhysicalDeviceDescriptorIndexingProperties32
4908 VkStructureType sType
;
4910 uint32_t maxUpdateAfterBindDescriptorsInAllPools
;
4911 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative
;
4912 VkBool32 shaderSampledImageArrayNonUniformIndexingNative
;
4913 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative
;
4914 VkBool32 shaderStorageImageArrayNonUniformIndexingNative
;
4915 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative
;
4916 VkBool32 robustBufferAccessUpdateAfterBind
;
4917 VkBool32 quadDivergentImplicitLod
;
4918 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers
;
4919 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers
;
4920 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers
;
4921 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages
;
4922 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages
;
4923 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments
;
4924 uint32_t maxPerStageUpdateAfterBindResources
;
4925 uint32_t maxDescriptorSetUpdateAfterBindSamplers
;
4926 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers
;
4927 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
;
4928 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers
;
4929 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
;
4930 uint32_t maxDescriptorSetUpdateAfterBindSampledImages
;
4931 uint32_t maxDescriptorSetUpdateAfterBindStorageImages
;
4932 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments
;
4933 } VkPhysicalDeviceDescriptorIndexingProperties32
;
4934 typedef VkPhysicalDeviceDescriptorIndexingProperties32 VkPhysicalDeviceDescriptorIndexingPropertiesEXT32
;
4936 typedef struct VkPhysicalDeviceTimelineSemaphoreProperties32
4938 VkStructureType sType
;
4940 uint64_t DECLSPEC_ALIGN(8) maxTimelineSemaphoreValueDifference
;
4941 } VkPhysicalDeviceTimelineSemaphoreProperties32
;
4942 typedef VkPhysicalDeviceTimelineSemaphoreProperties32 VkPhysicalDeviceTimelineSemaphorePropertiesKHR32
;
4944 typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT32
4946 VkStructureType sType
;
4948 uint32_t maxVertexAttribDivisor
;
4949 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT32
;
4951 typedef struct VkPhysicalDevicePCIBusInfoPropertiesEXT32
4953 VkStructureType sType
;
4958 uint32_t pciFunction
;
4959 } VkPhysicalDevicePCIBusInfoPropertiesEXT32
;
4961 typedef struct VkPhysicalDeviceDepthStencilResolveProperties32
4963 VkStructureType sType
;
4965 VkResolveModeFlags supportedDepthResolveModes
;
4966 VkResolveModeFlags supportedStencilResolveModes
;
4967 VkBool32 independentResolveNone
;
4968 VkBool32 independentResolve
;
4969 } VkPhysicalDeviceDepthStencilResolveProperties32
;
4970 typedef VkPhysicalDeviceDepthStencilResolveProperties32 VkPhysicalDeviceDepthStencilResolvePropertiesKHR32
;
4972 typedef struct VkPhysicalDeviceTransformFeedbackPropertiesEXT32
4974 VkStructureType sType
;
4976 uint32_t maxTransformFeedbackStreams
;
4977 uint32_t maxTransformFeedbackBuffers
;
4978 VkDeviceSize
DECLSPEC_ALIGN(8) maxTransformFeedbackBufferSize
;
4979 uint32_t maxTransformFeedbackStreamDataSize
;
4980 uint32_t maxTransformFeedbackBufferDataSize
;
4981 uint32_t maxTransformFeedbackBufferDataStride
;
4982 VkBool32 transformFeedbackQueries
;
4983 VkBool32 transformFeedbackStreamsLinesTriangles
;
4984 VkBool32 transformFeedbackRasterizationStreamSelect
;
4985 VkBool32 transformFeedbackDraw
;
4986 } VkPhysicalDeviceTransformFeedbackPropertiesEXT32
;
4988 typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV32
4990 VkStructureType sType
;
4992 VkQueueFlags supportedQueues
;
4993 } VkPhysicalDeviceCopyMemoryIndirectPropertiesNV32
;
4995 typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV32
4997 VkStructureType sType
;
4999 VkMemoryDecompressionMethodFlagsNV
DECLSPEC_ALIGN(8) decompressionMethods
;
5000 uint64_t DECLSPEC_ALIGN(8) maxDecompressionIndirectCount
;
5001 } VkPhysicalDeviceMemoryDecompressionPropertiesNV32
;
5003 typedef struct VkPhysicalDeviceShadingRateImagePropertiesNV32
5005 VkStructureType sType
;
5007 VkExtent2D shadingRateTexelSize
;
5008 uint32_t shadingRatePaletteSize
;
5009 uint32_t shadingRateMaxCoarseSamples
;
5010 } VkPhysicalDeviceShadingRateImagePropertiesNV32
;
5012 typedef struct VkPhysicalDeviceMeshShaderPropertiesNV32
5014 VkStructureType sType
;
5016 uint32_t maxDrawMeshTasksCount
;
5017 uint32_t maxTaskWorkGroupInvocations
;
5018 uint32_t maxTaskWorkGroupSize
[3];
5019 uint32_t maxTaskTotalMemorySize
;
5020 uint32_t maxTaskOutputCount
;
5021 uint32_t maxMeshWorkGroupInvocations
;
5022 uint32_t maxMeshWorkGroupSize
[3];
5023 uint32_t maxMeshTotalMemorySize
;
5024 uint32_t maxMeshOutputVertices
;
5025 uint32_t maxMeshOutputPrimitives
;
5026 uint32_t maxMeshMultiviewViewCount
;
5027 uint32_t meshOutputPerVertexGranularity
;
5028 uint32_t meshOutputPerPrimitiveGranularity
;
5029 } VkPhysicalDeviceMeshShaderPropertiesNV32
;
5031 typedef struct VkPhysicalDeviceMeshShaderPropertiesEXT32
5033 VkStructureType sType
;
5035 uint32_t maxTaskWorkGroupTotalCount
;
5036 uint32_t maxTaskWorkGroupCount
[3];
5037 uint32_t maxTaskWorkGroupInvocations
;
5038 uint32_t maxTaskWorkGroupSize
[3];
5039 uint32_t maxTaskPayloadSize
;
5040 uint32_t maxTaskSharedMemorySize
;
5041 uint32_t maxTaskPayloadAndSharedMemorySize
;
5042 uint32_t maxMeshWorkGroupTotalCount
;
5043 uint32_t maxMeshWorkGroupCount
[3];
5044 uint32_t maxMeshWorkGroupInvocations
;
5045 uint32_t maxMeshWorkGroupSize
[3];
5046 uint32_t maxMeshSharedMemorySize
;
5047 uint32_t maxMeshPayloadAndSharedMemorySize
;
5048 uint32_t maxMeshOutputMemorySize
;
5049 uint32_t maxMeshPayloadAndOutputMemorySize
;
5050 uint32_t maxMeshOutputComponents
;
5051 uint32_t maxMeshOutputVertices
;
5052 uint32_t maxMeshOutputPrimitives
;
5053 uint32_t maxMeshOutputLayers
;
5054 uint32_t maxMeshMultiviewViewCount
;
5055 uint32_t meshOutputPerVertexGranularity
;
5056 uint32_t meshOutputPerPrimitiveGranularity
;
5057 uint32_t maxPreferredTaskWorkGroupInvocations
;
5058 uint32_t maxPreferredMeshWorkGroupInvocations
;
5059 VkBool32 prefersLocalInvocationVertexOutput
;
5060 VkBool32 prefersLocalInvocationPrimitiveOutput
;
5061 VkBool32 prefersCompactVertexOutput
;
5062 VkBool32 prefersCompactPrimitiveOutput
;
5063 } VkPhysicalDeviceMeshShaderPropertiesEXT32
;
5065 typedef struct VkPhysicalDeviceAccelerationStructurePropertiesKHR32
5067 VkStructureType sType
;
5069 uint64_t DECLSPEC_ALIGN(8) maxGeometryCount
;
5070 uint64_t DECLSPEC_ALIGN(8) maxInstanceCount
;
5071 uint64_t DECLSPEC_ALIGN(8) maxPrimitiveCount
;
5072 uint32_t maxPerStageDescriptorAccelerationStructures
;
5073 uint32_t maxPerStageDescriptorUpdateAfterBindAccelerationStructures
;
5074 uint32_t maxDescriptorSetAccelerationStructures
;
5075 uint32_t maxDescriptorSetUpdateAfterBindAccelerationStructures
;
5076 uint32_t minAccelerationStructureScratchOffsetAlignment
;
5077 } VkPhysicalDeviceAccelerationStructurePropertiesKHR32
;
5079 typedef struct VkPhysicalDeviceRayTracingPipelinePropertiesKHR32
5081 VkStructureType sType
;
5083 uint32_t shaderGroupHandleSize
;
5084 uint32_t maxRayRecursionDepth
;
5085 uint32_t maxShaderGroupStride
;
5086 uint32_t shaderGroupBaseAlignment
;
5087 uint32_t shaderGroupHandleCaptureReplaySize
;
5088 uint32_t maxRayDispatchInvocationCount
;
5089 uint32_t shaderGroupHandleAlignment
;
5090 uint32_t maxRayHitAttributeSize
;
5091 } VkPhysicalDeviceRayTracingPipelinePropertiesKHR32
;
5093 typedef struct VkPhysicalDeviceRayTracingPropertiesNV32
5095 VkStructureType sType
;
5097 uint32_t shaderGroupHandleSize
;
5098 uint32_t maxRecursionDepth
;
5099 uint32_t maxShaderGroupStride
;
5100 uint32_t shaderGroupBaseAlignment
;
5101 uint64_t DECLSPEC_ALIGN(8) maxGeometryCount
;
5102 uint64_t DECLSPEC_ALIGN(8) maxInstanceCount
;
5103 uint64_t DECLSPEC_ALIGN(8) maxTriangleCount
;
5104 uint32_t maxDescriptorSetAccelerationStructures
;
5105 } VkPhysicalDeviceRayTracingPropertiesNV32
;
5107 typedef struct VkPhysicalDeviceFragmentDensityMapPropertiesEXT32
5109 VkStructureType sType
;
5111 VkExtent2D minFragmentDensityTexelSize
;
5112 VkExtent2D maxFragmentDensityTexelSize
;
5113 VkBool32 fragmentDensityInvocations
;
5114 } VkPhysicalDeviceFragmentDensityMapPropertiesEXT32
;
5116 typedef struct VkPhysicalDeviceFragmentDensityMap2PropertiesEXT32
5118 VkStructureType sType
;
5120 VkBool32 subsampledLoads
;
5121 VkBool32 subsampledCoarseReconstructionEarlyAccess
;
5122 uint32_t maxSubsampledArrayLayers
;
5123 uint32_t maxDescriptorSetSubsampledSamplers
;
5124 } VkPhysicalDeviceFragmentDensityMap2PropertiesEXT32
;
5126 typedef struct VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM32
5128 VkStructureType sType
;
5130 VkExtent2D fragmentDensityOffsetGranularity
;
5131 } VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM32
;
5133 typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV32
5135 VkStructureType sType
;
5137 VkShaderStageFlags cooperativeMatrixSupportedStages
;
5138 } VkPhysicalDeviceCooperativeMatrixPropertiesNV32
;
5140 typedef struct VkPhysicalDevicePerformanceQueryPropertiesKHR32
5142 VkStructureType sType
;
5144 VkBool32 allowCommandBufferQueryCopies
;
5145 } VkPhysicalDevicePerformanceQueryPropertiesKHR32
;
5147 typedef struct VkPhysicalDeviceShaderSMBuiltinsPropertiesNV32
5149 VkStructureType sType
;
5151 uint32_t shaderSMCount
;
5152 uint32_t shaderWarpsPerSM
;
5153 } VkPhysicalDeviceShaderSMBuiltinsPropertiesNV32
;
5155 typedef struct VkPhysicalDeviceTexelBufferAlignmentProperties32
5157 VkStructureType sType
;
5159 VkDeviceSize
DECLSPEC_ALIGN(8) storageTexelBufferOffsetAlignmentBytes
;
5160 VkBool32 storageTexelBufferOffsetSingleTexelAlignment
;
5161 VkDeviceSize
DECLSPEC_ALIGN(8) uniformTexelBufferOffsetAlignmentBytes
;
5162 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment
;
5163 } VkPhysicalDeviceTexelBufferAlignmentProperties32
;
5164 typedef VkPhysicalDeviceTexelBufferAlignmentProperties32 VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT32
;
5166 typedef struct VkPhysicalDeviceSubgroupSizeControlProperties32
5168 VkStructureType sType
;
5170 uint32_t minSubgroupSize
;
5171 uint32_t maxSubgroupSize
;
5172 uint32_t maxComputeWorkgroupSubgroups
;
5173 VkShaderStageFlags requiredSubgroupSizeStages
;
5174 } VkPhysicalDeviceSubgroupSizeControlProperties32
;
5175 typedef VkPhysicalDeviceSubgroupSizeControlProperties32 VkPhysicalDeviceSubgroupSizeControlPropertiesEXT32
;
5177 typedef struct VkPhysicalDeviceSubpassShadingPropertiesHUAWEI32
5179 VkStructureType sType
;
5181 uint32_t maxSubpassShadingWorkgroupSizeAspectRatio
;
5182 } VkPhysicalDeviceSubpassShadingPropertiesHUAWEI32
;
5184 typedef struct VkPhysicalDeviceLineRasterizationPropertiesEXT32
5186 VkStructureType sType
;
5188 uint32_t lineSubPixelPrecisionBits
;
5189 } VkPhysicalDeviceLineRasterizationPropertiesEXT32
;
5191 typedef struct VkPhysicalDeviceVulkan11Properties32
5193 VkStructureType sType
;
5195 uint8_t deviceUUID
[VK_UUID_SIZE
];
5196 uint8_t driverUUID
[VK_UUID_SIZE
];
5197 uint8_t deviceLUID
[VK_LUID_SIZE
];
5198 uint32_t deviceNodeMask
;
5199 VkBool32 deviceLUIDValid
;
5200 uint32_t subgroupSize
;
5201 VkShaderStageFlags subgroupSupportedStages
;
5202 VkSubgroupFeatureFlags subgroupSupportedOperations
;
5203 VkBool32 subgroupQuadOperationsInAllStages
;
5204 VkPointClippingBehavior pointClippingBehavior
;
5205 uint32_t maxMultiviewViewCount
;
5206 uint32_t maxMultiviewInstanceIndex
;
5207 VkBool32 protectedNoFault
;
5208 uint32_t maxPerSetDescriptors
;
5209 VkDeviceSize
DECLSPEC_ALIGN(8) maxMemoryAllocationSize
;
5210 } VkPhysicalDeviceVulkan11Properties32
;
5212 typedef struct VkPhysicalDeviceVulkan12Properties32
5214 VkStructureType sType
;
5216 VkDriverId driverID
;
5217 char driverName
[VK_MAX_DRIVER_NAME_SIZE
];
5218 char driverInfo
[VK_MAX_DRIVER_INFO_SIZE
];
5219 VkConformanceVersion conformanceVersion
;
5220 VkShaderFloatControlsIndependence denormBehaviorIndependence
;
5221 VkShaderFloatControlsIndependence roundingModeIndependence
;
5222 VkBool32 shaderSignedZeroInfNanPreserveFloat16
;
5223 VkBool32 shaderSignedZeroInfNanPreserveFloat32
;
5224 VkBool32 shaderSignedZeroInfNanPreserveFloat64
;
5225 VkBool32 shaderDenormPreserveFloat16
;
5226 VkBool32 shaderDenormPreserveFloat32
;
5227 VkBool32 shaderDenormPreserveFloat64
;
5228 VkBool32 shaderDenormFlushToZeroFloat16
;
5229 VkBool32 shaderDenormFlushToZeroFloat32
;
5230 VkBool32 shaderDenormFlushToZeroFloat64
;
5231 VkBool32 shaderRoundingModeRTEFloat16
;
5232 VkBool32 shaderRoundingModeRTEFloat32
;
5233 VkBool32 shaderRoundingModeRTEFloat64
;
5234 VkBool32 shaderRoundingModeRTZFloat16
;
5235 VkBool32 shaderRoundingModeRTZFloat32
;
5236 VkBool32 shaderRoundingModeRTZFloat64
;
5237 uint32_t maxUpdateAfterBindDescriptorsInAllPools
;
5238 VkBool32 shaderUniformBufferArrayNonUniformIndexingNative
;
5239 VkBool32 shaderSampledImageArrayNonUniformIndexingNative
;
5240 VkBool32 shaderStorageBufferArrayNonUniformIndexingNative
;
5241 VkBool32 shaderStorageImageArrayNonUniformIndexingNative
;
5242 VkBool32 shaderInputAttachmentArrayNonUniformIndexingNative
;
5243 VkBool32 robustBufferAccessUpdateAfterBind
;
5244 VkBool32 quadDivergentImplicitLod
;
5245 uint32_t maxPerStageDescriptorUpdateAfterBindSamplers
;
5246 uint32_t maxPerStageDescriptorUpdateAfterBindUniformBuffers
;
5247 uint32_t maxPerStageDescriptorUpdateAfterBindStorageBuffers
;
5248 uint32_t maxPerStageDescriptorUpdateAfterBindSampledImages
;
5249 uint32_t maxPerStageDescriptorUpdateAfterBindStorageImages
;
5250 uint32_t maxPerStageDescriptorUpdateAfterBindInputAttachments
;
5251 uint32_t maxPerStageUpdateAfterBindResources
;
5252 uint32_t maxDescriptorSetUpdateAfterBindSamplers
;
5253 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffers
;
5254 uint32_t maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
;
5255 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffers
;
5256 uint32_t maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
;
5257 uint32_t maxDescriptorSetUpdateAfterBindSampledImages
;
5258 uint32_t maxDescriptorSetUpdateAfterBindStorageImages
;
5259 uint32_t maxDescriptorSetUpdateAfterBindInputAttachments
;
5260 VkResolveModeFlags supportedDepthResolveModes
;
5261 VkResolveModeFlags supportedStencilResolveModes
;
5262 VkBool32 independentResolveNone
;
5263 VkBool32 independentResolve
;
5264 VkBool32 filterMinmaxSingleComponentFormats
;
5265 VkBool32 filterMinmaxImageComponentMapping
;
5266 uint64_t DECLSPEC_ALIGN(8) maxTimelineSemaphoreValueDifference
;
5267 VkSampleCountFlags framebufferIntegerColorSampleCounts
;
5268 } VkPhysicalDeviceVulkan12Properties32
;
5270 typedef struct VkPhysicalDeviceVulkan13Properties32
5272 VkStructureType sType
;
5274 uint32_t minSubgroupSize
;
5275 uint32_t maxSubgroupSize
;
5276 uint32_t maxComputeWorkgroupSubgroups
;
5277 VkShaderStageFlags requiredSubgroupSizeStages
;
5278 uint32_t maxInlineUniformBlockSize
;
5279 uint32_t maxPerStageDescriptorInlineUniformBlocks
;
5280 uint32_t maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
;
5281 uint32_t maxDescriptorSetInlineUniformBlocks
;
5282 uint32_t maxDescriptorSetUpdateAfterBindInlineUniformBlocks
;
5283 uint32_t maxInlineUniformTotalSize
;
5284 VkBool32 integerDotProduct8BitUnsignedAccelerated
;
5285 VkBool32 integerDotProduct8BitSignedAccelerated
;
5286 VkBool32 integerDotProduct8BitMixedSignednessAccelerated
;
5287 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated
;
5288 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated
;
5289 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated
;
5290 VkBool32 integerDotProduct16BitUnsignedAccelerated
;
5291 VkBool32 integerDotProduct16BitSignedAccelerated
;
5292 VkBool32 integerDotProduct16BitMixedSignednessAccelerated
;
5293 VkBool32 integerDotProduct32BitUnsignedAccelerated
;
5294 VkBool32 integerDotProduct32BitSignedAccelerated
;
5295 VkBool32 integerDotProduct32BitMixedSignednessAccelerated
;
5296 VkBool32 integerDotProduct64BitUnsignedAccelerated
;
5297 VkBool32 integerDotProduct64BitSignedAccelerated
;
5298 VkBool32 integerDotProduct64BitMixedSignednessAccelerated
;
5299 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
;
5300 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated
;
5301 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
;
5302 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
;
5303 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
;
5304 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
;
5305 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
;
5306 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated
;
5307 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
;
5308 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
;
5309 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated
;
5310 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
;
5311 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
;
5312 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated
;
5313 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
;
5314 VkDeviceSize
DECLSPEC_ALIGN(8) storageTexelBufferOffsetAlignmentBytes
;
5315 VkBool32 storageTexelBufferOffsetSingleTexelAlignment
;
5316 VkDeviceSize
DECLSPEC_ALIGN(8) uniformTexelBufferOffsetAlignmentBytes
;
5317 VkBool32 uniformTexelBufferOffsetSingleTexelAlignment
;
5318 VkDeviceSize
DECLSPEC_ALIGN(8) maxBufferSize
;
5319 } VkPhysicalDeviceVulkan13Properties32
;
5321 typedef struct VkPhysicalDeviceCustomBorderColorPropertiesEXT32
5323 VkStructureType sType
;
5325 uint32_t maxCustomBorderColorSamplers
;
5326 } VkPhysicalDeviceCustomBorderColorPropertiesEXT32
;
5328 typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT32
5330 VkStructureType sType
;
5332 VkBool32 dynamicPrimitiveTopologyUnrestricted
;
5333 } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT32
;
5335 typedef struct VkPhysicalDeviceRobustness2PropertiesEXT32
5337 VkStructureType sType
;
5339 VkDeviceSize
DECLSPEC_ALIGN(8) robustStorageBufferAccessSizeAlignment
;
5340 VkDeviceSize
DECLSPEC_ALIGN(8) robustUniformBufferAccessSizeAlignment
;
5341 } VkPhysicalDeviceRobustness2PropertiesEXT32
;
5343 typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR32
5345 VkStructureType sType
;
5347 VkExtent2D minFragmentShadingRateAttachmentTexelSize
;
5348 VkExtent2D maxFragmentShadingRateAttachmentTexelSize
;
5349 uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio
;
5350 VkBool32 primitiveFragmentShadingRateWithMultipleViewports
;
5351 VkBool32 layeredShadingRateAttachments
;
5352 VkBool32 fragmentShadingRateNonTrivialCombinerOps
;
5353 VkExtent2D maxFragmentSize
;
5354 uint32_t maxFragmentSizeAspectRatio
;
5355 uint32_t maxFragmentShadingRateCoverageSamples
;
5356 VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples
;
5357 VkBool32 fragmentShadingRateWithShaderDepthStencilWrites
;
5358 VkBool32 fragmentShadingRateWithSampleMask
;
5359 VkBool32 fragmentShadingRateWithShaderSampleMask
;
5360 VkBool32 fragmentShadingRateWithConservativeRasterization
;
5361 VkBool32 fragmentShadingRateWithFragmentShaderInterlock
;
5362 VkBool32 fragmentShadingRateWithCustomSampleLocations
;
5363 VkBool32 fragmentShadingRateStrictMultiplyCombiner
;
5364 } VkPhysicalDeviceFragmentShadingRatePropertiesKHR32
;
5366 typedef struct VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV32
5368 VkStructureType sType
;
5370 VkSampleCountFlagBits maxFragmentShadingRateInvocationCount
;
5371 } VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV32
;
5373 typedef struct VkPhysicalDeviceProvokingVertexPropertiesEXT32
5375 VkStructureType sType
;
5377 VkBool32 provokingVertexModePerPipeline
;
5378 VkBool32 transformFeedbackPreservesTriangleFanProvokingVertex
;
5379 } VkPhysicalDeviceProvokingVertexPropertiesEXT32
;
5381 typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT32
5383 VkStructureType sType
;
5385 VkBool32 combinedImageSamplerDescriptorSingleArray
;
5386 VkBool32 bufferlessPushDescriptors
;
5387 VkBool32 allowSamplerImageViewPostSubmitCreation
;
5388 VkDeviceSize
DECLSPEC_ALIGN(8) descriptorBufferOffsetAlignment
;
5389 uint32_t maxDescriptorBufferBindings
;
5390 uint32_t maxResourceDescriptorBufferBindings
;
5391 uint32_t maxSamplerDescriptorBufferBindings
;
5392 uint32_t maxEmbeddedImmutableSamplerBindings
;
5393 uint32_t maxEmbeddedImmutableSamplers
;
5394 PTR32 bufferCaptureReplayDescriptorDataSize
;
5395 PTR32 imageCaptureReplayDescriptorDataSize
;
5396 PTR32 imageViewCaptureReplayDescriptorDataSize
;
5397 PTR32 samplerCaptureReplayDescriptorDataSize
;
5398 PTR32 accelerationStructureCaptureReplayDescriptorDataSize
;
5399 PTR32 samplerDescriptorSize
;
5400 PTR32 combinedImageSamplerDescriptorSize
;
5401 PTR32 sampledImageDescriptorSize
;
5402 PTR32 storageImageDescriptorSize
;
5403 PTR32 uniformTexelBufferDescriptorSize
;
5404 PTR32 robustUniformTexelBufferDescriptorSize
;
5405 PTR32 storageTexelBufferDescriptorSize
;
5406 PTR32 robustStorageTexelBufferDescriptorSize
;
5407 PTR32 uniformBufferDescriptorSize
;
5408 PTR32 robustUniformBufferDescriptorSize
;
5409 PTR32 storageBufferDescriptorSize
;
5410 PTR32 robustStorageBufferDescriptorSize
;
5411 PTR32 inputAttachmentDescriptorSize
;
5412 PTR32 accelerationStructureDescriptorSize
;
5413 VkDeviceSize
DECLSPEC_ALIGN(8) maxSamplerDescriptorBufferRange
;
5414 VkDeviceSize
DECLSPEC_ALIGN(8) maxResourceDescriptorBufferRange
;
5415 VkDeviceSize
DECLSPEC_ALIGN(8) samplerDescriptorBufferAddressSpaceSize
;
5416 VkDeviceSize
DECLSPEC_ALIGN(8) resourceDescriptorBufferAddressSpaceSize
;
5417 VkDeviceSize
DECLSPEC_ALIGN(8) descriptorBufferAddressSpaceSize
;
5418 } VkPhysicalDeviceDescriptorBufferPropertiesEXT32
;
5420 typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT32
5422 VkStructureType sType
;
5424 PTR32 combinedImageSamplerDensityMapDescriptorSize
;
5425 } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT32
;
5427 typedef struct VkPhysicalDeviceShaderIntegerDotProductProperties32
5429 VkStructureType sType
;
5431 VkBool32 integerDotProduct8BitUnsignedAccelerated
;
5432 VkBool32 integerDotProduct8BitSignedAccelerated
;
5433 VkBool32 integerDotProduct8BitMixedSignednessAccelerated
;
5434 VkBool32 integerDotProduct4x8BitPackedUnsignedAccelerated
;
5435 VkBool32 integerDotProduct4x8BitPackedSignedAccelerated
;
5436 VkBool32 integerDotProduct4x8BitPackedMixedSignednessAccelerated
;
5437 VkBool32 integerDotProduct16BitUnsignedAccelerated
;
5438 VkBool32 integerDotProduct16BitSignedAccelerated
;
5439 VkBool32 integerDotProduct16BitMixedSignednessAccelerated
;
5440 VkBool32 integerDotProduct32BitUnsignedAccelerated
;
5441 VkBool32 integerDotProduct32BitSignedAccelerated
;
5442 VkBool32 integerDotProduct32BitMixedSignednessAccelerated
;
5443 VkBool32 integerDotProduct64BitUnsignedAccelerated
;
5444 VkBool32 integerDotProduct64BitSignedAccelerated
;
5445 VkBool32 integerDotProduct64BitMixedSignednessAccelerated
;
5446 VkBool32 integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
;
5447 VkBool32 integerDotProductAccumulatingSaturating8BitSignedAccelerated
;
5448 VkBool32 integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
;
5449 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
;
5450 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
;
5451 VkBool32 integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
;
5452 VkBool32 integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
;
5453 VkBool32 integerDotProductAccumulatingSaturating16BitSignedAccelerated
;
5454 VkBool32 integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
;
5455 VkBool32 integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
;
5456 VkBool32 integerDotProductAccumulatingSaturating32BitSignedAccelerated
;
5457 VkBool32 integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
;
5458 VkBool32 integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
;
5459 VkBool32 integerDotProductAccumulatingSaturating64BitSignedAccelerated
;
5460 VkBool32 integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
;
5461 } VkPhysicalDeviceShaderIntegerDotProductProperties32
;
5462 typedef VkPhysicalDeviceShaderIntegerDotProductProperties32 VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR32
;
5464 typedef struct VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR32
5466 VkStructureType sType
;
5468 VkBool32 triStripVertexOrderIndependentOfProvokingVertex
;
5469 } VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR32
;
5471 typedef struct VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT32
5473 VkStructureType sType
;
5475 VkBool32 graphicsPipelineLibraryFastLinking
;
5476 VkBool32 graphicsPipelineLibraryIndependentInterpolationDecoration
;
5477 } VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT32
;
5479 typedef struct VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT32
5481 VkStructureType sType
;
5483 uint8_t shaderModuleIdentifierAlgorithmUUID
[VK_UUID_SIZE
];
5484 } VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT32
;
5486 typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT32
5488 VkStructureType sType
;
5490 uint32_t maxOpacity2StateSubdivisionLevel
;
5491 uint32_t maxOpacity4StateSubdivisionLevel
;
5492 } VkPhysicalDeviceOpacityMicromapPropertiesEXT32
;
5494 typedef struct VkPhysicalDevicePipelineRobustnessPropertiesEXT32
5496 VkStructureType sType
;
5498 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessStorageBuffers
;
5499 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessUniformBuffers
;
5500 VkPipelineRobustnessBufferBehaviorEXT defaultRobustnessVertexInputs
;
5501 VkPipelineRobustnessImageBehaviorEXT defaultRobustnessImages
;
5502 } VkPhysicalDevicePipelineRobustnessPropertiesEXT32
;
5504 typedef struct VkPhysicalDeviceImageProcessingPropertiesQCOM32
5506 VkStructureType sType
;
5508 uint32_t maxWeightFilterPhases
;
5509 VkExtent2D maxWeightFilterDimension
;
5510 VkExtent2D maxBlockMatchRegion
;
5511 VkExtent2D maxBoxFilterBlockSize
;
5512 } VkPhysicalDeviceImageProcessingPropertiesQCOM32
;
5514 typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV32
5516 VkStructureType sType
;
5518 VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes
;
5519 VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes
;
5520 VkBool32 hintSupported
;
5521 VkBool32 costSupported
;
5522 VkBool32 bidirectionalFlowSupported
;
5523 VkBool32 globalFlowSupported
;
5528 uint32_t maxNumRegionsOfInterest
;
5529 } VkPhysicalDeviceOpticalFlowPropertiesNV32
;
5531 typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM32
5533 VkStructureType sType
;
5535 uint64_t DECLSPEC_ALIGN(8) shaderCoreMask
;
5536 uint32_t shaderCoreCount
;
5537 uint32_t shaderWarpsPerCore
;
5538 } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM32
;
5540 typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV32
5542 VkStructureType sType
;
5544 VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint
;
5545 } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV32
;
5547 typedef struct VkPhysicalDeviceProperties232
5549 VkStructureType sType
;
5551 VkPhysicalDeviceProperties32
DECLSPEC_ALIGN(8) properties
;
5552 } VkPhysicalDeviceProperties232
;
5553 typedef VkPhysicalDeviceProperties232 VkPhysicalDeviceProperties2KHR32
;
5555 typedef struct VkQueueFamilyGlobalPriorityPropertiesKHR32
5557 VkStructureType sType
;
5559 uint32_t priorityCount
;
5560 VkQueueGlobalPriorityKHR priorities
[VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
];
5561 } VkQueueFamilyGlobalPriorityPropertiesKHR32
;
5562 typedef VkQueueFamilyGlobalPriorityPropertiesKHR32 VkQueueFamilyGlobalPriorityPropertiesEXT32
;
5564 typedef struct VkQueueFamilyCheckpointPropertiesNV32
5566 VkStructureType sType
;
5568 VkPipelineStageFlags checkpointExecutionStageMask
;
5569 } VkQueueFamilyCheckpointPropertiesNV32
;
5571 typedef struct VkQueueFamilyCheckpointProperties2NV32
5573 VkStructureType sType
;
5575 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) checkpointExecutionStageMask
;
5576 } VkQueueFamilyCheckpointProperties2NV32
;
5578 typedef struct VkQueueFamilyProperties232
5580 VkStructureType sType
;
5582 VkQueueFamilyProperties queueFamilyProperties
;
5583 } VkQueueFamilyProperties232
;
5584 typedef VkQueueFamilyProperties232 VkQueueFamilyProperties2KHR32
;
5586 typedef struct VkPhysicalDeviceSparseImageFormatInfo232
5588 VkStructureType sType
;
5592 VkSampleCountFlagBits samples
;
5593 VkImageUsageFlags usage
;
5594 VkImageTiling tiling
;
5595 } VkPhysicalDeviceSparseImageFormatInfo232
;
5596 typedef VkPhysicalDeviceSparseImageFormatInfo232 VkPhysicalDeviceSparseImageFormatInfo2KHR32
;
5598 typedef struct VkSparseImageFormatProperties232
5600 VkStructureType sType
;
5602 VkSparseImageFormatProperties properties
;
5603 } VkSparseImageFormatProperties232
;
5604 typedef VkSparseImageFormatProperties232 VkSparseImageFormatProperties2KHR32
;
5606 typedef struct VkFramebufferMixedSamplesCombinationNV32
5608 VkStructureType sType
;
5610 VkCoverageReductionModeNV coverageReductionMode
;
5611 VkSampleCountFlagBits rasterizationSamples
;
5612 VkSampleCountFlags depthStencilSamples
;
5613 VkSampleCountFlags colorSamples
;
5614 } VkFramebufferMixedSamplesCombinationNV32
;
5616 typedef struct VkPhysicalDeviceSurfaceInfo2KHR32
5618 VkStructureType sType
;
5620 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
5621 } VkPhysicalDeviceSurfaceInfo2KHR32
;
5623 typedef struct VkSurfaceCapabilitiesPresentBarrierNV32
5625 VkStructureType sType
;
5627 VkBool32 presentBarrierSupported
;
5628 } VkSurfaceCapabilitiesPresentBarrierNV32
;
5630 typedef struct VkSurfaceCapabilities2KHR32
5632 VkStructureType sType
;
5634 VkSurfaceCapabilitiesKHR surfaceCapabilities
;
5635 } VkSurfaceCapabilities2KHR32
;
5637 typedef struct VkSurfaceFormat2KHR32
5639 VkStructureType sType
;
5641 VkSurfaceFormatKHR surfaceFormat
;
5642 } VkSurfaceFormat2KHR32
;
5644 typedef struct VkPhysicalDeviceToolProperties32
5646 VkStructureType sType
;
5648 char name
[VK_MAX_EXTENSION_NAME_SIZE
];
5649 char version
[VK_MAX_EXTENSION_NAME_SIZE
];
5650 VkToolPurposeFlags purposes
;
5651 char description
[VK_MAX_DESCRIPTION_SIZE
];
5652 char layer
[VK_MAX_EXTENSION_NAME_SIZE
];
5653 } VkPhysicalDeviceToolProperties32
;
5654 typedef VkPhysicalDeviceToolProperties32 VkPhysicalDeviceToolPropertiesEXT32
;
5656 typedef struct VkPipelineExecutableInfoKHR32
5658 VkStructureType sType
;
5660 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
5661 uint32_t executableIndex
;
5662 } VkPipelineExecutableInfoKHR32
;
5664 typedef struct VkPipelineExecutableInternalRepresentationKHR32
5666 VkStructureType sType
;
5668 char name
[VK_MAX_DESCRIPTION_SIZE
];
5669 char description
[VK_MAX_DESCRIPTION_SIZE
];
5673 } VkPipelineExecutableInternalRepresentationKHR32
;
5675 typedef struct VkPipelineInfoKHR32
5677 VkStructureType sType
;
5679 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
5680 } VkPipelineInfoKHR32
;
5681 typedef VkPipelineInfoKHR32 VkPipelineInfoEXT32
;
5683 typedef struct VkPipelineExecutablePropertiesKHR32
5685 VkStructureType sType
;
5687 VkShaderStageFlags stages
;
5688 char name
[VK_MAX_DESCRIPTION_SIZE
];
5689 char description
[VK_MAX_DESCRIPTION_SIZE
];
5690 uint32_t subgroupSize
;
5691 } VkPipelineExecutablePropertiesKHR32
;
5693 typedef union VkPipelineExecutableStatisticValueKHR32
5697 uint64_t DECLSPEC_ALIGN(8) u64
;
5699 } VkPipelineExecutableStatisticValueKHR32
;
5701 typedef struct VkPipelineExecutableStatisticKHR32
5703 VkStructureType sType
;
5705 char name
[VK_MAX_DESCRIPTION_SIZE
];
5706 char description
[VK_MAX_DESCRIPTION_SIZE
];
5707 VkPipelineExecutableStatisticFormatKHR format
;
5708 VkPipelineExecutableStatisticValueKHR32
DECLSPEC_ALIGN(8) value
;
5709 } VkPipelineExecutableStatisticKHR32
;
5712 typedef struct VkCheckpointData2NV32
5714 VkStructureType sType
;
5716 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) stage
;
5717 PTR32 pCheckpointMarker
;
5718 } VkCheckpointData2NV32
;
5720 typedef struct VkCheckpointDataNV32
5722 VkStructureType sType
;
5724 VkPipelineStageFlagBits stage
;
5725 PTR32 pCheckpointMarker
;
5726 } VkCheckpointDataNV32
;
5728 typedef struct VkSamplerCaptureDescriptorDataInfoEXT32
5730 VkStructureType sType
;
5732 VkSampler
DECLSPEC_ALIGN(8) sampler
;
5733 } VkSamplerCaptureDescriptorDataInfoEXT32
;
5735 typedef struct VkShaderModuleIdentifierEXT32
5737 VkStructureType sType
;
5739 uint32_t identifierSize
;
5740 uint8_t identifier
[VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT
];
5741 } VkShaderModuleIdentifierEXT32
;
5743 typedef struct VkInitializePerformanceApiInfoINTEL32
5745 VkStructureType sType
;
5748 } VkInitializePerformanceApiInfoINTEL32
;
5750 typedef struct VkSparseMemoryBind32
5752 VkDeviceSize
DECLSPEC_ALIGN(8) resourceOffset
;
5753 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
5754 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
5755 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
5756 VkSparseMemoryBindFlags flags
;
5757 } VkSparseMemoryBind32
;
5759 typedef struct VkSparseBufferMemoryBindInfo32
5761 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
5764 } VkSparseBufferMemoryBindInfo32
;
5766 typedef struct VkSparseImageOpaqueMemoryBindInfo32
5768 VkImage
DECLSPEC_ALIGN(8) image
;
5771 } VkSparseImageOpaqueMemoryBindInfo32
;
5773 typedef struct VkSparseImageMemoryBind32
5775 VkImageSubresource subresource
;
5778 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
5779 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
5780 VkSparseMemoryBindFlags flags
;
5781 } VkSparseImageMemoryBind32
;
5783 typedef struct VkSparseImageMemoryBindInfo32
5785 VkImage
DECLSPEC_ALIGN(8) image
;
5788 } VkSparseImageMemoryBindInfo32
;
5790 typedef struct VkDeviceGroupBindSparseInfo32
5792 VkStructureType sType
;
5794 uint32_t resourceDeviceIndex
;
5795 uint32_t memoryDeviceIndex
;
5796 } VkDeviceGroupBindSparseInfo32
;
5797 typedef VkDeviceGroupBindSparseInfo32 VkDeviceGroupBindSparseInfoKHR32
;
5799 typedef struct VkTimelineSemaphoreSubmitInfo32
5801 VkStructureType sType
;
5803 uint32_t waitSemaphoreValueCount
;
5804 PTR32 pWaitSemaphoreValues
;
5805 uint32_t signalSemaphoreValueCount
;
5806 PTR32 pSignalSemaphoreValues
;
5807 } VkTimelineSemaphoreSubmitInfo32
;
5808 typedef VkTimelineSemaphoreSubmitInfo32 VkTimelineSemaphoreSubmitInfoKHR32
;
5810 typedef struct VkBindSparseInfo32
5812 VkStructureType sType
;
5814 uint32_t waitSemaphoreCount
;
5815 PTR32 pWaitSemaphores
;
5816 uint32_t bufferBindCount
;
5818 uint32_t imageOpaqueBindCount
;
5819 PTR32 pImageOpaqueBinds
;
5820 uint32_t imageBindCount
;
5822 uint32_t signalSemaphoreCount
;
5823 PTR32 pSignalSemaphores
;
5824 } VkBindSparseInfo32
;
5826 typedef struct VkPresentRegionKHR32
5828 uint32_t rectangleCount
;
5830 } VkPresentRegionKHR32
;
5832 typedef struct VkPresentRegionsKHR32
5834 VkStructureType sType
;
5836 uint32_t swapchainCount
;
5838 } VkPresentRegionsKHR32
;
5840 typedef struct VkDeviceGroupPresentInfoKHR32
5842 VkStructureType sType
;
5844 uint32_t swapchainCount
;
5846 VkDeviceGroupPresentModeFlagBitsKHR mode
;
5847 } VkDeviceGroupPresentInfoKHR32
;
5849 typedef struct VkPresentIdKHR32
5851 VkStructureType sType
;
5853 uint32_t swapchainCount
;
5857 typedef struct VkPresentInfoKHR32
5859 VkStructureType sType
;
5861 uint32_t waitSemaphoreCount
;
5862 PTR32 pWaitSemaphores
;
5863 uint32_t swapchainCount
;
5865 PTR32 pImageIndices
;
5867 } VkPresentInfoKHR32
;
5869 typedef struct VkDeviceGroupSubmitInfo32
5871 VkStructureType sType
;
5873 uint32_t waitSemaphoreCount
;
5874 PTR32 pWaitSemaphoreDeviceIndices
;
5875 uint32_t commandBufferCount
;
5876 PTR32 pCommandBufferDeviceMasks
;
5877 uint32_t signalSemaphoreCount
;
5878 PTR32 pSignalSemaphoreDeviceIndices
;
5879 } VkDeviceGroupSubmitInfo32
;
5880 typedef VkDeviceGroupSubmitInfo32 VkDeviceGroupSubmitInfoKHR32
;
5882 typedef struct VkProtectedSubmitInfo32
5884 VkStructureType sType
;
5886 VkBool32 protectedSubmit
;
5887 } VkProtectedSubmitInfo32
;
5889 typedef struct VkPerformanceQuerySubmitInfoKHR32
5891 VkStructureType sType
;
5893 uint32_t counterPassIndex
;
5894 } VkPerformanceQuerySubmitInfoKHR32
;
5896 typedef struct VkSubmitInfo32
5898 VkStructureType sType
;
5900 uint32_t waitSemaphoreCount
;
5901 PTR32 pWaitSemaphores
;
5902 PTR32 pWaitDstStageMask
;
5903 uint32_t commandBufferCount
;
5904 PTR32 pCommandBuffers
;
5905 uint32_t signalSemaphoreCount
;
5906 PTR32 pSignalSemaphores
;
5909 typedef struct VkSemaphoreSubmitInfo32
5911 VkStructureType sType
;
5913 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
5914 uint64_t DECLSPEC_ALIGN(8) value
;
5915 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) stageMask
;
5916 uint32_t deviceIndex
;
5917 } VkSemaphoreSubmitInfo32
;
5918 typedef VkSemaphoreSubmitInfo32 VkSemaphoreSubmitInfoKHR32
;
5920 typedef struct VkCommandBufferSubmitInfo32
5922 VkStructureType sType
;
5924 PTR32 commandBuffer
;
5925 uint32_t deviceMask
;
5926 } VkCommandBufferSubmitInfo32
;
5927 typedef VkCommandBufferSubmitInfo32 VkCommandBufferSubmitInfoKHR32
;
5929 typedef struct VkSubmitInfo232
5931 VkStructureType sType
;
5933 VkSubmitFlags flags
;
5934 uint32_t waitSemaphoreInfoCount
;
5935 PTR32 pWaitSemaphoreInfos
;
5936 uint32_t commandBufferInfoCount
;
5937 PTR32 pCommandBufferInfos
;
5938 uint32_t signalSemaphoreInfoCount
;
5939 PTR32 pSignalSemaphoreInfos
;
5941 typedef VkSubmitInfo232 VkSubmitInfo2KHR32
;
5943 typedef struct VkDebugUtilsObjectTagInfoEXT32
5945 VkStructureType sType
;
5947 VkObjectType objectType
;
5948 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
5949 uint64_t DECLSPEC_ALIGN(8) tagName
;
5952 } VkDebugUtilsObjectTagInfoEXT32
;
5954 typedef struct VkSemaphoreSignalInfo32
5956 VkStructureType sType
;
5958 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
5959 uint64_t DECLSPEC_ALIGN(8) value
;
5960 } VkSemaphoreSignalInfo32
;
5961 typedef VkSemaphoreSignalInfo32 VkSemaphoreSignalInfoKHR32
;
5963 typedef struct VkDeviceAddressBindingCallbackDataEXT32
5965 VkStructureType sType
;
5967 VkDeviceAddressBindingFlagsEXT flags
;
5968 VkDeviceAddress
DECLSPEC_ALIGN(8) baseAddress
;
5969 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
5970 VkDeviceAddressBindingTypeEXT bindingType
;
5971 } VkDeviceAddressBindingCallbackDataEXT32
;
5973 typedef struct VkDebugUtilsMessengerCallbackDataEXT32
5975 VkStructureType sType
;
5977 VkDebugUtilsMessengerCallbackDataFlagsEXT flags
;
5978 PTR32 pMessageIdName
;
5979 int32_t messageIdNumber
;
5981 uint32_t queueLabelCount
;
5983 uint32_t cmdBufLabelCount
;
5984 PTR32 pCmdBufLabels
;
5985 uint32_t objectCount
;
5987 } VkDebugUtilsMessengerCallbackDataEXT32
;
5989 typedef struct VkCopyDescriptorSet32
5991 VkStructureType sType
;
5993 VkDescriptorSet
DECLSPEC_ALIGN(8) srcSet
;
5994 uint32_t srcBinding
;
5995 uint32_t srcArrayElement
;
5996 VkDescriptorSet
DECLSPEC_ALIGN(8) dstSet
;
5997 uint32_t dstBinding
;
5998 uint32_t dstArrayElement
;
5999 uint32_t descriptorCount
;
6000 } VkCopyDescriptorSet32
;
6002 typedef struct VkSemaphoreWaitInfo32
6004 VkStructureType sType
;
6006 VkSemaphoreWaitFlags flags
;
6007 uint32_t semaphoreCount
;
6010 } VkSemaphoreWaitInfo32
;
6011 typedef VkSemaphoreWaitInfo32 VkSemaphoreWaitInfoKHR32
;
6013 static uint64_t wine_vk_unwrap_handle(uint32_t type
, uint64_t handle
)
6017 case VK_OBJECT_TYPE_COMMAND_BUFFER
:
6018 return (uint64_t) (uintptr_t) wine_cmd_buffer_from_handle(((VkCommandBuffer
) (uintptr_t) handle
))->command_buffer
;
6019 case VK_OBJECT_TYPE_COMMAND_POOL
:
6020 return (uint64_t) wine_cmd_pool_from_handle(handle
)->command_pool
;
6021 case VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
:
6022 return (uint64_t) wine_debug_report_callback_from_handle(handle
)->debug_callback
;
6023 case VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
:
6024 return (uint64_t) wine_debug_utils_messenger_from_handle(handle
)->debug_messenger
;
6025 case VK_OBJECT_TYPE_DEVICE
:
6026 return (uint64_t) (uintptr_t) wine_device_from_handle(((VkDevice
) (uintptr_t) handle
))->device
;
6027 case VK_OBJECT_TYPE_INSTANCE
:
6028 return (uint64_t) (uintptr_t) wine_instance_from_handle(((VkInstance
) (uintptr_t) handle
))->instance
;
6029 case VK_OBJECT_TYPE_PHYSICAL_DEVICE
:
6030 return (uint64_t) (uintptr_t) wine_phys_dev_from_handle(((VkPhysicalDevice
) (uintptr_t) handle
))->phys_dev
;
6031 case VK_OBJECT_TYPE_QUEUE
:
6032 return (uint64_t) (uintptr_t) wine_queue_from_handle(((VkQueue
) (uintptr_t) handle
))->queue
;
6033 case VK_OBJECT_TYPE_SURFACE_KHR
:
6034 return (uint64_t) wine_surface_from_handle(handle
)->surface
;
6040 static inline void convert_VkAcquireNextImageInfoKHR_win32_to_host(const VkAcquireNextImageInfoKHR32
*in
, VkAcquireNextImageInfoKHR
*out
)
6044 out
->sType
= in
->sType
;
6046 out
->swapchain
= in
->swapchain
;
6047 out
->timeout
= in
->timeout
;
6048 out
->semaphore
= in
->semaphore
;
6049 out
->fence
= in
->fence
;
6050 out
->deviceMask
= in
->deviceMask
;
6052 FIXME("Unexpected pNext\n");
6055 static inline void convert_VkPerformanceConfigurationAcquireInfoINTEL_win32_to_host(const VkPerformanceConfigurationAcquireInfoINTEL32
*in
, VkPerformanceConfigurationAcquireInfoINTEL
*out
)
6059 out
->sType
= in
->sType
;
6061 out
->type
= in
->type
;
6063 FIXME("Unexpected pNext\n");
6066 static inline void convert_VkAcquireProfilingLockInfoKHR_win32_to_host(const VkAcquireProfilingLockInfoKHR32
*in
, VkAcquireProfilingLockInfoKHR
*out
)
6070 out
->sType
= in
->sType
;
6072 out
->flags
= in
->flags
;
6073 out
->timeout
= in
->timeout
;
6075 FIXME("Unexpected pNext\n");
6078 static inline void convert_VkCommandBufferAllocateInfo_win32_to_unwrapped_host(const VkCommandBufferAllocateInfo32
*in
, VkCommandBufferAllocateInfo
*out
)
6082 out
->sType
= in
->sType
;
6084 out
->commandPool
= in
->commandPool
;
6085 out
->level
= in
->level
;
6086 out
->commandBufferCount
= in
->commandBufferCount
;
6088 FIXME("Unexpected pNext\n");
6091 static inline VkCommandBuffer
*convert_VkCommandBuffer_array_win32_to_unwrapped_host(struct conversion_context
*ctx
, const PTR32
*in
, uint32_t count
)
6093 VkCommandBuffer
*out
;
6096 if (!in
|| !count
) return NULL
;
6098 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6099 for (i
= 0; i
< count
; i
++)
6101 out
[i
] = UlongToPtr(in
[i
]);
6107 static inline void convert_VkDescriptorSetAllocateInfo_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorSetAllocateInfo32
*in
, VkDescriptorSetAllocateInfo
*out
)
6109 const VkBaseInStructure32
*in_header
;
6110 VkBaseOutStructure
*out_header
= (void *)out
;
6114 out
->sType
= in
->sType
;
6116 out
->descriptorPool
= in
->descriptorPool
;
6117 out
->descriptorSetCount
= in
->descriptorSetCount
;
6118 out
->pSetLayouts
= (const VkDescriptorSetLayout
*)UlongToPtr(in
->pSetLayouts
);
6120 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
6122 switch (in_header
->sType
)
6124 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO
:
6126 VkDescriptorSetVariableDescriptorCountAllocateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6127 const VkDescriptorSetVariableDescriptorCountAllocateInfo32
*in_ext
= (const VkDescriptorSetVariableDescriptorCountAllocateInfo32
*)in_header
;
6128 out_ext
->sType
= VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO
;
6129 out_ext
->pNext
= NULL
;
6130 out_ext
->descriptorSetCount
= in_ext
->descriptorSetCount
;
6131 out_ext
->pDescriptorCounts
= (const uint32_t *)UlongToPtr(in_ext
->pDescriptorCounts
);
6132 out_header
->pNext
= (void *)out_ext
;
6133 out_header
= (void *)out_ext
;
6137 FIXME("Unhandled sType %u.", in_header
->sType
);
6143 static inline void convert_VkMemoryAllocateInfo_win32_to_host(struct conversion_context
*ctx
, const VkMemoryAllocateInfo32
*in
, VkMemoryAllocateInfo
*out
)
6145 const VkBaseInStructure32
*in_header
;
6146 VkBaseOutStructure
*out_header
= (void *)out
;
6150 out
->sType
= in
->sType
;
6152 out
->allocationSize
= in
->allocationSize
;
6153 out
->memoryTypeIndex
= in
->memoryTypeIndex
;
6155 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
6157 switch (in_header
->sType
)
6159 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV
:
6161 VkDedicatedAllocationMemoryAllocateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6162 const VkDedicatedAllocationMemoryAllocateInfoNV32
*in_ext
= (const VkDedicatedAllocationMemoryAllocateInfoNV32
*)in_header
;
6163 out_ext
->sType
= VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV
;
6164 out_ext
->pNext
= NULL
;
6165 out_ext
->image
= in_ext
->image
;
6166 out_ext
->buffer
= in_ext
->buffer
;
6167 out_header
->pNext
= (void *)out_ext
;
6168 out_header
= (void *)out_ext
;
6171 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO
:
6173 VkExportMemoryAllocateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6174 const VkExportMemoryAllocateInfo32
*in_ext
= (const VkExportMemoryAllocateInfo32
*)in_header
;
6175 out_ext
->sType
= VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO
;
6176 out_ext
->pNext
= NULL
;
6177 out_ext
->handleTypes
= in_ext
->handleTypes
;
6178 out_header
->pNext
= (void *)out_ext
;
6179 out_header
= (void *)out_ext
;
6182 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR
:
6184 VkImportMemoryWin32HandleInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6185 const VkImportMemoryWin32HandleInfoKHR32
*in_ext
= (const VkImportMemoryWin32HandleInfoKHR32
*)in_header
;
6186 out_ext
->sType
= VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_KHR
;
6187 out_ext
->pNext
= NULL
;
6188 out_ext
->handleType
= in_ext
->handleType
;
6189 out_ext
->handle
= in_ext
->handle
;
6190 out_ext
->name
= in_ext
->name
;
6191 out_header
->pNext
= (void *)out_ext
;
6192 out_header
= (void *)out_ext
;
6195 case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR
:
6197 VkExportMemoryWin32HandleInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6198 const VkExportMemoryWin32HandleInfoKHR32
*in_ext
= (const VkExportMemoryWin32HandleInfoKHR32
*)in_header
;
6199 out_ext
->sType
= VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_KHR
;
6200 out_ext
->pNext
= NULL
;
6201 out_ext
->pAttributes
= (const SECURITY_ATTRIBUTES
*)UlongToPtr(in_ext
->pAttributes
);
6202 out_ext
->dwAccess
= in_ext
->dwAccess
;
6203 out_ext
->name
= in_ext
->name
;
6204 out_header
->pNext
= (void *)out_ext
;
6205 out_header
= (void *)out_ext
;
6208 case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO
:
6210 VkMemoryAllocateFlagsInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6211 const VkMemoryAllocateFlagsInfo32
*in_ext
= (const VkMemoryAllocateFlagsInfo32
*)in_header
;
6212 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO
;
6213 out_ext
->pNext
= NULL
;
6214 out_ext
->flags
= in_ext
->flags
;
6215 out_ext
->deviceMask
= in_ext
->deviceMask
;
6216 out_header
->pNext
= (void *)out_ext
;
6217 out_header
= (void *)out_ext
;
6220 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
:
6222 VkMemoryDedicatedAllocateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6223 const VkMemoryDedicatedAllocateInfo32
*in_ext
= (const VkMemoryDedicatedAllocateInfo32
*)in_header
;
6224 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO
;
6225 out_ext
->pNext
= NULL
;
6226 out_ext
->image
= in_ext
->image
;
6227 out_ext
->buffer
= in_ext
->buffer
;
6228 out_header
->pNext
= (void *)out_ext
;
6229 out_header
= (void *)out_ext
;
6232 case VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT
:
6234 VkImportMemoryHostPointerInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6235 const VkImportMemoryHostPointerInfoEXT32
*in_ext
= (const VkImportMemoryHostPointerInfoEXT32
*)in_header
;
6236 out_ext
->sType
= VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT
;
6237 out_ext
->pNext
= NULL
;
6238 out_ext
->handleType
= in_ext
->handleType
;
6239 out_ext
->pHostPointer
= (void *)UlongToPtr(in_ext
->pHostPointer
);
6240 out_header
->pNext
= (void *)out_ext
;
6241 out_header
= (void *)out_ext
;
6244 case VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT
:
6246 VkMemoryPriorityAllocateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6247 const VkMemoryPriorityAllocateInfoEXT32
*in_ext
= (const VkMemoryPriorityAllocateInfoEXT32
*)in_header
;
6248 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT
;
6249 out_ext
->pNext
= NULL
;
6250 out_ext
->priority
= in_ext
->priority
;
6251 out_header
->pNext
= (void *)out_ext
;
6252 out_header
= (void *)out_ext
;
6255 case VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO
:
6257 VkMemoryOpaqueCaptureAddressAllocateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6258 const VkMemoryOpaqueCaptureAddressAllocateInfo32
*in_ext
= (const VkMemoryOpaqueCaptureAddressAllocateInfo32
*)in_header
;
6259 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO
;
6260 out_ext
->pNext
= NULL
;
6261 out_ext
->opaqueCaptureAddress
= in_ext
->opaqueCaptureAddress
;
6262 out_header
->pNext
= (void *)out_ext
;
6263 out_header
= (void *)out_ext
;
6267 FIXME("Unhandled sType %u.", in_header
->sType
);
6273 static inline void convert_VkCommandBufferInheritanceInfo_win32_to_host(struct conversion_context
*ctx
, const VkCommandBufferInheritanceInfo32
*in
, VkCommandBufferInheritanceInfo
*out
)
6275 const VkBaseInStructure32
*in_header
;
6276 VkBaseOutStructure
*out_header
= (void *)out
;
6280 out
->sType
= in
->sType
;
6282 out
->renderPass
= in
->renderPass
;
6283 out
->subpass
= in
->subpass
;
6284 out
->framebuffer
= in
->framebuffer
;
6285 out
->occlusionQueryEnable
= in
->occlusionQueryEnable
;
6286 out
->queryFlags
= in
->queryFlags
;
6287 out
->pipelineStatistics
= in
->pipelineStatistics
;
6289 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
6291 switch (in_header
->sType
)
6293 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT
:
6295 VkCommandBufferInheritanceConditionalRenderingInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6296 const VkCommandBufferInheritanceConditionalRenderingInfoEXT32
*in_ext
= (const VkCommandBufferInheritanceConditionalRenderingInfoEXT32
*)in_header
;
6297 out_ext
->sType
= VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_CONDITIONAL_RENDERING_INFO_EXT
;
6298 out_ext
->pNext
= NULL
;
6299 out_ext
->conditionalRenderingEnable
= in_ext
->conditionalRenderingEnable
;
6300 out_header
->pNext
= (void *)out_ext
;
6301 out_header
= (void *)out_ext
;
6304 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM
:
6306 VkCommandBufferInheritanceRenderPassTransformInfoQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6307 const VkCommandBufferInheritanceRenderPassTransformInfoQCOM32
*in_ext
= (const VkCommandBufferInheritanceRenderPassTransformInfoQCOM32
*)in_header
;
6308 out_ext
->sType
= VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM
;
6309 out_ext
->pNext
= NULL
;
6310 out_ext
->transform
= in_ext
->transform
;
6311 out_ext
->renderArea
= in_ext
->renderArea
;
6312 out_header
->pNext
= (void *)out_ext
;
6313 out_header
= (void *)out_ext
;
6316 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV
:
6318 VkCommandBufferInheritanceViewportScissorInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6319 const VkCommandBufferInheritanceViewportScissorInfoNV32
*in_ext
= (const VkCommandBufferInheritanceViewportScissorInfoNV32
*)in_header
;
6320 out_ext
->sType
= VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV
;
6321 out_ext
->pNext
= NULL
;
6322 out_ext
->viewportScissor2D
= in_ext
->viewportScissor2D
;
6323 out_ext
->viewportDepthCount
= in_ext
->viewportDepthCount
;
6324 out_ext
->pViewportDepths
= (const VkViewport
*)UlongToPtr(in_ext
->pViewportDepths
);
6325 out_header
->pNext
= (void *)out_ext
;
6326 out_header
= (void *)out_ext
;
6329 case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO
:
6331 VkCommandBufferInheritanceRenderingInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6332 const VkCommandBufferInheritanceRenderingInfo32
*in_ext
= (const VkCommandBufferInheritanceRenderingInfo32
*)in_header
;
6333 out_ext
->sType
= VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO
;
6334 out_ext
->pNext
= NULL
;
6335 out_ext
->flags
= in_ext
->flags
;
6336 out_ext
->viewMask
= in_ext
->viewMask
;
6337 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
6338 out_ext
->pColorAttachmentFormats
= (const VkFormat
*)UlongToPtr(in_ext
->pColorAttachmentFormats
);
6339 out_ext
->depthAttachmentFormat
= in_ext
->depthAttachmentFormat
;
6340 out_ext
->stencilAttachmentFormat
= in_ext
->stencilAttachmentFormat
;
6341 out_ext
->rasterizationSamples
= in_ext
->rasterizationSamples
;
6342 out_header
->pNext
= (void *)out_ext
;
6343 out_header
= (void *)out_ext
;
6346 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
:
6348 VkAttachmentSampleCountInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6349 const VkAttachmentSampleCountInfoAMD32
*in_ext
= (const VkAttachmentSampleCountInfoAMD32
*)in_header
;
6350 out_ext
->sType
= VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
;
6351 out_ext
->pNext
= NULL
;
6352 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
6353 out_ext
->pColorAttachmentSamples
= (const VkSampleCountFlagBits
*)UlongToPtr(in_ext
->pColorAttachmentSamples
);
6354 out_ext
->depthStencilAttachmentSamples
= in_ext
->depthStencilAttachmentSamples
;
6355 out_header
->pNext
= (void *)out_ext
;
6356 out_header
= (void *)out_ext
;
6359 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
:
6361 VkMultiviewPerViewAttributesInfoNVX
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6362 const VkMultiviewPerViewAttributesInfoNVX32
*in_ext
= (const VkMultiviewPerViewAttributesInfoNVX32
*)in_header
;
6363 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
;
6364 out_ext
->pNext
= NULL
;
6365 out_ext
->perViewAttributes
= in_ext
->perViewAttributes
;
6366 out_ext
->perViewAttributesPositionXOnly
= in_ext
->perViewAttributesPositionXOnly
;
6367 out_header
->pNext
= (void *)out_ext
;
6368 out_header
= (void *)out_ext
;
6372 FIXME("Unhandled sType %u.", in_header
->sType
);
6378 static inline const VkCommandBufferInheritanceInfo
*convert_VkCommandBufferInheritanceInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkCommandBufferInheritanceInfo32
*in
, uint32_t count
)
6380 VkCommandBufferInheritanceInfo
*out
;
6383 if (!in
|| !count
) return NULL
;
6385 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6386 for (i
= 0; i
< count
; i
++)
6388 convert_VkCommandBufferInheritanceInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
6394 static inline void convert_VkCommandBufferBeginInfo_win32_to_host(struct conversion_context
*ctx
, const VkCommandBufferBeginInfo32
*in
, VkCommandBufferBeginInfo
*out
)
6396 const VkBaseInStructure32
*in_header
;
6397 VkBaseOutStructure
*out_header
= (void *)out
;
6401 out
->sType
= in
->sType
;
6403 out
->flags
= in
->flags
;
6404 out
->pInheritanceInfo
= convert_VkCommandBufferInheritanceInfo_array_win32_to_host(ctx
, (const VkCommandBufferInheritanceInfo32
*)UlongToPtr(in
->pInheritanceInfo
), 1);
6406 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
6408 switch (in_header
->sType
)
6410 case VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO
:
6412 VkDeviceGroupCommandBufferBeginInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6413 const VkDeviceGroupCommandBufferBeginInfo32
*in_ext
= (const VkDeviceGroupCommandBufferBeginInfo32
*)in_header
;
6414 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO
;
6415 out_ext
->pNext
= NULL
;
6416 out_ext
->deviceMask
= in_ext
->deviceMask
;
6417 out_header
->pNext
= (void *)out_ext
;
6418 out_header
= (void *)out_ext
;
6422 FIXME("Unhandled sType %u.", in_header
->sType
);
6428 static inline void convert_VkBindAccelerationStructureMemoryInfoNV_win32_to_host(const VkBindAccelerationStructureMemoryInfoNV32
*in
, VkBindAccelerationStructureMemoryInfoNV
*out
)
6432 out
->sType
= in
->sType
;
6434 out
->accelerationStructure
= in
->accelerationStructure
;
6435 out
->memory
= in
->memory
;
6436 out
->memoryOffset
= in
->memoryOffset
;
6437 out
->deviceIndexCount
= in
->deviceIndexCount
;
6438 out
->pDeviceIndices
= (const uint32_t *)UlongToPtr(in
->pDeviceIndices
);
6440 FIXME("Unexpected pNext\n");
6443 static inline const VkBindAccelerationStructureMemoryInfoNV
*convert_VkBindAccelerationStructureMemoryInfoNV_array_win32_to_host(struct conversion_context
*ctx
, const VkBindAccelerationStructureMemoryInfoNV32
*in
, uint32_t count
)
6445 VkBindAccelerationStructureMemoryInfoNV
*out
;
6448 if (!in
|| !count
) return NULL
;
6450 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6451 for (i
= 0; i
< count
; i
++)
6453 convert_VkBindAccelerationStructureMemoryInfoNV_win32_to_host(&in
[i
], &out
[i
]);
6459 static inline void convert_VkBindBufferMemoryInfo_win32_to_host(struct conversion_context
*ctx
, const VkBindBufferMemoryInfo32
*in
, VkBindBufferMemoryInfo
*out
)
6461 const VkBaseInStructure32
*in_header
;
6462 VkBaseOutStructure
*out_header
= (void *)out
;
6466 out
->sType
= in
->sType
;
6468 out
->buffer
= in
->buffer
;
6469 out
->memory
= in
->memory
;
6470 out
->memoryOffset
= in
->memoryOffset
;
6472 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
6474 switch (in_header
->sType
)
6476 case VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO
:
6478 VkBindBufferMemoryDeviceGroupInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6479 const VkBindBufferMemoryDeviceGroupInfo32
*in_ext
= (const VkBindBufferMemoryDeviceGroupInfo32
*)in_header
;
6480 out_ext
->sType
= VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO
;
6481 out_ext
->pNext
= NULL
;
6482 out_ext
->deviceIndexCount
= in_ext
->deviceIndexCount
;
6483 out_ext
->pDeviceIndices
= (const uint32_t *)UlongToPtr(in_ext
->pDeviceIndices
);
6484 out_header
->pNext
= (void *)out_ext
;
6485 out_header
= (void *)out_ext
;
6489 FIXME("Unhandled sType %u.", in_header
->sType
);
6495 static inline const VkBindBufferMemoryInfo
*convert_VkBindBufferMemoryInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkBindBufferMemoryInfo32
*in
, uint32_t count
)
6497 VkBindBufferMemoryInfo
*out
;
6500 if (!in
|| !count
) return NULL
;
6502 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6503 for (i
= 0; i
< count
; i
++)
6505 convert_VkBindBufferMemoryInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
6511 static inline void convert_VkBindImageMemoryInfo_win32_to_host(struct conversion_context
*ctx
, const VkBindImageMemoryInfo32
*in
, VkBindImageMemoryInfo
*out
)
6513 const VkBaseInStructure32
*in_header
;
6514 VkBaseOutStructure
*out_header
= (void *)out
;
6518 out
->sType
= in
->sType
;
6520 out
->image
= in
->image
;
6521 out
->memory
= in
->memory
;
6522 out
->memoryOffset
= in
->memoryOffset
;
6524 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
6526 switch (in_header
->sType
)
6528 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO
:
6530 VkBindImageMemoryDeviceGroupInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6531 const VkBindImageMemoryDeviceGroupInfo32
*in_ext
= (const VkBindImageMemoryDeviceGroupInfo32
*)in_header
;
6532 out_ext
->sType
= VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO
;
6533 out_ext
->pNext
= NULL
;
6534 out_ext
->deviceIndexCount
= in_ext
->deviceIndexCount
;
6535 out_ext
->pDeviceIndices
= (const uint32_t *)UlongToPtr(in_ext
->pDeviceIndices
);
6536 out_ext
->splitInstanceBindRegionCount
= in_ext
->splitInstanceBindRegionCount
;
6537 out_ext
->pSplitInstanceBindRegions
= (const VkRect2D
*)UlongToPtr(in_ext
->pSplitInstanceBindRegions
);
6538 out_header
->pNext
= (void *)out_ext
;
6539 out_header
= (void *)out_ext
;
6542 case VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR
:
6544 VkBindImageMemorySwapchainInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6545 const VkBindImageMemorySwapchainInfoKHR32
*in_ext
= (const VkBindImageMemorySwapchainInfoKHR32
*)in_header
;
6546 out_ext
->sType
= VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_SWAPCHAIN_INFO_KHR
;
6547 out_ext
->pNext
= NULL
;
6548 out_ext
->swapchain
= in_ext
->swapchain
;
6549 out_ext
->imageIndex
= in_ext
->imageIndex
;
6550 out_header
->pNext
= (void *)out_ext
;
6551 out_header
= (void *)out_ext
;
6554 case VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO
:
6556 VkBindImagePlaneMemoryInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6557 const VkBindImagePlaneMemoryInfo32
*in_ext
= (const VkBindImagePlaneMemoryInfo32
*)in_header
;
6558 out_ext
->sType
= VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO
;
6559 out_ext
->pNext
= NULL
;
6560 out_ext
->planeAspect
= in_ext
->planeAspect
;
6561 out_header
->pNext
= (void *)out_ext
;
6562 out_header
= (void *)out_ext
;
6566 FIXME("Unhandled sType %u.", in_header
->sType
);
6572 static inline const VkBindImageMemoryInfo
*convert_VkBindImageMemoryInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkBindImageMemoryInfo32
*in
, uint32_t count
)
6574 VkBindImageMemoryInfo
*out
;
6577 if (!in
|| !count
) return NULL
;
6579 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6580 for (i
= 0; i
< count
; i
++)
6582 convert_VkBindImageMemoryInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
6588 static inline const VkMicromapUsageEXT
* const*convert_VkMicromapUsageEXT_pointer_array_win32_to_host(struct conversion_context
*ctx
, const PTR32
*in
, uint32_t count
)
6590 VkMicromapUsageEXT
**out
;
6593 if (!in
|| !count
) return NULL
;
6595 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6596 for (i
= 0; i
< count
; i
++)
6598 out
[i
] = UlongToPtr(in
[i
]);
6604 static inline void convert_VkAccelerationStructureGeometryTrianglesDataKHR_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureGeometryTrianglesDataKHR32
*in
, VkAccelerationStructureGeometryTrianglesDataKHR
*out
)
6606 const VkBaseInStructure32
*in_header
;
6607 VkBaseOutStructure
*out_header
= (void *)out
;
6611 out
->sType
= in
->sType
;
6613 out
->vertexFormat
= in
->vertexFormat
;
6614 out
->vertexData
= in
->vertexData
;
6615 out
->vertexStride
= in
->vertexStride
;
6616 out
->maxVertex
= in
->maxVertex
;
6617 out
->indexType
= in
->indexType
;
6618 out
->indexData
= in
->indexData
;
6619 out
->transformData
= in
->transformData
;
6621 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
6623 switch (in_header
->sType
)
6625 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV
:
6627 VkAccelerationStructureGeometryMotionTrianglesDataNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6628 const VkAccelerationStructureGeometryMotionTrianglesDataNV32
*in_ext
= (const VkAccelerationStructureGeometryMotionTrianglesDataNV32
*)in_header
;
6629 out_ext
->sType
= VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV
;
6630 out_ext
->pNext
= NULL
;
6631 out_ext
->vertexData
= in_ext
->vertexData
;
6632 out_header
->pNext
= (void *)out_ext
;
6633 out_header
= (void *)out_ext
;
6636 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT
:
6638 VkAccelerationStructureTrianglesOpacityMicromapEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6639 const VkAccelerationStructureTrianglesOpacityMicromapEXT32
*in_ext
= (const VkAccelerationStructureTrianglesOpacityMicromapEXT32
*)in_header
;
6640 out_ext
->sType
= VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT
;
6641 out_ext
->pNext
= NULL
;
6642 out_ext
->indexType
= in_ext
->indexType
;
6643 out_ext
->indexBuffer
= in_ext
->indexBuffer
;
6644 out_ext
->indexStride
= in_ext
->indexStride
;
6645 out_ext
->baseTriangle
= in_ext
->baseTriangle
;
6646 out_ext
->usageCountsCount
= in_ext
->usageCountsCount
;
6647 out_ext
->pUsageCounts
= (const VkMicromapUsageEXT
*)UlongToPtr(in_ext
->pUsageCounts
);
6648 out_ext
->ppUsageCounts
= convert_VkMicromapUsageEXT_pointer_array_win32_to_host(ctx
, (const PTR32
*)UlongToPtr(in_ext
->ppUsageCounts
), in_ext
->usageCountsCount
);
6649 out_ext
->micromap
= in_ext
->micromap
;
6650 out_header
->pNext
= (void *)out_ext
;
6651 out_header
= (void *)out_ext
;
6655 FIXME("Unhandled sType %u.", in_header
->sType
);
6661 static inline void convert_VkAccelerationStructureGeometryAabbsDataKHR_win32_to_host(const VkAccelerationStructureGeometryAabbsDataKHR32
*in
, VkAccelerationStructureGeometryAabbsDataKHR
*out
)
6665 out
->sType
= in
->sType
;
6667 out
->data
= in
->data
;
6668 out
->stride
= in
->stride
;
6670 FIXME("Unexpected pNext\n");
6673 static inline void convert_VkAccelerationStructureGeometryInstancesDataKHR_win32_to_host(const VkAccelerationStructureGeometryInstancesDataKHR32
*in
, VkAccelerationStructureGeometryInstancesDataKHR
*out
)
6677 out
->sType
= in
->sType
;
6679 out
->arrayOfPointers
= in
->arrayOfPointers
;
6680 out
->data
= in
->data
;
6682 FIXME("Unexpected pNext\n");
6685 static inline void convert_VkAccelerationStructureGeometryDataKHR_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureGeometryDataKHR32
*in
, VkAccelerationStructureGeometryDataKHR
*out
, VkFlags selector
)
6689 if (selector
== VK_GEOMETRY_TYPE_TRIANGLES_KHR
)
6690 convert_VkAccelerationStructureGeometryTrianglesDataKHR_win32_to_host(ctx
, &in
->triangles
, &out
->triangles
);
6691 if (selector
== VK_GEOMETRY_TYPE_AABBS_KHR
)
6692 convert_VkAccelerationStructureGeometryAabbsDataKHR_win32_to_host(&in
->aabbs
, &out
->aabbs
);
6693 if (selector
== VK_GEOMETRY_TYPE_INSTANCES_KHR
)
6694 convert_VkAccelerationStructureGeometryInstancesDataKHR_win32_to_host(&in
->instances
, &out
->instances
);
6697 static inline void convert_VkAccelerationStructureGeometryKHR_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureGeometryKHR32
*in
, VkAccelerationStructureGeometryKHR
*out
)
6701 out
->sType
= in
->sType
;
6703 out
->geometryType
= in
->geometryType
;
6704 convert_VkAccelerationStructureGeometryDataKHR_win32_to_host(ctx
, &in
->geometry
, &out
->geometry
, in
->geometryType
);
6705 out
->flags
= in
->flags
;
6707 FIXME("Unexpected pNext\n");
6710 static inline const VkAccelerationStructureGeometryKHR
*convert_VkAccelerationStructureGeometryKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureGeometryKHR32
*in
, uint32_t count
)
6712 VkAccelerationStructureGeometryKHR
*out
;
6715 if (!in
|| !count
) return NULL
;
6717 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6718 for (i
= 0; i
< count
; i
++)
6720 convert_VkAccelerationStructureGeometryKHR_win32_to_host(ctx
, &in
[i
], &out
[i
]);
6726 static inline const VkAccelerationStructureGeometryKHR
* const*convert_VkAccelerationStructureGeometryKHR_pointer_array_win32_to_host(struct conversion_context
*ctx
, const PTR32
*in
, uint32_t count
)
6728 VkAccelerationStructureGeometryKHR
**out
;
6731 if (!in
|| !count
) return NULL
;
6733 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6734 for (i
= 0; i
< count
; i
++)
6738 out
[i
] = conversion_context_alloc(ctx
, sizeof(*out
[i
]));
6739 convert_VkAccelerationStructureGeometryKHR_win32_to_host(ctx
, (VkAccelerationStructureGeometryKHR32
*)UlongToPtr(in
[i
]), out
[i
]);
6748 static inline void convert_VkAccelerationStructureBuildGeometryInfoKHR_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureBuildGeometryInfoKHR32
*in
, VkAccelerationStructureBuildGeometryInfoKHR
*out
)
6752 out
->sType
= in
->sType
;
6754 out
->type
= in
->type
;
6755 out
->flags
= in
->flags
;
6756 out
->mode
= in
->mode
;
6757 out
->srcAccelerationStructure
= in
->srcAccelerationStructure
;
6758 out
->dstAccelerationStructure
= in
->dstAccelerationStructure
;
6759 out
->geometryCount
= in
->geometryCount
;
6760 out
->pGeometries
= convert_VkAccelerationStructureGeometryKHR_array_win32_to_host(ctx
, (const VkAccelerationStructureGeometryKHR32
*)UlongToPtr(in
->pGeometries
), in
->geometryCount
);
6761 out
->ppGeometries
= convert_VkAccelerationStructureGeometryKHR_pointer_array_win32_to_host(ctx
, (const PTR32
*)UlongToPtr(in
->ppGeometries
), in
->geometryCount
);
6762 out
->scratchData
= in
->scratchData
;
6764 FIXME("Unexpected pNext\n");
6767 static inline const VkAccelerationStructureBuildGeometryInfoKHR
*convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureBuildGeometryInfoKHR32
*in
, uint32_t count
)
6769 VkAccelerationStructureBuildGeometryInfoKHR
*out
;
6772 if (!in
|| !count
) return NULL
;
6774 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6775 for (i
= 0; i
< count
; i
++)
6777 convert_VkAccelerationStructureBuildGeometryInfoKHR_win32_to_host(ctx
, &in
[i
], &out
[i
]);
6783 static inline void convert_VkMicromapBuildInfoEXT_win32_to_host(struct conversion_context
*ctx
, const VkMicromapBuildInfoEXT32
*in
, VkMicromapBuildInfoEXT
*out
)
6787 out
->sType
= in
->sType
;
6789 out
->type
= in
->type
;
6790 out
->flags
= in
->flags
;
6791 out
->mode
= in
->mode
;
6792 out
->dstMicromap
= in
->dstMicromap
;
6793 out
->usageCountsCount
= in
->usageCountsCount
;
6794 out
->pUsageCounts
= (const VkMicromapUsageEXT
*)UlongToPtr(in
->pUsageCounts
);
6795 out
->ppUsageCounts
= convert_VkMicromapUsageEXT_pointer_array_win32_to_host(ctx
, (const PTR32
*)UlongToPtr(in
->ppUsageCounts
), in
->usageCountsCount
);
6796 out
->data
= in
->data
;
6797 out
->scratchData
= in
->scratchData
;
6798 out
->triangleArray
= in
->triangleArray
;
6799 out
->triangleArrayStride
= in
->triangleArrayStride
;
6801 FIXME("Unexpected pNext\n");
6804 static inline const VkMicromapBuildInfoEXT
*convert_VkMicromapBuildInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkMicromapBuildInfoEXT32
*in
, uint32_t count
)
6806 VkMicromapBuildInfoEXT
*out
;
6809 if (!in
|| !count
) return NULL
;
6811 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6812 for (i
= 0; i
< count
; i
++)
6814 convert_VkMicromapBuildInfoEXT_win32_to_host(ctx
, &in
[i
], &out
[i
]);
6820 static inline void convert_VkConditionalRenderingBeginInfoEXT_win32_to_host(const VkConditionalRenderingBeginInfoEXT32
*in
, VkConditionalRenderingBeginInfoEXT
*out
)
6824 out
->sType
= in
->sType
;
6826 out
->buffer
= in
->buffer
;
6827 out
->offset
= in
->offset
;
6828 out
->flags
= in
->flags
;
6830 FIXME("Unexpected pNext\n");
6833 static inline void convert_VkDebugUtilsLabelEXT_win32_to_host(const VkDebugUtilsLabelEXT32
*in
, VkDebugUtilsLabelEXT
*out
)
6837 out
->sType
= in
->sType
;
6839 out
->pLabelName
= (const char *)UlongToPtr(in
->pLabelName
);
6840 memcpy(out
->color
, in
->color
, 4 * sizeof(float));
6842 FIXME("Unexpected pNext\n");
6845 static inline void convert_VkSampleLocationsInfoEXT_win32_to_host(const VkSampleLocationsInfoEXT32
*in
, VkSampleLocationsInfoEXT
*out
)
6849 out
->sType
= in
->sType
;
6851 out
->sampleLocationsPerPixel
= in
->sampleLocationsPerPixel
;
6852 out
->sampleLocationGridSize
= in
->sampleLocationGridSize
;
6853 out
->sampleLocationsCount
= in
->sampleLocationsCount
;
6854 out
->pSampleLocations
= (const VkSampleLocationEXT
*)UlongToPtr(in
->pSampleLocations
);
6856 FIXME("Unexpected pNext\n");
6859 static inline void convert_VkAttachmentSampleLocationsEXT_win32_to_host(const VkAttachmentSampleLocationsEXT32
*in
, VkAttachmentSampleLocationsEXT
*out
)
6863 out
->attachmentIndex
= in
->attachmentIndex
;
6864 convert_VkSampleLocationsInfoEXT_win32_to_host(&in
->sampleLocationsInfo
, &out
->sampleLocationsInfo
);
6867 static inline const VkAttachmentSampleLocationsEXT
*convert_VkAttachmentSampleLocationsEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkAttachmentSampleLocationsEXT32
*in
, uint32_t count
)
6869 VkAttachmentSampleLocationsEXT
*out
;
6872 if (!in
|| !count
) return NULL
;
6874 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6875 for (i
= 0; i
< count
; i
++)
6877 convert_VkAttachmentSampleLocationsEXT_win32_to_host(&in
[i
], &out
[i
]);
6883 static inline void convert_VkSubpassSampleLocationsEXT_win32_to_host(const VkSubpassSampleLocationsEXT32
*in
, VkSubpassSampleLocationsEXT
*out
)
6887 out
->subpassIndex
= in
->subpassIndex
;
6888 convert_VkSampleLocationsInfoEXT_win32_to_host(&in
->sampleLocationsInfo
, &out
->sampleLocationsInfo
);
6891 static inline const VkSubpassSampleLocationsEXT
*convert_VkSubpassSampleLocationsEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkSubpassSampleLocationsEXT32
*in
, uint32_t count
)
6893 VkSubpassSampleLocationsEXT
*out
;
6896 if (!in
|| !count
) return NULL
;
6898 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
6899 for (i
= 0; i
< count
; i
++)
6901 convert_VkSubpassSampleLocationsEXT_win32_to_host(&in
[i
], &out
[i
]);
6907 static inline void convert_VkRenderPassBeginInfo_win32_to_host(struct conversion_context
*ctx
, const VkRenderPassBeginInfo32
*in
, VkRenderPassBeginInfo
*out
)
6909 const VkBaseInStructure32
*in_header
;
6910 VkBaseOutStructure
*out_header
= (void *)out
;
6914 out
->sType
= in
->sType
;
6916 out
->renderPass
= in
->renderPass
;
6917 out
->framebuffer
= in
->framebuffer
;
6918 out
->renderArea
= in
->renderArea
;
6919 out
->clearValueCount
= in
->clearValueCount
;
6920 out
->pClearValues
= (const VkClearValue
*)UlongToPtr(in
->pClearValues
);
6922 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
6924 switch (in_header
->sType
)
6926 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO
:
6928 VkDeviceGroupRenderPassBeginInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6929 const VkDeviceGroupRenderPassBeginInfo32
*in_ext
= (const VkDeviceGroupRenderPassBeginInfo32
*)in_header
;
6930 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO
;
6931 out_ext
->pNext
= NULL
;
6932 out_ext
->deviceMask
= in_ext
->deviceMask
;
6933 out_ext
->deviceRenderAreaCount
= in_ext
->deviceRenderAreaCount
;
6934 out_ext
->pDeviceRenderAreas
= (const VkRect2D
*)UlongToPtr(in_ext
->pDeviceRenderAreas
);
6935 out_header
->pNext
= (void *)out_ext
;
6936 out_header
= (void *)out_ext
;
6939 case VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT
:
6941 VkRenderPassSampleLocationsBeginInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6942 const VkRenderPassSampleLocationsBeginInfoEXT32
*in_ext
= (const VkRenderPassSampleLocationsBeginInfoEXT32
*)in_header
;
6943 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT
;
6944 out_ext
->pNext
= NULL
;
6945 out_ext
->attachmentInitialSampleLocationsCount
= in_ext
->attachmentInitialSampleLocationsCount
;
6946 out_ext
->pAttachmentInitialSampleLocations
= convert_VkAttachmentSampleLocationsEXT_array_win32_to_host(ctx
, (const VkAttachmentSampleLocationsEXT32
*)UlongToPtr(in_ext
->pAttachmentInitialSampleLocations
), in_ext
->attachmentInitialSampleLocationsCount
);
6947 out_ext
->postSubpassSampleLocationsCount
= in_ext
->postSubpassSampleLocationsCount
;
6948 out_ext
->pPostSubpassSampleLocations
= convert_VkSubpassSampleLocationsEXT_array_win32_to_host(ctx
, (const VkSubpassSampleLocationsEXT32
*)UlongToPtr(in_ext
->pPostSubpassSampleLocations
), in_ext
->postSubpassSampleLocationsCount
);
6949 out_header
->pNext
= (void *)out_ext
;
6950 out_header
= (void *)out_ext
;
6953 case VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO
:
6955 VkRenderPassAttachmentBeginInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6956 const VkRenderPassAttachmentBeginInfo32
*in_ext
= (const VkRenderPassAttachmentBeginInfo32
*)in_header
;
6957 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO
;
6958 out_ext
->pNext
= NULL
;
6959 out_ext
->attachmentCount
= in_ext
->attachmentCount
;
6960 out_ext
->pAttachments
= (const VkImageView
*)UlongToPtr(in_ext
->pAttachments
);
6961 out_header
->pNext
= (void *)out_ext
;
6962 out_header
= (void *)out_ext
;
6965 case VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM
:
6967 VkRenderPassTransformBeginInfoQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
6968 const VkRenderPassTransformBeginInfoQCOM32
*in_ext
= (const VkRenderPassTransformBeginInfoQCOM32
*)in_header
;
6969 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM
;
6970 out_ext
->pNext
= NULL
;
6971 out_ext
->transform
= in_ext
->transform
;
6972 out_header
->pNext
= (void *)out_ext
;
6973 out_header
= (void *)out_ext
;
6977 FIXME("Unhandled sType %u.", in_header
->sType
);
6983 static inline void convert_VkSubpassBeginInfo_win32_to_host(const VkSubpassBeginInfo32
*in
, VkSubpassBeginInfo
*out
)
6987 out
->sType
= in
->sType
;
6989 out
->contents
= in
->contents
;
6991 FIXME("Unexpected pNext\n");
6994 static inline void convert_VkRenderingAttachmentInfo_win32_to_host(const VkRenderingAttachmentInfo32
*in
, VkRenderingAttachmentInfo
*out
)
6998 out
->sType
= in
->sType
;
7000 out
->imageView
= in
->imageView
;
7001 out
->imageLayout
= in
->imageLayout
;
7002 out
->resolveMode
= in
->resolveMode
;
7003 out
->resolveImageView
= in
->resolveImageView
;
7004 out
->resolveImageLayout
= in
->resolveImageLayout
;
7005 out
->loadOp
= in
->loadOp
;
7006 out
->storeOp
= in
->storeOp
;
7007 out
->clearValue
= in
->clearValue
;
7009 FIXME("Unexpected pNext\n");
7012 static inline const VkRenderingAttachmentInfo
*convert_VkRenderingAttachmentInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkRenderingAttachmentInfo32
*in
, uint32_t count
)
7014 VkRenderingAttachmentInfo
*out
;
7017 if (!in
|| !count
) return NULL
;
7019 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7020 for (i
= 0; i
< count
; i
++)
7022 convert_VkRenderingAttachmentInfo_win32_to_host(&in
[i
], &out
[i
]);
7028 static inline void convert_VkRenderingInfo_win32_to_host(struct conversion_context
*ctx
, const VkRenderingInfo32
*in
, VkRenderingInfo
*out
)
7030 const VkBaseInStructure32
*in_header
;
7031 VkBaseOutStructure
*out_header
= (void *)out
;
7035 out
->sType
= in
->sType
;
7037 out
->flags
= in
->flags
;
7038 out
->renderArea
= in
->renderArea
;
7039 out
->layerCount
= in
->layerCount
;
7040 out
->viewMask
= in
->viewMask
;
7041 out
->colorAttachmentCount
= in
->colorAttachmentCount
;
7042 out
->pColorAttachments
= convert_VkRenderingAttachmentInfo_array_win32_to_host(ctx
, (const VkRenderingAttachmentInfo32
*)UlongToPtr(in
->pColorAttachments
), in
->colorAttachmentCount
);
7043 out
->pDepthAttachment
= convert_VkRenderingAttachmentInfo_array_win32_to_host(ctx
, (const VkRenderingAttachmentInfo32
*)UlongToPtr(in
->pDepthAttachment
), 1);
7044 out
->pStencilAttachment
= convert_VkRenderingAttachmentInfo_array_win32_to_host(ctx
, (const VkRenderingAttachmentInfo32
*)UlongToPtr(in
->pStencilAttachment
), 1);
7046 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
7048 switch (in_header
->sType
)
7050 case VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO
:
7052 VkDeviceGroupRenderPassBeginInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7053 const VkDeviceGroupRenderPassBeginInfo32
*in_ext
= (const VkDeviceGroupRenderPassBeginInfo32
*)in_header
;
7054 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO
;
7055 out_ext
->pNext
= NULL
;
7056 out_ext
->deviceMask
= in_ext
->deviceMask
;
7057 out_ext
->deviceRenderAreaCount
= in_ext
->deviceRenderAreaCount
;
7058 out_ext
->pDeviceRenderAreas
= (const VkRect2D
*)UlongToPtr(in_ext
->pDeviceRenderAreas
);
7059 out_header
->pNext
= (void *)out_ext
;
7060 out_header
= (void *)out_ext
;
7063 case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT
:
7065 VkMultisampledRenderToSingleSampledInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7066 const VkMultisampledRenderToSingleSampledInfoEXT32
*in_ext
= (const VkMultisampledRenderToSingleSampledInfoEXT32
*)in_header
;
7067 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT
;
7068 out_ext
->pNext
= NULL
;
7069 out_ext
->multisampledRenderToSingleSampledEnable
= in_ext
->multisampledRenderToSingleSampledEnable
;
7070 out_ext
->rasterizationSamples
= in_ext
->rasterizationSamples
;
7071 out_header
->pNext
= (void *)out_ext
;
7072 out_header
= (void *)out_ext
;
7075 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR
:
7077 VkRenderingFragmentShadingRateAttachmentInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7078 const VkRenderingFragmentShadingRateAttachmentInfoKHR32
*in_ext
= (const VkRenderingFragmentShadingRateAttachmentInfoKHR32
*)in_header
;
7079 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR
;
7080 out_ext
->pNext
= NULL
;
7081 out_ext
->imageView
= in_ext
->imageView
;
7082 out_ext
->imageLayout
= in_ext
->imageLayout
;
7083 out_ext
->shadingRateAttachmentTexelSize
= in_ext
->shadingRateAttachmentTexelSize
;
7084 out_header
->pNext
= (void *)out_ext
;
7085 out_header
= (void *)out_ext
;
7088 case VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT
:
7090 VkRenderingFragmentDensityMapAttachmentInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7091 const VkRenderingFragmentDensityMapAttachmentInfoEXT32
*in_ext
= (const VkRenderingFragmentDensityMapAttachmentInfoEXT32
*)in_header
;
7092 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT
;
7093 out_ext
->pNext
= NULL
;
7094 out_ext
->imageView
= in_ext
->imageView
;
7095 out_ext
->imageLayout
= in_ext
->imageLayout
;
7096 out_header
->pNext
= (void *)out_ext
;
7097 out_header
= (void *)out_ext
;
7100 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
:
7102 VkMultiviewPerViewAttributesInfoNVX
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7103 const VkMultiviewPerViewAttributesInfoNVX32
*in_ext
= (const VkMultiviewPerViewAttributesInfoNVX32
*)in_header
;
7104 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
;
7105 out_ext
->pNext
= NULL
;
7106 out_ext
->perViewAttributes
= in_ext
->perViewAttributes
;
7107 out_ext
->perViewAttributesPositionXOnly
= in_ext
->perViewAttributesPositionXOnly
;
7108 out_header
->pNext
= (void *)out_ext
;
7109 out_header
= (void *)out_ext
;
7113 FIXME("Unhandled sType %u.", in_header
->sType
);
7119 static inline void convert_VkDescriptorBufferBindingInfoEXT_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorBufferBindingInfoEXT32
*in
, VkDescriptorBufferBindingInfoEXT
*out
)
7121 const VkBaseInStructure32
*in_header
;
7122 VkBaseOutStructure
*out_header
= (void *)out
;
7126 out
->sType
= in
->sType
;
7128 out
->address
= in
->address
;
7129 out
->usage
= in
->usage
;
7131 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
7133 switch (in_header
->sType
)
7135 case VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT
:
7137 VkDescriptorBufferBindingPushDescriptorBufferHandleEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7138 const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT32
*in_ext
= (const VkDescriptorBufferBindingPushDescriptorBufferHandleEXT32
*)in_header
;
7139 out_ext
->sType
= VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT
;
7140 out_ext
->pNext
= NULL
;
7141 out_ext
->buffer
= in_ext
->buffer
;
7142 out_header
->pNext
= (void *)out_ext
;
7143 out_header
= (void *)out_ext
;
7147 FIXME("Unhandled sType %u.", in_header
->sType
);
7153 static inline const VkDescriptorBufferBindingInfoEXT
*convert_VkDescriptorBufferBindingInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorBufferBindingInfoEXT32
*in
, uint32_t count
)
7155 VkDescriptorBufferBindingInfoEXT
*out
;
7158 if (!in
|| !count
) return NULL
;
7160 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7161 for (i
= 0; i
< count
; i
++)
7163 convert_VkDescriptorBufferBindingInfoEXT_win32_to_host(ctx
, &in
[i
], &out
[i
]);
7169 static inline void convert_VkImageBlit2_win32_to_host(struct conversion_context
*ctx
, const VkImageBlit232
*in
, VkImageBlit2
*out
)
7171 const VkBaseInStructure32
*in_header
;
7172 VkBaseOutStructure
*out_header
= (void *)out
;
7176 out
->sType
= in
->sType
;
7178 out
->srcSubresource
= in
->srcSubresource
;
7179 memcpy(out
->srcOffsets
, in
->srcOffsets
, 2 * sizeof(VkOffset3D
));
7180 out
->dstSubresource
= in
->dstSubresource
;
7181 memcpy(out
->dstOffsets
, in
->dstOffsets
, 2 * sizeof(VkOffset3D
));
7183 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
7185 switch (in_header
->sType
)
7187 case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM
:
7189 VkCopyCommandTransformInfoQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7190 const VkCopyCommandTransformInfoQCOM32
*in_ext
= (const VkCopyCommandTransformInfoQCOM32
*)in_header
;
7191 out_ext
->sType
= VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM
;
7192 out_ext
->pNext
= NULL
;
7193 out_ext
->transform
= in_ext
->transform
;
7194 out_header
->pNext
= (void *)out_ext
;
7195 out_header
= (void *)out_ext
;
7199 FIXME("Unhandled sType %u.", in_header
->sType
);
7205 static inline const VkImageBlit2
*convert_VkImageBlit2_array_win32_to_host(struct conversion_context
*ctx
, const VkImageBlit232
*in
, uint32_t count
)
7210 if (!in
|| !count
) return NULL
;
7212 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7213 for (i
= 0; i
< count
; i
++)
7215 convert_VkImageBlit2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
7221 static inline void convert_VkBlitImageInfo2_win32_to_host(struct conversion_context
*ctx
, const VkBlitImageInfo232
*in
, VkBlitImageInfo2
*out
)
7225 out
->sType
= in
->sType
;
7227 out
->srcImage
= in
->srcImage
;
7228 out
->srcImageLayout
= in
->srcImageLayout
;
7229 out
->dstImage
= in
->dstImage
;
7230 out
->dstImageLayout
= in
->dstImageLayout
;
7231 out
->regionCount
= in
->regionCount
;
7232 out
->pRegions
= convert_VkImageBlit2_array_win32_to_host(ctx
, (const VkImageBlit232
*)UlongToPtr(in
->pRegions
), in
->regionCount
);
7233 out
->filter
= in
->filter
;
7235 FIXME("Unexpected pNext\n");
7238 static inline void convert_VkGeometryTrianglesNV_win32_to_host(const VkGeometryTrianglesNV32
*in
, VkGeometryTrianglesNV
*out
)
7242 out
->sType
= in
->sType
;
7244 out
->vertexData
= in
->vertexData
;
7245 out
->vertexOffset
= in
->vertexOffset
;
7246 out
->vertexCount
= in
->vertexCount
;
7247 out
->vertexStride
= in
->vertexStride
;
7248 out
->vertexFormat
= in
->vertexFormat
;
7249 out
->indexData
= in
->indexData
;
7250 out
->indexOffset
= in
->indexOffset
;
7251 out
->indexCount
= in
->indexCount
;
7252 out
->indexType
= in
->indexType
;
7253 out
->transformData
= in
->transformData
;
7254 out
->transformOffset
= in
->transformOffset
;
7256 FIXME("Unexpected pNext\n");
7259 static inline void convert_VkGeometryAABBNV_win32_to_host(const VkGeometryAABBNV32
*in
, VkGeometryAABBNV
*out
)
7263 out
->sType
= in
->sType
;
7265 out
->aabbData
= in
->aabbData
;
7266 out
->numAABBs
= in
->numAABBs
;
7267 out
->stride
= in
->stride
;
7268 out
->offset
= in
->offset
;
7270 FIXME("Unexpected pNext\n");
7273 static inline void convert_VkGeometryDataNV_win32_to_host(const VkGeometryDataNV32
*in
, VkGeometryDataNV
*out
)
7277 convert_VkGeometryTrianglesNV_win32_to_host(&in
->triangles
, &out
->triangles
);
7278 convert_VkGeometryAABBNV_win32_to_host(&in
->aabbs
, &out
->aabbs
);
7281 static inline void convert_VkGeometryNV_win32_to_host(const VkGeometryNV32
*in
, VkGeometryNV
*out
)
7285 out
->sType
= in
->sType
;
7287 out
->geometryType
= in
->geometryType
;
7288 convert_VkGeometryDataNV_win32_to_host(&in
->geometry
, &out
->geometry
);
7289 out
->flags
= in
->flags
;
7291 FIXME("Unexpected pNext\n");
7294 static inline const VkGeometryNV
*convert_VkGeometryNV_array_win32_to_host(struct conversion_context
*ctx
, const VkGeometryNV32
*in
, uint32_t count
)
7299 if (!in
|| !count
) return NULL
;
7301 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7302 for (i
= 0; i
< count
; i
++)
7304 convert_VkGeometryNV_win32_to_host(&in
[i
], &out
[i
]);
7310 static inline void convert_VkAccelerationStructureInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureInfoNV32
*in
, VkAccelerationStructureInfoNV
*out
)
7314 out
->sType
= in
->sType
;
7316 out
->type
= in
->type
;
7317 out
->flags
= in
->flags
;
7318 out
->instanceCount
= in
->instanceCount
;
7319 out
->geometryCount
= in
->geometryCount
;
7320 out
->pGeometries
= convert_VkGeometryNV_array_win32_to_host(ctx
, (const VkGeometryNV32
*)UlongToPtr(in
->pGeometries
), in
->geometryCount
);
7322 FIXME("Unexpected pNext\n");
7325 static inline void convert_VkCopyAccelerationStructureInfoKHR_win32_to_host(const VkCopyAccelerationStructureInfoKHR32
*in
, VkCopyAccelerationStructureInfoKHR
*out
)
7329 out
->sType
= in
->sType
;
7333 out
->mode
= in
->mode
;
7335 FIXME("Unexpected pNext\n");
7338 static inline void convert_VkCopyAccelerationStructureToMemoryInfoKHR_win32_to_host(const VkCopyAccelerationStructureToMemoryInfoKHR32
*in
, VkCopyAccelerationStructureToMemoryInfoKHR
*out
)
7342 out
->sType
= in
->sType
;
7346 out
->mode
= in
->mode
;
7348 FIXME("Unexpected pNext\n");
7351 static inline void convert_VkBufferCopy_win32_to_host(const VkBufferCopy32
*in
, VkBufferCopy
*out
)
7355 out
->srcOffset
= in
->srcOffset
;
7356 out
->dstOffset
= in
->dstOffset
;
7357 out
->size
= in
->size
;
7360 static inline const VkBufferCopy
*convert_VkBufferCopy_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferCopy32
*in
, uint32_t count
)
7365 if (!in
|| !count
) return NULL
;
7367 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7368 for (i
= 0; i
< count
; i
++)
7370 convert_VkBufferCopy_win32_to_host(&in
[i
], &out
[i
]);
7376 static inline void convert_VkBufferCopy2_win32_to_host(const VkBufferCopy232
*in
, VkBufferCopy2
*out
)
7380 out
->sType
= in
->sType
;
7382 out
->srcOffset
= in
->srcOffset
;
7383 out
->dstOffset
= in
->dstOffset
;
7384 out
->size
= in
->size
;
7386 FIXME("Unexpected pNext\n");
7389 static inline const VkBufferCopy2
*convert_VkBufferCopy2_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferCopy232
*in
, uint32_t count
)
7394 if (!in
|| !count
) return NULL
;
7396 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7397 for (i
= 0; i
< count
; i
++)
7399 convert_VkBufferCopy2_win32_to_host(&in
[i
], &out
[i
]);
7405 static inline void convert_VkCopyBufferInfo2_win32_to_host(struct conversion_context
*ctx
, const VkCopyBufferInfo232
*in
, VkCopyBufferInfo2
*out
)
7409 out
->sType
= in
->sType
;
7411 out
->srcBuffer
= in
->srcBuffer
;
7412 out
->dstBuffer
= in
->dstBuffer
;
7413 out
->regionCount
= in
->regionCount
;
7414 out
->pRegions
= convert_VkBufferCopy2_array_win32_to_host(ctx
, (const VkBufferCopy232
*)UlongToPtr(in
->pRegions
), in
->regionCount
);
7416 FIXME("Unexpected pNext\n");
7419 static inline void convert_VkBufferImageCopy_win32_to_host(const VkBufferImageCopy32
*in
, VkBufferImageCopy
*out
)
7423 out
->bufferOffset
= in
->bufferOffset
;
7424 out
->bufferRowLength
= in
->bufferRowLength
;
7425 out
->bufferImageHeight
= in
->bufferImageHeight
;
7426 out
->imageSubresource
= in
->imageSubresource
;
7427 out
->imageOffset
= in
->imageOffset
;
7428 out
->imageExtent
= in
->imageExtent
;
7431 static inline const VkBufferImageCopy
*convert_VkBufferImageCopy_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferImageCopy32
*in
, uint32_t count
)
7433 VkBufferImageCopy
*out
;
7436 if (!in
|| !count
) return NULL
;
7438 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7439 for (i
= 0; i
< count
; i
++)
7441 convert_VkBufferImageCopy_win32_to_host(&in
[i
], &out
[i
]);
7447 static inline void convert_VkBufferImageCopy2_win32_to_host(struct conversion_context
*ctx
, const VkBufferImageCopy232
*in
, VkBufferImageCopy2
*out
)
7449 const VkBaseInStructure32
*in_header
;
7450 VkBaseOutStructure
*out_header
= (void *)out
;
7454 out
->sType
= in
->sType
;
7456 out
->bufferOffset
= in
->bufferOffset
;
7457 out
->bufferRowLength
= in
->bufferRowLength
;
7458 out
->bufferImageHeight
= in
->bufferImageHeight
;
7459 out
->imageSubresource
= in
->imageSubresource
;
7460 out
->imageOffset
= in
->imageOffset
;
7461 out
->imageExtent
= in
->imageExtent
;
7463 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
7465 switch (in_header
->sType
)
7467 case VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM
:
7469 VkCopyCommandTransformInfoQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7470 const VkCopyCommandTransformInfoQCOM32
*in_ext
= (const VkCopyCommandTransformInfoQCOM32
*)in_header
;
7471 out_ext
->sType
= VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM
;
7472 out_ext
->pNext
= NULL
;
7473 out_ext
->transform
= in_ext
->transform
;
7474 out_header
->pNext
= (void *)out_ext
;
7475 out_header
= (void *)out_ext
;
7479 FIXME("Unhandled sType %u.", in_header
->sType
);
7485 static inline const VkBufferImageCopy2
*convert_VkBufferImageCopy2_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferImageCopy232
*in
, uint32_t count
)
7487 VkBufferImageCopy2
*out
;
7490 if (!in
|| !count
) return NULL
;
7492 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7493 for (i
= 0; i
< count
; i
++)
7495 convert_VkBufferImageCopy2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
7501 static inline void convert_VkCopyBufferToImageInfo2_win32_to_host(struct conversion_context
*ctx
, const VkCopyBufferToImageInfo232
*in
, VkCopyBufferToImageInfo2
*out
)
7505 out
->sType
= in
->sType
;
7507 out
->srcBuffer
= in
->srcBuffer
;
7508 out
->dstImage
= in
->dstImage
;
7509 out
->dstImageLayout
= in
->dstImageLayout
;
7510 out
->regionCount
= in
->regionCount
;
7511 out
->pRegions
= convert_VkBufferImageCopy2_array_win32_to_host(ctx
, (const VkBufferImageCopy232
*)UlongToPtr(in
->pRegions
), in
->regionCount
);
7513 FIXME("Unexpected pNext\n");
7516 static inline void convert_VkImageCopy2_win32_to_host(const VkImageCopy232
*in
, VkImageCopy2
*out
)
7520 out
->sType
= in
->sType
;
7522 out
->srcSubresource
= in
->srcSubresource
;
7523 out
->srcOffset
= in
->srcOffset
;
7524 out
->dstSubresource
= in
->dstSubresource
;
7525 out
->dstOffset
= in
->dstOffset
;
7526 out
->extent
= in
->extent
;
7528 FIXME("Unexpected pNext\n");
7531 static inline const VkImageCopy2
*convert_VkImageCopy2_array_win32_to_host(struct conversion_context
*ctx
, const VkImageCopy232
*in
, uint32_t count
)
7536 if (!in
|| !count
) return NULL
;
7538 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7539 for (i
= 0; i
< count
; i
++)
7541 convert_VkImageCopy2_win32_to_host(&in
[i
], &out
[i
]);
7547 static inline void convert_VkCopyImageInfo2_win32_to_host(struct conversion_context
*ctx
, const VkCopyImageInfo232
*in
, VkCopyImageInfo2
*out
)
7551 out
->sType
= in
->sType
;
7553 out
->srcImage
= in
->srcImage
;
7554 out
->srcImageLayout
= in
->srcImageLayout
;
7555 out
->dstImage
= in
->dstImage
;
7556 out
->dstImageLayout
= in
->dstImageLayout
;
7557 out
->regionCount
= in
->regionCount
;
7558 out
->pRegions
= convert_VkImageCopy2_array_win32_to_host(ctx
, (const VkImageCopy232
*)UlongToPtr(in
->pRegions
), in
->regionCount
);
7560 FIXME("Unexpected pNext\n");
7563 static inline void convert_VkCopyImageToBufferInfo2_win32_to_host(struct conversion_context
*ctx
, const VkCopyImageToBufferInfo232
*in
, VkCopyImageToBufferInfo2
*out
)
7567 out
->sType
= in
->sType
;
7569 out
->srcImage
= in
->srcImage
;
7570 out
->srcImageLayout
= in
->srcImageLayout
;
7571 out
->dstBuffer
= in
->dstBuffer
;
7572 out
->regionCount
= in
->regionCount
;
7573 out
->pRegions
= convert_VkBufferImageCopy2_array_win32_to_host(ctx
, (const VkBufferImageCopy232
*)UlongToPtr(in
->pRegions
), in
->regionCount
);
7575 FIXME("Unexpected pNext\n");
7578 static inline void convert_VkCopyMemoryToAccelerationStructureInfoKHR_win32_to_host(const VkCopyMemoryToAccelerationStructureInfoKHR32
*in
, VkCopyMemoryToAccelerationStructureInfoKHR
*out
)
7582 out
->sType
= in
->sType
;
7586 out
->mode
= in
->mode
;
7588 FIXME("Unexpected pNext\n");
7591 static inline void convert_VkCopyMemoryToMicromapInfoEXT_win32_to_host(const VkCopyMemoryToMicromapInfoEXT32
*in
, VkCopyMemoryToMicromapInfoEXT
*out
)
7595 out
->sType
= in
->sType
;
7599 out
->mode
= in
->mode
;
7601 FIXME("Unexpected pNext\n");
7604 static inline void convert_VkCopyMicromapInfoEXT_win32_to_host(const VkCopyMicromapInfoEXT32
*in
, VkCopyMicromapInfoEXT
*out
)
7608 out
->sType
= in
->sType
;
7612 out
->mode
= in
->mode
;
7614 FIXME("Unexpected pNext\n");
7617 static inline void convert_VkCopyMicromapToMemoryInfoEXT_win32_to_host(const VkCopyMicromapToMemoryInfoEXT32
*in
, VkCopyMicromapToMemoryInfoEXT
*out
)
7621 out
->sType
= in
->sType
;
7625 out
->mode
= in
->mode
;
7627 FIXME("Unexpected pNext\n");
7630 static inline void convert_VkCuLaunchInfoNVX_win32_to_host(const VkCuLaunchInfoNVX32
*in
, VkCuLaunchInfoNVX
*out
)
7634 out
->sType
= in
->sType
;
7636 out
->function
= in
->function
;
7637 out
->gridDimX
= in
->gridDimX
;
7638 out
->gridDimY
= in
->gridDimY
;
7639 out
->gridDimZ
= in
->gridDimZ
;
7640 out
->blockDimX
= in
->blockDimX
;
7641 out
->blockDimY
= in
->blockDimY
;
7642 out
->blockDimZ
= in
->blockDimZ
;
7643 out
->sharedMemBytes
= in
->sharedMemBytes
;
7644 out
->paramCount
= in
->paramCount
;
7645 out
->pParams
= (const void * const *)UlongToPtr(in
->pParams
);
7646 out
->extraCount
= in
->extraCount
;
7647 out
->pExtras
= (const void * const *)UlongToPtr(in
->pExtras
);
7649 FIXME("Unexpected pNext\n");
7652 static inline void convert_VkDebugMarkerMarkerInfoEXT_win32_to_host(const VkDebugMarkerMarkerInfoEXT32
*in
, VkDebugMarkerMarkerInfoEXT
*out
)
7656 out
->sType
= in
->sType
;
7658 out
->pMarkerName
= (const char *)UlongToPtr(in
->pMarkerName
);
7659 memcpy(out
->color
, in
->color
, 4 * sizeof(float));
7661 FIXME("Unexpected pNext\n");
7664 static inline void convert_VkDecompressMemoryRegionNV_win32_to_host(const VkDecompressMemoryRegionNV32
*in
, VkDecompressMemoryRegionNV
*out
)
7668 out
->srcAddress
= in
->srcAddress
;
7669 out
->dstAddress
= in
->dstAddress
;
7670 out
->compressedSize
= in
->compressedSize
;
7671 out
->decompressedSize
= in
->decompressedSize
;
7672 out
->decompressionMethod
= in
->decompressionMethod
;
7675 static inline const VkDecompressMemoryRegionNV
*convert_VkDecompressMemoryRegionNV_array_win32_to_host(struct conversion_context
*ctx
, const VkDecompressMemoryRegionNV32
*in
, uint32_t count
)
7677 VkDecompressMemoryRegionNV
*out
;
7680 if (!in
|| !count
) return NULL
;
7682 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7683 for (i
= 0; i
< count
; i
++)
7685 convert_VkDecompressMemoryRegionNV_win32_to_host(&in
[i
], &out
[i
]);
7691 static inline void convert_VkSubpassEndInfo_win32_to_host(struct conversion_context
*ctx
, const VkSubpassEndInfo32
*in
, VkSubpassEndInfo
*out
)
7693 const VkBaseInStructure32
*in_header
;
7694 VkBaseOutStructure
*out_header
= (void *)out
;
7698 out
->sType
= in
->sType
;
7701 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
7703 switch (in_header
->sType
)
7705 case VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM
:
7707 VkSubpassFragmentDensityMapOffsetEndInfoQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7708 const VkSubpassFragmentDensityMapOffsetEndInfoQCOM32
*in_ext
= (const VkSubpassFragmentDensityMapOffsetEndInfoQCOM32
*)in_header
;
7709 out_ext
->sType
= VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM
;
7710 out_ext
->pNext
= NULL
;
7711 out_ext
->fragmentDensityOffsetCount
= in_ext
->fragmentDensityOffsetCount
;
7712 out_ext
->pFragmentDensityOffsets
= (const VkOffset2D
*)UlongToPtr(in_ext
->pFragmentDensityOffsets
);
7713 out_header
->pNext
= (void *)out_ext
;
7714 out_header
= (void *)out_ext
;
7718 FIXME("Unhandled sType %u.", in_header
->sType
);
7725 static inline const VkCommandBuffer
*convert_VkCommandBuffer_array_win64_to_host(struct conversion_context
*ctx
, const VkCommandBuffer
*in
, uint32_t count
)
7727 VkCommandBuffer
*out
;
7730 if (!in
|| !count
) return NULL
;
7732 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7733 for (i
= 0; i
< count
; i
++)
7735 out
[i
] = wine_cmd_buffer_from_handle(in
[i
])->command_buffer
;
7742 static inline const VkCommandBuffer
*convert_VkCommandBuffer_array_win32_to_host(struct conversion_context
*ctx
, const PTR32
*in
, uint32_t count
)
7744 VkCommandBuffer
*out
;
7747 if (!in
|| !count
) return NULL
;
7749 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7750 for (i
= 0; i
< count
; i
++)
7752 out
[i
] = wine_cmd_buffer_from_handle(UlongToPtr(in
[i
]))->command_buffer
;
7758 static inline void convert_VkIndirectCommandsStreamNV_win32_to_host(const VkIndirectCommandsStreamNV32
*in
, VkIndirectCommandsStreamNV
*out
)
7762 out
->buffer
= in
->buffer
;
7763 out
->offset
= in
->offset
;
7766 static inline const VkIndirectCommandsStreamNV
*convert_VkIndirectCommandsStreamNV_array_win32_to_host(struct conversion_context
*ctx
, const VkIndirectCommandsStreamNV32
*in
, uint32_t count
)
7768 VkIndirectCommandsStreamNV
*out
;
7771 if (!in
|| !count
) return NULL
;
7773 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7774 for (i
= 0; i
< count
; i
++)
7776 convert_VkIndirectCommandsStreamNV_win32_to_host(&in
[i
], &out
[i
]);
7782 static inline void convert_VkGeneratedCommandsInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkGeneratedCommandsInfoNV32
*in
, VkGeneratedCommandsInfoNV
*out
)
7786 out
->sType
= in
->sType
;
7788 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
7789 out
->pipeline
= in
->pipeline
;
7790 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
7791 out
->streamCount
= in
->streamCount
;
7792 out
->pStreams
= convert_VkIndirectCommandsStreamNV_array_win32_to_host(ctx
, (const VkIndirectCommandsStreamNV32
*)UlongToPtr(in
->pStreams
), in
->streamCount
);
7793 out
->sequencesCount
= in
->sequencesCount
;
7794 out
->preprocessBuffer
= in
->preprocessBuffer
;
7795 out
->preprocessOffset
= in
->preprocessOffset
;
7796 out
->preprocessSize
= in
->preprocessSize
;
7797 out
->sequencesCountBuffer
= in
->sequencesCountBuffer
;
7798 out
->sequencesCountOffset
= in
->sequencesCountOffset
;
7799 out
->sequencesIndexBuffer
= in
->sequencesIndexBuffer
;
7800 out
->sequencesIndexOffset
= in
->sequencesIndexOffset
;
7802 FIXME("Unexpected pNext\n");
7805 static inline void convert_VkOpticalFlowExecuteInfoNV_win32_to_host(const VkOpticalFlowExecuteInfoNV32
*in
, VkOpticalFlowExecuteInfoNV
*out
)
7809 out
->sType
= in
->sType
;
7811 out
->flags
= in
->flags
;
7812 out
->regionCount
= in
->regionCount
;
7813 out
->pRegions
= (const VkRect2D
*)UlongToPtr(in
->pRegions
);
7815 FIXME("Unexpected pNext\n");
7818 static inline void convert_VkMemoryBarrier_win32_to_host(const VkMemoryBarrier32
*in
, VkMemoryBarrier
*out
)
7822 out
->sType
= in
->sType
;
7824 out
->srcAccessMask
= in
->srcAccessMask
;
7825 out
->dstAccessMask
= in
->dstAccessMask
;
7827 FIXME("Unexpected pNext\n");
7830 static inline const VkMemoryBarrier
*convert_VkMemoryBarrier_array_win32_to_host(struct conversion_context
*ctx
, const VkMemoryBarrier32
*in
, uint32_t count
)
7832 VkMemoryBarrier
*out
;
7835 if (!in
|| !count
) return NULL
;
7837 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7838 for (i
= 0; i
< count
; i
++)
7840 convert_VkMemoryBarrier_win32_to_host(&in
[i
], &out
[i
]);
7846 static inline void convert_VkBufferMemoryBarrier_win32_to_host(const VkBufferMemoryBarrier32
*in
, VkBufferMemoryBarrier
*out
)
7850 out
->sType
= in
->sType
;
7852 out
->srcAccessMask
= in
->srcAccessMask
;
7853 out
->dstAccessMask
= in
->dstAccessMask
;
7854 out
->srcQueueFamilyIndex
= in
->srcQueueFamilyIndex
;
7855 out
->dstQueueFamilyIndex
= in
->dstQueueFamilyIndex
;
7856 out
->buffer
= in
->buffer
;
7857 out
->offset
= in
->offset
;
7858 out
->size
= in
->size
;
7860 FIXME("Unexpected pNext\n");
7863 static inline const VkBufferMemoryBarrier
*convert_VkBufferMemoryBarrier_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferMemoryBarrier32
*in
, uint32_t count
)
7865 VkBufferMemoryBarrier
*out
;
7868 if (!in
|| !count
) return NULL
;
7870 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7871 for (i
= 0; i
< count
; i
++)
7873 convert_VkBufferMemoryBarrier_win32_to_host(&in
[i
], &out
[i
]);
7879 static inline void convert_VkImageMemoryBarrier_win32_to_host(struct conversion_context
*ctx
, const VkImageMemoryBarrier32
*in
, VkImageMemoryBarrier
*out
)
7881 const VkBaseInStructure32
*in_header
;
7882 VkBaseOutStructure
*out_header
= (void *)out
;
7886 out
->sType
= in
->sType
;
7888 out
->srcAccessMask
= in
->srcAccessMask
;
7889 out
->dstAccessMask
= in
->dstAccessMask
;
7890 out
->oldLayout
= in
->oldLayout
;
7891 out
->newLayout
= in
->newLayout
;
7892 out
->srcQueueFamilyIndex
= in
->srcQueueFamilyIndex
;
7893 out
->dstQueueFamilyIndex
= in
->dstQueueFamilyIndex
;
7894 out
->image
= in
->image
;
7895 out
->subresourceRange
= in
->subresourceRange
;
7897 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
7899 switch (in_header
->sType
)
7901 case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT
:
7903 VkSampleLocationsInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
7904 const VkSampleLocationsInfoEXT32
*in_ext
= (const VkSampleLocationsInfoEXT32
*)in_header
;
7905 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT
;
7906 out_ext
->pNext
= NULL
;
7907 out_ext
->sampleLocationsPerPixel
= in_ext
->sampleLocationsPerPixel
;
7908 out_ext
->sampleLocationGridSize
= in_ext
->sampleLocationGridSize
;
7909 out_ext
->sampleLocationsCount
= in_ext
->sampleLocationsCount
;
7910 out_ext
->pSampleLocations
= (const VkSampleLocationEXT
*)UlongToPtr(in_ext
->pSampleLocations
);
7911 out_header
->pNext
= (void *)out_ext
;
7912 out_header
= (void *)out_ext
;
7916 FIXME("Unhandled sType %u.", in_header
->sType
);
7922 static inline const VkImageMemoryBarrier
*convert_VkImageMemoryBarrier_array_win32_to_host(struct conversion_context
*ctx
, const VkImageMemoryBarrier32
*in
, uint32_t count
)
7924 VkImageMemoryBarrier
*out
;
7927 if (!in
|| !count
) return NULL
;
7929 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7930 for (i
= 0; i
< count
; i
++)
7932 convert_VkImageMemoryBarrier_win32_to_host(ctx
, &in
[i
], &out
[i
]);
7938 static inline void convert_VkMemoryBarrier2_win32_to_host(const VkMemoryBarrier232
*in
, VkMemoryBarrier2
*out
)
7942 out
->sType
= in
->sType
;
7944 out
->srcStageMask
= in
->srcStageMask
;
7945 out
->srcAccessMask
= in
->srcAccessMask
;
7946 out
->dstStageMask
= in
->dstStageMask
;
7947 out
->dstAccessMask
= in
->dstAccessMask
;
7949 FIXME("Unexpected pNext\n");
7952 static inline const VkMemoryBarrier2
*convert_VkMemoryBarrier2_array_win32_to_host(struct conversion_context
*ctx
, const VkMemoryBarrier232
*in
, uint32_t count
)
7954 VkMemoryBarrier2
*out
;
7957 if (!in
|| !count
) return NULL
;
7959 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7960 for (i
= 0; i
< count
; i
++)
7962 convert_VkMemoryBarrier2_win32_to_host(&in
[i
], &out
[i
]);
7968 static inline void convert_VkBufferMemoryBarrier2_win32_to_host(const VkBufferMemoryBarrier232
*in
, VkBufferMemoryBarrier2
*out
)
7972 out
->sType
= in
->sType
;
7974 out
->srcStageMask
= in
->srcStageMask
;
7975 out
->srcAccessMask
= in
->srcAccessMask
;
7976 out
->dstStageMask
= in
->dstStageMask
;
7977 out
->dstAccessMask
= in
->dstAccessMask
;
7978 out
->srcQueueFamilyIndex
= in
->srcQueueFamilyIndex
;
7979 out
->dstQueueFamilyIndex
= in
->dstQueueFamilyIndex
;
7980 out
->buffer
= in
->buffer
;
7981 out
->offset
= in
->offset
;
7982 out
->size
= in
->size
;
7984 FIXME("Unexpected pNext\n");
7987 static inline const VkBufferMemoryBarrier2
*convert_VkBufferMemoryBarrier2_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferMemoryBarrier232
*in
, uint32_t count
)
7989 VkBufferMemoryBarrier2
*out
;
7992 if (!in
|| !count
) return NULL
;
7994 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
7995 for (i
= 0; i
< count
; i
++)
7997 convert_VkBufferMemoryBarrier2_win32_to_host(&in
[i
], &out
[i
]);
8003 static inline void convert_VkImageMemoryBarrier2_win32_to_host(struct conversion_context
*ctx
, const VkImageMemoryBarrier232
*in
, VkImageMemoryBarrier2
*out
)
8005 const VkBaseInStructure32
*in_header
;
8006 VkBaseOutStructure
*out_header
= (void *)out
;
8010 out
->sType
= in
->sType
;
8012 out
->srcStageMask
= in
->srcStageMask
;
8013 out
->srcAccessMask
= in
->srcAccessMask
;
8014 out
->dstStageMask
= in
->dstStageMask
;
8015 out
->dstAccessMask
= in
->dstAccessMask
;
8016 out
->oldLayout
= in
->oldLayout
;
8017 out
->newLayout
= in
->newLayout
;
8018 out
->srcQueueFamilyIndex
= in
->srcQueueFamilyIndex
;
8019 out
->dstQueueFamilyIndex
= in
->dstQueueFamilyIndex
;
8020 out
->image
= in
->image
;
8021 out
->subresourceRange
= in
->subresourceRange
;
8023 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
8025 switch (in_header
->sType
)
8027 case VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT
:
8029 VkSampleLocationsInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8030 const VkSampleLocationsInfoEXT32
*in_ext
= (const VkSampleLocationsInfoEXT32
*)in_header
;
8031 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT
;
8032 out_ext
->pNext
= NULL
;
8033 out_ext
->sampleLocationsPerPixel
= in_ext
->sampleLocationsPerPixel
;
8034 out_ext
->sampleLocationGridSize
= in_ext
->sampleLocationGridSize
;
8035 out_ext
->sampleLocationsCount
= in_ext
->sampleLocationsCount
;
8036 out_ext
->pSampleLocations
= (const VkSampleLocationEXT
*)UlongToPtr(in_ext
->pSampleLocations
);
8037 out_header
->pNext
= (void *)out_ext
;
8038 out_header
= (void *)out_ext
;
8042 FIXME("Unhandled sType %u.", in_header
->sType
);
8048 static inline const VkImageMemoryBarrier2
*convert_VkImageMemoryBarrier2_array_win32_to_host(struct conversion_context
*ctx
, const VkImageMemoryBarrier232
*in
, uint32_t count
)
8050 VkImageMemoryBarrier2
*out
;
8053 if (!in
|| !count
) return NULL
;
8055 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8056 for (i
= 0; i
< count
; i
++)
8058 convert_VkImageMemoryBarrier2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
8064 static inline void convert_VkDependencyInfo_win32_to_host(struct conversion_context
*ctx
, const VkDependencyInfo32
*in
, VkDependencyInfo
*out
)
8068 out
->sType
= in
->sType
;
8070 out
->dependencyFlags
= in
->dependencyFlags
;
8071 out
->memoryBarrierCount
= in
->memoryBarrierCount
;
8072 out
->pMemoryBarriers
= convert_VkMemoryBarrier2_array_win32_to_host(ctx
, (const VkMemoryBarrier232
*)UlongToPtr(in
->pMemoryBarriers
), in
->memoryBarrierCount
);
8073 out
->bufferMemoryBarrierCount
= in
->bufferMemoryBarrierCount
;
8074 out
->pBufferMemoryBarriers
= convert_VkBufferMemoryBarrier2_array_win32_to_host(ctx
, (const VkBufferMemoryBarrier232
*)UlongToPtr(in
->pBufferMemoryBarriers
), in
->bufferMemoryBarrierCount
);
8075 out
->imageMemoryBarrierCount
= in
->imageMemoryBarrierCount
;
8076 out
->pImageMemoryBarriers
= convert_VkImageMemoryBarrier2_array_win32_to_host(ctx
, (const VkImageMemoryBarrier232
*)UlongToPtr(in
->pImageMemoryBarriers
), in
->imageMemoryBarrierCount
);
8078 FIXME("Unexpected pNext\n");
8081 static inline void convert_VkDescriptorImageInfo_win32_to_host(const VkDescriptorImageInfo32
*in
, VkDescriptorImageInfo
*out
)
8085 out
->sampler
= in
->sampler
;
8086 out
->imageView
= in
->imageView
;
8087 out
->imageLayout
= in
->imageLayout
;
8090 static inline const VkDescriptorImageInfo
*convert_VkDescriptorImageInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorImageInfo32
*in
, uint32_t count
)
8092 VkDescriptorImageInfo
*out
;
8095 if (!in
|| !count
) return NULL
;
8097 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8098 for (i
= 0; i
< count
; i
++)
8100 convert_VkDescriptorImageInfo_win32_to_host(&in
[i
], &out
[i
]);
8106 static inline void convert_VkDescriptorBufferInfo_win32_to_host(const VkDescriptorBufferInfo32
*in
, VkDescriptorBufferInfo
*out
)
8110 out
->buffer
= in
->buffer
;
8111 out
->offset
= in
->offset
;
8112 out
->range
= in
->range
;
8115 static inline const VkDescriptorBufferInfo
*convert_VkDescriptorBufferInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorBufferInfo32
*in
, uint32_t count
)
8117 VkDescriptorBufferInfo
*out
;
8120 if (!in
|| !count
) return NULL
;
8122 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8123 for (i
= 0; i
< count
; i
++)
8125 convert_VkDescriptorBufferInfo_win32_to_host(&in
[i
], &out
[i
]);
8131 static inline void convert_VkWriteDescriptorSet_win32_to_host(struct conversion_context
*ctx
, const VkWriteDescriptorSet32
*in
, VkWriteDescriptorSet
*out
)
8133 const VkBaseInStructure32
*in_header
;
8134 VkBaseOutStructure
*out_header
= (void *)out
;
8138 out
->sType
= in
->sType
;
8140 out
->dstSet
= in
->dstSet
;
8141 out
->dstBinding
= in
->dstBinding
;
8142 out
->dstArrayElement
= in
->dstArrayElement
;
8143 out
->descriptorCount
= in
->descriptorCount
;
8144 out
->descriptorType
= in
->descriptorType
;
8145 out
->pImageInfo
= convert_VkDescriptorImageInfo_array_win32_to_host(ctx
, (const VkDescriptorImageInfo32
*)UlongToPtr(in
->pImageInfo
), in
->descriptorType
== VK_DESCRIPTOR_TYPE_SAMPLER
|| in
->descriptorType
== VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
|| in
->descriptorType
== VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
|| in
->descriptorType
== VK_DESCRIPTOR_TYPE_STORAGE_IMAGE
|| in
->descriptorType
== VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
|| in
->descriptorType
== VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM
|| in
->descriptorType
== VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM
? in
->descriptorCount
: 0);
8146 out
->pBufferInfo
= convert_VkDescriptorBufferInfo_array_win32_to_host(ctx
, (const VkDescriptorBufferInfo32
*)UlongToPtr(in
->pBufferInfo
), in
->descriptorType
== VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
|| in
->descriptorType
== VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
|| in
->descriptorType
== VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
|| in
->descriptorType
== VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
? in
->descriptorCount
: 0);
8147 out
->pTexelBufferView
= (const VkBufferView
*)UlongToPtr(in
->pTexelBufferView
);
8149 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
8151 switch (in_header
->sType
)
8153 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK
:
8155 VkWriteDescriptorSetInlineUniformBlock
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8156 const VkWriteDescriptorSetInlineUniformBlock32
*in_ext
= (const VkWriteDescriptorSetInlineUniformBlock32
*)in_header
;
8157 out_ext
->sType
= VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK
;
8158 out_ext
->pNext
= NULL
;
8159 out_ext
->dataSize
= in_ext
->dataSize
;
8160 out_ext
->pData
= (const void *)UlongToPtr(in_ext
->pData
);
8161 out_header
->pNext
= (void *)out_ext
;
8162 out_header
= (void *)out_ext
;
8165 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR
:
8167 VkWriteDescriptorSetAccelerationStructureKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8168 const VkWriteDescriptorSetAccelerationStructureKHR32
*in_ext
= (const VkWriteDescriptorSetAccelerationStructureKHR32
*)in_header
;
8169 out_ext
->sType
= VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR
;
8170 out_ext
->pNext
= NULL
;
8171 out_ext
->accelerationStructureCount
= in_ext
->accelerationStructureCount
;
8172 out_ext
->pAccelerationStructures
= (const VkAccelerationStructureKHR
*)UlongToPtr(in_ext
->pAccelerationStructures
);
8173 out_header
->pNext
= (void *)out_ext
;
8174 out_header
= (void *)out_ext
;
8177 case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV
:
8179 VkWriteDescriptorSetAccelerationStructureNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8180 const VkWriteDescriptorSetAccelerationStructureNV32
*in_ext
= (const VkWriteDescriptorSetAccelerationStructureNV32
*)in_header
;
8181 out_ext
->sType
= VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV
;
8182 out_ext
->pNext
= NULL
;
8183 out_ext
->accelerationStructureCount
= in_ext
->accelerationStructureCount
;
8184 out_ext
->pAccelerationStructures
= (const VkAccelerationStructureNV
*)UlongToPtr(in_ext
->pAccelerationStructures
);
8185 out_header
->pNext
= (void *)out_ext
;
8186 out_header
= (void *)out_ext
;
8190 FIXME("Unhandled sType %u.", in_header
->sType
);
8196 static inline const VkWriteDescriptorSet
*convert_VkWriteDescriptorSet_array_win32_to_host(struct conversion_context
*ctx
, const VkWriteDescriptorSet32
*in
, uint32_t count
)
8198 VkWriteDescriptorSet
*out
;
8201 if (!in
|| !count
) return NULL
;
8203 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8204 for (i
= 0; i
< count
; i
++)
8206 convert_VkWriteDescriptorSet_win32_to_host(ctx
, &in
[i
], &out
[i
]);
8212 static inline void convert_VkImageResolve2_win32_to_host(const VkImageResolve232
*in
, VkImageResolve2
*out
)
8216 out
->sType
= in
->sType
;
8218 out
->srcSubresource
= in
->srcSubresource
;
8219 out
->srcOffset
= in
->srcOffset
;
8220 out
->dstSubresource
= in
->dstSubresource
;
8221 out
->dstOffset
= in
->dstOffset
;
8222 out
->extent
= in
->extent
;
8224 FIXME("Unexpected pNext\n");
8227 static inline const VkImageResolve2
*convert_VkImageResolve2_array_win32_to_host(struct conversion_context
*ctx
, const VkImageResolve232
*in
, uint32_t count
)
8229 VkImageResolve2
*out
;
8232 if (!in
|| !count
) return NULL
;
8234 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8235 for (i
= 0; i
< count
; i
++)
8237 convert_VkImageResolve2_win32_to_host(&in
[i
], &out
[i
]);
8243 static inline void convert_VkResolveImageInfo2_win32_to_host(struct conversion_context
*ctx
, const VkResolveImageInfo232
*in
, VkResolveImageInfo2
*out
)
8247 out
->sType
= in
->sType
;
8249 out
->srcImage
= in
->srcImage
;
8250 out
->srcImageLayout
= in
->srcImageLayout
;
8251 out
->dstImage
= in
->dstImage
;
8252 out
->dstImageLayout
= in
->dstImageLayout
;
8253 out
->regionCount
= in
->regionCount
;
8254 out
->pRegions
= convert_VkImageResolve2_array_win32_to_host(ctx
, (const VkImageResolve232
*)UlongToPtr(in
->pRegions
), in
->regionCount
);
8256 FIXME("Unexpected pNext\n");
8259 static inline void convert_VkCoarseSampleOrderCustomNV_win32_to_host(const VkCoarseSampleOrderCustomNV32
*in
, VkCoarseSampleOrderCustomNV
*out
)
8263 out
->shadingRate
= in
->shadingRate
;
8264 out
->sampleCount
= in
->sampleCount
;
8265 out
->sampleLocationCount
= in
->sampleLocationCount
;
8266 out
->pSampleLocations
= (const VkCoarseSampleLocationNV
*)UlongToPtr(in
->pSampleLocations
);
8269 static inline const VkCoarseSampleOrderCustomNV
*convert_VkCoarseSampleOrderCustomNV_array_win32_to_host(struct conversion_context
*ctx
, const VkCoarseSampleOrderCustomNV32
*in
, uint32_t count
)
8271 VkCoarseSampleOrderCustomNV
*out
;
8274 if (!in
|| !count
) return NULL
;
8276 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8277 for (i
= 0; i
< count
; i
++)
8279 convert_VkCoarseSampleOrderCustomNV_win32_to_host(&in
[i
], &out
[i
]);
8285 static inline void convert_VkPerformanceMarkerInfoINTEL_win32_to_host(const VkPerformanceMarkerInfoINTEL32
*in
, VkPerformanceMarkerInfoINTEL
*out
)
8289 out
->sType
= in
->sType
;
8291 out
->marker
= in
->marker
;
8293 FIXME("Unexpected pNext\n");
8296 static inline void convert_VkPerformanceOverrideInfoINTEL_win32_to_host(const VkPerformanceOverrideInfoINTEL32
*in
, VkPerformanceOverrideInfoINTEL
*out
)
8300 out
->sType
= in
->sType
;
8302 out
->type
= in
->type
;
8303 out
->enable
= in
->enable
;
8304 out
->parameter
= in
->parameter
;
8306 FIXME("Unexpected pNext\n");
8309 static inline void convert_VkPerformanceStreamMarkerInfoINTEL_win32_to_host(const VkPerformanceStreamMarkerInfoINTEL32
*in
, VkPerformanceStreamMarkerInfoINTEL
*out
)
8313 out
->sType
= in
->sType
;
8315 out
->marker
= in
->marker
;
8317 FIXME("Unexpected pNext\n");
8320 static inline void convert_VkVertexInputBindingDescription2EXT_win32_to_host(const VkVertexInputBindingDescription2EXT32
*in
, VkVertexInputBindingDescription2EXT
*out
)
8324 out
->sType
= in
->sType
;
8326 out
->binding
= in
->binding
;
8327 out
->stride
= in
->stride
;
8328 out
->inputRate
= in
->inputRate
;
8329 out
->divisor
= in
->divisor
;
8331 FIXME("Unexpected pNext\n");
8334 static inline const VkVertexInputBindingDescription2EXT
*convert_VkVertexInputBindingDescription2EXT_array_win32_to_host(struct conversion_context
*ctx
, const VkVertexInputBindingDescription2EXT32
*in
, uint32_t count
)
8336 VkVertexInputBindingDescription2EXT
*out
;
8339 if (!in
|| !count
) return NULL
;
8341 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8342 for (i
= 0; i
< count
; i
++)
8344 convert_VkVertexInputBindingDescription2EXT_win32_to_host(&in
[i
], &out
[i
]);
8350 static inline void convert_VkVertexInputAttributeDescription2EXT_win32_to_host(const VkVertexInputAttributeDescription2EXT32
*in
, VkVertexInputAttributeDescription2EXT
*out
)
8354 out
->sType
= in
->sType
;
8356 out
->location
= in
->location
;
8357 out
->binding
= in
->binding
;
8358 out
->format
= in
->format
;
8359 out
->offset
= in
->offset
;
8361 FIXME("Unexpected pNext\n");
8364 static inline const VkVertexInputAttributeDescription2EXT
*convert_VkVertexInputAttributeDescription2EXT_array_win32_to_host(struct conversion_context
*ctx
, const VkVertexInputAttributeDescription2EXT32
*in
, uint32_t count
)
8366 VkVertexInputAttributeDescription2EXT
*out
;
8369 if (!in
|| !count
) return NULL
;
8371 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8372 for (i
= 0; i
< count
; i
++)
8374 convert_VkVertexInputAttributeDescription2EXT_win32_to_host(&in
[i
], &out
[i
]);
8380 static inline void convert_VkShadingRatePaletteNV_win32_to_host(const VkShadingRatePaletteNV32
*in
, VkShadingRatePaletteNV
*out
)
8384 out
->shadingRatePaletteEntryCount
= in
->shadingRatePaletteEntryCount
;
8385 out
->pShadingRatePaletteEntries
= (const VkShadingRatePaletteEntryNV
*)UlongToPtr(in
->pShadingRatePaletteEntries
);
8388 static inline const VkShadingRatePaletteNV
*convert_VkShadingRatePaletteNV_array_win32_to_host(struct conversion_context
*ctx
, const VkShadingRatePaletteNV32
*in
, uint32_t count
)
8390 VkShadingRatePaletteNV
*out
;
8393 if (!in
|| !count
) return NULL
;
8395 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8396 for (i
= 0; i
< count
; i
++)
8398 convert_VkShadingRatePaletteNV_win32_to_host(&in
[i
], &out
[i
]);
8404 static inline void convert_VkStridedDeviceAddressRegionKHR_win32_to_host(const VkStridedDeviceAddressRegionKHR32
*in
, VkStridedDeviceAddressRegionKHR
*out
)
8408 out
->deviceAddress
= in
->deviceAddress
;
8409 out
->stride
= in
->stride
;
8410 out
->size
= in
->size
;
8413 static inline const VkDependencyInfo
*convert_VkDependencyInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkDependencyInfo32
*in
, uint32_t count
)
8415 VkDependencyInfo
*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_VkDependencyInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
8429 static inline void convert_VkAccelerationStructureCreateInfoKHR_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureCreateInfoKHR32
*in
, VkAccelerationStructureCreateInfoKHR
*out
)
8431 const VkBaseInStructure32
*in_header
;
8432 VkBaseOutStructure
*out_header
= (void *)out
;
8436 out
->sType
= in
->sType
;
8438 out
->createFlags
= in
->createFlags
;
8439 out
->buffer
= in
->buffer
;
8440 out
->offset
= in
->offset
;
8441 out
->size
= in
->size
;
8442 out
->type
= in
->type
;
8443 out
->deviceAddress
= in
->deviceAddress
;
8445 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
8447 switch (in_header
->sType
)
8449 case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
:
8451 VkOpaqueCaptureDescriptorDataCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8452 const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*in_ext
= (const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*)in_header
;
8453 out_ext
->sType
= VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
;
8454 out_ext
->pNext
= NULL
;
8455 out_ext
->opaqueCaptureDescriptorData
= (const void *)UlongToPtr(in_ext
->opaqueCaptureDescriptorData
);
8456 out_header
->pNext
= (void *)out_ext
;
8457 out_header
= (void *)out_ext
;
8460 case VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV
:
8462 VkAccelerationStructureMotionInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8463 const VkAccelerationStructureMotionInfoNV32
*in_ext
= (const VkAccelerationStructureMotionInfoNV32
*)in_header
;
8464 out_ext
->sType
= VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV
;
8465 out_ext
->pNext
= NULL
;
8466 out_ext
->maxInstances
= in_ext
->maxInstances
;
8467 out_ext
->flags
= in_ext
->flags
;
8468 out_header
->pNext
= (void *)out_ext
;
8469 out_header
= (void *)out_ext
;
8473 FIXME("Unhandled sType %u.", in_header
->sType
);
8479 static inline void convert_VkAccelerationStructureCreateInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkAccelerationStructureCreateInfoNV32
*in
, VkAccelerationStructureCreateInfoNV
*out
)
8481 const VkBaseInStructure32
*in_header
;
8482 VkBaseOutStructure
*out_header
= (void *)out
;
8486 out
->sType
= in
->sType
;
8488 out
->compactedSize
= in
->compactedSize
;
8489 convert_VkAccelerationStructureInfoNV_win32_to_host(ctx
, &in
->info
, &out
->info
);
8491 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
8493 switch (in_header
->sType
)
8495 case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
:
8497 VkOpaqueCaptureDescriptorDataCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8498 const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*in_ext
= (const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*)in_header
;
8499 out_ext
->sType
= VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
;
8500 out_ext
->pNext
= NULL
;
8501 out_ext
->opaqueCaptureDescriptorData
= (const void *)UlongToPtr(in_ext
->opaqueCaptureDescriptorData
);
8502 out_header
->pNext
= (void *)out_ext
;
8503 out_header
= (void *)out_ext
;
8507 FIXME("Unhandled sType %u.", in_header
->sType
);
8513 static inline void convert_VkBufferCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkBufferCreateInfo32
*in
, VkBufferCreateInfo
*out
)
8515 const VkBaseInStructure32
*in_header
;
8516 VkBaseOutStructure
*out_header
= (void *)out
;
8520 out
->sType
= in
->sType
;
8522 out
->flags
= in
->flags
;
8523 out
->size
= in
->size
;
8524 out
->usage
= in
->usage
;
8525 out
->sharingMode
= in
->sharingMode
;
8526 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
8527 out
->pQueueFamilyIndices
= (const uint32_t *)UlongToPtr(in
->pQueueFamilyIndices
);
8529 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
8531 switch (in_header
->sType
)
8533 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV
:
8535 VkDedicatedAllocationBufferCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8536 const VkDedicatedAllocationBufferCreateInfoNV32
*in_ext
= (const VkDedicatedAllocationBufferCreateInfoNV32
*)in_header
;
8537 out_ext
->sType
= VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV
;
8538 out_ext
->pNext
= NULL
;
8539 out_ext
->dedicatedAllocation
= in_ext
->dedicatedAllocation
;
8540 out_header
->pNext
= (void *)out_ext
;
8541 out_header
= (void *)out_ext
;
8544 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO
:
8546 VkExternalMemoryBufferCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8547 const VkExternalMemoryBufferCreateInfo32
*in_ext
= (const VkExternalMemoryBufferCreateInfo32
*)in_header
;
8548 out_ext
->sType
= VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO
;
8549 out_ext
->pNext
= NULL
;
8550 out_ext
->handleTypes
= in_ext
->handleTypes
;
8551 out_header
->pNext
= (void *)out_ext
;
8552 out_header
= (void *)out_ext
;
8555 case VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO
:
8557 VkBufferOpaqueCaptureAddressCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8558 const VkBufferOpaqueCaptureAddressCreateInfo32
*in_ext
= (const VkBufferOpaqueCaptureAddressCreateInfo32
*)in_header
;
8559 out_ext
->sType
= VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO
;
8560 out_ext
->pNext
= NULL
;
8561 out_ext
->opaqueCaptureAddress
= in_ext
->opaqueCaptureAddress
;
8562 out_header
->pNext
= (void *)out_ext
;
8563 out_header
= (void *)out_ext
;
8566 case VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT
:
8568 VkBufferDeviceAddressCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8569 const VkBufferDeviceAddressCreateInfoEXT32
*in_ext
= (const VkBufferDeviceAddressCreateInfoEXT32
*)in_header
;
8570 out_ext
->sType
= VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_CREATE_INFO_EXT
;
8571 out_ext
->pNext
= NULL
;
8572 out_ext
->deviceAddress
= in_ext
->deviceAddress
;
8573 out_header
->pNext
= (void *)out_ext
;
8574 out_header
= (void *)out_ext
;
8577 case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
:
8579 VkOpaqueCaptureDescriptorDataCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8580 const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*in_ext
= (const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*)in_header
;
8581 out_ext
->sType
= VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
;
8582 out_ext
->pNext
= NULL
;
8583 out_ext
->opaqueCaptureDescriptorData
= (const void *)UlongToPtr(in_ext
->opaqueCaptureDescriptorData
);
8584 out_header
->pNext
= (void *)out_ext
;
8585 out_header
= (void *)out_ext
;
8589 FIXME("Unhandled sType %u.", in_header
->sType
);
8595 static inline void convert_VkBufferViewCreateInfo_win32_to_host(const VkBufferViewCreateInfo32
*in
, VkBufferViewCreateInfo
*out
)
8599 out
->sType
= in
->sType
;
8601 out
->flags
= in
->flags
;
8602 out
->buffer
= in
->buffer
;
8603 out
->format
= in
->format
;
8604 out
->offset
= in
->offset
;
8605 out
->range
= in
->range
;
8607 FIXME("Unexpected pNext\n");
8610 static inline void convert_VkCommandPoolCreateInfo_win32_to_host(const VkCommandPoolCreateInfo32
*in
, VkCommandPoolCreateInfo
*out
)
8614 out
->sType
= in
->sType
;
8616 out
->flags
= in
->flags
;
8617 out
->queueFamilyIndex
= in
->queueFamilyIndex
;
8619 FIXME("Unexpected pNext\n");
8622 static inline void convert_VkPipelineCreationFeedback_host_to_win32(const VkPipelineCreationFeedback
*in
, VkPipelineCreationFeedback32
*out
)
8626 out
->flags
= in
->flags
;
8627 out
->duration
= in
->duration
;
8630 static inline VkPipelineCreationFeedback
*convert_VkPipelineCreationFeedback_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineCreationFeedback32
*in
, uint32_t count
)
8632 VkPipelineCreationFeedback
*out
;
8633 if (!in
|| !count
) return NULL
;
8635 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8640 static inline void convert_VkPipelineCreationFeedback_array_host_to_win32(const VkPipelineCreationFeedback
*in
, VkPipelineCreationFeedback32
*out
, uint32_t count
)
8646 for (i
= 0; i
< count
; i
++)
8648 convert_VkPipelineCreationFeedback_host_to_win32(&in
[i
], &out
[i
]);
8652 static inline void convert_VkSpecializationMapEntry_win32_to_host(const VkSpecializationMapEntry32
*in
, VkSpecializationMapEntry
*out
)
8656 out
->constantID
= in
->constantID
;
8657 out
->offset
= in
->offset
;
8658 out
->size
= in
->size
;
8661 static inline const VkSpecializationMapEntry
*convert_VkSpecializationMapEntry_array_win32_to_host(struct conversion_context
*ctx
, const VkSpecializationMapEntry32
*in
, uint32_t count
)
8663 VkSpecializationMapEntry
*out
;
8666 if (!in
|| !count
) return NULL
;
8668 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8669 for (i
= 0; i
< count
; i
++)
8671 convert_VkSpecializationMapEntry_win32_to_host(&in
[i
], &out
[i
]);
8677 static inline void convert_VkSpecializationInfo_win32_to_host(struct conversion_context
*ctx
, const VkSpecializationInfo32
*in
, VkSpecializationInfo
*out
)
8681 out
->mapEntryCount
= in
->mapEntryCount
;
8682 out
->pMapEntries
= convert_VkSpecializationMapEntry_array_win32_to_host(ctx
, (const VkSpecializationMapEntry32
*)UlongToPtr(in
->pMapEntries
), in
->mapEntryCount
);
8683 out
->dataSize
= in
->dataSize
;
8684 out
->pData
= (const void *)UlongToPtr(in
->pData
);
8687 static inline const VkSpecializationInfo
*convert_VkSpecializationInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSpecializationInfo32
*in
, uint32_t count
)
8689 VkSpecializationInfo
*out
;
8692 if (!in
|| !count
) return NULL
;
8694 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
8695 for (i
= 0; i
< count
; i
++)
8697 convert_VkSpecializationInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
8704 static inline void convert_VkPipelineShaderStageCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkPipelineShaderStageCreateInfo
*in
, VkPipelineShaderStageCreateInfo
*out
)
8706 const VkBaseInStructure
*in_header
;
8707 VkBaseOutStructure
*out_header
= (void *)out
;
8711 out
->sType
= in
->sType
;
8713 out
->flags
= in
->flags
;
8714 out
->stage
= in
->stage
;
8715 out
->module
= in
->module
;
8716 out
->pName
= in
->pName
;
8717 out
->pSpecializationInfo
= in
->pSpecializationInfo
;
8719 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
8721 switch (in_header
->sType
)
8723 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
:
8725 VkShaderModuleCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8726 const VkShaderModuleCreateInfo
*in_ext
= (const VkShaderModuleCreateInfo
*)in_header
;
8727 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
;
8728 out_ext
->pNext
= NULL
;
8729 out_ext
->flags
= in_ext
->flags
;
8730 out_ext
->codeSize
= in_ext
->codeSize
;
8731 out_ext
->pCode
= in_ext
->pCode
;
8732 out_header
->pNext
= (void *)out_ext
;
8733 out_header
= (void *)out_ext
;
8736 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
:
8738 VkShaderModuleValidationCacheCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8739 const VkShaderModuleValidationCacheCreateInfoEXT
*in_ext
= (const VkShaderModuleValidationCacheCreateInfoEXT
*)in_header
;
8740 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
;
8741 out_ext
->pNext
= NULL
;
8742 out_ext
->validationCache
= in_ext
->validationCache
;
8743 out_header
->pNext
= (void *)out_ext
;
8744 out_header
= (void *)out_ext
;
8747 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
:
8749 VkDebugUtilsObjectNameInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8750 const VkDebugUtilsObjectNameInfoEXT
*in_ext
= (const VkDebugUtilsObjectNameInfoEXT
*)in_header
;
8751 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
;
8752 out_ext
->pNext
= NULL
;
8753 out_ext
->objectType
= in_ext
->objectType
;
8754 out_ext
->objectHandle
= wine_vk_unwrap_handle(in_ext
->objectType
, in_ext
->objectHandle
);
8755 out_ext
->pObjectName
= in_ext
->pObjectName
;
8756 out_header
->pNext
= (void *)out_ext
;
8757 out_header
= (void *)out_ext
;
8760 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO
:
8762 VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8763 const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*in_ext
= (const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*)in_header
;
8764 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO
;
8765 out_ext
->pNext
= NULL
;
8766 out_ext
->requiredSubgroupSize
= in_ext
->requiredSubgroupSize
;
8767 out_header
->pNext
= (void *)out_ext
;
8768 out_header
= (void *)out_ext
;
8771 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
:
8773 VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8774 const VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*in_ext
= (const VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*)in_header
;
8775 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
;
8776 out_ext
->pNext
= NULL
;
8777 out_ext
->identifierSize
= in_ext
->identifierSize
;
8778 out_ext
->pIdentifier
= in_ext
->pIdentifier
;
8779 out_header
->pNext
= (void *)out_ext
;
8780 out_header
= (void *)out_ext
;
8783 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
8785 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8786 const VkPipelineRobustnessCreateInfoEXT
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT
*)in_header
;
8787 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
8788 out_ext
->pNext
= NULL
;
8789 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
8790 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
8791 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
8792 out_ext
->images
= in_ext
->images
;
8793 out_header
->pNext
= (void *)out_ext
;
8794 out_header
= (void *)out_ext
;
8798 FIXME("Unhandled sType %u.", in_header
->sType
);
8805 static inline void convert_VkPipelineShaderStageCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkPipelineShaderStageCreateInfo32
*in
, VkPipelineShaderStageCreateInfo
*out
)
8807 const VkBaseInStructure32
*in_header
;
8808 VkBaseOutStructure
*out_header
= (void *)out
;
8812 out
->sType
= in
->sType
;
8814 out
->flags
= in
->flags
;
8815 out
->stage
= in
->stage
;
8816 out
->module
= in
->module
;
8817 out
->pName
= (const char *)UlongToPtr(in
->pName
);
8818 out
->pSpecializationInfo
= convert_VkSpecializationInfo_array_win32_to_host(ctx
, (const VkSpecializationInfo32
*)UlongToPtr(in
->pSpecializationInfo
), 1);
8820 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
8822 switch (in_header
->sType
)
8824 case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
:
8826 VkShaderModuleCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8827 const VkShaderModuleCreateInfo32
*in_ext
= (const VkShaderModuleCreateInfo32
*)in_header
;
8828 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO
;
8829 out_ext
->pNext
= NULL
;
8830 out_ext
->flags
= in_ext
->flags
;
8831 out_ext
->codeSize
= in_ext
->codeSize
;
8832 out_ext
->pCode
= (const uint32_t *)UlongToPtr(in_ext
->pCode
);
8833 out_header
->pNext
= (void *)out_ext
;
8834 out_header
= (void *)out_ext
;
8837 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
:
8839 VkShaderModuleValidationCacheCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8840 const VkShaderModuleValidationCacheCreateInfoEXT32
*in_ext
= (const VkShaderModuleValidationCacheCreateInfoEXT32
*)in_header
;
8841 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
;
8842 out_ext
->pNext
= NULL
;
8843 out_ext
->validationCache
= in_ext
->validationCache
;
8844 out_header
->pNext
= (void *)out_ext
;
8845 out_header
= (void *)out_ext
;
8848 case VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
:
8850 VkDebugUtilsObjectNameInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8851 const VkDebugUtilsObjectNameInfoEXT32
*in_ext
= (const VkDebugUtilsObjectNameInfoEXT32
*)in_header
;
8852 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_UTILS_OBJECT_NAME_INFO_EXT
;
8853 out_ext
->pNext
= NULL
;
8854 out_ext
->objectType
= in_ext
->objectType
;
8855 out_ext
->objectHandle
= wine_vk_unwrap_handle(in_ext
->objectType
, in_ext
->objectHandle
);
8856 out_ext
->pObjectName
= (const char *)UlongToPtr(in_ext
->pObjectName
);
8857 out_header
->pNext
= (void *)out_ext
;
8858 out_header
= (void *)out_ext
;
8861 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO
:
8863 VkPipelineShaderStageRequiredSubgroupSizeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8864 const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32
*in_ext
= (const VkPipelineShaderStageRequiredSubgroupSizeCreateInfo32
*)in_header
;
8865 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO
;
8866 out_ext
->pNext
= NULL
;
8867 out_ext
->requiredSubgroupSize
= in_ext
->requiredSubgroupSize
;
8868 out_header
->pNext
= (void *)out_ext
;
8869 out_header
= (void *)out_ext
;
8872 case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
:
8874 VkPipelineShaderStageModuleIdentifierCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8875 const VkPipelineShaderStageModuleIdentifierCreateInfoEXT32
*in_ext
= (const VkPipelineShaderStageModuleIdentifierCreateInfoEXT32
*)in_header
;
8876 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
;
8877 out_ext
->pNext
= NULL
;
8878 out_ext
->identifierSize
= in_ext
->identifierSize
;
8879 out_ext
->pIdentifier
= (const uint8_t *)UlongToPtr(in_ext
->pIdentifier
);
8880 out_header
->pNext
= (void *)out_ext
;
8881 out_header
= (void *)out_ext
;
8884 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
8886 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8887 const VkPipelineRobustnessCreateInfoEXT32
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT32
*)in_header
;
8888 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
8889 out_ext
->pNext
= NULL
;
8890 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
8891 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
8892 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
8893 out_ext
->images
= in_ext
->images
;
8894 out_header
->pNext
= (void *)out_ext
;
8895 out_header
= (void *)out_ext
;
8899 FIXME("Unhandled sType %u.", in_header
->sType
);
8906 static inline void convert_VkComputePipelineCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkComputePipelineCreateInfo
*in
, VkComputePipelineCreateInfo
*out
)
8910 out
->sType
= in
->sType
;
8911 out
->pNext
= in
->pNext
;
8912 out
->flags
= in
->flags
;
8913 convert_VkPipelineShaderStageCreateInfo_win64_to_host(ctx
, &in
->stage
, &out
->stage
);
8914 out
->layout
= in
->layout
;
8915 out
->basePipelineHandle
= in
->basePipelineHandle
;
8916 out
->basePipelineIndex
= in
->basePipelineIndex
;
8920 static inline void convert_VkComputePipelineCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkComputePipelineCreateInfo32
*in
, VkComputePipelineCreateInfo
*out
)
8922 const VkBaseInStructure32
*in_header
;
8923 VkBaseOutStructure
*out_header
= (void *)out
;
8927 out
->sType
= in
->sType
;
8929 out
->flags
= in
->flags
;
8930 convert_VkPipelineShaderStageCreateInfo_win32_to_host(ctx
, &in
->stage
, &out
->stage
);
8931 out
->layout
= in
->layout
;
8932 out
->basePipelineHandle
= in
->basePipelineHandle
;
8933 out
->basePipelineIndex
= in
->basePipelineIndex
;
8935 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
8937 switch (in_header
->sType
)
8939 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
8941 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8942 const VkPipelineCreationFeedbackCreateInfo32
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo32
*)in_header
;
8943 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
8944 out_ext
->pNext
= NULL
;
8945 out_ext
->pPipelineCreationFeedback
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, (VkPipelineCreationFeedback32
*)UlongToPtr(in_ext
->pPipelineCreationFeedback
), 1);
8946 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
8947 out_ext
->pPipelineStageCreationFeedbacks
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, (VkPipelineCreationFeedback32
*)UlongToPtr(in_ext
->pPipelineStageCreationFeedbacks
), in_ext
->pipelineStageCreationFeedbackCount
);
8948 out_header
->pNext
= (void *)out_ext
;
8949 out_header
= (void *)out_ext
;
8952 case VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI
:
8954 VkSubpassShadingPipelineCreateInfoHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8955 const VkSubpassShadingPipelineCreateInfoHUAWEI32
*in_ext
= (const VkSubpassShadingPipelineCreateInfoHUAWEI32
*)in_header
;
8956 out_ext
->sType
= VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI
;
8957 out_ext
->pNext
= NULL
;
8958 out_ext
->renderPass
= in_ext
->renderPass
;
8959 out_ext
->subpass
= in_ext
->subpass
;
8960 out_header
->pNext
= (void *)out_ext
;
8961 out_header
= (void *)out_ext
;
8964 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
:
8966 VkPipelineCompilerControlCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8967 const VkPipelineCompilerControlCreateInfoAMD32
*in_ext
= (const VkPipelineCompilerControlCreateInfoAMD32
*)in_header
;
8968 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
;
8969 out_ext
->pNext
= NULL
;
8970 out_ext
->compilerControlFlags
= in_ext
->compilerControlFlags
;
8971 out_header
->pNext
= (void *)out_ext
;
8972 out_header
= (void *)out_ext
;
8975 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
8977 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
8978 const VkPipelineRobustnessCreateInfoEXT32
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT32
*)in_header
;
8979 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
8980 out_ext
->pNext
= NULL
;
8981 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
8982 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
8983 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
8984 out_ext
->images
= in_ext
->images
;
8985 out_header
->pNext
= (void *)out_ext
;
8986 out_header
= (void *)out_ext
;
8990 FIXME("Unhandled sType %u.", in_header
->sType
);
8996 static inline void convert_VkComputePipelineCreateInfo_host_to_win32(const VkComputePipelineCreateInfo
*in
, const VkComputePipelineCreateInfo32
*out
)
8998 const VkBaseInStructure
*in_header
;
8999 VkBaseOutStructure32
*out_header
= (void *)out
;
9004 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
9006 switch (in_header
->sType
)
9008 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
9010 VkPipelineCreationFeedbackCreateInfo32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
);
9011 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
9012 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
9013 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineCreationFeedback
, (VkPipelineCreationFeedback32
*)UlongToPtr(out_ext
->pPipelineCreationFeedback
), 1);
9014 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineStageCreationFeedbacks
, (VkPipelineCreationFeedback32
*)UlongToPtr(out_ext
->pPipelineStageCreationFeedbacks
), in_ext
->pipelineStageCreationFeedbackCount
);
9015 out_header
= (void *)out_ext
;
9025 static inline const VkComputePipelineCreateInfo
*convert_VkComputePipelineCreateInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkComputePipelineCreateInfo
*in
, uint32_t count
)
9027 VkComputePipelineCreateInfo
*out
;
9030 if (!in
|| !count
) return NULL
;
9032 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9033 for (i
= 0; i
< count
; i
++)
9035 convert_VkComputePipelineCreateInfo_win64_to_host(ctx
, &in
[i
], &out
[i
]);
9042 static inline const VkComputePipelineCreateInfo
*convert_VkComputePipelineCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkComputePipelineCreateInfo32
*in
, uint32_t count
)
9044 VkComputePipelineCreateInfo
*out
;
9047 if (!in
|| !count
) return NULL
;
9049 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9050 for (i
= 0; i
< count
; i
++)
9052 convert_VkComputePipelineCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
9058 static inline void convert_VkComputePipelineCreateInfo_array_host_to_win32(const VkComputePipelineCreateInfo
*in
, const VkComputePipelineCreateInfo32
*out
, uint32_t count
)
9064 for (i
= 0; i
< count
; i
++)
9066 convert_VkComputePipelineCreateInfo_host_to_win32(&in
[i
], &out
[i
]);
9070 static inline void convert_VkCuFunctionCreateInfoNVX_win32_to_host(const VkCuFunctionCreateInfoNVX32
*in
, VkCuFunctionCreateInfoNVX
*out
)
9074 out
->sType
= in
->sType
;
9076 out
->module
= in
->module
;
9077 out
->pName
= (const char *)UlongToPtr(in
->pName
);
9079 FIXME("Unexpected pNext\n");
9082 static inline void convert_VkCuModuleCreateInfoNVX_win32_to_host(const VkCuModuleCreateInfoNVX32
*in
, VkCuModuleCreateInfoNVX
*out
)
9086 out
->sType
= in
->sType
;
9088 out
->dataSize
= in
->dataSize
;
9089 out
->pData
= (const void *)UlongToPtr(in
->pData
);
9091 FIXME("Unexpected pNext\n");
9094 static inline void convert_VkDebugReportCallbackCreateInfoEXT_win32_to_host(const VkDebugReportCallbackCreateInfoEXT32
*in
, VkDebugReportCallbackCreateInfoEXT
*out
)
9098 out
->sType
= in
->sType
;
9100 out
->flags
= in
->flags
;
9101 out
->pfnCallback
= in
->pfnCallback
;
9102 out
->pUserData
= (void *)UlongToPtr(in
->pUserData
);
9104 FIXME("Unexpected pNext\n");
9107 static inline void convert_VkDebugUtilsMessengerCreateInfoEXT_win32_to_host(const VkDebugUtilsMessengerCreateInfoEXT32
*in
, VkDebugUtilsMessengerCreateInfoEXT
*out
)
9111 out
->sType
= in
->sType
;
9113 out
->flags
= in
->flags
;
9114 out
->messageSeverity
= in
->messageSeverity
;
9115 out
->messageType
= in
->messageType
;
9116 out
->pfnUserCallback
= in
->pfnUserCallback
;
9117 out
->pUserData
= (void *)UlongToPtr(in
->pUserData
);
9119 FIXME("Unexpected pNext\n");
9122 static inline void convert_VkMutableDescriptorTypeListEXT_win32_to_host(const VkMutableDescriptorTypeListEXT32
*in
, VkMutableDescriptorTypeListEXT
*out
)
9126 out
->descriptorTypeCount
= in
->descriptorTypeCount
;
9127 out
->pDescriptorTypes
= (const VkDescriptorType
*)UlongToPtr(in
->pDescriptorTypes
);
9130 static inline const VkMutableDescriptorTypeListEXT
*convert_VkMutableDescriptorTypeListEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkMutableDescriptorTypeListEXT32
*in
, uint32_t count
)
9132 VkMutableDescriptorTypeListEXT
*out
;
9135 if (!in
|| !count
) return NULL
;
9137 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9138 for (i
= 0; i
< count
; i
++)
9140 convert_VkMutableDescriptorTypeListEXT_win32_to_host(&in
[i
], &out
[i
]);
9146 static inline void convert_VkDescriptorPoolCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorPoolCreateInfo32
*in
, VkDescriptorPoolCreateInfo
*out
)
9148 const VkBaseInStructure32
*in_header
;
9149 VkBaseOutStructure
*out_header
= (void *)out
;
9153 out
->sType
= in
->sType
;
9155 out
->flags
= in
->flags
;
9156 out
->maxSets
= in
->maxSets
;
9157 out
->poolSizeCount
= in
->poolSizeCount
;
9158 out
->pPoolSizes
= (const VkDescriptorPoolSize
*)UlongToPtr(in
->pPoolSizes
);
9160 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
9162 switch (in_header
->sType
)
9164 case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO
:
9166 VkDescriptorPoolInlineUniformBlockCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9167 const VkDescriptorPoolInlineUniformBlockCreateInfo32
*in_ext
= (const VkDescriptorPoolInlineUniformBlockCreateInfo32
*)in_header
;
9168 out_ext
->sType
= VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO
;
9169 out_ext
->pNext
= NULL
;
9170 out_ext
->maxInlineUniformBlockBindings
= in_ext
->maxInlineUniformBlockBindings
;
9171 out_header
->pNext
= (void *)out_ext
;
9172 out_header
= (void *)out_ext
;
9175 case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT
:
9177 VkMutableDescriptorTypeCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9178 const VkMutableDescriptorTypeCreateInfoEXT32
*in_ext
= (const VkMutableDescriptorTypeCreateInfoEXT32
*)in_header
;
9179 out_ext
->sType
= VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT
;
9180 out_ext
->pNext
= NULL
;
9181 out_ext
->mutableDescriptorTypeListCount
= in_ext
->mutableDescriptorTypeListCount
;
9182 out_ext
->pMutableDescriptorTypeLists
= convert_VkMutableDescriptorTypeListEXT_array_win32_to_host(ctx
, (const VkMutableDescriptorTypeListEXT32
*)UlongToPtr(in_ext
->pMutableDescriptorTypeLists
), in_ext
->mutableDescriptorTypeListCount
);
9183 out_header
->pNext
= (void *)out_ext
;
9184 out_header
= (void *)out_ext
;
9188 FIXME("Unhandled sType %u.", in_header
->sType
);
9194 static inline void convert_VkDescriptorSetLayoutBinding_win32_to_host(const VkDescriptorSetLayoutBinding32
*in
, VkDescriptorSetLayoutBinding
*out
)
9198 out
->binding
= in
->binding
;
9199 out
->descriptorType
= in
->descriptorType
;
9200 out
->descriptorCount
= in
->descriptorCount
;
9201 out
->stageFlags
= in
->stageFlags
;
9202 out
->pImmutableSamplers
= (const VkSampler
*)UlongToPtr(in
->pImmutableSamplers
);
9205 static inline const VkDescriptorSetLayoutBinding
*convert_VkDescriptorSetLayoutBinding_array_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorSetLayoutBinding32
*in
, uint32_t count
)
9207 VkDescriptorSetLayoutBinding
*out
;
9210 if (!in
|| !count
) return NULL
;
9212 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9213 for (i
= 0; i
< count
; i
++)
9215 convert_VkDescriptorSetLayoutBinding_win32_to_host(&in
[i
], &out
[i
]);
9221 static inline void convert_VkDescriptorSetLayoutCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorSetLayoutCreateInfo32
*in
, VkDescriptorSetLayoutCreateInfo
*out
)
9223 const VkBaseInStructure32
*in_header
;
9224 VkBaseOutStructure
*out_header
= (void *)out
;
9228 out
->sType
= in
->sType
;
9230 out
->flags
= in
->flags
;
9231 out
->bindingCount
= in
->bindingCount
;
9232 out
->pBindings
= convert_VkDescriptorSetLayoutBinding_array_win32_to_host(ctx
, (const VkDescriptorSetLayoutBinding32
*)UlongToPtr(in
->pBindings
), in
->bindingCount
);
9234 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
9236 switch (in_header
->sType
)
9238 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO
:
9240 VkDescriptorSetLayoutBindingFlagsCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9241 const VkDescriptorSetLayoutBindingFlagsCreateInfo32
*in_ext
= (const VkDescriptorSetLayoutBindingFlagsCreateInfo32
*)in_header
;
9242 out_ext
->sType
= VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO
;
9243 out_ext
->pNext
= NULL
;
9244 out_ext
->bindingCount
= in_ext
->bindingCount
;
9245 out_ext
->pBindingFlags
= (const VkDescriptorBindingFlags
*)UlongToPtr(in_ext
->pBindingFlags
);
9246 out_header
->pNext
= (void *)out_ext
;
9247 out_header
= (void *)out_ext
;
9250 case VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT
:
9252 VkMutableDescriptorTypeCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9253 const VkMutableDescriptorTypeCreateInfoEXT32
*in_ext
= (const VkMutableDescriptorTypeCreateInfoEXT32
*)in_header
;
9254 out_ext
->sType
= VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT
;
9255 out_ext
->pNext
= NULL
;
9256 out_ext
->mutableDescriptorTypeListCount
= in_ext
->mutableDescriptorTypeListCount
;
9257 out_ext
->pMutableDescriptorTypeLists
= convert_VkMutableDescriptorTypeListEXT_array_win32_to_host(ctx
, (const VkMutableDescriptorTypeListEXT32
*)UlongToPtr(in_ext
->pMutableDescriptorTypeLists
), in_ext
->mutableDescriptorTypeListCount
);
9258 out_header
->pNext
= (void *)out_ext
;
9259 out_header
= (void *)out_ext
;
9263 FIXME("Unhandled sType %u.", in_header
->sType
);
9269 static inline void convert_VkDescriptorUpdateTemplateEntry_win32_to_host(const VkDescriptorUpdateTemplateEntry32
*in
, VkDescriptorUpdateTemplateEntry
*out
)
9273 out
->dstBinding
= in
->dstBinding
;
9274 out
->dstArrayElement
= in
->dstArrayElement
;
9275 out
->descriptorCount
= in
->descriptorCount
;
9276 out
->descriptorType
= in
->descriptorType
;
9277 out
->offset
= in
->offset
;
9278 out
->stride
= in
->stride
;
9281 static inline const VkDescriptorUpdateTemplateEntry
*convert_VkDescriptorUpdateTemplateEntry_array_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorUpdateTemplateEntry32
*in
, uint32_t count
)
9283 VkDescriptorUpdateTemplateEntry
*out
;
9286 if (!in
|| !count
) return NULL
;
9288 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9289 for (i
= 0; i
< count
; i
++)
9291 convert_VkDescriptorUpdateTemplateEntry_win32_to_host(&in
[i
], &out
[i
]);
9297 static inline void convert_VkDescriptorUpdateTemplateCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorUpdateTemplateCreateInfo32
*in
, VkDescriptorUpdateTemplateCreateInfo
*out
)
9301 out
->sType
= in
->sType
;
9303 out
->flags
= in
->flags
;
9304 out
->descriptorUpdateEntryCount
= in
->descriptorUpdateEntryCount
;
9305 out
->pDescriptorUpdateEntries
= convert_VkDescriptorUpdateTemplateEntry_array_win32_to_host(ctx
, (const VkDescriptorUpdateTemplateEntry32
*)UlongToPtr(in
->pDescriptorUpdateEntries
), in
->descriptorUpdateEntryCount
);
9306 out
->templateType
= in
->templateType
;
9307 out
->descriptorSetLayout
= in
->descriptorSetLayout
;
9308 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
9309 out
->pipelineLayout
= in
->pipelineLayout
;
9312 FIXME("Unexpected pNext\n");
9316 static inline const VkPhysicalDevice
*convert_VkPhysicalDevice_array_win64_to_host(struct conversion_context
*ctx
, const VkPhysicalDevice
*in
, uint32_t count
)
9318 VkPhysicalDevice
*out
;
9321 if (!in
|| !count
) return NULL
;
9323 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9324 for (i
= 0; i
< count
; i
++)
9326 out
[i
] = wine_phys_dev_from_handle(in
[i
])->phys_dev
;
9333 static inline const VkPhysicalDevice
*convert_VkPhysicalDevice_array_win32_to_host(struct conversion_context
*ctx
, const PTR32
*in
, uint32_t count
)
9335 VkPhysicalDevice
*out
;
9338 if (!in
|| !count
) return NULL
;
9340 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9341 for (i
= 0; i
< count
; i
++)
9343 out
[i
] = wine_phys_dev_from_handle(UlongToPtr(in
[i
]))->phys_dev
;
9349 static inline void convert_VkDeviceQueueCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkDeviceQueueCreateInfo32
*in
, VkDeviceQueueCreateInfo
*out
)
9351 const VkBaseInStructure32
*in_header
;
9352 VkBaseOutStructure
*out_header
= (void *)out
;
9356 out
->sType
= in
->sType
;
9358 out
->flags
= in
->flags
;
9359 out
->queueFamilyIndex
= in
->queueFamilyIndex
;
9360 out
->queueCount
= in
->queueCount
;
9361 out
->pQueuePriorities
= (const float *)UlongToPtr(in
->pQueuePriorities
);
9363 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
9365 switch (in_header
->sType
)
9367 case VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR
:
9369 VkDeviceQueueGlobalPriorityCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9370 const VkDeviceQueueGlobalPriorityCreateInfoKHR32
*in_ext
= (const VkDeviceQueueGlobalPriorityCreateInfoKHR32
*)in_header
;
9371 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR
;
9372 out_ext
->pNext
= NULL
;
9373 out_ext
->globalPriority
= in_ext
->globalPriority
;
9374 out_header
->pNext
= (void *)out_ext
;
9375 out_header
= (void *)out_ext
;
9379 FIXME("Unhandled sType %u.", in_header
->sType
);
9385 static inline const VkDeviceQueueCreateInfo
*convert_VkDeviceQueueCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkDeviceQueueCreateInfo32
*in
, uint32_t count
)
9387 VkDeviceQueueCreateInfo
*out
;
9390 if (!in
|| !count
) return NULL
;
9392 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9393 for (i
= 0; i
< count
; i
++)
9395 convert_VkDeviceQueueCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
9401 static inline const char * const*convert_char_pointer_array_win32_to_host(struct conversion_context
*ctx
, const PTR32
*in
, uint32_t count
)
9406 if (!in
|| !count
) return NULL
;
9408 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
9409 for (i
= 0; i
< count
; i
++)
9411 out
[i
] = UlongToPtr(in
[i
]);
9418 static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkDeviceCreateInfo
*in
, VkDeviceCreateInfo
*out
)
9420 const VkBaseInStructure
*in_header
;
9421 VkBaseOutStructure
*out_header
= (void *)out
;
9425 out
->sType
= in
->sType
;
9427 out
->flags
= in
->flags
;
9428 out
->queueCreateInfoCount
= in
->queueCreateInfoCount
;
9429 out
->pQueueCreateInfos
= in
->pQueueCreateInfos
;
9430 out
->enabledLayerCount
= in
->enabledLayerCount
;
9431 out
->ppEnabledLayerNames
= in
->ppEnabledLayerNames
;
9432 out
->enabledExtensionCount
= in
->enabledExtensionCount
;
9433 out
->ppEnabledExtensionNames
= in
->ppEnabledExtensionNames
;
9434 out
->pEnabledFeatures
= in
->pEnabledFeatures
;
9436 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
9438 switch (in_header
->sType
)
9440 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
:
9442 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
:
9444 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9445 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*in_ext
= (const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*)in_header
;
9446 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
;
9447 out_ext
->pNext
= NULL
;
9448 out_ext
->deviceGeneratedCommands
= in_ext
->deviceGeneratedCommands
;
9449 out_header
->pNext
= (void *)out_ext
;
9450 out_header
= (void *)out_ext
;
9453 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO
:
9455 VkDevicePrivateDataCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9456 const VkDevicePrivateDataCreateInfo
*in_ext
= (const VkDevicePrivateDataCreateInfo
*)in_header
;
9457 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO
;
9458 out_ext
->pNext
= NULL
;
9459 out_ext
->privateDataSlotRequestCount
= in_ext
->privateDataSlotRequestCount
;
9460 out_header
->pNext
= (void *)out_ext
;
9461 out_header
= (void *)out_ext
;
9464 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
:
9466 VkPhysicalDevicePrivateDataFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9467 const VkPhysicalDevicePrivateDataFeatures
*in_ext
= (const VkPhysicalDevicePrivateDataFeatures
*)in_header
;
9468 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
;
9469 out_ext
->pNext
= NULL
;
9470 out_ext
->privateData
= in_ext
->privateData
;
9471 out_header
->pNext
= (void *)out_ext
;
9472 out_header
= (void *)out_ext
;
9475 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
:
9477 VkPhysicalDeviceFeatures2
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9478 const VkPhysicalDeviceFeatures2
*in_ext
= (const VkPhysicalDeviceFeatures2
*)in_header
;
9479 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
;
9480 out_ext
->pNext
= NULL
;
9481 out_ext
->features
= in_ext
->features
;
9482 out_header
->pNext
= (void *)out_ext
;
9483 out_header
= (void *)out_ext
;
9486 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
:
9488 VkPhysicalDeviceVariablePointersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9489 const VkPhysicalDeviceVariablePointersFeatures
*in_ext
= (const VkPhysicalDeviceVariablePointersFeatures
*)in_header
;
9490 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
;
9491 out_ext
->pNext
= NULL
;
9492 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
9493 out_ext
->variablePointers
= in_ext
->variablePointers
;
9494 out_header
->pNext
= (void *)out_ext
;
9495 out_header
= (void *)out_ext
;
9498 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
:
9500 VkPhysicalDeviceMultiviewFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9501 const VkPhysicalDeviceMultiviewFeatures
*in_ext
= (const VkPhysicalDeviceMultiviewFeatures
*)in_header
;
9502 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
;
9503 out_ext
->pNext
= NULL
;
9504 out_ext
->multiview
= in_ext
->multiview
;
9505 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
9506 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
9507 out_header
->pNext
= (void *)out_ext
;
9508 out_header
= (void *)out_ext
;
9511 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
:
9513 VkDeviceGroupDeviceCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9514 const VkDeviceGroupDeviceCreateInfo
*in_ext
= (const VkDeviceGroupDeviceCreateInfo
*)in_header
;
9515 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
;
9516 out_ext
->pNext
= NULL
;
9517 out_ext
->physicalDeviceCount
= in_ext
->physicalDeviceCount
;
9518 out_ext
->pPhysicalDevices
= convert_VkPhysicalDevice_array_win64_to_host(ctx
, in_ext
->pPhysicalDevices
, in_ext
->physicalDeviceCount
);
9519 out_header
->pNext
= (void *)out_ext
;
9520 out_header
= (void *)out_ext
;
9523 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
:
9525 VkPhysicalDevicePresentIdFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9526 const VkPhysicalDevicePresentIdFeaturesKHR
*in_ext
= (const VkPhysicalDevicePresentIdFeaturesKHR
*)in_header
;
9527 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
;
9528 out_ext
->pNext
= NULL
;
9529 out_ext
->presentId
= in_ext
->presentId
;
9530 out_header
->pNext
= (void *)out_ext
;
9531 out_header
= (void *)out_ext
;
9534 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
:
9536 VkPhysicalDevicePresentWaitFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9537 const VkPhysicalDevicePresentWaitFeaturesKHR
*in_ext
= (const VkPhysicalDevicePresentWaitFeaturesKHR
*)in_header
;
9538 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
;
9539 out_ext
->pNext
= NULL
;
9540 out_ext
->presentWait
= in_ext
->presentWait
;
9541 out_header
->pNext
= (void *)out_ext
;
9542 out_header
= (void *)out_ext
;
9545 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
:
9547 VkPhysicalDevice16BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9548 const VkPhysicalDevice16BitStorageFeatures
*in_ext
= (const VkPhysicalDevice16BitStorageFeatures
*)in_header
;
9549 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
;
9550 out_ext
->pNext
= NULL
;
9551 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
9552 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
9553 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
9554 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
9555 out_header
->pNext
= (void *)out_ext
;
9556 out_header
= (void *)out_ext
;
9559 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
:
9561 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9562 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*in_ext
= (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*)in_header
;
9563 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
;
9564 out_ext
->pNext
= NULL
;
9565 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
9566 out_header
->pNext
= (void *)out_ext
;
9567 out_header
= (void *)out_ext
;
9570 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
:
9572 VkPhysicalDeviceSamplerYcbcrConversionFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9573 const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*in_ext
= (const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*)in_header
;
9574 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
;
9575 out_ext
->pNext
= NULL
;
9576 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
9577 out_header
->pNext
= (void *)out_ext
;
9578 out_header
= (void *)out_ext
;
9581 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
:
9583 VkPhysicalDeviceProtectedMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9584 const VkPhysicalDeviceProtectedMemoryFeatures
*in_ext
= (const VkPhysicalDeviceProtectedMemoryFeatures
*)in_header
;
9585 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
;
9586 out_ext
->pNext
= NULL
;
9587 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
9588 out_header
->pNext
= (void *)out_ext
;
9589 out_header
= (void *)out_ext
;
9592 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
:
9594 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9595 const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*)in_header
;
9596 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
;
9597 out_ext
->pNext
= NULL
;
9598 out_ext
->advancedBlendCoherentOperations
= in_ext
->advancedBlendCoherentOperations
;
9599 out_header
->pNext
= (void *)out_ext
;
9600 out_header
= (void *)out_ext
;
9603 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
:
9605 VkPhysicalDeviceMultiDrawFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9606 const VkPhysicalDeviceMultiDrawFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMultiDrawFeaturesEXT
*)in_header
;
9607 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
;
9608 out_ext
->pNext
= NULL
;
9609 out_ext
->multiDraw
= in_ext
->multiDraw
;
9610 out_header
->pNext
= (void *)out_ext
;
9611 out_header
= (void *)out_ext
;
9614 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
:
9616 VkPhysicalDeviceInlineUniformBlockFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9617 const VkPhysicalDeviceInlineUniformBlockFeatures
*in_ext
= (const VkPhysicalDeviceInlineUniformBlockFeatures
*)in_header
;
9618 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
;
9619 out_ext
->pNext
= NULL
;
9620 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
9621 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
9622 out_header
->pNext
= (void *)out_ext
;
9623 out_header
= (void *)out_ext
;
9626 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
:
9628 VkPhysicalDeviceMaintenance4Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9629 const VkPhysicalDeviceMaintenance4Features
*in_ext
= (const VkPhysicalDeviceMaintenance4Features
*)in_header
;
9630 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
;
9631 out_ext
->pNext
= NULL
;
9632 out_ext
->maintenance4
= in_ext
->maintenance4
;
9633 out_header
->pNext
= (void *)out_ext
;
9634 out_header
= (void *)out_ext
;
9637 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
:
9639 VkPhysicalDeviceShaderDrawParametersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9640 const VkPhysicalDeviceShaderDrawParametersFeatures
*in_ext
= (const VkPhysicalDeviceShaderDrawParametersFeatures
*)in_header
;
9641 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
;
9642 out_ext
->pNext
= NULL
;
9643 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
9644 out_header
->pNext
= (void *)out_ext
;
9645 out_header
= (void *)out_ext
;
9648 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
:
9650 VkPhysicalDeviceShaderFloat16Int8Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9651 const VkPhysicalDeviceShaderFloat16Int8Features
*in_ext
= (const VkPhysicalDeviceShaderFloat16Int8Features
*)in_header
;
9652 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
;
9653 out_ext
->pNext
= NULL
;
9654 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
9655 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
9656 out_header
->pNext
= (void *)out_ext
;
9657 out_header
= (void *)out_ext
;
9660 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
:
9662 VkPhysicalDeviceHostQueryResetFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9663 const VkPhysicalDeviceHostQueryResetFeatures
*in_ext
= (const VkPhysicalDeviceHostQueryResetFeatures
*)in_header
;
9664 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
;
9665 out_ext
->pNext
= NULL
;
9666 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
9667 out_header
->pNext
= (void *)out_ext
;
9668 out_header
= (void *)out_ext
;
9671 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
:
9673 VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9674 const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*in_ext
= (const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*)in_header
;
9675 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
;
9676 out_ext
->pNext
= NULL
;
9677 out_ext
->globalPriorityQuery
= in_ext
->globalPriorityQuery
;
9678 out_header
->pNext
= (void *)out_ext
;
9679 out_header
= (void *)out_ext
;
9682 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
:
9684 VkPhysicalDeviceDescriptorIndexingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9685 const VkPhysicalDeviceDescriptorIndexingFeatures
*in_ext
= (const VkPhysicalDeviceDescriptorIndexingFeatures
*)in_header
;
9686 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
;
9687 out_ext
->pNext
= NULL
;
9688 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
9689 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
9690 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
9691 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
9692 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
9693 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
9694 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
9695 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
9696 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
9697 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
9698 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
9699 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
9700 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
9701 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
9702 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
9703 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
9704 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
9705 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
9706 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
9707 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
9708 out_header
->pNext
= (void *)out_ext
;
9709 out_header
= (void *)out_ext
;
9712 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
:
9714 VkPhysicalDeviceTimelineSemaphoreFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9715 const VkPhysicalDeviceTimelineSemaphoreFeatures
*in_ext
= (const VkPhysicalDeviceTimelineSemaphoreFeatures
*)in_header
;
9716 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
;
9717 out_ext
->pNext
= NULL
;
9718 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
9719 out_header
->pNext
= (void *)out_ext
;
9720 out_header
= (void *)out_ext
;
9723 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
:
9725 VkPhysicalDevice8BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9726 const VkPhysicalDevice8BitStorageFeatures
*in_ext
= (const VkPhysicalDevice8BitStorageFeatures
*)in_header
;
9727 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
;
9728 out_ext
->pNext
= NULL
;
9729 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
9730 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
9731 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
9732 out_header
->pNext
= (void *)out_ext
;
9733 out_header
= (void *)out_ext
;
9736 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
:
9738 VkPhysicalDeviceConditionalRenderingFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9739 const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*in_ext
= (const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*)in_header
;
9740 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
;
9741 out_ext
->pNext
= NULL
;
9742 out_ext
->conditionalRendering
= in_ext
->conditionalRendering
;
9743 out_ext
->inheritedConditionalRendering
= in_ext
->inheritedConditionalRendering
;
9744 out_header
->pNext
= (void *)out_ext
;
9745 out_header
= (void *)out_ext
;
9748 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
:
9750 VkPhysicalDeviceVulkanMemoryModelFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9751 const VkPhysicalDeviceVulkanMemoryModelFeatures
*in_ext
= (const VkPhysicalDeviceVulkanMemoryModelFeatures
*)in_header
;
9752 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
;
9753 out_ext
->pNext
= NULL
;
9754 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
9755 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
9756 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
9757 out_header
->pNext
= (void *)out_ext
;
9758 out_header
= (void *)out_ext
;
9761 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
:
9763 VkPhysicalDeviceShaderAtomicInt64Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9764 const VkPhysicalDeviceShaderAtomicInt64Features
*in_ext
= (const VkPhysicalDeviceShaderAtomicInt64Features
*)in_header
;
9765 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
;
9766 out_ext
->pNext
= NULL
;
9767 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
9768 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
9769 out_header
->pNext
= (void *)out_ext
;
9770 out_header
= (void *)out_ext
;
9773 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
:
9775 VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9776 const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*)in_header
;
9777 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
;
9778 out_ext
->pNext
= NULL
;
9779 out_ext
->shaderBufferFloat32Atomics
= in_ext
->shaderBufferFloat32Atomics
;
9780 out_ext
->shaderBufferFloat32AtomicAdd
= in_ext
->shaderBufferFloat32AtomicAdd
;
9781 out_ext
->shaderBufferFloat64Atomics
= in_ext
->shaderBufferFloat64Atomics
;
9782 out_ext
->shaderBufferFloat64AtomicAdd
= in_ext
->shaderBufferFloat64AtomicAdd
;
9783 out_ext
->shaderSharedFloat32Atomics
= in_ext
->shaderSharedFloat32Atomics
;
9784 out_ext
->shaderSharedFloat32AtomicAdd
= in_ext
->shaderSharedFloat32AtomicAdd
;
9785 out_ext
->shaderSharedFloat64Atomics
= in_ext
->shaderSharedFloat64Atomics
;
9786 out_ext
->shaderSharedFloat64AtomicAdd
= in_ext
->shaderSharedFloat64AtomicAdd
;
9787 out_ext
->shaderImageFloat32Atomics
= in_ext
->shaderImageFloat32Atomics
;
9788 out_ext
->shaderImageFloat32AtomicAdd
= in_ext
->shaderImageFloat32AtomicAdd
;
9789 out_ext
->sparseImageFloat32Atomics
= in_ext
->sparseImageFloat32Atomics
;
9790 out_ext
->sparseImageFloat32AtomicAdd
= in_ext
->sparseImageFloat32AtomicAdd
;
9791 out_header
->pNext
= (void *)out_ext
;
9792 out_header
= (void *)out_ext
;
9795 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
:
9797 VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9798 const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*)in_header
;
9799 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
;
9800 out_ext
->pNext
= NULL
;
9801 out_ext
->shaderBufferFloat16Atomics
= in_ext
->shaderBufferFloat16Atomics
;
9802 out_ext
->shaderBufferFloat16AtomicAdd
= in_ext
->shaderBufferFloat16AtomicAdd
;
9803 out_ext
->shaderBufferFloat16AtomicMinMax
= in_ext
->shaderBufferFloat16AtomicMinMax
;
9804 out_ext
->shaderBufferFloat32AtomicMinMax
= in_ext
->shaderBufferFloat32AtomicMinMax
;
9805 out_ext
->shaderBufferFloat64AtomicMinMax
= in_ext
->shaderBufferFloat64AtomicMinMax
;
9806 out_ext
->shaderSharedFloat16Atomics
= in_ext
->shaderSharedFloat16Atomics
;
9807 out_ext
->shaderSharedFloat16AtomicAdd
= in_ext
->shaderSharedFloat16AtomicAdd
;
9808 out_ext
->shaderSharedFloat16AtomicMinMax
= in_ext
->shaderSharedFloat16AtomicMinMax
;
9809 out_ext
->shaderSharedFloat32AtomicMinMax
= in_ext
->shaderSharedFloat32AtomicMinMax
;
9810 out_ext
->shaderSharedFloat64AtomicMinMax
= in_ext
->shaderSharedFloat64AtomicMinMax
;
9811 out_ext
->shaderImageFloat32AtomicMinMax
= in_ext
->shaderImageFloat32AtomicMinMax
;
9812 out_ext
->sparseImageFloat32AtomicMinMax
= in_ext
->sparseImageFloat32AtomicMinMax
;
9813 out_header
->pNext
= (void *)out_ext
;
9814 out_header
= (void *)out_ext
;
9817 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
:
9819 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9820 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*in_ext
= (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*)in_header
;
9821 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
;
9822 out_ext
->pNext
= NULL
;
9823 out_ext
->vertexAttributeInstanceRateDivisor
= in_ext
->vertexAttributeInstanceRateDivisor
;
9824 out_ext
->vertexAttributeInstanceRateZeroDivisor
= in_ext
->vertexAttributeInstanceRateZeroDivisor
;
9825 out_header
->pNext
= (void *)out_ext
;
9826 out_header
= (void *)out_ext
;
9829 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
:
9831 VkPhysicalDeviceASTCDecodeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9832 const VkPhysicalDeviceASTCDecodeFeaturesEXT
*in_ext
= (const VkPhysicalDeviceASTCDecodeFeaturesEXT
*)in_header
;
9833 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
;
9834 out_ext
->pNext
= NULL
;
9835 out_ext
->decodeModeSharedExponent
= in_ext
->decodeModeSharedExponent
;
9836 out_header
->pNext
= (void *)out_ext
;
9837 out_header
= (void *)out_ext
;
9840 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
:
9842 VkPhysicalDeviceTransformFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9843 const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*in_ext
= (const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*)in_header
;
9844 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
;
9845 out_ext
->pNext
= NULL
;
9846 out_ext
->transformFeedback
= in_ext
->transformFeedback
;
9847 out_ext
->geometryStreams
= in_ext
->geometryStreams
;
9848 out_header
->pNext
= (void *)out_ext
;
9849 out_header
= (void *)out_ext
;
9852 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
:
9854 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9855 const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*in_ext
= (const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*)in_header
;
9856 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
;
9857 out_ext
->pNext
= NULL
;
9858 out_ext
->representativeFragmentTest
= in_ext
->representativeFragmentTest
;
9859 out_header
->pNext
= (void *)out_ext
;
9860 out_header
= (void *)out_ext
;
9863 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
:
9865 VkPhysicalDeviceExclusiveScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9866 const VkPhysicalDeviceExclusiveScissorFeaturesNV
*in_ext
= (const VkPhysicalDeviceExclusiveScissorFeaturesNV
*)in_header
;
9867 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
;
9868 out_ext
->pNext
= NULL
;
9869 out_ext
->exclusiveScissor
= in_ext
->exclusiveScissor
;
9870 out_header
->pNext
= (void *)out_ext
;
9871 out_header
= (void *)out_ext
;
9874 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
:
9876 VkPhysicalDeviceCornerSampledImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9877 const VkPhysicalDeviceCornerSampledImageFeaturesNV
*in_ext
= (const VkPhysicalDeviceCornerSampledImageFeaturesNV
*)in_header
;
9878 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
;
9879 out_ext
->pNext
= NULL
;
9880 out_ext
->cornerSampledImage
= in_ext
->cornerSampledImage
;
9881 out_header
->pNext
= (void *)out_ext
;
9882 out_header
= (void *)out_ext
;
9885 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
:
9887 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9888 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*in_ext
= (const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*)in_header
;
9889 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
;
9890 out_ext
->pNext
= NULL
;
9891 out_ext
->computeDerivativeGroupQuads
= in_ext
->computeDerivativeGroupQuads
;
9892 out_ext
->computeDerivativeGroupLinear
= in_ext
->computeDerivativeGroupLinear
;
9893 out_header
->pNext
= (void *)out_ext
;
9894 out_header
= (void *)out_ext
;
9897 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
:
9899 VkPhysicalDeviceShaderImageFootprintFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9900 const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*in_ext
= (const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*)in_header
;
9901 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
;
9902 out_ext
->pNext
= NULL
;
9903 out_ext
->imageFootprint
= in_ext
->imageFootprint
;
9904 out_header
->pNext
= (void *)out_ext
;
9905 out_header
= (void *)out_ext
;
9908 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
:
9910 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9911 const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*in_ext
= (const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*)in_header
;
9912 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
;
9913 out_ext
->pNext
= NULL
;
9914 out_ext
->dedicatedAllocationImageAliasing
= in_ext
->dedicatedAllocationImageAliasing
;
9915 out_header
->pNext
= (void *)out_ext
;
9916 out_header
= (void *)out_ext
;
9919 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
:
9921 VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9922 const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*in_ext
= (const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*)in_header
;
9923 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
;
9924 out_ext
->pNext
= NULL
;
9925 out_ext
->indirectCopy
= in_ext
->indirectCopy
;
9926 out_header
->pNext
= (void *)out_ext
;
9927 out_header
= (void *)out_ext
;
9930 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
:
9932 VkPhysicalDeviceMemoryDecompressionFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9933 const VkPhysicalDeviceMemoryDecompressionFeaturesNV
*in_ext
= (const VkPhysicalDeviceMemoryDecompressionFeaturesNV
*)in_header
;
9934 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
;
9935 out_ext
->pNext
= NULL
;
9936 out_ext
->memoryDecompression
= in_ext
->memoryDecompression
;
9937 out_header
->pNext
= (void *)out_ext
;
9938 out_header
= (void *)out_ext
;
9941 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
:
9943 VkPhysicalDeviceShadingRateImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9944 const VkPhysicalDeviceShadingRateImageFeaturesNV
*in_ext
= (const VkPhysicalDeviceShadingRateImageFeaturesNV
*)in_header
;
9945 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
;
9946 out_ext
->pNext
= NULL
;
9947 out_ext
->shadingRateImage
= in_ext
->shadingRateImage
;
9948 out_ext
->shadingRateCoarseSampleOrder
= in_ext
->shadingRateCoarseSampleOrder
;
9949 out_header
->pNext
= (void *)out_ext
;
9950 out_header
= (void *)out_ext
;
9953 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
:
9955 VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9956 const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*in_ext
= (const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*)in_header
;
9957 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
;
9958 out_ext
->pNext
= NULL
;
9959 out_ext
->invocationMask
= in_ext
->invocationMask
;
9960 out_header
->pNext
= (void *)out_ext
;
9961 out_header
= (void *)out_ext
;
9964 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
:
9966 VkPhysicalDeviceMeshShaderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9967 const VkPhysicalDeviceMeshShaderFeaturesNV
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesNV
*)in_header
;
9968 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
;
9969 out_ext
->pNext
= NULL
;
9970 out_ext
->taskShader
= in_ext
->taskShader
;
9971 out_ext
->meshShader
= in_ext
->meshShader
;
9972 out_header
->pNext
= (void *)out_ext
;
9973 out_header
= (void *)out_ext
;
9976 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
:
9978 VkPhysicalDeviceMeshShaderFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9979 const VkPhysicalDeviceMeshShaderFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesEXT
*)in_header
;
9980 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
;
9981 out_ext
->pNext
= NULL
;
9982 out_ext
->taskShader
= in_ext
->taskShader
;
9983 out_ext
->meshShader
= in_ext
->meshShader
;
9984 out_ext
->multiviewMeshShader
= in_ext
->multiviewMeshShader
;
9985 out_ext
->primitiveFragmentShadingRateMeshShader
= in_ext
->primitiveFragmentShadingRateMeshShader
;
9986 out_ext
->meshShaderQueries
= in_ext
->meshShaderQueries
;
9987 out_header
->pNext
= (void *)out_ext
;
9988 out_header
= (void *)out_ext
;
9991 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
:
9993 VkPhysicalDeviceAccelerationStructureFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
9994 const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*in_ext
= (const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*)in_header
;
9995 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
;
9996 out_ext
->pNext
= NULL
;
9997 out_ext
->accelerationStructure
= in_ext
->accelerationStructure
;
9998 out_ext
->accelerationStructureCaptureReplay
= in_ext
->accelerationStructureCaptureReplay
;
9999 out_ext
->accelerationStructureIndirectBuild
= in_ext
->accelerationStructureIndirectBuild
;
10000 out_ext
->accelerationStructureHostCommands
= in_ext
->accelerationStructureHostCommands
;
10001 out_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
= in_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
;
10002 out_header
->pNext
= (void *)out_ext
;
10003 out_header
= (void *)out_ext
;
10006 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
:
10008 VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10009 const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*)in_header
;
10010 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
;
10011 out_ext
->pNext
= NULL
;
10012 out_ext
->rayTracingPipeline
= in_ext
->rayTracingPipeline
;
10013 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
;
10014 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
;
10015 out_ext
->rayTracingPipelineTraceRaysIndirect
= in_ext
->rayTracingPipelineTraceRaysIndirect
;
10016 out_ext
->rayTraversalPrimitiveCulling
= in_ext
->rayTraversalPrimitiveCulling
;
10017 out_header
->pNext
= (void *)out_ext
;
10018 out_header
= (void *)out_ext
;
10021 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
:
10023 VkPhysicalDeviceRayQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10024 const VkPhysicalDeviceRayQueryFeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayQueryFeaturesKHR
*)in_header
;
10025 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
;
10026 out_ext
->pNext
= NULL
;
10027 out_ext
->rayQuery
= in_ext
->rayQuery
;
10028 out_header
->pNext
= (void *)out_ext
;
10029 out_header
= (void *)out_ext
;
10032 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
:
10034 VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10035 const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*)in_header
;
10036 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
;
10037 out_ext
->pNext
= NULL
;
10038 out_ext
->rayTracingMaintenance1
= in_ext
->rayTracingMaintenance1
;
10039 out_ext
->rayTracingPipelineTraceRaysIndirect2
= in_ext
->rayTracingPipelineTraceRaysIndirect2
;
10040 out_header
->pNext
= (void *)out_ext
;
10041 out_header
= (void *)out_ext
;
10044 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
:
10046 VkDeviceMemoryOverallocationCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10047 const VkDeviceMemoryOverallocationCreateInfoAMD
*in_ext
= (const VkDeviceMemoryOverallocationCreateInfoAMD
*)in_header
;
10048 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
;
10049 out_ext
->pNext
= NULL
;
10050 out_ext
->overallocationBehavior
= in_ext
->overallocationBehavior
;
10051 out_header
->pNext
= (void *)out_ext
;
10052 out_header
= (void *)out_ext
;
10055 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
:
10057 VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10058 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*)in_header
;
10059 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
;
10060 out_ext
->pNext
= NULL
;
10061 out_ext
->fragmentDensityMap
= in_ext
->fragmentDensityMap
;
10062 out_ext
->fragmentDensityMapDynamic
= in_ext
->fragmentDensityMapDynamic
;
10063 out_ext
->fragmentDensityMapNonSubsampledImages
= in_ext
->fragmentDensityMapNonSubsampledImages
;
10064 out_header
->pNext
= (void *)out_ext
;
10065 out_header
= (void *)out_ext
;
10068 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
:
10070 VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10071 const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*)in_header
;
10072 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
;
10073 out_ext
->pNext
= NULL
;
10074 out_ext
->fragmentDensityMapDeferred
= in_ext
->fragmentDensityMapDeferred
;
10075 out_header
->pNext
= (void *)out_ext
;
10076 out_header
= (void *)out_ext
;
10079 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
:
10081 VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10082 const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*)in_header
;
10083 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
;
10084 out_ext
->pNext
= NULL
;
10085 out_ext
->fragmentDensityMapOffset
= in_ext
->fragmentDensityMapOffset
;
10086 out_header
->pNext
= (void *)out_ext
;
10087 out_header
= (void *)out_ext
;
10090 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
:
10092 VkPhysicalDeviceScalarBlockLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10093 const VkPhysicalDeviceScalarBlockLayoutFeatures
*in_ext
= (const VkPhysicalDeviceScalarBlockLayoutFeatures
*)in_header
;
10094 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
;
10095 out_ext
->pNext
= NULL
;
10096 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
10097 out_header
->pNext
= (void *)out_ext
;
10098 out_header
= (void *)out_ext
;
10101 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
:
10103 VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10104 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*in_ext
= (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*)in_header
;
10105 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
;
10106 out_ext
->pNext
= NULL
;
10107 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
10108 out_header
->pNext
= (void *)out_ext
;
10109 out_header
= (void *)out_ext
;
10112 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
:
10114 VkPhysicalDeviceDepthClipEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10115 const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*)in_header
;
10116 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
;
10117 out_ext
->pNext
= NULL
;
10118 out_ext
->depthClipEnable
= in_ext
->depthClipEnable
;
10119 out_header
->pNext
= (void *)out_ext
;
10120 out_header
= (void *)out_ext
;
10123 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
:
10125 VkPhysicalDeviceMemoryPriorityFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10126 const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*)in_header
;
10127 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
;
10128 out_ext
->pNext
= NULL
;
10129 out_ext
->memoryPriority
= in_ext
->memoryPriority
;
10130 out_header
->pNext
= (void *)out_ext
;
10131 out_header
= (void *)out_ext
;
10134 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
:
10136 VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10137 const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*in_ext
= (const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*)in_header
;
10138 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
;
10139 out_ext
->pNext
= NULL
;
10140 out_ext
->pageableDeviceLocalMemory
= in_ext
->pageableDeviceLocalMemory
;
10141 out_header
->pNext
= (void *)out_ext
;
10142 out_header
= (void *)out_ext
;
10145 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
:
10147 VkPhysicalDeviceBufferDeviceAddressFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10148 const VkPhysicalDeviceBufferDeviceAddressFeatures
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeatures
*)in_header
;
10149 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
;
10150 out_ext
->pNext
= NULL
;
10151 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
10152 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
10153 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
10154 out_header
->pNext
= (void *)out_ext
;
10155 out_header
= (void *)out_ext
;
10158 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
:
10160 VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10161 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*)in_header
;
10162 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
;
10163 out_ext
->pNext
= NULL
;
10164 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
10165 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
10166 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
10167 out_header
->pNext
= (void *)out_ext
;
10168 out_header
= (void *)out_ext
;
10171 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
:
10173 VkPhysicalDeviceImagelessFramebufferFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10174 const VkPhysicalDeviceImagelessFramebufferFeatures
*in_ext
= (const VkPhysicalDeviceImagelessFramebufferFeatures
*)in_header
;
10175 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
;
10176 out_ext
->pNext
= NULL
;
10177 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
10178 out_header
->pNext
= (void *)out_ext
;
10179 out_header
= (void *)out_ext
;
10182 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
:
10184 VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10185 const VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*in_ext
= (const VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*)in_header
;
10186 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
;
10187 out_ext
->pNext
= NULL
;
10188 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
10189 out_header
->pNext
= (void *)out_ext
;
10190 out_header
= (void *)out_ext
;
10193 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
:
10195 VkPhysicalDeviceCooperativeMatrixFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10196 const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*in_ext
= (const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*)in_header
;
10197 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
;
10198 out_ext
->pNext
= NULL
;
10199 out_ext
->cooperativeMatrix
= in_ext
->cooperativeMatrix
;
10200 out_ext
->cooperativeMatrixRobustBufferAccess
= in_ext
->cooperativeMatrixRobustBufferAccess
;
10201 out_header
->pNext
= (void *)out_ext
;
10202 out_header
= (void *)out_ext
;
10205 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
:
10207 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10208 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*in_ext
= (const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*)in_header
;
10209 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
;
10210 out_ext
->pNext
= NULL
;
10211 out_ext
->ycbcrImageArrays
= in_ext
->ycbcrImageArrays
;
10212 out_header
->pNext
= (void *)out_ext
;
10213 out_header
= (void *)out_ext
;
10216 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
:
10218 VkPhysicalDevicePresentBarrierFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10219 const VkPhysicalDevicePresentBarrierFeaturesNV
*in_ext
= (const VkPhysicalDevicePresentBarrierFeaturesNV
*)in_header
;
10220 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
;
10221 out_ext
->pNext
= NULL
;
10222 out_ext
->presentBarrier
= in_ext
->presentBarrier
;
10223 out_header
->pNext
= (void *)out_ext
;
10224 out_header
= (void *)out_ext
;
10227 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
:
10229 VkPhysicalDevicePerformanceQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10230 const VkPhysicalDevicePerformanceQueryFeaturesKHR
*in_ext
= (const VkPhysicalDevicePerformanceQueryFeaturesKHR
*)in_header
;
10231 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
;
10232 out_ext
->pNext
= NULL
;
10233 out_ext
->performanceCounterQueryPools
= in_ext
->performanceCounterQueryPools
;
10234 out_ext
->performanceCounterMultipleQueryPools
= in_ext
->performanceCounterMultipleQueryPools
;
10235 out_header
->pNext
= (void *)out_ext
;
10236 out_header
= (void *)out_ext
;
10239 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
:
10241 VkPhysicalDeviceCoverageReductionModeFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10242 const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*in_ext
= (const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*)in_header
;
10243 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
;
10244 out_ext
->pNext
= NULL
;
10245 out_ext
->coverageReductionMode
= in_ext
->coverageReductionMode
;
10246 out_header
->pNext
= (void *)out_ext
;
10247 out_header
= (void *)out_ext
;
10250 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
:
10252 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10253 const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*in_ext
= (const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*)in_header
;
10254 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
;
10255 out_ext
->pNext
= NULL
;
10256 out_ext
->shaderIntegerFunctions2
= in_ext
->shaderIntegerFunctions2
;
10257 out_header
->pNext
= (void *)out_ext
;
10258 out_header
= (void *)out_ext
;
10261 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
:
10263 VkPhysicalDeviceShaderClockFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10264 const VkPhysicalDeviceShaderClockFeaturesKHR
*in_ext
= (const VkPhysicalDeviceShaderClockFeaturesKHR
*)in_header
;
10265 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
;
10266 out_ext
->pNext
= NULL
;
10267 out_ext
->shaderSubgroupClock
= in_ext
->shaderSubgroupClock
;
10268 out_ext
->shaderDeviceClock
= in_ext
->shaderDeviceClock
;
10269 out_header
->pNext
= (void *)out_ext
;
10270 out_header
= (void *)out_ext
;
10273 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
:
10275 VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10276 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*in_ext
= (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*)in_header
;
10277 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
;
10278 out_ext
->pNext
= NULL
;
10279 out_ext
->indexTypeUint8
= in_ext
->indexTypeUint8
;
10280 out_header
->pNext
= (void *)out_ext
;
10281 out_header
= (void *)out_ext
;
10284 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
:
10286 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10287 const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*in_ext
= (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*)in_header
;
10288 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
;
10289 out_ext
->pNext
= NULL
;
10290 out_ext
->shaderSMBuiltins
= in_ext
->shaderSMBuiltins
;
10291 out_header
->pNext
= (void *)out_ext
;
10292 out_header
= (void *)out_ext
;
10295 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
:
10297 VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10298 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*)in_header
;
10299 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
;
10300 out_ext
->pNext
= NULL
;
10301 out_ext
->fragmentShaderSampleInterlock
= in_ext
->fragmentShaderSampleInterlock
;
10302 out_ext
->fragmentShaderPixelInterlock
= in_ext
->fragmentShaderPixelInterlock
;
10303 out_ext
->fragmentShaderShadingRateInterlock
= in_ext
->fragmentShaderShadingRateInterlock
;
10304 out_header
->pNext
= (void *)out_ext
;
10305 out_header
= (void *)out_ext
;
10308 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
:
10310 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10311 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*in_ext
= (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*)in_header
;
10312 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
;
10313 out_ext
->pNext
= NULL
;
10314 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
10315 out_header
->pNext
= (void *)out_ext
;
10316 out_header
= (void *)out_ext
;
10319 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
:
10321 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10322 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*in_ext
= (const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*)in_header
;
10323 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
;
10324 out_ext
->pNext
= NULL
;
10325 out_ext
->primitiveTopologyListRestart
= in_ext
->primitiveTopologyListRestart
;
10326 out_ext
->primitiveTopologyPatchListRestart
= in_ext
->primitiveTopologyPatchListRestart
;
10327 out_header
->pNext
= (void *)out_ext
;
10328 out_header
= (void *)out_ext
;
10331 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
:
10333 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10334 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*in_ext
= (const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*)in_header
;
10335 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
;
10336 out_ext
->pNext
= NULL
;
10337 out_ext
->pipelineExecutableInfo
= in_ext
->pipelineExecutableInfo
;
10338 out_header
->pNext
= (void *)out_ext
;
10339 out_header
= (void *)out_ext
;
10342 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
:
10344 VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10345 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*in_ext
= (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*)in_header
;
10346 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
;
10347 out_ext
->pNext
= NULL
;
10348 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
10349 out_header
->pNext
= (void *)out_ext
;
10350 out_header
= (void *)out_ext
;
10353 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
:
10355 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10356 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*in_ext
= (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*)in_header
;
10357 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
;
10358 out_ext
->pNext
= NULL
;
10359 out_ext
->texelBufferAlignment
= in_ext
->texelBufferAlignment
;
10360 out_header
->pNext
= (void *)out_ext
;
10361 out_header
= (void *)out_ext
;
10364 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
:
10366 VkPhysicalDeviceSubgroupSizeControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10367 const VkPhysicalDeviceSubgroupSizeControlFeatures
*in_ext
= (const VkPhysicalDeviceSubgroupSizeControlFeatures
*)in_header
;
10368 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
;
10369 out_ext
->pNext
= NULL
;
10370 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
10371 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
10372 out_header
->pNext
= (void *)out_ext
;
10373 out_header
= (void *)out_ext
;
10376 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
:
10378 VkPhysicalDeviceLineRasterizationFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10379 const VkPhysicalDeviceLineRasterizationFeaturesEXT
*in_ext
= (const VkPhysicalDeviceLineRasterizationFeaturesEXT
*)in_header
;
10380 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
;
10381 out_ext
->pNext
= NULL
;
10382 out_ext
->rectangularLines
= in_ext
->rectangularLines
;
10383 out_ext
->bresenhamLines
= in_ext
->bresenhamLines
;
10384 out_ext
->smoothLines
= in_ext
->smoothLines
;
10385 out_ext
->stippledRectangularLines
= in_ext
->stippledRectangularLines
;
10386 out_ext
->stippledBresenhamLines
= in_ext
->stippledBresenhamLines
;
10387 out_ext
->stippledSmoothLines
= in_ext
->stippledSmoothLines
;
10388 out_header
->pNext
= (void *)out_ext
;
10389 out_header
= (void *)out_ext
;
10392 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
:
10394 VkPhysicalDevicePipelineCreationCacheControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10395 const VkPhysicalDevicePipelineCreationCacheControlFeatures
*in_ext
= (const VkPhysicalDevicePipelineCreationCacheControlFeatures
*)in_header
;
10396 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
;
10397 out_ext
->pNext
= NULL
;
10398 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
10399 out_header
->pNext
= (void *)out_ext
;
10400 out_header
= (void *)out_ext
;
10403 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
:
10405 VkPhysicalDeviceVulkan11Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10406 const VkPhysicalDeviceVulkan11Features
*in_ext
= (const VkPhysicalDeviceVulkan11Features
*)in_header
;
10407 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
;
10408 out_ext
->pNext
= NULL
;
10409 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
10410 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
10411 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
10412 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
10413 out_ext
->multiview
= in_ext
->multiview
;
10414 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
10415 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
10416 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
10417 out_ext
->variablePointers
= in_ext
->variablePointers
;
10418 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
10419 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
10420 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
10421 out_header
->pNext
= (void *)out_ext
;
10422 out_header
= (void *)out_ext
;
10425 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
:
10427 VkPhysicalDeviceVulkan12Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10428 const VkPhysicalDeviceVulkan12Features
*in_ext
= (const VkPhysicalDeviceVulkan12Features
*)in_header
;
10429 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
;
10430 out_ext
->pNext
= NULL
;
10431 out_ext
->samplerMirrorClampToEdge
= in_ext
->samplerMirrorClampToEdge
;
10432 out_ext
->drawIndirectCount
= in_ext
->drawIndirectCount
;
10433 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
10434 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
10435 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
10436 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
10437 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
10438 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
10439 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
10440 out_ext
->descriptorIndexing
= in_ext
->descriptorIndexing
;
10441 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
10442 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
10443 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
10444 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
10445 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
10446 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
10447 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
10448 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
10449 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
10450 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
10451 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
10452 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
10453 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
10454 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
10455 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
10456 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
10457 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
10458 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
10459 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
10460 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
10461 out_ext
->samplerFilterMinmax
= in_ext
->samplerFilterMinmax
;
10462 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
10463 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
10464 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
10465 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
10466 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
10467 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
10468 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
10469 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
10470 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
10471 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
10472 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
10473 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
10474 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
10475 out_ext
->shaderOutputViewportIndex
= in_ext
->shaderOutputViewportIndex
;
10476 out_ext
->shaderOutputLayer
= in_ext
->shaderOutputLayer
;
10477 out_ext
->subgroupBroadcastDynamicId
= in_ext
->subgroupBroadcastDynamicId
;
10478 out_header
->pNext
= (void *)out_ext
;
10479 out_header
= (void *)out_ext
;
10482 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
:
10484 VkPhysicalDeviceVulkan13Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10485 const VkPhysicalDeviceVulkan13Features
*in_ext
= (const VkPhysicalDeviceVulkan13Features
*)in_header
;
10486 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
;
10487 out_ext
->pNext
= NULL
;
10488 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
10489 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
10490 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
10491 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
10492 out_ext
->privateData
= in_ext
->privateData
;
10493 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
10494 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
10495 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
10496 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
10497 out_ext
->synchronization2
= in_ext
->synchronization2
;
10498 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
10499 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
10500 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
10501 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
10502 out_ext
->maintenance4
= in_ext
->maintenance4
;
10503 out_header
->pNext
= (void *)out_ext
;
10504 out_header
= (void *)out_ext
;
10507 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
:
10509 VkPhysicalDeviceCoherentMemoryFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10510 const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*in_ext
= (const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*)in_header
;
10511 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
;
10512 out_ext
->pNext
= NULL
;
10513 out_ext
->deviceCoherentMemory
= in_ext
->deviceCoherentMemory
;
10514 out_header
->pNext
= (void *)out_ext
;
10515 out_header
= (void *)out_ext
;
10518 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
:
10520 VkPhysicalDeviceCustomBorderColorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10521 const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*in_ext
= (const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*)in_header
;
10522 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
;
10523 out_ext
->pNext
= NULL
;
10524 out_ext
->customBorderColors
= in_ext
->customBorderColors
;
10525 out_ext
->customBorderColorWithoutFormat
= in_ext
->customBorderColorWithoutFormat
;
10526 out_header
->pNext
= (void *)out_ext
;
10527 out_header
= (void *)out_ext
;
10530 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
:
10532 VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10533 const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*)in_header
;
10534 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
;
10535 out_ext
->pNext
= NULL
;
10536 out_ext
->borderColorSwizzle
= in_ext
->borderColorSwizzle
;
10537 out_ext
->borderColorSwizzleFromImage
= in_ext
->borderColorSwizzleFromImage
;
10538 out_header
->pNext
= (void *)out_ext
;
10539 out_header
= (void *)out_ext
;
10542 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
:
10544 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10545 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*)in_header
;
10546 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
;
10547 out_ext
->pNext
= NULL
;
10548 out_ext
->extendedDynamicState
= in_ext
->extendedDynamicState
;
10549 out_header
->pNext
= (void *)out_ext
;
10550 out_header
= (void *)out_ext
;
10553 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
:
10555 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10556 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*)in_header
;
10557 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
;
10558 out_ext
->pNext
= NULL
;
10559 out_ext
->extendedDynamicState2
= in_ext
->extendedDynamicState2
;
10560 out_ext
->extendedDynamicState2LogicOp
= in_ext
->extendedDynamicState2LogicOp
;
10561 out_ext
->extendedDynamicState2PatchControlPoints
= in_ext
->extendedDynamicState2PatchControlPoints
;
10562 out_header
->pNext
= (void *)out_ext
;
10563 out_header
= (void *)out_ext
;
10566 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
:
10568 VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10569 const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*)in_header
;
10570 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
;
10571 out_ext
->pNext
= NULL
;
10572 out_ext
->extendedDynamicState3TessellationDomainOrigin
= in_ext
->extendedDynamicState3TessellationDomainOrigin
;
10573 out_ext
->extendedDynamicState3DepthClampEnable
= in_ext
->extendedDynamicState3DepthClampEnable
;
10574 out_ext
->extendedDynamicState3PolygonMode
= in_ext
->extendedDynamicState3PolygonMode
;
10575 out_ext
->extendedDynamicState3RasterizationSamples
= in_ext
->extendedDynamicState3RasterizationSamples
;
10576 out_ext
->extendedDynamicState3SampleMask
= in_ext
->extendedDynamicState3SampleMask
;
10577 out_ext
->extendedDynamicState3AlphaToCoverageEnable
= in_ext
->extendedDynamicState3AlphaToCoverageEnable
;
10578 out_ext
->extendedDynamicState3AlphaToOneEnable
= in_ext
->extendedDynamicState3AlphaToOneEnable
;
10579 out_ext
->extendedDynamicState3LogicOpEnable
= in_ext
->extendedDynamicState3LogicOpEnable
;
10580 out_ext
->extendedDynamicState3ColorBlendEnable
= in_ext
->extendedDynamicState3ColorBlendEnable
;
10581 out_ext
->extendedDynamicState3ColorBlendEquation
= in_ext
->extendedDynamicState3ColorBlendEquation
;
10582 out_ext
->extendedDynamicState3ColorWriteMask
= in_ext
->extendedDynamicState3ColorWriteMask
;
10583 out_ext
->extendedDynamicState3RasterizationStream
= in_ext
->extendedDynamicState3RasterizationStream
;
10584 out_ext
->extendedDynamicState3ConservativeRasterizationMode
= in_ext
->extendedDynamicState3ConservativeRasterizationMode
;
10585 out_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
= in_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
;
10586 out_ext
->extendedDynamicState3DepthClipEnable
= in_ext
->extendedDynamicState3DepthClipEnable
;
10587 out_ext
->extendedDynamicState3SampleLocationsEnable
= in_ext
->extendedDynamicState3SampleLocationsEnable
;
10588 out_ext
->extendedDynamicState3ColorBlendAdvanced
= in_ext
->extendedDynamicState3ColorBlendAdvanced
;
10589 out_ext
->extendedDynamicState3ProvokingVertexMode
= in_ext
->extendedDynamicState3ProvokingVertexMode
;
10590 out_ext
->extendedDynamicState3LineRasterizationMode
= in_ext
->extendedDynamicState3LineRasterizationMode
;
10591 out_ext
->extendedDynamicState3LineStippleEnable
= in_ext
->extendedDynamicState3LineStippleEnable
;
10592 out_ext
->extendedDynamicState3DepthClipNegativeOneToOne
= in_ext
->extendedDynamicState3DepthClipNegativeOneToOne
;
10593 out_ext
->extendedDynamicState3ViewportWScalingEnable
= in_ext
->extendedDynamicState3ViewportWScalingEnable
;
10594 out_ext
->extendedDynamicState3ViewportSwizzle
= in_ext
->extendedDynamicState3ViewportSwizzle
;
10595 out_ext
->extendedDynamicState3CoverageToColorEnable
= in_ext
->extendedDynamicState3CoverageToColorEnable
;
10596 out_ext
->extendedDynamicState3CoverageToColorLocation
= in_ext
->extendedDynamicState3CoverageToColorLocation
;
10597 out_ext
->extendedDynamicState3CoverageModulationMode
= in_ext
->extendedDynamicState3CoverageModulationMode
;
10598 out_ext
->extendedDynamicState3CoverageModulationTableEnable
= in_ext
->extendedDynamicState3CoverageModulationTableEnable
;
10599 out_ext
->extendedDynamicState3CoverageModulationTable
= in_ext
->extendedDynamicState3CoverageModulationTable
;
10600 out_ext
->extendedDynamicState3CoverageReductionMode
= in_ext
->extendedDynamicState3CoverageReductionMode
;
10601 out_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
= in_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
;
10602 out_ext
->extendedDynamicState3ShadingRateImageEnable
= in_ext
->extendedDynamicState3ShadingRateImageEnable
;
10603 out_header
->pNext
= (void *)out_ext
;
10604 out_header
= (void *)out_ext
;
10607 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
:
10609 VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10610 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*in_ext
= (const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*)in_header
;
10611 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
;
10612 out_ext
->pNext
= NULL
;
10613 out_ext
->diagnosticsConfig
= in_ext
->diagnosticsConfig
;
10614 out_header
->pNext
= (void *)out_ext
;
10615 out_header
= (void *)out_ext
;
10618 case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
:
10620 VkDeviceDiagnosticsConfigCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10621 const VkDeviceDiagnosticsConfigCreateInfoNV
*in_ext
= (const VkDeviceDiagnosticsConfigCreateInfoNV
*)in_header
;
10622 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
;
10623 out_ext
->pNext
= NULL
;
10624 out_ext
->flags
= in_ext
->flags
;
10625 out_header
->pNext
= (void *)out_ext
;
10626 out_header
= (void *)out_ext
;
10629 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
:
10631 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10632 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*in_ext
= (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*)in_header
;
10633 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
;
10634 out_ext
->pNext
= NULL
;
10635 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
10636 out_header
->pNext
= (void *)out_ext
;
10637 out_header
= (void *)out_ext
;
10640 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
:
10642 VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10643 const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*in_ext
= (const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*)in_header
;
10644 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
;
10645 out_ext
->pNext
= NULL
;
10646 out_ext
->shaderSubgroupUniformControlFlow
= in_ext
->shaderSubgroupUniformControlFlow
;
10647 out_header
->pNext
= (void *)out_ext
;
10648 out_header
= (void *)out_ext
;
10651 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
:
10653 VkPhysicalDeviceRobustness2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10654 const VkPhysicalDeviceRobustness2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceRobustness2FeaturesEXT
*)in_header
;
10655 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
;
10656 out_ext
->pNext
= NULL
;
10657 out_ext
->robustBufferAccess2
= in_ext
->robustBufferAccess2
;
10658 out_ext
->robustImageAccess2
= in_ext
->robustImageAccess2
;
10659 out_ext
->nullDescriptor
= in_ext
->nullDescriptor
;
10660 out_header
->pNext
= (void *)out_ext
;
10661 out_header
= (void *)out_ext
;
10664 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
:
10666 VkPhysicalDeviceImageRobustnessFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10667 const VkPhysicalDeviceImageRobustnessFeatures
*in_ext
= (const VkPhysicalDeviceImageRobustnessFeatures
*)in_header
;
10668 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
;
10669 out_ext
->pNext
= NULL
;
10670 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
10671 out_header
->pNext
= (void *)out_ext
;
10672 out_header
= (void *)out_ext
;
10675 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
:
10677 VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10678 const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*in_ext
= (const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*)in_header
;
10679 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
;
10680 out_ext
->pNext
= NULL
;
10681 out_ext
->workgroupMemoryExplicitLayout
= in_ext
->workgroupMemoryExplicitLayout
;
10682 out_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
= in_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
;
10683 out_ext
->workgroupMemoryExplicitLayout8BitAccess
= in_ext
->workgroupMemoryExplicitLayout8BitAccess
;
10684 out_ext
->workgroupMemoryExplicitLayout16BitAccess
= in_ext
->workgroupMemoryExplicitLayout16BitAccess
;
10685 out_header
->pNext
= (void *)out_ext
;
10686 out_header
= (void *)out_ext
;
10689 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
:
10691 VkPhysicalDevice4444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10692 const VkPhysicalDevice4444FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDevice4444FormatsFeaturesEXT
*)in_header
;
10693 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
;
10694 out_ext
->pNext
= NULL
;
10695 out_ext
->formatA4R4G4B4
= in_ext
->formatA4R4G4B4
;
10696 out_ext
->formatA4B4G4R4
= in_ext
->formatA4B4G4R4
;
10697 out_header
->pNext
= (void *)out_ext
;
10698 out_header
= (void *)out_ext
;
10701 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
:
10703 VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10704 const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*in_ext
= (const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*)in_header
;
10705 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
;
10706 out_ext
->pNext
= NULL
;
10707 out_ext
->subpassShading
= in_ext
->subpassShading
;
10708 out_header
->pNext
= (void *)out_ext
;
10709 out_header
= (void *)out_ext
;
10712 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
:
10714 VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10715 const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*)in_header
;
10716 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
;
10717 out_ext
->pNext
= NULL
;
10718 out_ext
->shaderImageInt64Atomics
= in_ext
->shaderImageInt64Atomics
;
10719 out_ext
->sparseImageInt64Atomics
= in_ext
->sparseImageInt64Atomics
;
10720 out_header
->pNext
= (void *)out_ext
;
10721 out_header
= (void *)out_ext
;
10724 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
:
10726 VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10727 const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*)in_header
;
10728 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
;
10729 out_ext
->pNext
= NULL
;
10730 out_ext
->pipelineFragmentShadingRate
= in_ext
->pipelineFragmentShadingRate
;
10731 out_ext
->primitiveFragmentShadingRate
= in_ext
->primitiveFragmentShadingRate
;
10732 out_ext
->attachmentFragmentShadingRate
= in_ext
->attachmentFragmentShadingRate
;
10733 out_header
->pNext
= (void *)out_ext
;
10734 out_header
= (void *)out_ext
;
10737 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
:
10739 VkPhysicalDeviceShaderTerminateInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10740 const VkPhysicalDeviceShaderTerminateInvocationFeatures
*in_ext
= (const VkPhysicalDeviceShaderTerminateInvocationFeatures
*)in_header
;
10741 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
;
10742 out_ext
->pNext
= NULL
;
10743 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
10744 out_header
->pNext
= (void *)out_ext
;
10745 out_header
= (void *)out_ext
;
10748 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
:
10750 VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10751 const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*)in_header
;
10752 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
;
10753 out_ext
->pNext
= NULL
;
10754 out_ext
->fragmentShadingRateEnums
= in_ext
->fragmentShadingRateEnums
;
10755 out_ext
->supersampleFragmentShadingRates
= in_ext
->supersampleFragmentShadingRates
;
10756 out_ext
->noInvocationFragmentShadingRates
= in_ext
->noInvocationFragmentShadingRates
;
10757 out_header
->pNext
= (void *)out_ext
;
10758 out_header
= (void *)out_ext
;
10761 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
:
10763 VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10764 const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*)in_header
;
10765 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
;
10766 out_ext
->pNext
= NULL
;
10767 out_ext
->image2DViewOf3D
= in_ext
->image2DViewOf3D
;
10768 out_ext
->sampler2DViewOf3D
= in_ext
->sampler2DViewOf3D
;
10769 out_header
->pNext
= (void *)out_ext
;
10770 out_header
= (void *)out_ext
;
10773 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
:
10775 VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10776 const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*)in_header
;
10777 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
;
10778 out_ext
->pNext
= NULL
;
10779 out_ext
->mutableDescriptorType
= in_ext
->mutableDescriptorType
;
10780 out_header
->pNext
= (void *)out_ext
;
10781 out_header
= (void *)out_ext
;
10784 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
:
10786 VkPhysicalDeviceDepthClipControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10787 const VkPhysicalDeviceDepthClipControlFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClipControlFeaturesEXT
*)in_header
;
10788 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
;
10789 out_ext
->pNext
= NULL
;
10790 out_ext
->depthClipControl
= in_ext
->depthClipControl
;
10791 out_header
->pNext
= (void *)out_ext
;
10792 out_header
= (void *)out_ext
;
10795 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
:
10797 VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10798 const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*in_ext
= (const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*)in_header
;
10799 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
;
10800 out_ext
->pNext
= NULL
;
10801 out_ext
->vertexInputDynamicState
= in_ext
->vertexInputDynamicState
;
10802 out_header
->pNext
= (void *)out_ext
;
10803 out_header
= (void *)out_ext
;
10806 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
:
10808 VkPhysicalDeviceColorWriteEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10809 const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*in_ext
= (const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*)in_header
;
10810 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
;
10811 out_ext
->pNext
= NULL
;
10812 out_ext
->colorWriteEnable
= in_ext
->colorWriteEnable
;
10813 out_header
->pNext
= (void *)out_ext
;
10814 out_header
= (void *)out_ext
;
10817 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
:
10819 VkPhysicalDeviceSynchronization2Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10820 const VkPhysicalDeviceSynchronization2Features
*in_ext
= (const VkPhysicalDeviceSynchronization2Features
*)in_header
;
10821 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
;
10822 out_ext
->pNext
= NULL
;
10823 out_ext
->synchronization2
= in_ext
->synchronization2
;
10824 out_header
->pNext
= (void *)out_ext
;
10825 out_header
= (void *)out_ext
;
10828 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
:
10830 VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10831 const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*in_ext
= (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*)in_header
;
10832 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
;
10833 out_ext
->pNext
= NULL
;
10834 out_ext
->primitivesGeneratedQuery
= in_ext
->primitivesGeneratedQuery
;
10835 out_ext
->primitivesGeneratedQueryWithRasterizerDiscard
= in_ext
->primitivesGeneratedQueryWithRasterizerDiscard
;
10836 out_ext
->primitivesGeneratedQueryWithNonZeroStreams
= in_ext
->primitivesGeneratedQueryWithNonZeroStreams
;
10837 out_header
->pNext
= (void *)out_ext
;
10838 out_header
= (void *)out_ext
;
10841 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
:
10843 VkPhysicalDeviceLegacyDitheringFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10844 const VkPhysicalDeviceLegacyDitheringFeaturesEXT
*in_ext
= (const VkPhysicalDeviceLegacyDitheringFeaturesEXT
*)in_header
;
10845 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
;
10846 out_ext
->pNext
= NULL
;
10847 out_ext
->legacyDithering
= in_ext
->legacyDithering
;
10848 out_header
->pNext
= (void *)out_ext
;
10849 out_header
= (void *)out_ext
;
10852 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
:
10854 VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10855 const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*)in_header
;
10856 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
;
10857 out_ext
->pNext
= NULL
;
10858 out_ext
->multisampledRenderToSingleSampled
= in_ext
->multisampledRenderToSingleSampled
;
10859 out_header
->pNext
= (void *)out_ext
;
10860 out_header
= (void *)out_ext
;
10863 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
:
10865 VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10866 const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*)in_header
;
10867 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
;
10868 out_ext
->pNext
= NULL
;
10869 out_ext
->pipelineProtectedAccess
= in_ext
->pipelineProtectedAccess
;
10870 out_header
->pNext
= (void *)out_ext
;
10871 out_header
= (void *)out_ext
;
10874 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
:
10876 VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10877 const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*in_ext
= (const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*)in_header
;
10878 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
;
10879 out_ext
->pNext
= NULL
;
10880 out_ext
->inheritedViewportScissor2D
= in_ext
->inheritedViewportScissor2D
;
10881 out_header
->pNext
= (void *)out_ext
;
10882 out_header
= (void *)out_ext
;
10885 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
:
10887 VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10888 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*)in_header
;
10889 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
;
10890 out_ext
->pNext
= NULL
;
10891 out_ext
->ycbcr2plane444Formats
= in_ext
->ycbcr2plane444Formats
;
10892 out_header
->pNext
= (void *)out_ext
;
10893 out_header
= (void *)out_ext
;
10896 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
:
10898 VkPhysicalDeviceProvokingVertexFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10899 const VkPhysicalDeviceProvokingVertexFeaturesEXT
*in_ext
= (const VkPhysicalDeviceProvokingVertexFeaturesEXT
*)in_header
;
10900 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
;
10901 out_ext
->pNext
= NULL
;
10902 out_ext
->provokingVertexLast
= in_ext
->provokingVertexLast
;
10903 out_ext
->transformFeedbackPreservesProvokingVertex
= in_ext
->transformFeedbackPreservesProvokingVertex
;
10904 out_header
->pNext
= (void *)out_ext
;
10905 out_header
= (void *)out_ext
;
10908 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT
:
10910 VkPhysicalDeviceDescriptorBufferFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10911 const VkPhysicalDeviceDescriptorBufferFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDescriptorBufferFeaturesEXT
*)in_header
;
10912 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT
;
10913 out_ext
->pNext
= NULL
;
10914 out_ext
->descriptorBuffer
= in_ext
->descriptorBuffer
;
10915 out_ext
->descriptorBufferCaptureReplay
= in_ext
->descriptorBufferCaptureReplay
;
10916 out_ext
->descriptorBufferImageLayoutIgnored
= in_ext
->descriptorBufferImageLayoutIgnored
;
10917 out_ext
->descriptorBufferPushDescriptors
= in_ext
->descriptorBufferPushDescriptors
;
10918 out_header
->pNext
= (void *)out_ext
;
10919 out_header
= (void *)out_ext
;
10922 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
:
10924 VkPhysicalDeviceShaderIntegerDotProductFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10925 const VkPhysicalDeviceShaderIntegerDotProductFeatures
*in_ext
= (const VkPhysicalDeviceShaderIntegerDotProductFeatures
*)in_header
;
10926 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
;
10927 out_ext
->pNext
= NULL
;
10928 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
10929 out_header
->pNext
= (void *)out_ext
;
10930 out_header
= (void *)out_ext
;
10933 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
:
10935 VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10936 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*)in_header
;
10937 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
;
10938 out_ext
->pNext
= NULL
;
10939 out_ext
->fragmentShaderBarycentric
= in_ext
->fragmentShaderBarycentric
;
10940 out_header
->pNext
= (void *)out_ext
;
10941 out_header
= (void *)out_ext
;
10944 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
:
10946 VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10947 const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*in_ext
= (const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*)in_header
;
10948 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
;
10949 out_ext
->pNext
= NULL
;
10950 out_ext
->rayTracingMotionBlur
= in_ext
->rayTracingMotionBlur
;
10951 out_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
= in_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
;
10952 out_header
->pNext
= (void *)out_ext
;
10953 out_header
= (void *)out_ext
;
10956 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
:
10958 VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10959 const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*)in_header
;
10960 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
;
10961 out_ext
->pNext
= NULL
;
10962 out_ext
->formatRgba10x6WithoutYCbCrSampler
= in_ext
->formatRgba10x6WithoutYCbCrSampler
;
10963 out_header
->pNext
= (void *)out_ext
;
10964 out_header
= (void *)out_ext
;
10967 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
:
10969 VkPhysicalDeviceDynamicRenderingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10970 const VkPhysicalDeviceDynamicRenderingFeatures
*in_ext
= (const VkPhysicalDeviceDynamicRenderingFeatures
*)in_header
;
10971 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
;
10972 out_ext
->pNext
= NULL
;
10973 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
10974 out_header
->pNext
= (void *)out_ext
;
10975 out_header
= (void *)out_ext
;
10978 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
:
10980 VkPhysicalDeviceImageViewMinLodFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10981 const VkPhysicalDeviceImageViewMinLodFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageViewMinLodFeaturesEXT
*)in_header
;
10982 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
;
10983 out_ext
->pNext
= NULL
;
10984 out_ext
->minLod
= in_ext
->minLod
;
10985 out_header
->pNext
= (void *)out_ext
;
10986 out_header
= (void *)out_ext
;
10989 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
:
10991 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
10992 const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*in_ext
= (const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*)in_header
;
10993 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
;
10994 out_ext
->pNext
= NULL
;
10995 out_ext
->rasterizationOrderColorAttachmentAccess
= in_ext
->rasterizationOrderColorAttachmentAccess
;
10996 out_ext
->rasterizationOrderDepthAttachmentAccess
= in_ext
->rasterizationOrderDepthAttachmentAccess
;
10997 out_ext
->rasterizationOrderStencilAttachmentAccess
= in_ext
->rasterizationOrderStencilAttachmentAccess
;
10998 out_header
->pNext
= (void *)out_ext
;
10999 out_header
= (void *)out_ext
;
11002 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
:
11004 VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11005 const VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*in_ext
= (const VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*)in_header
;
11006 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
;
11007 out_ext
->pNext
= NULL
;
11008 out_ext
->linearColorAttachment
= in_ext
->linearColorAttachment
;
11009 out_header
->pNext
= (void *)out_ext
;
11010 out_header
= (void *)out_ext
;
11013 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
:
11015 VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11016 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*)in_header
;
11017 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
;
11018 out_ext
->pNext
= NULL
;
11019 out_ext
->graphicsPipelineLibrary
= in_ext
->graphicsPipelineLibrary
;
11020 out_header
->pNext
= (void *)out_ext
;
11021 out_header
= (void *)out_ext
;
11024 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
:
11026 VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11027 const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*in_ext
= (const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*)in_header
;
11028 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
;
11029 out_ext
->pNext
= NULL
;
11030 out_ext
->descriptorSetHostMapping
= in_ext
->descriptorSetHostMapping
;
11031 out_header
->pNext
= (void *)out_ext
;
11032 out_header
= (void *)out_ext
;
11035 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
:
11037 VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11038 const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*)in_header
;
11039 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
;
11040 out_ext
->pNext
= NULL
;
11041 out_ext
->shaderModuleIdentifier
= in_ext
->shaderModuleIdentifier
;
11042 out_header
->pNext
= (void *)out_ext
;
11043 out_header
= (void *)out_ext
;
11046 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
:
11048 VkPhysicalDeviceImageCompressionControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11049 const VkPhysicalDeviceImageCompressionControlFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageCompressionControlFeaturesEXT
*)in_header
;
11050 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
;
11051 out_ext
->pNext
= NULL
;
11052 out_ext
->imageCompressionControl
= in_ext
->imageCompressionControl
;
11053 out_header
->pNext
= (void *)out_ext
;
11054 out_header
= (void *)out_ext
;
11057 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
:
11059 VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11060 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*)in_header
;
11061 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
;
11062 out_ext
->pNext
= NULL
;
11063 out_ext
->imageCompressionControlSwapchain
= in_ext
->imageCompressionControlSwapchain
;
11064 out_header
->pNext
= (void *)out_ext
;
11065 out_header
= (void *)out_ext
;
11068 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
:
11070 VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11071 const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*in_ext
= (const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*)in_header
;
11072 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
;
11073 out_ext
->pNext
= NULL
;
11074 out_ext
->subpassMergeFeedback
= in_ext
->subpassMergeFeedback
;
11075 out_header
->pNext
= (void *)out_ext
;
11076 out_header
= (void *)out_ext
;
11079 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
:
11081 VkPhysicalDeviceOpacityMicromapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11082 const VkPhysicalDeviceOpacityMicromapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceOpacityMicromapFeaturesEXT
*)in_header
;
11083 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
;
11084 out_ext
->pNext
= NULL
;
11085 out_ext
->micromap
= in_ext
->micromap
;
11086 out_ext
->micromapCaptureReplay
= in_ext
->micromapCaptureReplay
;
11087 out_ext
->micromapHostCommands
= in_ext
->micromapHostCommands
;
11088 out_header
->pNext
= (void *)out_ext
;
11089 out_header
= (void *)out_ext
;
11092 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
:
11094 VkPhysicalDevicePipelinePropertiesFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11095 const VkPhysicalDevicePipelinePropertiesFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelinePropertiesFeaturesEXT
*)in_header
;
11096 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
;
11097 out_ext
->pNext
= NULL
;
11098 out_ext
->pipelinePropertiesIdentifier
= in_ext
->pipelinePropertiesIdentifier
;
11099 out_header
->pNext
= (void *)out_ext
;
11100 out_header
= (void *)out_ext
;
11103 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
:
11105 VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11106 const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*in_ext
= (const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*)in_header
;
11107 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
;
11108 out_ext
->pNext
= NULL
;
11109 out_ext
->shaderEarlyAndLateFragmentTests
= in_ext
->shaderEarlyAndLateFragmentTests
;
11110 out_header
->pNext
= (void *)out_ext
;
11111 out_header
= (void *)out_ext
;
11114 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
:
11116 VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11117 const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*)in_header
;
11118 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
;
11119 out_ext
->pNext
= NULL
;
11120 out_ext
->nonSeamlessCubeMap
= in_ext
->nonSeamlessCubeMap
;
11121 out_header
->pNext
= (void *)out_ext
;
11122 out_header
= (void *)out_ext
;
11125 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
:
11127 VkPhysicalDevicePipelineRobustnessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11128 const VkPhysicalDevicePipelineRobustnessFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelineRobustnessFeaturesEXT
*)in_header
;
11129 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
;
11130 out_ext
->pNext
= NULL
;
11131 out_ext
->pipelineRobustness
= in_ext
->pipelineRobustness
;
11132 out_header
->pNext
= (void *)out_ext
;
11133 out_header
= (void *)out_ext
;
11136 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
:
11138 VkPhysicalDeviceImageProcessingFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11139 const VkPhysicalDeviceImageProcessingFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceImageProcessingFeaturesQCOM
*)in_header
;
11140 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
;
11141 out_ext
->pNext
= NULL
;
11142 out_ext
->textureSampleWeighted
= in_ext
->textureSampleWeighted
;
11143 out_ext
->textureBoxFilter
= in_ext
->textureBoxFilter
;
11144 out_ext
->textureBlockMatch
= in_ext
->textureBlockMatch
;
11145 out_header
->pNext
= (void *)out_ext
;
11146 out_header
= (void *)out_ext
;
11149 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
:
11151 VkPhysicalDeviceTilePropertiesFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11152 const VkPhysicalDeviceTilePropertiesFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceTilePropertiesFeaturesQCOM
*)in_header
;
11153 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
;
11154 out_ext
->pNext
= NULL
;
11155 out_ext
->tileProperties
= in_ext
->tileProperties
;
11156 out_header
->pNext
= (void *)out_ext
;
11157 out_header
= (void *)out_ext
;
11160 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
:
11162 VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11163 const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*in_ext
= (const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*)in_header
;
11164 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
;
11165 out_ext
->pNext
= NULL
;
11166 out_ext
->attachmentFeedbackLoopLayout
= in_ext
->attachmentFeedbackLoopLayout
;
11167 out_header
->pNext
= (void *)out_ext
;
11168 out_header
= (void *)out_ext
;
11171 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
:
11173 VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11174 const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*)in_header
;
11175 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
;
11176 out_ext
->pNext
= NULL
;
11177 out_ext
->depthClampZeroOne
= in_ext
->depthClampZeroOne
;
11178 out_header
->pNext
= (void *)out_ext
;
11179 out_header
= (void *)out_ext
;
11182 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
:
11184 VkPhysicalDeviceAddressBindingReportFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11185 const VkPhysicalDeviceAddressBindingReportFeaturesEXT
*in_ext
= (const VkPhysicalDeviceAddressBindingReportFeaturesEXT
*)in_header
;
11186 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
;
11187 out_ext
->pNext
= NULL
;
11188 out_ext
->reportAddressBinding
= in_ext
->reportAddressBinding
;
11189 out_header
->pNext
= (void *)out_ext
;
11190 out_header
= (void *)out_ext
;
11193 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
:
11195 VkPhysicalDeviceOpticalFlowFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11196 const VkPhysicalDeviceOpticalFlowFeaturesNV
*in_ext
= (const VkPhysicalDeviceOpticalFlowFeaturesNV
*)in_header
;
11197 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
;
11198 out_ext
->pNext
= NULL
;
11199 out_ext
->opticalFlow
= in_ext
->opticalFlow
;
11200 out_header
->pNext
= (void *)out_ext
;
11201 out_header
= (void *)out_ext
;
11204 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
:
11206 VkPhysicalDeviceFaultFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11207 const VkPhysicalDeviceFaultFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFaultFeaturesEXT
*)in_header
;
11208 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
;
11209 out_ext
->pNext
= NULL
;
11210 out_ext
->deviceFault
= in_ext
->deviceFault
;
11211 out_ext
->deviceFaultVendorBinary
= in_ext
->deviceFaultVendorBinary
;
11212 out_header
->pNext
= (void *)out_ext
;
11213 out_header
= (void *)out_ext
;
11216 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
:
11218 VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11219 const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*in_ext
= (const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*)in_header
;
11220 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
;
11221 out_ext
->pNext
= NULL
;
11222 out_ext
->shaderCoreBuiltins
= in_ext
->shaderCoreBuiltins
;
11223 out_header
->pNext
= (void *)out_ext
;
11224 out_header
= (void *)out_ext
;
11227 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
:
11229 VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11230 const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*in_ext
= (const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*)in_header
;
11231 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
;
11232 out_ext
->pNext
= NULL
;
11233 out_ext
->rayTracingInvocationReorder
= in_ext
->rayTracingInvocationReorder
;
11234 out_header
->pNext
= (void *)out_ext
;
11235 out_header
= (void *)out_ext
;
11239 FIXME("Unhandled sType %u.", in_header
->sType
);
11244 #endif /* _WIN64 */
11246 static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkDeviceCreateInfo32
*in
, VkDeviceCreateInfo
*out
)
11248 const VkBaseInStructure32
*in_header
;
11249 VkBaseOutStructure
*out_header
= (void *)out
;
11253 out
->sType
= in
->sType
;
11255 out
->flags
= in
->flags
;
11256 out
->queueCreateInfoCount
= in
->queueCreateInfoCount
;
11257 out
->pQueueCreateInfos
= convert_VkDeviceQueueCreateInfo_array_win32_to_host(ctx
, (const VkDeviceQueueCreateInfo32
*)UlongToPtr(in
->pQueueCreateInfos
), in
->queueCreateInfoCount
);
11258 out
->enabledLayerCount
= in
->enabledLayerCount
;
11259 out
->ppEnabledLayerNames
= convert_char_pointer_array_win32_to_host(ctx
, (const PTR32
*)UlongToPtr(in
->ppEnabledLayerNames
), in
->enabledLayerCount
);
11260 out
->enabledExtensionCount
= in
->enabledExtensionCount
;
11261 out
->ppEnabledExtensionNames
= convert_char_pointer_array_win32_to_host(ctx
, (const PTR32
*)UlongToPtr(in
->ppEnabledExtensionNames
), in
->enabledExtensionCount
);
11262 out
->pEnabledFeatures
= (const VkPhysicalDeviceFeatures
*)UlongToPtr(in
->pEnabledFeatures
);
11264 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
11266 switch (in_header
->sType
)
11268 case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
:
11270 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
:
11272 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11273 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV32
*in_ext
= (const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV32
*)in_header
;
11274 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
;
11275 out_ext
->pNext
= NULL
;
11276 out_ext
->deviceGeneratedCommands
= in_ext
->deviceGeneratedCommands
;
11277 out_header
->pNext
= (void *)out_ext
;
11278 out_header
= (void *)out_ext
;
11281 case VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO
:
11283 VkDevicePrivateDataCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11284 const VkDevicePrivateDataCreateInfo32
*in_ext
= (const VkDevicePrivateDataCreateInfo32
*)in_header
;
11285 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO
;
11286 out_ext
->pNext
= NULL
;
11287 out_ext
->privateDataSlotRequestCount
= in_ext
->privateDataSlotRequestCount
;
11288 out_header
->pNext
= (void *)out_ext
;
11289 out_header
= (void *)out_ext
;
11292 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
:
11294 VkPhysicalDevicePrivateDataFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11295 const VkPhysicalDevicePrivateDataFeatures32
*in_ext
= (const VkPhysicalDevicePrivateDataFeatures32
*)in_header
;
11296 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
;
11297 out_ext
->pNext
= NULL
;
11298 out_ext
->privateData
= in_ext
->privateData
;
11299 out_header
->pNext
= (void *)out_ext
;
11300 out_header
= (void *)out_ext
;
11303 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
:
11305 VkPhysicalDeviceFeatures2
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11306 const VkPhysicalDeviceFeatures232
*in_ext
= (const VkPhysicalDeviceFeatures232
*)in_header
;
11307 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2
;
11308 out_ext
->pNext
= NULL
;
11309 out_ext
->features
= in_ext
->features
;
11310 out_header
->pNext
= (void *)out_ext
;
11311 out_header
= (void *)out_ext
;
11314 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
:
11316 VkPhysicalDeviceVariablePointersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11317 const VkPhysicalDeviceVariablePointersFeatures32
*in_ext
= (const VkPhysicalDeviceVariablePointersFeatures32
*)in_header
;
11318 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
;
11319 out_ext
->pNext
= NULL
;
11320 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
11321 out_ext
->variablePointers
= in_ext
->variablePointers
;
11322 out_header
->pNext
= (void *)out_ext
;
11323 out_header
= (void *)out_ext
;
11326 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
:
11328 VkPhysicalDeviceMultiviewFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11329 const VkPhysicalDeviceMultiviewFeatures32
*in_ext
= (const VkPhysicalDeviceMultiviewFeatures32
*)in_header
;
11330 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
;
11331 out_ext
->pNext
= NULL
;
11332 out_ext
->multiview
= in_ext
->multiview
;
11333 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
11334 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
11335 out_header
->pNext
= (void *)out_ext
;
11336 out_header
= (void *)out_ext
;
11339 case VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
:
11341 VkDeviceGroupDeviceCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11342 const VkDeviceGroupDeviceCreateInfo32
*in_ext
= (const VkDeviceGroupDeviceCreateInfo32
*)in_header
;
11343 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO
;
11344 out_ext
->pNext
= NULL
;
11345 out_ext
->physicalDeviceCount
= in_ext
->physicalDeviceCount
;
11346 out_ext
->pPhysicalDevices
= convert_VkPhysicalDevice_array_win32_to_host(ctx
, (const PTR32
*)UlongToPtr(in_ext
->pPhysicalDevices
), in_ext
->physicalDeviceCount
);
11347 out_header
->pNext
= (void *)out_ext
;
11348 out_header
= (void *)out_ext
;
11351 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
:
11353 VkPhysicalDevicePresentIdFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11354 const VkPhysicalDevicePresentIdFeaturesKHR32
*in_ext
= (const VkPhysicalDevicePresentIdFeaturesKHR32
*)in_header
;
11355 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
;
11356 out_ext
->pNext
= NULL
;
11357 out_ext
->presentId
= in_ext
->presentId
;
11358 out_header
->pNext
= (void *)out_ext
;
11359 out_header
= (void *)out_ext
;
11362 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
:
11364 VkPhysicalDevicePresentWaitFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11365 const VkPhysicalDevicePresentWaitFeaturesKHR32
*in_ext
= (const VkPhysicalDevicePresentWaitFeaturesKHR32
*)in_header
;
11366 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
;
11367 out_ext
->pNext
= NULL
;
11368 out_ext
->presentWait
= in_ext
->presentWait
;
11369 out_header
->pNext
= (void *)out_ext
;
11370 out_header
= (void *)out_ext
;
11373 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
:
11375 VkPhysicalDevice16BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11376 const VkPhysicalDevice16BitStorageFeatures32
*in_ext
= (const VkPhysicalDevice16BitStorageFeatures32
*)in_header
;
11377 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
;
11378 out_ext
->pNext
= NULL
;
11379 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
11380 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
11381 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
11382 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
11383 out_header
->pNext
= (void *)out_ext
;
11384 out_header
= (void *)out_ext
;
11387 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
:
11389 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11390 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures32
*in_ext
= (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures32
*)in_header
;
11391 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
;
11392 out_ext
->pNext
= NULL
;
11393 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
11394 out_header
->pNext
= (void *)out_ext
;
11395 out_header
= (void *)out_ext
;
11398 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
:
11400 VkPhysicalDeviceSamplerYcbcrConversionFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11401 const VkPhysicalDeviceSamplerYcbcrConversionFeatures32
*in_ext
= (const VkPhysicalDeviceSamplerYcbcrConversionFeatures32
*)in_header
;
11402 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
;
11403 out_ext
->pNext
= NULL
;
11404 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
11405 out_header
->pNext
= (void *)out_ext
;
11406 out_header
= (void *)out_ext
;
11409 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
:
11411 VkPhysicalDeviceProtectedMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11412 const VkPhysicalDeviceProtectedMemoryFeatures32
*in_ext
= (const VkPhysicalDeviceProtectedMemoryFeatures32
*)in_header
;
11413 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
;
11414 out_ext
->pNext
= NULL
;
11415 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
11416 out_header
->pNext
= (void *)out_ext
;
11417 out_header
= (void *)out_ext
;
11420 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
:
11422 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11423 const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT32
*)in_header
;
11424 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
;
11425 out_ext
->pNext
= NULL
;
11426 out_ext
->advancedBlendCoherentOperations
= in_ext
->advancedBlendCoherentOperations
;
11427 out_header
->pNext
= (void *)out_ext
;
11428 out_header
= (void *)out_ext
;
11431 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
:
11433 VkPhysicalDeviceMultiDrawFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11434 const VkPhysicalDeviceMultiDrawFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMultiDrawFeaturesEXT32
*)in_header
;
11435 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
;
11436 out_ext
->pNext
= NULL
;
11437 out_ext
->multiDraw
= in_ext
->multiDraw
;
11438 out_header
->pNext
= (void *)out_ext
;
11439 out_header
= (void *)out_ext
;
11442 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
:
11444 VkPhysicalDeviceInlineUniformBlockFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11445 const VkPhysicalDeviceInlineUniformBlockFeatures32
*in_ext
= (const VkPhysicalDeviceInlineUniformBlockFeatures32
*)in_header
;
11446 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
;
11447 out_ext
->pNext
= NULL
;
11448 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
11449 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
11450 out_header
->pNext
= (void *)out_ext
;
11451 out_header
= (void *)out_ext
;
11454 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
:
11456 VkPhysicalDeviceMaintenance4Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11457 const VkPhysicalDeviceMaintenance4Features32
*in_ext
= (const VkPhysicalDeviceMaintenance4Features32
*)in_header
;
11458 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
;
11459 out_ext
->pNext
= NULL
;
11460 out_ext
->maintenance4
= in_ext
->maintenance4
;
11461 out_header
->pNext
= (void *)out_ext
;
11462 out_header
= (void *)out_ext
;
11465 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
:
11467 VkPhysicalDeviceShaderDrawParametersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11468 const VkPhysicalDeviceShaderDrawParametersFeatures32
*in_ext
= (const VkPhysicalDeviceShaderDrawParametersFeatures32
*)in_header
;
11469 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
;
11470 out_ext
->pNext
= NULL
;
11471 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
11472 out_header
->pNext
= (void *)out_ext
;
11473 out_header
= (void *)out_ext
;
11476 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
:
11478 VkPhysicalDeviceShaderFloat16Int8Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11479 const VkPhysicalDeviceShaderFloat16Int8Features32
*in_ext
= (const VkPhysicalDeviceShaderFloat16Int8Features32
*)in_header
;
11480 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
;
11481 out_ext
->pNext
= NULL
;
11482 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
11483 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
11484 out_header
->pNext
= (void *)out_ext
;
11485 out_header
= (void *)out_ext
;
11488 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
:
11490 VkPhysicalDeviceHostQueryResetFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11491 const VkPhysicalDeviceHostQueryResetFeatures32
*in_ext
= (const VkPhysicalDeviceHostQueryResetFeatures32
*)in_header
;
11492 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
;
11493 out_ext
->pNext
= NULL
;
11494 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
11495 out_header
->pNext
= (void *)out_ext
;
11496 out_header
= (void *)out_ext
;
11499 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
:
11501 VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11502 const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32
*)in_header
;
11503 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
;
11504 out_ext
->pNext
= NULL
;
11505 out_ext
->globalPriorityQuery
= in_ext
->globalPriorityQuery
;
11506 out_header
->pNext
= (void *)out_ext
;
11507 out_header
= (void *)out_ext
;
11510 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
:
11512 VkPhysicalDeviceDescriptorIndexingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11513 const VkPhysicalDeviceDescriptorIndexingFeatures32
*in_ext
= (const VkPhysicalDeviceDescriptorIndexingFeatures32
*)in_header
;
11514 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
;
11515 out_ext
->pNext
= NULL
;
11516 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
11517 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
11518 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
11519 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
11520 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
11521 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
11522 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
11523 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
11524 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
11525 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
11526 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
11527 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
11528 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
11529 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
11530 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
11531 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
11532 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
11533 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
11534 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
11535 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
11536 out_header
->pNext
= (void *)out_ext
;
11537 out_header
= (void *)out_ext
;
11540 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
:
11542 VkPhysicalDeviceTimelineSemaphoreFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11543 const VkPhysicalDeviceTimelineSemaphoreFeatures32
*in_ext
= (const VkPhysicalDeviceTimelineSemaphoreFeatures32
*)in_header
;
11544 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
;
11545 out_ext
->pNext
= NULL
;
11546 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
11547 out_header
->pNext
= (void *)out_ext
;
11548 out_header
= (void *)out_ext
;
11551 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
:
11553 VkPhysicalDevice8BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11554 const VkPhysicalDevice8BitStorageFeatures32
*in_ext
= (const VkPhysicalDevice8BitStorageFeatures32
*)in_header
;
11555 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
;
11556 out_ext
->pNext
= NULL
;
11557 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
11558 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
11559 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
11560 out_header
->pNext
= (void *)out_ext
;
11561 out_header
= (void *)out_ext
;
11564 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
:
11566 VkPhysicalDeviceConditionalRenderingFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11567 const VkPhysicalDeviceConditionalRenderingFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceConditionalRenderingFeaturesEXT32
*)in_header
;
11568 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
;
11569 out_ext
->pNext
= NULL
;
11570 out_ext
->conditionalRendering
= in_ext
->conditionalRendering
;
11571 out_ext
->inheritedConditionalRendering
= in_ext
->inheritedConditionalRendering
;
11572 out_header
->pNext
= (void *)out_ext
;
11573 out_header
= (void *)out_ext
;
11576 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
:
11578 VkPhysicalDeviceVulkanMemoryModelFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11579 const VkPhysicalDeviceVulkanMemoryModelFeatures32
*in_ext
= (const VkPhysicalDeviceVulkanMemoryModelFeatures32
*)in_header
;
11580 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
;
11581 out_ext
->pNext
= NULL
;
11582 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
11583 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
11584 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
11585 out_header
->pNext
= (void *)out_ext
;
11586 out_header
= (void *)out_ext
;
11589 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
:
11591 VkPhysicalDeviceShaderAtomicInt64Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11592 const VkPhysicalDeviceShaderAtomicInt64Features32
*in_ext
= (const VkPhysicalDeviceShaderAtomicInt64Features32
*)in_header
;
11593 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
;
11594 out_ext
->pNext
= NULL
;
11595 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
11596 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
11597 out_header
->pNext
= (void *)out_ext
;
11598 out_header
= (void *)out_ext
;
11601 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
:
11603 VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11604 const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT32
*)in_header
;
11605 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
;
11606 out_ext
->pNext
= NULL
;
11607 out_ext
->shaderBufferFloat32Atomics
= in_ext
->shaderBufferFloat32Atomics
;
11608 out_ext
->shaderBufferFloat32AtomicAdd
= in_ext
->shaderBufferFloat32AtomicAdd
;
11609 out_ext
->shaderBufferFloat64Atomics
= in_ext
->shaderBufferFloat64Atomics
;
11610 out_ext
->shaderBufferFloat64AtomicAdd
= in_ext
->shaderBufferFloat64AtomicAdd
;
11611 out_ext
->shaderSharedFloat32Atomics
= in_ext
->shaderSharedFloat32Atomics
;
11612 out_ext
->shaderSharedFloat32AtomicAdd
= in_ext
->shaderSharedFloat32AtomicAdd
;
11613 out_ext
->shaderSharedFloat64Atomics
= in_ext
->shaderSharedFloat64Atomics
;
11614 out_ext
->shaderSharedFloat64AtomicAdd
= in_ext
->shaderSharedFloat64AtomicAdd
;
11615 out_ext
->shaderImageFloat32Atomics
= in_ext
->shaderImageFloat32Atomics
;
11616 out_ext
->shaderImageFloat32AtomicAdd
= in_ext
->shaderImageFloat32AtomicAdd
;
11617 out_ext
->sparseImageFloat32Atomics
= in_ext
->sparseImageFloat32Atomics
;
11618 out_ext
->sparseImageFloat32AtomicAdd
= in_ext
->sparseImageFloat32AtomicAdd
;
11619 out_header
->pNext
= (void *)out_ext
;
11620 out_header
= (void *)out_ext
;
11623 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
:
11625 VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11626 const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT32
*)in_header
;
11627 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
;
11628 out_ext
->pNext
= NULL
;
11629 out_ext
->shaderBufferFloat16Atomics
= in_ext
->shaderBufferFloat16Atomics
;
11630 out_ext
->shaderBufferFloat16AtomicAdd
= in_ext
->shaderBufferFloat16AtomicAdd
;
11631 out_ext
->shaderBufferFloat16AtomicMinMax
= in_ext
->shaderBufferFloat16AtomicMinMax
;
11632 out_ext
->shaderBufferFloat32AtomicMinMax
= in_ext
->shaderBufferFloat32AtomicMinMax
;
11633 out_ext
->shaderBufferFloat64AtomicMinMax
= in_ext
->shaderBufferFloat64AtomicMinMax
;
11634 out_ext
->shaderSharedFloat16Atomics
= in_ext
->shaderSharedFloat16Atomics
;
11635 out_ext
->shaderSharedFloat16AtomicAdd
= in_ext
->shaderSharedFloat16AtomicAdd
;
11636 out_ext
->shaderSharedFloat16AtomicMinMax
= in_ext
->shaderSharedFloat16AtomicMinMax
;
11637 out_ext
->shaderSharedFloat32AtomicMinMax
= in_ext
->shaderSharedFloat32AtomicMinMax
;
11638 out_ext
->shaderSharedFloat64AtomicMinMax
= in_ext
->shaderSharedFloat64AtomicMinMax
;
11639 out_ext
->shaderImageFloat32AtomicMinMax
= in_ext
->shaderImageFloat32AtomicMinMax
;
11640 out_ext
->sparseImageFloat32AtomicMinMax
= in_ext
->sparseImageFloat32AtomicMinMax
;
11641 out_header
->pNext
= (void *)out_ext
;
11642 out_header
= (void *)out_ext
;
11645 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
:
11647 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11648 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT32
*)in_header
;
11649 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
;
11650 out_ext
->pNext
= NULL
;
11651 out_ext
->vertexAttributeInstanceRateDivisor
= in_ext
->vertexAttributeInstanceRateDivisor
;
11652 out_ext
->vertexAttributeInstanceRateZeroDivisor
= in_ext
->vertexAttributeInstanceRateZeroDivisor
;
11653 out_header
->pNext
= (void *)out_ext
;
11654 out_header
= (void *)out_ext
;
11657 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
:
11659 VkPhysicalDeviceASTCDecodeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11660 const VkPhysicalDeviceASTCDecodeFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceASTCDecodeFeaturesEXT32
*)in_header
;
11661 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
;
11662 out_ext
->pNext
= NULL
;
11663 out_ext
->decodeModeSharedExponent
= in_ext
->decodeModeSharedExponent
;
11664 out_header
->pNext
= (void *)out_ext
;
11665 out_header
= (void *)out_ext
;
11668 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
:
11670 VkPhysicalDeviceTransformFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11671 const VkPhysicalDeviceTransformFeedbackFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceTransformFeedbackFeaturesEXT32
*)in_header
;
11672 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
;
11673 out_ext
->pNext
= NULL
;
11674 out_ext
->transformFeedback
= in_ext
->transformFeedback
;
11675 out_ext
->geometryStreams
= in_ext
->geometryStreams
;
11676 out_header
->pNext
= (void *)out_ext
;
11677 out_header
= (void *)out_ext
;
11680 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
:
11682 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11683 const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV32
*in_ext
= (const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV32
*)in_header
;
11684 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
;
11685 out_ext
->pNext
= NULL
;
11686 out_ext
->representativeFragmentTest
= in_ext
->representativeFragmentTest
;
11687 out_header
->pNext
= (void *)out_ext
;
11688 out_header
= (void *)out_ext
;
11691 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
:
11693 VkPhysicalDeviceExclusiveScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11694 const VkPhysicalDeviceExclusiveScissorFeaturesNV32
*in_ext
= (const VkPhysicalDeviceExclusiveScissorFeaturesNV32
*)in_header
;
11695 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
;
11696 out_ext
->pNext
= NULL
;
11697 out_ext
->exclusiveScissor
= in_ext
->exclusiveScissor
;
11698 out_header
->pNext
= (void *)out_ext
;
11699 out_header
= (void *)out_ext
;
11702 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
:
11704 VkPhysicalDeviceCornerSampledImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11705 const VkPhysicalDeviceCornerSampledImageFeaturesNV32
*in_ext
= (const VkPhysicalDeviceCornerSampledImageFeaturesNV32
*)in_header
;
11706 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
;
11707 out_ext
->pNext
= NULL
;
11708 out_ext
->cornerSampledImage
= in_ext
->cornerSampledImage
;
11709 out_header
->pNext
= (void *)out_ext
;
11710 out_header
= (void *)out_ext
;
11713 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
:
11715 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11716 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV32
*in_ext
= (const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV32
*)in_header
;
11717 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
;
11718 out_ext
->pNext
= NULL
;
11719 out_ext
->computeDerivativeGroupQuads
= in_ext
->computeDerivativeGroupQuads
;
11720 out_ext
->computeDerivativeGroupLinear
= in_ext
->computeDerivativeGroupLinear
;
11721 out_header
->pNext
= (void *)out_ext
;
11722 out_header
= (void *)out_ext
;
11725 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
:
11727 VkPhysicalDeviceShaderImageFootprintFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11728 const VkPhysicalDeviceShaderImageFootprintFeaturesNV32
*in_ext
= (const VkPhysicalDeviceShaderImageFootprintFeaturesNV32
*)in_header
;
11729 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
;
11730 out_ext
->pNext
= NULL
;
11731 out_ext
->imageFootprint
= in_ext
->imageFootprint
;
11732 out_header
->pNext
= (void *)out_ext
;
11733 out_header
= (void *)out_ext
;
11736 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
:
11738 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11739 const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV32
*in_ext
= (const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV32
*)in_header
;
11740 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
;
11741 out_ext
->pNext
= NULL
;
11742 out_ext
->dedicatedAllocationImageAliasing
= in_ext
->dedicatedAllocationImageAliasing
;
11743 out_header
->pNext
= (void *)out_ext
;
11744 out_header
= (void *)out_ext
;
11747 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
:
11749 VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11750 const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV32
*in_ext
= (const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV32
*)in_header
;
11751 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
;
11752 out_ext
->pNext
= NULL
;
11753 out_ext
->indirectCopy
= in_ext
->indirectCopy
;
11754 out_header
->pNext
= (void *)out_ext
;
11755 out_header
= (void *)out_ext
;
11758 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
:
11760 VkPhysicalDeviceMemoryDecompressionFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11761 const VkPhysicalDeviceMemoryDecompressionFeaturesNV32
*in_ext
= (const VkPhysicalDeviceMemoryDecompressionFeaturesNV32
*)in_header
;
11762 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
;
11763 out_ext
->pNext
= NULL
;
11764 out_ext
->memoryDecompression
= in_ext
->memoryDecompression
;
11765 out_header
->pNext
= (void *)out_ext
;
11766 out_header
= (void *)out_ext
;
11769 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
:
11771 VkPhysicalDeviceShadingRateImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11772 const VkPhysicalDeviceShadingRateImageFeaturesNV32
*in_ext
= (const VkPhysicalDeviceShadingRateImageFeaturesNV32
*)in_header
;
11773 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
;
11774 out_ext
->pNext
= NULL
;
11775 out_ext
->shadingRateImage
= in_ext
->shadingRateImage
;
11776 out_ext
->shadingRateCoarseSampleOrder
= in_ext
->shadingRateCoarseSampleOrder
;
11777 out_header
->pNext
= (void *)out_ext
;
11778 out_header
= (void *)out_ext
;
11781 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
:
11783 VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11784 const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI32
*in_ext
= (const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI32
*)in_header
;
11785 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
;
11786 out_ext
->pNext
= NULL
;
11787 out_ext
->invocationMask
= in_ext
->invocationMask
;
11788 out_header
->pNext
= (void *)out_ext
;
11789 out_header
= (void *)out_ext
;
11792 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
:
11794 VkPhysicalDeviceMeshShaderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11795 const VkPhysicalDeviceMeshShaderFeaturesNV32
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesNV32
*)in_header
;
11796 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
;
11797 out_ext
->pNext
= NULL
;
11798 out_ext
->taskShader
= in_ext
->taskShader
;
11799 out_ext
->meshShader
= in_ext
->meshShader
;
11800 out_header
->pNext
= (void *)out_ext
;
11801 out_header
= (void *)out_ext
;
11804 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
:
11806 VkPhysicalDeviceMeshShaderFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11807 const VkPhysicalDeviceMeshShaderFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesEXT32
*)in_header
;
11808 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
;
11809 out_ext
->pNext
= NULL
;
11810 out_ext
->taskShader
= in_ext
->taskShader
;
11811 out_ext
->meshShader
= in_ext
->meshShader
;
11812 out_ext
->multiviewMeshShader
= in_ext
->multiviewMeshShader
;
11813 out_ext
->primitiveFragmentShadingRateMeshShader
= in_ext
->primitiveFragmentShadingRateMeshShader
;
11814 out_ext
->meshShaderQueries
= in_ext
->meshShaderQueries
;
11815 out_header
->pNext
= (void *)out_ext
;
11816 out_header
= (void *)out_ext
;
11819 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
:
11821 VkPhysicalDeviceAccelerationStructureFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11822 const VkPhysicalDeviceAccelerationStructureFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceAccelerationStructureFeaturesKHR32
*)in_header
;
11823 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
;
11824 out_ext
->pNext
= NULL
;
11825 out_ext
->accelerationStructure
= in_ext
->accelerationStructure
;
11826 out_ext
->accelerationStructureCaptureReplay
= in_ext
->accelerationStructureCaptureReplay
;
11827 out_ext
->accelerationStructureIndirectBuild
= in_ext
->accelerationStructureIndirectBuild
;
11828 out_ext
->accelerationStructureHostCommands
= in_ext
->accelerationStructureHostCommands
;
11829 out_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
= in_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
;
11830 out_header
->pNext
= (void *)out_ext
;
11831 out_header
= (void *)out_ext
;
11834 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
:
11836 VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11837 const VkPhysicalDeviceRayTracingPipelineFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceRayTracingPipelineFeaturesKHR32
*)in_header
;
11838 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
;
11839 out_ext
->pNext
= NULL
;
11840 out_ext
->rayTracingPipeline
= in_ext
->rayTracingPipeline
;
11841 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
;
11842 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
;
11843 out_ext
->rayTracingPipelineTraceRaysIndirect
= in_ext
->rayTracingPipelineTraceRaysIndirect
;
11844 out_ext
->rayTraversalPrimitiveCulling
= in_ext
->rayTraversalPrimitiveCulling
;
11845 out_header
->pNext
= (void *)out_ext
;
11846 out_header
= (void *)out_ext
;
11849 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
:
11851 VkPhysicalDeviceRayQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11852 const VkPhysicalDeviceRayQueryFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceRayQueryFeaturesKHR32
*)in_header
;
11853 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
;
11854 out_ext
->pNext
= NULL
;
11855 out_ext
->rayQuery
= in_ext
->rayQuery
;
11856 out_header
->pNext
= (void *)out_ext
;
11857 out_header
= (void *)out_ext
;
11860 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
:
11862 VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11863 const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR32
*in_ext
= (const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR32
*)in_header
;
11864 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
;
11865 out_ext
->pNext
= NULL
;
11866 out_ext
->rayTracingMaintenance1
= in_ext
->rayTracingMaintenance1
;
11867 out_ext
->rayTracingPipelineTraceRaysIndirect2
= in_ext
->rayTracingPipelineTraceRaysIndirect2
;
11868 out_header
->pNext
= (void *)out_ext
;
11869 out_header
= (void *)out_ext
;
11872 case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
:
11874 VkDeviceMemoryOverallocationCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11875 const VkDeviceMemoryOverallocationCreateInfoAMD32
*in_ext
= (const VkDeviceMemoryOverallocationCreateInfoAMD32
*)in_header
;
11876 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
;
11877 out_ext
->pNext
= NULL
;
11878 out_ext
->overallocationBehavior
= in_ext
->overallocationBehavior
;
11879 out_header
->pNext
= (void *)out_ext
;
11880 out_header
= (void *)out_ext
;
11883 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
:
11885 VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11886 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapFeaturesEXT32
*)in_header
;
11887 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
;
11888 out_ext
->pNext
= NULL
;
11889 out_ext
->fragmentDensityMap
= in_ext
->fragmentDensityMap
;
11890 out_ext
->fragmentDensityMapDynamic
= in_ext
->fragmentDensityMapDynamic
;
11891 out_ext
->fragmentDensityMapNonSubsampledImages
= in_ext
->fragmentDensityMapNonSubsampledImages
;
11892 out_header
->pNext
= (void *)out_ext
;
11893 out_header
= (void *)out_ext
;
11896 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
:
11898 VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11899 const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT32
*)in_header
;
11900 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
;
11901 out_ext
->pNext
= NULL
;
11902 out_ext
->fragmentDensityMapDeferred
= in_ext
->fragmentDensityMapDeferred
;
11903 out_header
->pNext
= (void *)out_ext
;
11904 out_header
= (void *)out_ext
;
11907 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
:
11909 VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11910 const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM32
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM32
*)in_header
;
11911 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
;
11912 out_ext
->pNext
= NULL
;
11913 out_ext
->fragmentDensityMapOffset
= in_ext
->fragmentDensityMapOffset
;
11914 out_header
->pNext
= (void *)out_ext
;
11915 out_header
= (void *)out_ext
;
11918 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
:
11920 VkPhysicalDeviceScalarBlockLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11921 const VkPhysicalDeviceScalarBlockLayoutFeatures32
*in_ext
= (const VkPhysicalDeviceScalarBlockLayoutFeatures32
*)in_header
;
11922 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
;
11923 out_ext
->pNext
= NULL
;
11924 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
11925 out_header
->pNext
= (void *)out_ext
;
11926 out_header
= (void *)out_ext
;
11929 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
:
11931 VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11932 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures32
*in_ext
= (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures32
*)in_header
;
11933 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
;
11934 out_ext
->pNext
= NULL
;
11935 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
11936 out_header
->pNext
= (void *)out_ext
;
11937 out_header
= (void *)out_ext
;
11940 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
:
11942 VkPhysicalDeviceDepthClipEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11943 const VkPhysicalDeviceDepthClipEnableFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceDepthClipEnableFeaturesEXT32
*)in_header
;
11944 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
;
11945 out_ext
->pNext
= NULL
;
11946 out_ext
->depthClipEnable
= in_ext
->depthClipEnable
;
11947 out_header
->pNext
= (void *)out_ext
;
11948 out_header
= (void *)out_ext
;
11951 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
:
11953 VkPhysicalDeviceMemoryPriorityFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11954 const VkPhysicalDeviceMemoryPriorityFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMemoryPriorityFeaturesEXT32
*)in_header
;
11955 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
;
11956 out_ext
->pNext
= NULL
;
11957 out_ext
->memoryPriority
= in_ext
->memoryPriority
;
11958 out_header
->pNext
= (void *)out_ext
;
11959 out_header
= (void *)out_ext
;
11962 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
:
11964 VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11965 const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT32
*)in_header
;
11966 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
;
11967 out_ext
->pNext
= NULL
;
11968 out_ext
->pageableDeviceLocalMemory
= in_ext
->pageableDeviceLocalMemory
;
11969 out_header
->pNext
= (void *)out_ext
;
11970 out_header
= (void *)out_ext
;
11973 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
:
11975 VkPhysicalDeviceBufferDeviceAddressFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11976 const VkPhysicalDeviceBufferDeviceAddressFeatures32
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeatures32
*)in_header
;
11977 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
;
11978 out_ext
->pNext
= NULL
;
11979 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
11980 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
11981 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
11982 out_header
->pNext
= (void *)out_ext
;
11983 out_header
= (void *)out_ext
;
11986 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
:
11988 VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
11989 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT32
*)in_header
;
11990 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
;
11991 out_ext
->pNext
= NULL
;
11992 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
11993 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
11994 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
11995 out_header
->pNext
= (void *)out_ext
;
11996 out_header
= (void *)out_ext
;
11999 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
:
12001 VkPhysicalDeviceImagelessFramebufferFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12002 const VkPhysicalDeviceImagelessFramebufferFeatures32
*in_ext
= (const VkPhysicalDeviceImagelessFramebufferFeatures32
*)in_header
;
12003 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
;
12004 out_ext
->pNext
= NULL
;
12005 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
12006 out_header
->pNext
= (void *)out_ext
;
12007 out_header
= (void *)out_ext
;
12010 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
:
12012 VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12013 const VkPhysicalDeviceTextureCompressionASTCHDRFeatures32
*in_ext
= (const VkPhysicalDeviceTextureCompressionASTCHDRFeatures32
*)in_header
;
12014 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
;
12015 out_ext
->pNext
= NULL
;
12016 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
12017 out_header
->pNext
= (void *)out_ext
;
12018 out_header
= (void *)out_ext
;
12021 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
:
12023 VkPhysicalDeviceCooperativeMatrixFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12024 const VkPhysicalDeviceCooperativeMatrixFeaturesNV32
*in_ext
= (const VkPhysicalDeviceCooperativeMatrixFeaturesNV32
*)in_header
;
12025 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
;
12026 out_ext
->pNext
= NULL
;
12027 out_ext
->cooperativeMatrix
= in_ext
->cooperativeMatrix
;
12028 out_ext
->cooperativeMatrixRobustBufferAccess
= in_ext
->cooperativeMatrixRobustBufferAccess
;
12029 out_header
->pNext
= (void *)out_ext
;
12030 out_header
= (void *)out_ext
;
12033 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
:
12035 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12036 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT32
*)in_header
;
12037 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
;
12038 out_ext
->pNext
= NULL
;
12039 out_ext
->ycbcrImageArrays
= in_ext
->ycbcrImageArrays
;
12040 out_header
->pNext
= (void *)out_ext
;
12041 out_header
= (void *)out_ext
;
12044 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
:
12046 VkPhysicalDevicePresentBarrierFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12047 const VkPhysicalDevicePresentBarrierFeaturesNV32
*in_ext
= (const VkPhysicalDevicePresentBarrierFeaturesNV32
*)in_header
;
12048 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
;
12049 out_ext
->pNext
= NULL
;
12050 out_ext
->presentBarrier
= in_ext
->presentBarrier
;
12051 out_header
->pNext
= (void *)out_ext
;
12052 out_header
= (void *)out_ext
;
12055 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
:
12057 VkPhysicalDevicePerformanceQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12058 const VkPhysicalDevicePerformanceQueryFeaturesKHR32
*in_ext
= (const VkPhysicalDevicePerformanceQueryFeaturesKHR32
*)in_header
;
12059 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
;
12060 out_ext
->pNext
= NULL
;
12061 out_ext
->performanceCounterQueryPools
= in_ext
->performanceCounterQueryPools
;
12062 out_ext
->performanceCounterMultipleQueryPools
= in_ext
->performanceCounterMultipleQueryPools
;
12063 out_header
->pNext
= (void *)out_ext
;
12064 out_header
= (void *)out_ext
;
12067 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
:
12069 VkPhysicalDeviceCoverageReductionModeFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12070 const VkPhysicalDeviceCoverageReductionModeFeaturesNV32
*in_ext
= (const VkPhysicalDeviceCoverageReductionModeFeaturesNV32
*)in_header
;
12071 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
;
12072 out_ext
->pNext
= NULL
;
12073 out_ext
->coverageReductionMode
= in_ext
->coverageReductionMode
;
12074 out_header
->pNext
= (void *)out_ext
;
12075 out_header
= (void *)out_ext
;
12078 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
:
12080 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12081 const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL32
*in_ext
= (const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL32
*)in_header
;
12082 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
;
12083 out_ext
->pNext
= NULL
;
12084 out_ext
->shaderIntegerFunctions2
= in_ext
->shaderIntegerFunctions2
;
12085 out_header
->pNext
= (void *)out_ext
;
12086 out_header
= (void *)out_ext
;
12089 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
:
12091 VkPhysicalDeviceShaderClockFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12092 const VkPhysicalDeviceShaderClockFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceShaderClockFeaturesKHR32
*)in_header
;
12093 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
;
12094 out_ext
->pNext
= NULL
;
12095 out_ext
->shaderSubgroupClock
= in_ext
->shaderSubgroupClock
;
12096 out_ext
->shaderDeviceClock
= in_ext
->shaderDeviceClock
;
12097 out_header
->pNext
= (void *)out_ext
;
12098 out_header
= (void *)out_ext
;
12101 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
:
12103 VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12104 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT32
*)in_header
;
12105 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
;
12106 out_ext
->pNext
= NULL
;
12107 out_ext
->indexTypeUint8
= in_ext
->indexTypeUint8
;
12108 out_header
->pNext
= (void *)out_ext
;
12109 out_header
= (void *)out_ext
;
12112 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
:
12114 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12115 const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV32
*in_ext
= (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV32
*)in_header
;
12116 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
;
12117 out_ext
->pNext
= NULL
;
12118 out_ext
->shaderSMBuiltins
= in_ext
->shaderSMBuiltins
;
12119 out_header
->pNext
= (void *)out_ext
;
12120 out_header
= (void *)out_ext
;
12123 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
:
12125 VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12126 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT32
*)in_header
;
12127 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
;
12128 out_ext
->pNext
= NULL
;
12129 out_ext
->fragmentShaderSampleInterlock
= in_ext
->fragmentShaderSampleInterlock
;
12130 out_ext
->fragmentShaderPixelInterlock
= in_ext
->fragmentShaderPixelInterlock
;
12131 out_ext
->fragmentShaderShadingRateInterlock
= in_ext
->fragmentShaderShadingRateInterlock
;
12132 out_header
->pNext
= (void *)out_ext
;
12133 out_header
= (void *)out_ext
;
12136 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
:
12138 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12139 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures32
*in_ext
= (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures32
*)in_header
;
12140 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
;
12141 out_ext
->pNext
= NULL
;
12142 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
12143 out_header
->pNext
= (void *)out_ext
;
12144 out_header
= (void *)out_ext
;
12147 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
:
12149 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12150 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT32
*)in_header
;
12151 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
;
12152 out_ext
->pNext
= NULL
;
12153 out_ext
->primitiveTopologyListRestart
= in_ext
->primitiveTopologyListRestart
;
12154 out_ext
->primitiveTopologyPatchListRestart
= in_ext
->primitiveTopologyPatchListRestart
;
12155 out_header
->pNext
= (void *)out_ext
;
12156 out_header
= (void *)out_ext
;
12159 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
:
12161 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12162 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR32
*in_ext
= (const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR32
*)in_header
;
12163 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
;
12164 out_ext
->pNext
= NULL
;
12165 out_ext
->pipelineExecutableInfo
= in_ext
->pipelineExecutableInfo
;
12166 out_header
->pNext
= (void *)out_ext
;
12167 out_header
= (void *)out_ext
;
12170 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
:
12172 VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12173 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures32
*in_ext
= (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures32
*)in_header
;
12174 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
;
12175 out_ext
->pNext
= NULL
;
12176 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
12177 out_header
->pNext
= (void *)out_ext
;
12178 out_header
= (void *)out_ext
;
12181 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
:
12183 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12184 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT32
*)in_header
;
12185 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
;
12186 out_ext
->pNext
= NULL
;
12187 out_ext
->texelBufferAlignment
= in_ext
->texelBufferAlignment
;
12188 out_header
->pNext
= (void *)out_ext
;
12189 out_header
= (void *)out_ext
;
12192 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
:
12194 VkPhysicalDeviceSubgroupSizeControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12195 const VkPhysicalDeviceSubgroupSizeControlFeatures32
*in_ext
= (const VkPhysicalDeviceSubgroupSizeControlFeatures32
*)in_header
;
12196 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
;
12197 out_ext
->pNext
= NULL
;
12198 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
12199 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
12200 out_header
->pNext
= (void *)out_ext
;
12201 out_header
= (void *)out_ext
;
12204 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
:
12206 VkPhysicalDeviceLineRasterizationFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12207 const VkPhysicalDeviceLineRasterizationFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceLineRasterizationFeaturesEXT32
*)in_header
;
12208 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
;
12209 out_ext
->pNext
= NULL
;
12210 out_ext
->rectangularLines
= in_ext
->rectangularLines
;
12211 out_ext
->bresenhamLines
= in_ext
->bresenhamLines
;
12212 out_ext
->smoothLines
= in_ext
->smoothLines
;
12213 out_ext
->stippledRectangularLines
= in_ext
->stippledRectangularLines
;
12214 out_ext
->stippledBresenhamLines
= in_ext
->stippledBresenhamLines
;
12215 out_ext
->stippledSmoothLines
= in_ext
->stippledSmoothLines
;
12216 out_header
->pNext
= (void *)out_ext
;
12217 out_header
= (void *)out_ext
;
12220 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
:
12222 VkPhysicalDevicePipelineCreationCacheControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12223 const VkPhysicalDevicePipelineCreationCacheControlFeatures32
*in_ext
= (const VkPhysicalDevicePipelineCreationCacheControlFeatures32
*)in_header
;
12224 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
;
12225 out_ext
->pNext
= NULL
;
12226 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
12227 out_header
->pNext
= (void *)out_ext
;
12228 out_header
= (void *)out_ext
;
12231 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
:
12233 VkPhysicalDeviceVulkan11Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12234 const VkPhysicalDeviceVulkan11Features32
*in_ext
= (const VkPhysicalDeviceVulkan11Features32
*)in_header
;
12235 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
;
12236 out_ext
->pNext
= NULL
;
12237 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
12238 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
12239 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
12240 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
12241 out_ext
->multiview
= in_ext
->multiview
;
12242 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
12243 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
12244 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
12245 out_ext
->variablePointers
= in_ext
->variablePointers
;
12246 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
12247 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
12248 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
12249 out_header
->pNext
= (void *)out_ext
;
12250 out_header
= (void *)out_ext
;
12253 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
:
12255 VkPhysicalDeviceVulkan12Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12256 const VkPhysicalDeviceVulkan12Features32
*in_ext
= (const VkPhysicalDeviceVulkan12Features32
*)in_header
;
12257 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
;
12258 out_ext
->pNext
= NULL
;
12259 out_ext
->samplerMirrorClampToEdge
= in_ext
->samplerMirrorClampToEdge
;
12260 out_ext
->drawIndirectCount
= in_ext
->drawIndirectCount
;
12261 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
12262 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
12263 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
12264 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
12265 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
12266 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
12267 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
12268 out_ext
->descriptorIndexing
= in_ext
->descriptorIndexing
;
12269 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
12270 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
12271 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
12272 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
12273 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
12274 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
12275 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
12276 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
12277 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
12278 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
12279 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
12280 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
12281 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
12282 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
12283 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
12284 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
12285 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
12286 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
12287 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
12288 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
12289 out_ext
->samplerFilterMinmax
= in_ext
->samplerFilterMinmax
;
12290 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
12291 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
12292 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
12293 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
12294 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
12295 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
12296 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
12297 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
12298 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
12299 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
12300 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
12301 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
12302 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
12303 out_ext
->shaderOutputViewportIndex
= in_ext
->shaderOutputViewportIndex
;
12304 out_ext
->shaderOutputLayer
= in_ext
->shaderOutputLayer
;
12305 out_ext
->subgroupBroadcastDynamicId
= in_ext
->subgroupBroadcastDynamicId
;
12306 out_header
->pNext
= (void *)out_ext
;
12307 out_header
= (void *)out_ext
;
12310 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
:
12312 VkPhysicalDeviceVulkan13Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12313 const VkPhysicalDeviceVulkan13Features32
*in_ext
= (const VkPhysicalDeviceVulkan13Features32
*)in_header
;
12314 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
;
12315 out_ext
->pNext
= NULL
;
12316 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
12317 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
12318 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
12319 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
12320 out_ext
->privateData
= in_ext
->privateData
;
12321 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
12322 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
12323 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
12324 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
12325 out_ext
->synchronization2
= in_ext
->synchronization2
;
12326 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
12327 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
12328 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
12329 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
12330 out_ext
->maintenance4
= in_ext
->maintenance4
;
12331 out_header
->pNext
= (void *)out_ext
;
12332 out_header
= (void *)out_ext
;
12335 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
:
12337 VkPhysicalDeviceCoherentMemoryFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12338 const VkPhysicalDeviceCoherentMemoryFeaturesAMD32
*in_ext
= (const VkPhysicalDeviceCoherentMemoryFeaturesAMD32
*)in_header
;
12339 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
;
12340 out_ext
->pNext
= NULL
;
12341 out_ext
->deviceCoherentMemory
= in_ext
->deviceCoherentMemory
;
12342 out_header
->pNext
= (void *)out_ext
;
12343 out_header
= (void *)out_ext
;
12346 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
:
12348 VkPhysicalDeviceCustomBorderColorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12349 const VkPhysicalDeviceCustomBorderColorFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceCustomBorderColorFeaturesEXT32
*)in_header
;
12350 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
;
12351 out_ext
->pNext
= NULL
;
12352 out_ext
->customBorderColors
= in_ext
->customBorderColors
;
12353 out_ext
->customBorderColorWithoutFormat
= in_ext
->customBorderColorWithoutFormat
;
12354 out_header
->pNext
= (void *)out_ext
;
12355 out_header
= (void *)out_ext
;
12358 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
:
12360 VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12361 const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT32
*)in_header
;
12362 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
;
12363 out_ext
->pNext
= NULL
;
12364 out_ext
->borderColorSwizzle
= in_ext
->borderColorSwizzle
;
12365 out_ext
->borderColorSwizzleFromImage
= in_ext
->borderColorSwizzleFromImage
;
12366 out_header
->pNext
= (void *)out_ext
;
12367 out_header
= (void *)out_ext
;
12370 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
:
12372 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12373 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT32
*)in_header
;
12374 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
;
12375 out_ext
->pNext
= NULL
;
12376 out_ext
->extendedDynamicState
= in_ext
->extendedDynamicState
;
12377 out_header
->pNext
= (void *)out_ext
;
12378 out_header
= (void *)out_ext
;
12381 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
:
12383 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12384 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT32
*)in_header
;
12385 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
;
12386 out_ext
->pNext
= NULL
;
12387 out_ext
->extendedDynamicState2
= in_ext
->extendedDynamicState2
;
12388 out_ext
->extendedDynamicState2LogicOp
= in_ext
->extendedDynamicState2LogicOp
;
12389 out_ext
->extendedDynamicState2PatchControlPoints
= in_ext
->extendedDynamicState2PatchControlPoints
;
12390 out_header
->pNext
= (void *)out_ext
;
12391 out_header
= (void *)out_ext
;
12394 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
:
12396 VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12397 const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT32
*)in_header
;
12398 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
;
12399 out_ext
->pNext
= NULL
;
12400 out_ext
->extendedDynamicState3TessellationDomainOrigin
= in_ext
->extendedDynamicState3TessellationDomainOrigin
;
12401 out_ext
->extendedDynamicState3DepthClampEnable
= in_ext
->extendedDynamicState3DepthClampEnable
;
12402 out_ext
->extendedDynamicState3PolygonMode
= in_ext
->extendedDynamicState3PolygonMode
;
12403 out_ext
->extendedDynamicState3RasterizationSamples
= in_ext
->extendedDynamicState3RasterizationSamples
;
12404 out_ext
->extendedDynamicState3SampleMask
= in_ext
->extendedDynamicState3SampleMask
;
12405 out_ext
->extendedDynamicState3AlphaToCoverageEnable
= in_ext
->extendedDynamicState3AlphaToCoverageEnable
;
12406 out_ext
->extendedDynamicState3AlphaToOneEnable
= in_ext
->extendedDynamicState3AlphaToOneEnable
;
12407 out_ext
->extendedDynamicState3LogicOpEnable
= in_ext
->extendedDynamicState3LogicOpEnable
;
12408 out_ext
->extendedDynamicState3ColorBlendEnable
= in_ext
->extendedDynamicState3ColorBlendEnable
;
12409 out_ext
->extendedDynamicState3ColorBlendEquation
= in_ext
->extendedDynamicState3ColorBlendEquation
;
12410 out_ext
->extendedDynamicState3ColorWriteMask
= in_ext
->extendedDynamicState3ColorWriteMask
;
12411 out_ext
->extendedDynamicState3RasterizationStream
= in_ext
->extendedDynamicState3RasterizationStream
;
12412 out_ext
->extendedDynamicState3ConservativeRasterizationMode
= in_ext
->extendedDynamicState3ConservativeRasterizationMode
;
12413 out_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
= in_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
;
12414 out_ext
->extendedDynamicState3DepthClipEnable
= in_ext
->extendedDynamicState3DepthClipEnable
;
12415 out_ext
->extendedDynamicState3SampleLocationsEnable
= in_ext
->extendedDynamicState3SampleLocationsEnable
;
12416 out_ext
->extendedDynamicState3ColorBlendAdvanced
= in_ext
->extendedDynamicState3ColorBlendAdvanced
;
12417 out_ext
->extendedDynamicState3ProvokingVertexMode
= in_ext
->extendedDynamicState3ProvokingVertexMode
;
12418 out_ext
->extendedDynamicState3LineRasterizationMode
= in_ext
->extendedDynamicState3LineRasterizationMode
;
12419 out_ext
->extendedDynamicState3LineStippleEnable
= in_ext
->extendedDynamicState3LineStippleEnable
;
12420 out_ext
->extendedDynamicState3DepthClipNegativeOneToOne
= in_ext
->extendedDynamicState3DepthClipNegativeOneToOne
;
12421 out_ext
->extendedDynamicState3ViewportWScalingEnable
= in_ext
->extendedDynamicState3ViewportWScalingEnable
;
12422 out_ext
->extendedDynamicState3ViewportSwizzle
= in_ext
->extendedDynamicState3ViewportSwizzle
;
12423 out_ext
->extendedDynamicState3CoverageToColorEnable
= in_ext
->extendedDynamicState3CoverageToColorEnable
;
12424 out_ext
->extendedDynamicState3CoverageToColorLocation
= in_ext
->extendedDynamicState3CoverageToColorLocation
;
12425 out_ext
->extendedDynamicState3CoverageModulationMode
= in_ext
->extendedDynamicState3CoverageModulationMode
;
12426 out_ext
->extendedDynamicState3CoverageModulationTableEnable
= in_ext
->extendedDynamicState3CoverageModulationTableEnable
;
12427 out_ext
->extendedDynamicState3CoverageModulationTable
= in_ext
->extendedDynamicState3CoverageModulationTable
;
12428 out_ext
->extendedDynamicState3CoverageReductionMode
= in_ext
->extendedDynamicState3CoverageReductionMode
;
12429 out_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
= in_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
;
12430 out_ext
->extendedDynamicState3ShadingRateImageEnable
= in_ext
->extendedDynamicState3ShadingRateImageEnable
;
12431 out_header
->pNext
= (void *)out_ext
;
12432 out_header
= (void *)out_ext
;
12435 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
:
12437 VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12438 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV32
*in_ext
= (const VkPhysicalDeviceDiagnosticsConfigFeaturesNV32
*)in_header
;
12439 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
;
12440 out_ext
->pNext
= NULL
;
12441 out_ext
->diagnosticsConfig
= in_ext
->diagnosticsConfig
;
12442 out_header
->pNext
= (void *)out_ext
;
12443 out_header
= (void *)out_ext
;
12446 case VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
:
12448 VkDeviceDiagnosticsConfigCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12449 const VkDeviceDiagnosticsConfigCreateInfoNV32
*in_ext
= (const VkDeviceDiagnosticsConfigCreateInfoNV32
*)in_header
;
12450 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
;
12451 out_ext
->pNext
= NULL
;
12452 out_ext
->flags
= in_ext
->flags
;
12453 out_header
->pNext
= (void *)out_ext
;
12454 out_header
= (void *)out_ext
;
12457 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
:
12459 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12460 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures32
*in_ext
= (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures32
*)in_header
;
12461 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
;
12462 out_ext
->pNext
= NULL
;
12463 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
12464 out_header
->pNext
= (void *)out_ext
;
12465 out_header
= (void *)out_ext
;
12468 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
:
12470 VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12471 const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR32
*)in_header
;
12472 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
;
12473 out_ext
->pNext
= NULL
;
12474 out_ext
->shaderSubgroupUniformControlFlow
= in_ext
->shaderSubgroupUniformControlFlow
;
12475 out_header
->pNext
= (void *)out_ext
;
12476 out_header
= (void *)out_ext
;
12479 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
:
12481 VkPhysicalDeviceRobustness2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12482 const VkPhysicalDeviceRobustness2FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceRobustness2FeaturesEXT32
*)in_header
;
12483 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
;
12484 out_ext
->pNext
= NULL
;
12485 out_ext
->robustBufferAccess2
= in_ext
->robustBufferAccess2
;
12486 out_ext
->robustImageAccess2
= in_ext
->robustImageAccess2
;
12487 out_ext
->nullDescriptor
= in_ext
->nullDescriptor
;
12488 out_header
->pNext
= (void *)out_ext
;
12489 out_header
= (void *)out_ext
;
12492 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
:
12494 VkPhysicalDeviceImageRobustnessFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12495 const VkPhysicalDeviceImageRobustnessFeatures32
*in_ext
= (const VkPhysicalDeviceImageRobustnessFeatures32
*)in_header
;
12496 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
;
12497 out_ext
->pNext
= NULL
;
12498 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
12499 out_header
->pNext
= (void *)out_ext
;
12500 out_header
= (void *)out_ext
;
12503 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
:
12505 VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12506 const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR32
*)in_header
;
12507 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
;
12508 out_ext
->pNext
= NULL
;
12509 out_ext
->workgroupMemoryExplicitLayout
= in_ext
->workgroupMemoryExplicitLayout
;
12510 out_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
= in_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
;
12511 out_ext
->workgroupMemoryExplicitLayout8BitAccess
= in_ext
->workgroupMemoryExplicitLayout8BitAccess
;
12512 out_ext
->workgroupMemoryExplicitLayout16BitAccess
= in_ext
->workgroupMemoryExplicitLayout16BitAccess
;
12513 out_header
->pNext
= (void *)out_ext
;
12514 out_header
= (void *)out_ext
;
12517 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
:
12519 VkPhysicalDevice4444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12520 const VkPhysicalDevice4444FormatsFeaturesEXT32
*in_ext
= (const VkPhysicalDevice4444FormatsFeaturesEXT32
*)in_header
;
12521 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
;
12522 out_ext
->pNext
= NULL
;
12523 out_ext
->formatA4R4G4B4
= in_ext
->formatA4R4G4B4
;
12524 out_ext
->formatA4B4G4R4
= in_ext
->formatA4B4G4R4
;
12525 out_header
->pNext
= (void *)out_ext
;
12526 out_header
= (void *)out_ext
;
12529 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
:
12531 VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12532 const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI32
*in_ext
= (const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI32
*)in_header
;
12533 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
;
12534 out_ext
->pNext
= NULL
;
12535 out_ext
->subpassShading
= in_ext
->subpassShading
;
12536 out_header
->pNext
= (void *)out_ext
;
12537 out_header
= (void *)out_ext
;
12540 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
:
12542 VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12543 const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT32
*)in_header
;
12544 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
;
12545 out_ext
->pNext
= NULL
;
12546 out_ext
->shaderImageInt64Atomics
= in_ext
->shaderImageInt64Atomics
;
12547 out_ext
->sparseImageInt64Atomics
= in_ext
->sparseImageInt64Atomics
;
12548 out_header
->pNext
= (void *)out_ext
;
12549 out_header
= (void *)out_ext
;
12552 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
:
12554 VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12555 const VkPhysicalDeviceFragmentShadingRateFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR32
*)in_header
;
12556 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
;
12557 out_ext
->pNext
= NULL
;
12558 out_ext
->pipelineFragmentShadingRate
= in_ext
->pipelineFragmentShadingRate
;
12559 out_ext
->primitiveFragmentShadingRate
= in_ext
->primitiveFragmentShadingRate
;
12560 out_ext
->attachmentFragmentShadingRate
= in_ext
->attachmentFragmentShadingRate
;
12561 out_header
->pNext
= (void *)out_ext
;
12562 out_header
= (void *)out_ext
;
12565 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
:
12567 VkPhysicalDeviceShaderTerminateInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12568 const VkPhysicalDeviceShaderTerminateInvocationFeatures32
*in_ext
= (const VkPhysicalDeviceShaderTerminateInvocationFeatures32
*)in_header
;
12569 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
;
12570 out_ext
->pNext
= NULL
;
12571 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
12572 out_header
->pNext
= (void *)out_ext
;
12573 out_header
= (void *)out_ext
;
12576 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
:
12578 VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12579 const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV32
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV32
*)in_header
;
12580 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
;
12581 out_ext
->pNext
= NULL
;
12582 out_ext
->fragmentShadingRateEnums
= in_ext
->fragmentShadingRateEnums
;
12583 out_ext
->supersampleFragmentShadingRates
= in_ext
->supersampleFragmentShadingRates
;
12584 out_ext
->noInvocationFragmentShadingRates
= in_ext
->noInvocationFragmentShadingRates
;
12585 out_header
->pNext
= (void *)out_ext
;
12586 out_header
= (void *)out_ext
;
12589 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
:
12591 VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12592 const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT32
*)in_header
;
12593 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
;
12594 out_ext
->pNext
= NULL
;
12595 out_ext
->image2DViewOf3D
= in_ext
->image2DViewOf3D
;
12596 out_ext
->sampler2DViewOf3D
= in_ext
->sampler2DViewOf3D
;
12597 out_header
->pNext
= (void *)out_ext
;
12598 out_header
= (void *)out_ext
;
12601 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
:
12603 VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12604 const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32
*)in_header
;
12605 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
;
12606 out_ext
->pNext
= NULL
;
12607 out_ext
->mutableDescriptorType
= in_ext
->mutableDescriptorType
;
12608 out_header
->pNext
= (void *)out_ext
;
12609 out_header
= (void *)out_ext
;
12612 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
:
12614 VkPhysicalDeviceDepthClipControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12615 const VkPhysicalDeviceDepthClipControlFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceDepthClipControlFeaturesEXT32
*)in_header
;
12616 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
;
12617 out_ext
->pNext
= NULL
;
12618 out_ext
->depthClipControl
= in_ext
->depthClipControl
;
12619 out_header
->pNext
= (void *)out_ext
;
12620 out_header
= (void *)out_ext
;
12623 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
:
12625 VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12626 const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT32
*)in_header
;
12627 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
;
12628 out_ext
->pNext
= NULL
;
12629 out_ext
->vertexInputDynamicState
= in_ext
->vertexInputDynamicState
;
12630 out_header
->pNext
= (void *)out_ext
;
12631 out_header
= (void *)out_ext
;
12634 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
:
12636 VkPhysicalDeviceColorWriteEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12637 const VkPhysicalDeviceColorWriteEnableFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceColorWriteEnableFeaturesEXT32
*)in_header
;
12638 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
;
12639 out_ext
->pNext
= NULL
;
12640 out_ext
->colorWriteEnable
= in_ext
->colorWriteEnable
;
12641 out_header
->pNext
= (void *)out_ext
;
12642 out_header
= (void *)out_ext
;
12645 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
:
12647 VkPhysicalDeviceSynchronization2Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12648 const VkPhysicalDeviceSynchronization2Features32
*in_ext
= (const VkPhysicalDeviceSynchronization2Features32
*)in_header
;
12649 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
;
12650 out_ext
->pNext
= NULL
;
12651 out_ext
->synchronization2
= in_ext
->synchronization2
;
12652 out_header
->pNext
= (void *)out_ext
;
12653 out_header
= (void *)out_ext
;
12656 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
:
12658 VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12659 const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT32
*)in_header
;
12660 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
;
12661 out_ext
->pNext
= NULL
;
12662 out_ext
->primitivesGeneratedQuery
= in_ext
->primitivesGeneratedQuery
;
12663 out_ext
->primitivesGeneratedQueryWithRasterizerDiscard
= in_ext
->primitivesGeneratedQueryWithRasterizerDiscard
;
12664 out_ext
->primitivesGeneratedQueryWithNonZeroStreams
= in_ext
->primitivesGeneratedQueryWithNonZeroStreams
;
12665 out_header
->pNext
= (void *)out_ext
;
12666 out_header
= (void *)out_ext
;
12669 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
:
12671 VkPhysicalDeviceLegacyDitheringFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12672 const VkPhysicalDeviceLegacyDitheringFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceLegacyDitheringFeaturesEXT32
*)in_header
;
12673 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
;
12674 out_ext
->pNext
= NULL
;
12675 out_ext
->legacyDithering
= in_ext
->legacyDithering
;
12676 out_header
->pNext
= (void *)out_ext
;
12677 out_header
= (void *)out_ext
;
12680 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
:
12682 VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12683 const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT32
*)in_header
;
12684 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
;
12685 out_ext
->pNext
= NULL
;
12686 out_ext
->multisampledRenderToSingleSampled
= in_ext
->multisampledRenderToSingleSampled
;
12687 out_header
->pNext
= (void *)out_ext
;
12688 out_header
= (void *)out_ext
;
12691 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
:
12693 VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12694 const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT32
*)in_header
;
12695 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
;
12696 out_ext
->pNext
= NULL
;
12697 out_ext
->pipelineProtectedAccess
= in_ext
->pipelineProtectedAccess
;
12698 out_header
->pNext
= (void *)out_ext
;
12699 out_header
= (void *)out_ext
;
12702 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
:
12704 VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12705 const VkPhysicalDeviceInheritedViewportScissorFeaturesNV32
*in_ext
= (const VkPhysicalDeviceInheritedViewportScissorFeaturesNV32
*)in_header
;
12706 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
;
12707 out_ext
->pNext
= NULL
;
12708 out_ext
->inheritedViewportScissor2D
= in_ext
->inheritedViewportScissor2D
;
12709 out_header
->pNext
= (void *)out_ext
;
12710 out_header
= (void *)out_ext
;
12713 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
:
12715 VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12716 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT32
*)in_header
;
12717 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
;
12718 out_ext
->pNext
= NULL
;
12719 out_ext
->ycbcr2plane444Formats
= in_ext
->ycbcr2plane444Formats
;
12720 out_header
->pNext
= (void *)out_ext
;
12721 out_header
= (void *)out_ext
;
12724 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
:
12726 VkPhysicalDeviceProvokingVertexFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12727 const VkPhysicalDeviceProvokingVertexFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceProvokingVertexFeaturesEXT32
*)in_header
;
12728 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
;
12729 out_ext
->pNext
= NULL
;
12730 out_ext
->provokingVertexLast
= in_ext
->provokingVertexLast
;
12731 out_ext
->transformFeedbackPreservesProvokingVertex
= in_ext
->transformFeedbackPreservesProvokingVertex
;
12732 out_header
->pNext
= (void *)out_ext
;
12733 out_header
= (void *)out_ext
;
12736 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT
:
12738 VkPhysicalDeviceDescriptorBufferFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12739 const VkPhysicalDeviceDescriptorBufferFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceDescriptorBufferFeaturesEXT32
*)in_header
;
12740 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT
;
12741 out_ext
->pNext
= NULL
;
12742 out_ext
->descriptorBuffer
= in_ext
->descriptorBuffer
;
12743 out_ext
->descriptorBufferCaptureReplay
= in_ext
->descriptorBufferCaptureReplay
;
12744 out_ext
->descriptorBufferImageLayoutIgnored
= in_ext
->descriptorBufferImageLayoutIgnored
;
12745 out_ext
->descriptorBufferPushDescriptors
= in_ext
->descriptorBufferPushDescriptors
;
12746 out_header
->pNext
= (void *)out_ext
;
12747 out_header
= (void *)out_ext
;
12750 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
:
12752 VkPhysicalDeviceShaderIntegerDotProductFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12753 const VkPhysicalDeviceShaderIntegerDotProductFeatures32
*in_ext
= (const VkPhysicalDeviceShaderIntegerDotProductFeatures32
*)in_header
;
12754 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
;
12755 out_ext
->pNext
= NULL
;
12756 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
12757 out_header
->pNext
= (void *)out_ext
;
12758 out_header
= (void *)out_ext
;
12761 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
:
12763 VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12764 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR32
*)in_header
;
12765 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
;
12766 out_ext
->pNext
= NULL
;
12767 out_ext
->fragmentShaderBarycentric
= in_ext
->fragmentShaderBarycentric
;
12768 out_header
->pNext
= (void *)out_ext
;
12769 out_header
= (void *)out_ext
;
12772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
:
12774 VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12775 const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV32
*in_ext
= (const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV32
*)in_header
;
12776 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
;
12777 out_ext
->pNext
= NULL
;
12778 out_ext
->rayTracingMotionBlur
= in_ext
->rayTracingMotionBlur
;
12779 out_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
= in_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
;
12780 out_header
->pNext
= (void *)out_ext
;
12781 out_header
= (void *)out_ext
;
12784 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
:
12786 VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12787 const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT32
*)in_header
;
12788 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
;
12789 out_ext
->pNext
= NULL
;
12790 out_ext
->formatRgba10x6WithoutYCbCrSampler
= in_ext
->formatRgba10x6WithoutYCbCrSampler
;
12791 out_header
->pNext
= (void *)out_ext
;
12792 out_header
= (void *)out_ext
;
12795 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
:
12797 VkPhysicalDeviceDynamicRenderingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12798 const VkPhysicalDeviceDynamicRenderingFeatures32
*in_ext
= (const VkPhysicalDeviceDynamicRenderingFeatures32
*)in_header
;
12799 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
;
12800 out_ext
->pNext
= NULL
;
12801 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
12802 out_header
->pNext
= (void *)out_ext
;
12803 out_header
= (void *)out_ext
;
12806 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
:
12808 VkPhysicalDeviceImageViewMinLodFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12809 const VkPhysicalDeviceImageViewMinLodFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceImageViewMinLodFeaturesEXT32
*)in_header
;
12810 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
;
12811 out_ext
->pNext
= NULL
;
12812 out_ext
->minLod
= in_ext
->minLod
;
12813 out_header
->pNext
= (void *)out_ext
;
12814 out_header
= (void *)out_ext
;
12817 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
:
12819 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12820 const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT32
*)in_header
;
12821 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
;
12822 out_ext
->pNext
= NULL
;
12823 out_ext
->rasterizationOrderColorAttachmentAccess
= in_ext
->rasterizationOrderColorAttachmentAccess
;
12824 out_ext
->rasterizationOrderDepthAttachmentAccess
= in_ext
->rasterizationOrderDepthAttachmentAccess
;
12825 out_ext
->rasterizationOrderStencilAttachmentAccess
= in_ext
->rasterizationOrderStencilAttachmentAccess
;
12826 out_header
->pNext
= (void *)out_ext
;
12827 out_header
= (void *)out_ext
;
12830 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
:
12832 VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12833 const VkPhysicalDeviceLinearColorAttachmentFeaturesNV32
*in_ext
= (const VkPhysicalDeviceLinearColorAttachmentFeaturesNV32
*)in_header
;
12834 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
;
12835 out_ext
->pNext
= NULL
;
12836 out_ext
->linearColorAttachment
= in_ext
->linearColorAttachment
;
12837 out_header
->pNext
= (void *)out_ext
;
12838 out_header
= (void *)out_ext
;
12841 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
:
12843 VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12844 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT32
*)in_header
;
12845 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
;
12846 out_ext
->pNext
= NULL
;
12847 out_ext
->graphicsPipelineLibrary
= in_ext
->graphicsPipelineLibrary
;
12848 out_header
->pNext
= (void *)out_ext
;
12849 out_header
= (void *)out_ext
;
12852 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
:
12854 VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12855 const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE32
*in_ext
= (const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE32
*)in_header
;
12856 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
;
12857 out_ext
->pNext
= NULL
;
12858 out_ext
->descriptorSetHostMapping
= in_ext
->descriptorSetHostMapping
;
12859 out_header
->pNext
= (void *)out_ext
;
12860 out_header
= (void *)out_ext
;
12863 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
:
12865 VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12866 const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT32
*)in_header
;
12867 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
;
12868 out_ext
->pNext
= NULL
;
12869 out_ext
->shaderModuleIdentifier
= in_ext
->shaderModuleIdentifier
;
12870 out_header
->pNext
= (void *)out_ext
;
12871 out_header
= (void *)out_ext
;
12874 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
:
12876 VkPhysicalDeviceImageCompressionControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12877 const VkPhysicalDeviceImageCompressionControlFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceImageCompressionControlFeaturesEXT32
*)in_header
;
12878 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
;
12879 out_ext
->pNext
= NULL
;
12880 out_ext
->imageCompressionControl
= in_ext
->imageCompressionControl
;
12881 out_header
->pNext
= (void *)out_ext
;
12882 out_header
= (void *)out_ext
;
12885 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
:
12887 VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12888 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT32
*)in_header
;
12889 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
;
12890 out_ext
->pNext
= NULL
;
12891 out_ext
->imageCompressionControlSwapchain
= in_ext
->imageCompressionControlSwapchain
;
12892 out_header
->pNext
= (void *)out_ext
;
12893 out_header
= (void *)out_ext
;
12896 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
:
12898 VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12899 const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT32
*)in_header
;
12900 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
;
12901 out_ext
->pNext
= NULL
;
12902 out_ext
->subpassMergeFeedback
= in_ext
->subpassMergeFeedback
;
12903 out_header
->pNext
= (void *)out_ext
;
12904 out_header
= (void *)out_ext
;
12907 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
:
12909 VkPhysicalDeviceOpacityMicromapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12910 const VkPhysicalDeviceOpacityMicromapFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceOpacityMicromapFeaturesEXT32
*)in_header
;
12911 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
;
12912 out_ext
->pNext
= NULL
;
12913 out_ext
->micromap
= in_ext
->micromap
;
12914 out_ext
->micromapCaptureReplay
= in_ext
->micromapCaptureReplay
;
12915 out_ext
->micromapHostCommands
= in_ext
->micromapHostCommands
;
12916 out_header
->pNext
= (void *)out_ext
;
12917 out_header
= (void *)out_ext
;
12920 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
:
12922 VkPhysicalDevicePipelinePropertiesFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12923 const VkPhysicalDevicePipelinePropertiesFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePipelinePropertiesFeaturesEXT32
*)in_header
;
12924 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
;
12925 out_ext
->pNext
= NULL
;
12926 out_ext
->pipelinePropertiesIdentifier
= in_ext
->pipelinePropertiesIdentifier
;
12927 out_header
->pNext
= (void *)out_ext
;
12928 out_header
= (void *)out_ext
;
12931 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
:
12933 VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12934 const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD32
*in_ext
= (const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD32
*)in_header
;
12935 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
;
12936 out_ext
->pNext
= NULL
;
12937 out_ext
->shaderEarlyAndLateFragmentTests
= in_ext
->shaderEarlyAndLateFragmentTests
;
12938 out_header
->pNext
= (void *)out_ext
;
12939 out_header
= (void *)out_ext
;
12942 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
:
12944 VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12945 const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT32
*)in_header
;
12946 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
;
12947 out_ext
->pNext
= NULL
;
12948 out_ext
->nonSeamlessCubeMap
= in_ext
->nonSeamlessCubeMap
;
12949 out_header
->pNext
= (void *)out_ext
;
12950 out_header
= (void *)out_ext
;
12953 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
:
12955 VkPhysicalDevicePipelineRobustnessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12956 const VkPhysicalDevicePipelineRobustnessFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePipelineRobustnessFeaturesEXT32
*)in_header
;
12957 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
;
12958 out_ext
->pNext
= NULL
;
12959 out_ext
->pipelineRobustness
= in_ext
->pipelineRobustness
;
12960 out_header
->pNext
= (void *)out_ext
;
12961 out_header
= (void *)out_ext
;
12964 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
:
12966 VkPhysicalDeviceImageProcessingFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12967 const VkPhysicalDeviceImageProcessingFeaturesQCOM32
*in_ext
= (const VkPhysicalDeviceImageProcessingFeaturesQCOM32
*)in_header
;
12968 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
;
12969 out_ext
->pNext
= NULL
;
12970 out_ext
->textureSampleWeighted
= in_ext
->textureSampleWeighted
;
12971 out_ext
->textureBoxFilter
= in_ext
->textureBoxFilter
;
12972 out_ext
->textureBlockMatch
= in_ext
->textureBlockMatch
;
12973 out_header
->pNext
= (void *)out_ext
;
12974 out_header
= (void *)out_ext
;
12977 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
:
12979 VkPhysicalDeviceTilePropertiesFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12980 const VkPhysicalDeviceTilePropertiesFeaturesQCOM32
*in_ext
= (const VkPhysicalDeviceTilePropertiesFeaturesQCOM32
*)in_header
;
12981 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
;
12982 out_ext
->pNext
= NULL
;
12983 out_ext
->tileProperties
= in_ext
->tileProperties
;
12984 out_header
->pNext
= (void *)out_ext
;
12985 out_header
= (void *)out_ext
;
12988 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
:
12990 VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
12991 const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT32
*)in_header
;
12992 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
;
12993 out_ext
->pNext
= NULL
;
12994 out_ext
->attachmentFeedbackLoopLayout
= in_ext
->attachmentFeedbackLoopLayout
;
12995 out_header
->pNext
= (void *)out_ext
;
12996 out_header
= (void *)out_ext
;
12999 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
:
13001 VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13002 const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32
*)in_header
;
13003 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
;
13004 out_ext
->pNext
= NULL
;
13005 out_ext
->depthClampZeroOne
= in_ext
->depthClampZeroOne
;
13006 out_header
->pNext
= (void *)out_ext
;
13007 out_header
= (void *)out_ext
;
13010 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
:
13012 VkPhysicalDeviceAddressBindingReportFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13013 const VkPhysicalDeviceAddressBindingReportFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceAddressBindingReportFeaturesEXT32
*)in_header
;
13014 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
;
13015 out_ext
->pNext
= NULL
;
13016 out_ext
->reportAddressBinding
= in_ext
->reportAddressBinding
;
13017 out_header
->pNext
= (void *)out_ext
;
13018 out_header
= (void *)out_ext
;
13021 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
:
13023 VkPhysicalDeviceOpticalFlowFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13024 const VkPhysicalDeviceOpticalFlowFeaturesNV32
*in_ext
= (const VkPhysicalDeviceOpticalFlowFeaturesNV32
*)in_header
;
13025 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
;
13026 out_ext
->pNext
= NULL
;
13027 out_ext
->opticalFlow
= in_ext
->opticalFlow
;
13028 out_header
->pNext
= (void *)out_ext
;
13029 out_header
= (void *)out_ext
;
13032 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
:
13034 VkPhysicalDeviceFaultFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13035 const VkPhysicalDeviceFaultFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceFaultFeaturesEXT32
*)in_header
;
13036 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
;
13037 out_ext
->pNext
= NULL
;
13038 out_ext
->deviceFault
= in_ext
->deviceFault
;
13039 out_ext
->deviceFaultVendorBinary
= in_ext
->deviceFaultVendorBinary
;
13040 out_header
->pNext
= (void *)out_ext
;
13041 out_header
= (void *)out_ext
;
13044 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
:
13046 VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13047 const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM32
*in_ext
= (const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM32
*)in_header
;
13048 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
;
13049 out_ext
->pNext
= NULL
;
13050 out_ext
->shaderCoreBuiltins
= in_ext
->shaderCoreBuiltins
;
13051 out_header
->pNext
= (void *)out_ext
;
13052 out_header
= (void *)out_ext
;
13055 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
:
13057 VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13058 const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32
*in_ext
= (const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32
*)in_header
;
13059 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
;
13060 out_ext
->pNext
= NULL
;
13061 out_ext
->rayTracingInvocationReorder
= in_ext
->rayTracingInvocationReorder
;
13062 out_header
->pNext
= (void *)out_ext
;
13063 out_header
= (void *)out_ext
;
13067 FIXME("Unhandled sType %u.", in_header
->sType
);
13073 static inline void convert_VkEventCreateInfo_win32_to_host(const VkEventCreateInfo32
*in
, VkEventCreateInfo
*out
)
13077 out
->sType
= in
->sType
;
13079 out
->flags
= in
->flags
;
13081 FIXME("Unexpected pNext\n");
13084 static inline void convert_VkFenceCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkFenceCreateInfo32
*in
, VkFenceCreateInfo
*out
)
13086 const VkBaseInStructure32
*in_header
;
13087 VkBaseOutStructure
*out_header
= (void *)out
;
13091 out
->sType
= in
->sType
;
13093 out
->flags
= in
->flags
;
13095 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
13097 switch (in_header
->sType
)
13099 case VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO
:
13101 VkExportFenceCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13102 const VkExportFenceCreateInfo32
*in_ext
= (const VkExportFenceCreateInfo32
*)in_header
;
13103 out_ext
->sType
= VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO
;
13104 out_ext
->pNext
= NULL
;
13105 out_ext
->handleTypes
= in_ext
->handleTypes
;
13106 out_header
->pNext
= (void *)out_ext
;
13107 out_header
= (void *)out_ext
;
13111 FIXME("Unhandled sType %u.", in_header
->sType
);
13117 static inline void convert_VkFramebufferAttachmentImageInfo_win32_to_host(const VkFramebufferAttachmentImageInfo32
*in
, VkFramebufferAttachmentImageInfo
*out
)
13121 out
->sType
= in
->sType
;
13123 out
->flags
= in
->flags
;
13124 out
->usage
= in
->usage
;
13125 out
->width
= in
->width
;
13126 out
->height
= in
->height
;
13127 out
->layerCount
= in
->layerCount
;
13128 out
->viewFormatCount
= in
->viewFormatCount
;
13129 out
->pViewFormats
= (const VkFormat
*)UlongToPtr(in
->pViewFormats
);
13131 FIXME("Unexpected pNext\n");
13134 static inline const VkFramebufferAttachmentImageInfo
*convert_VkFramebufferAttachmentImageInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkFramebufferAttachmentImageInfo32
*in
, uint32_t count
)
13136 VkFramebufferAttachmentImageInfo
*out
;
13139 if (!in
|| !count
) return NULL
;
13141 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13142 for (i
= 0; i
< count
; i
++)
13144 convert_VkFramebufferAttachmentImageInfo_win32_to_host(&in
[i
], &out
[i
]);
13150 static inline void convert_VkFramebufferCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkFramebufferCreateInfo32
*in
, VkFramebufferCreateInfo
*out
)
13152 const VkBaseInStructure32
*in_header
;
13153 VkBaseOutStructure
*out_header
= (void *)out
;
13157 out
->sType
= in
->sType
;
13159 out
->flags
= in
->flags
;
13160 out
->renderPass
= in
->renderPass
;
13161 out
->attachmentCount
= in
->attachmentCount
;
13162 out
->pAttachments
= (const VkImageView
*)UlongToPtr(in
->pAttachments
);
13163 out
->width
= in
->width
;
13164 out
->height
= in
->height
;
13165 out
->layers
= in
->layers
;
13167 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
13169 switch (in_header
->sType
)
13171 case VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO
:
13173 VkFramebufferAttachmentsCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13174 const VkFramebufferAttachmentsCreateInfo32
*in_ext
= (const VkFramebufferAttachmentsCreateInfo32
*)in_header
;
13175 out_ext
->sType
= VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO
;
13176 out_ext
->pNext
= NULL
;
13177 out_ext
->attachmentImageInfoCount
= in_ext
->attachmentImageInfoCount
;
13178 out_ext
->pAttachmentImageInfos
= convert_VkFramebufferAttachmentImageInfo_array_win32_to_host(ctx
, (const VkFramebufferAttachmentImageInfo32
*)UlongToPtr(in_ext
->pAttachmentImageInfos
), in_ext
->attachmentImageInfoCount
);
13179 out_header
->pNext
= (void *)out_ext
;
13180 out_header
= (void *)out_ext
;
13184 FIXME("Unhandled sType %u.", in_header
->sType
);
13191 static inline const VkPipelineShaderStageCreateInfo
*convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkPipelineShaderStageCreateInfo
*in
, uint32_t count
)
13193 VkPipelineShaderStageCreateInfo
*out
;
13196 if (!in
|| !count
) return NULL
;
13198 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13199 for (i
= 0; i
< count
; i
++)
13201 convert_VkPipelineShaderStageCreateInfo_win64_to_host(ctx
, &in
[i
], &out
[i
]);
13206 #endif /* _WIN64 */
13208 static inline const VkPipelineShaderStageCreateInfo
*convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineShaderStageCreateInfo32
*in
, uint32_t count
)
13210 VkPipelineShaderStageCreateInfo
*out
;
13213 if (!in
|| !count
) return NULL
;
13215 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13216 for (i
= 0; i
< count
; i
++)
13218 convert_VkPipelineShaderStageCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
13224 static inline void convert_VkPipelineVertexInputStateCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkPipelineVertexInputStateCreateInfo32
*in
, VkPipelineVertexInputStateCreateInfo
*out
)
13226 const VkBaseInStructure32
*in_header
;
13227 VkBaseOutStructure
*out_header
= (void *)out
;
13231 out
->sType
= in
->sType
;
13233 out
->flags
= in
->flags
;
13234 out
->vertexBindingDescriptionCount
= in
->vertexBindingDescriptionCount
;
13235 out
->pVertexBindingDescriptions
= (const VkVertexInputBindingDescription
*)UlongToPtr(in
->pVertexBindingDescriptions
);
13236 out
->vertexAttributeDescriptionCount
= in
->vertexAttributeDescriptionCount
;
13237 out
->pVertexAttributeDescriptions
= (const VkVertexInputAttributeDescription
*)UlongToPtr(in
->pVertexAttributeDescriptions
);
13239 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
13241 switch (in_header
->sType
)
13243 case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT
:
13245 VkPipelineVertexInputDivisorStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13246 const VkPipelineVertexInputDivisorStateCreateInfoEXT32
*in_ext
= (const VkPipelineVertexInputDivisorStateCreateInfoEXT32
*)in_header
;
13247 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT
;
13248 out_ext
->pNext
= NULL
;
13249 out_ext
->vertexBindingDivisorCount
= in_ext
->vertexBindingDivisorCount
;
13250 out_ext
->pVertexBindingDivisors
= (const VkVertexInputBindingDivisorDescriptionEXT
*)UlongToPtr(in_ext
->pVertexBindingDivisors
);
13251 out_header
->pNext
= (void *)out_ext
;
13252 out_header
= (void *)out_ext
;
13256 FIXME("Unhandled sType %u.", in_header
->sType
);
13262 static inline const VkPipelineVertexInputStateCreateInfo
*convert_VkPipelineVertexInputStateCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineVertexInputStateCreateInfo32
*in
, uint32_t count
)
13264 VkPipelineVertexInputStateCreateInfo
*out
;
13267 if (!in
|| !count
) return NULL
;
13269 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13270 for (i
= 0; i
< count
; i
++)
13272 convert_VkPipelineVertexInputStateCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
13278 static inline void convert_VkPipelineTessellationStateCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkPipelineTessellationStateCreateInfo32
*in
, VkPipelineTessellationStateCreateInfo
*out
)
13280 const VkBaseInStructure32
*in_header
;
13281 VkBaseOutStructure
*out_header
= (void *)out
;
13285 out
->sType
= in
->sType
;
13287 out
->flags
= in
->flags
;
13288 out
->patchControlPoints
= in
->patchControlPoints
;
13290 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
13292 switch (in_header
->sType
)
13294 case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO
:
13296 VkPipelineTessellationDomainOriginStateCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13297 const VkPipelineTessellationDomainOriginStateCreateInfo32
*in_ext
= (const VkPipelineTessellationDomainOriginStateCreateInfo32
*)in_header
;
13298 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO
;
13299 out_ext
->pNext
= NULL
;
13300 out_ext
->domainOrigin
= in_ext
->domainOrigin
;
13301 out_header
->pNext
= (void *)out_ext
;
13302 out_header
= (void *)out_ext
;
13306 FIXME("Unhandled sType %u.", in_header
->sType
);
13312 static inline const VkPipelineTessellationStateCreateInfo
*convert_VkPipelineTessellationStateCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineTessellationStateCreateInfo32
*in
, uint32_t count
)
13314 VkPipelineTessellationStateCreateInfo
*out
;
13317 if (!in
|| !count
) return NULL
;
13319 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13320 for (i
= 0; i
< count
; i
++)
13322 convert_VkPipelineTessellationStateCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
13329 static inline void convert_VkGraphicsShaderGroupCreateInfoNV_win64_to_host(struct conversion_context
*ctx
, const VkGraphicsShaderGroupCreateInfoNV
*in
, VkGraphicsShaderGroupCreateInfoNV
*out
)
13333 out
->sType
= in
->sType
;
13334 out
->pNext
= in
->pNext
;
13335 out
->stageCount
= in
->stageCount
;
13336 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(ctx
, in
->pStages
, in
->stageCount
);
13337 out
->pVertexInputState
= in
->pVertexInputState
;
13338 out
->pTessellationState
= in
->pTessellationState
;
13340 #endif /* _WIN64 */
13342 static inline void convert_VkGraphicsShaderGroupCreateInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkGraphicsShaderGroupCreateInfoNV32
*in
, VkGraphicsShaderGroupCreateInfoNV
*out
)
13346 out
->sType
= in
->sType
;
13348 out
->stageCount
= in
->stageCount
;
13349 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(ctx
, (const VkPipelineShaderStageCreateInfo32
*)UlongToPtr(in
->pStages
), in
->stageCount
);
13350 out
->pVertexInputState
= convert_VkPipelineVertexInputStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineVertexInputStateCreateInfo32
*)UlongToPtr(in
->pVertexInputState
), 1);
13351 out
->pTessellationState
= convert_VkPipelineTessellationStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineTessellationStateCreateInfo32
*)UlongToPtr(in
->pTessellationState
), 1);
13353 FIXME("Unexpected pNext\n");
13357 static inline const VkGraphicsShaderGroupCreateInfoNV
*convert_VkGraphicsShaderGroupCreateInfoNV_array_win64_to_host(struct conversion_context
*ctx
, const VkGraphicsShaderGroupCreateInfoNV
*in
, uint32_t count
)
13359 VkGraphicsShaderGroupCreateInfoNV
*out
;
13362 if (!in
|| !count
) return NULL
;
13364 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13365 for (i
= 0; i
< count
; i
++)
13367 convert_VkGraphicsShaderGroupCreateInfoNV_win64_to_host(ctx
, &in
[i
], &out
[i
]);
13372 #endif /* _WIN64 */
13374 static inline const VkGraphicsShaderGroupCreateInfoNV
*convert_VkGraphicsShaderGroupCreateInfoNV_array_win32_to_host(struct conversion_context
*ctx
, const VkGraphicsShaderGroupCreateInfoNV32
*in
, uint32_t count
)
13376 VkGraphicsShaderGroupCreateInfoNV
*out
;
13379 if (!in
|| !count
) return NULL
;
13381 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13382 for (i
= 0; i
< count
; i
++)
13384 convert_VkGraphicsShaderGroupCreateInfoNV_win32_to_host(ctx
, &in
[i
], &out
[i
]);
13390 static inline void convert_VkPipelineInputAssemblyStateCreateInfo_win32_to_host(const VkPipelineInputAssemblyStateCreateInfo32
*in
, VkPipelineInputAssemblyStateCreateInfo
*out
)
13394 out
->sType
= in
->sType
;
13396 out
->flags
= in
->flags
;
13397 out
->topology
= in
->topology
;
13398 out
->primitiveRestartEnable
= in
->primitiveRestartEnable
;
13400 FIXME("Unexpected pNext\n");
13403 static inline const VkPipelineInputAssemblyStateCreateInfo
*convert_VkPipelineInputAssemblyStateCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineInputAssemblyStateCreateInfo32
*in
, uint32_t count
)
13405 VkPipelineInputAssemblyStateCreateInfo
*out
;
13408 if (!in
|| !count
) return NULL
;
13410 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13411 for (i
= 0; i
< count
; i
++)
13413 convert_VkPipelineInputAssemblyStateCreateInfo_win32_to_host(&in
[i
], &out
[i
]);
13419 static inline void convert_VkPipelineViewportStateCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkPipelineViewportStateCreateInfo32
*in
, VkPipelineViewportStateCreateInfo
*out
)
13421 const VkBaseInStructure32
*in_header
;
13422 VkBaseOutStructure
*out_header
= (void *)out
;
13426 out
->sType
= in
->sType
;
13428 out
->flags
= in
->flags
;
13429 out
->viewportCount
= in
->viewportCount
;
13430 out
->pViewports
= (const VkViewport
*)UlongToPtr(in
->pViewports
);
13431 out
->scissorCount
= in
->scissorCount
;
13432 out
->pScissors
= (const VkRect2D
*)UlongToPtr(in
->pScissors
);
13434 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
13436 switch (in_header
->sType
)
13438 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV
:
13440 VkPipelineViewportWScalingStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13441 const VkPipelineViewportWScalingStateCreateInfoNV32
*in_ext
= (const VkPipelineViewportWScalingStateCreateInfoNV32
*)in_header
;
13442 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV
;
13443 out_ext
->pNext
= NULL
;
13444 out_ext
->viewportWScalingEnable
= in_ext
->viewportWScalingEnable
;
13445 out_ext
->viewportCount
= in_ext
->viewportCount
;
13446 out_ext
->pViewportWScalings
= (const VkViewportWScalingNV
*)UlongToPtr(in_ext
->pViewportWScalings
);
13447 out_header
->pNext
= (void *)out_ext
;
13448 out_header
= (void *)out_ext
;
13451 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV
:
13453 VkPipelineViewportSwizzleStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13454 const VkPipelineViewportSwizzleStateCreateInfoNV32
*in_ext
= (const VkPipelineViewportSwizzleStateCreateInfoNV32
*)in_header
;
13455 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV
;
13456 out_ext
->pNext
= NULL
;
13457 out_ext
->flags
= in_ext
->flags
;
13458 out_ext
->viewportCount
= in_ext
->viewportCount
;
13459 out_ext
->pViewportSwizzles
= (const VkViewportSwizzleNV
*)UlongToPtr(in_ext
->pViewportSwizzles
);
13460 out_header
->pNext
= (void *)out_ext
;
13461 out_header
= (void *)out_ext
;
13464 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV
:
13466 VkPipelineViewportExclusiveScissorStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13467 const VkPipelineViewportExclusiveScissorStateCreateInfoNV32
*in_ext
= (const VkPipelineViewportExclusiveScissorStateCreateInfoNV32
*)in_header
;
13468 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV
;
13469 out_ext
->pNext
= NULL
;
13470 out_ext
->exclusiveScissorCount
= in_ext
->exclusiveScissorCount
;
13471 out_ext
->pExclusiveScissors
= (const VkRect2D
*)UlongToPtr(in_ext
->pExclusiveScissors
);
13472 out_header
->pNext
= (void *)out_ext
;
13473 out_header
= (void *)out_ext
;
13476 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV
:
13478 VkPipelineViewportShadingRateImageStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13479 const VkPipelineViewportShadingRateImageStateCreateInfoNV32
*in_ext
= (const VkPipelineViewportShadingRateImageStateCreateInfoNV32
*)in_header
;
13480 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV
;
13481 out_ext
->pNext
= NULL
;
13482 out_ext
->shadingRateImageEnable
= in_ext
->shadingRateImageEnable
;
13483 out_ext
->viewportCount
= in_ext
->viewportCount
;
13484 out_ext
->pShadingRatePalettes
= convert_VkShadingRatePaletteNV_array_win32_to_host(ctx
, (const VkShadingRatePaletteNV32
*)UlongToPtr(in_ext
->pShadingRatePalettes
), in_ext
->viewportCount
);
13485 out_header
->pNext
= (void *)out_ext
;
13486 out_header
= (void *)out_ext
;
13489 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV
:
13491 VkPipelineViewportCoarseSampleOrderStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13492 const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV32
*in_ext
= (const VkPipelineViewportCoarseSampleOrderStateCreateInfoNV32
*)in_header
;
13493 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV
;
13494 out_ext
->pNext
= NULL
;
13495 out_ext
->sampleOrderType
= in_ext
->sampleOrderType
;
13496 out_ext
->customSampleOrderCount
= in_ext
->customSampleOrderCount
;
13497 out_ext
->pCustomSampleOrders
= convert_VkCoarseSampleOrderCustomNV_array_win32_to_host(ctx
, (const VkCoarseSampleOrderCustomNV32
*)UlongToPtr(in_ext
->pCustomSampleOrders
), in_ext
->customSampleOrderCount
);
13498 out_header
->pNext
= (void *)out_ext
;
13499 out_header
= (void *)out_ext
;
13502 case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT
:
13504 VkPipelineViewportDepthClipControlCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13505 const VkPipelineViewportDepthClipControlCreateInfoEXT32
*in_ext
= (const VkPipelineViewportDepthClipControlCreateInfoEXT32
*)in_header
;
13506 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT
;
13507 out_ext
->pNext
= NULL
;
13508 out_ext
->negativeOneToOne
= in_ext
->negativeOneToOne
;
13509 out_header
->pNext
= (void *)out_ext
;
13510 out_header
= (void *)out_ext
;
13514 FIXME("Unhandled sType %u.", in_header
->sType
);
13520 static inline const VkPipelineViewportStateCreateInfo
*convert_VkPipelineViewportStateCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineViewportStateCreateInfo32
*in
, uint32_t count
)
13522 VkPipelineViewportStateCreateInfo
*out
;
13525 if (!in
|| !count
) return NULL
;
13527 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13528 for (i
= 0; i
< count
; i
++)
13530 convert_VkPipelineViewportStateCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
13536 static inline void convert_VkPipelineRasterizationStateCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkPipelineRasterizationStateCreateInfo32
*in
, VkPipelineRasterizationStateCreateInfo
*out
)
13538 const VkBaseInStructure32
*in_header
;
13539 VkBaseOutStructure
*out_header
= (void *)out
;
13543 out
->sType
= in
->sType
;
13545 out
->flags
= in
->flags
;
13546 out
->depthClampEnable
= in
->depthClampEnable
;
13547 out
->rasterizerDiscardEnable
= in
->rasterizerDiscardEnable
;
13548 out
->polygonMode
= in
->polygonMode
;
13549 out
->cullMode
= in
->cullMode
;
13550 out
->frontFace
= in
->frontFace
;
13551 out
->depthBiasEnable
= in
->depthBiasEnable
;
13552 out
->depthBiasConstantFactor
= in
->depthBiasConstantFactor
;
13553 out
->depthBiasClamp
= in
->depthBiasClamp
;
13554 out
->depthBiasSlopeFactor
= in
->depthBiasSlopeFactor
;
13555 out
->lineWidth
= in
->lineWidth
;
13557 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
13559 switch (in_header
->sType
)
13561 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD
:
13563 VkPipelineRasterizationStateRasterizationOrderAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13564 const VkPipelineRasterizationStateRasterizationOrderAMD32
*in_ext
= (const VkPipelineRasterizationStateRasterizationOrderAMD32
*)in_header
;
13565 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD
;
13566 out_ext
->pNext
= NULL
;
13567 out_ext
->rasterizationOrder
= in_ext
->rasterizationOrder
;
13568 out_header
->pNext
= (void *)out_ext
;
13569 out_header
= (void *)out_ext
;
13572 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT
:
13574 VkPipelineRasterizationConservativeStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13575 const VkPipelineRasterizationConservativeStateCreateInfoEXT32
*in_ext
= (const VkPipelineRasterizationConservativeStateCreateInfoEXT32
*)in_header
;
13576 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_CONSERVATIVE_STATE_CREATE_INFO_EXT
;
13577 out_ext
->pNext
= NULL
;
13578 out_ext
->flags
= in_ext
->flags
;
13579 out_ext
->conservativeRasterizationMode
= in_ext
->conservativeRasterizationMode
;
13580 out_ext
->extraPrimitiveOverestimationSize
= in_ext
->extraPrimitiveOverestimationSize
;
13581 out_header
->pNext
= (void *)out_ext
;
13582 out_header
= (void *)out_ext
;
13585 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT
:
13587 VkPipelineRasterizationStateStreamCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13588 const VkPipelineRasterizationStateStreamCreateInfoEXT32
*in_ext
= (const VkPipelineRasterizationStateStreamCreateInfoEXT32
*)in_header
;
13589 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_STREAM_CREATE_INFO_EXT
;
13590 out_ext
->pNext
= NULL
;
13591 out_ext
->flags
= in_ext
->flags
;
13592 out_ext
->rasterizationStream
= in_ext
->rasterizationStream
;
13593 out_header
->pNext
= (void *)out_ext
;
13594 out_header
= (void *)out_ext
;
13597 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT
:
13599 VkPipelineRasterizationDepthClipStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13600 const VkPipelineRasterizationDepthClipStateCreateInfoEXT32
*in_ext
= (const VkPipelineRasterizationDepthClipStateCreateInfoEXT32
*)in_header
;
13601 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT
;
13602 out_ext
->pNext
= NULL
;
13603 out_ext
->flags
= in_ext
->flags
;
13604 out_ext
->depthClipEnable
= in_ext
->depthClipEnable
;
13605 out_header
->pNext
= (void *)out_ext
;
13606 out_header
= (void *)out_ext
;
13609 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT
:
13611 VkPipelineRasterizationLineStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13612 const VkPipelineRasterizationLineStateCreateInfoEXT32
*in_ext
= (const VkPipelineRasterizationLineStateCreateInfoEXT32
*)in_header
;
13613 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT
;
13614 out_ext
->pNext
= NULL
;
13615 out_ext
->lineRasterizationMode
= in_ext
->lineRasterizationMode
;
13616 out_ext
->stippledLineEnable
= in_ext
->stippledLineEnable
;
13617 out_ext
->lineStippleFactor
= in_ext
->lineStippleFactor
;
13618 out_ext
->lineStipplePattern
= in_ext
->lineStipplePattern
;
13619 out_header
->pNext
= (void *)out_ext
;
13620 out_header
= (void *)out_ext
;
13623 case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT
:
13625 VkPipelineRasterizationProvokingVertexStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13626 const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT32
*in_ext
= (const VkPipelineRasterizationProvokingVertexStateCreateInfoEXT32
*)in_header
;
13627 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT
;
13628 out_ext
->pNext
= NULL
;
13629 out_ext
->provokingVertexMode
= in_ext
->provokingVertexMode
;
13630 out_header
->pNext
= (void *)out_ext
;
13631 out_header
= (void *)out_ext
;
13635 FIXME("Unhandled sType %u.", in_header
->sType
);
13641 static inline const VkPipelineRasterizationStateCreateInfo
*convert_VkPipelineRasterizationStateCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineRasterizationStateCreateInfo32
*in
, uint32_t count
)
13643 VkPipelineRasterizationStateCreateInfo
*out
;
13646 if (!in
|| !count
) return NULL
;
13648 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13649 for (i
= 0; i
< count
; i
++)
13651 convert_VkPipelineRasterizationStateCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
13657 static inline void convert_VkPipelineMultisampleStateCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkPipelineMultisampleStateCreateInfo32
*in
, VkPipelineMultisampleStateCreateInfo
*out
)
13659 const VkBaseInStructure32
*in_header
;
13660 VkBaseOutStructure
*out_header
= (void *)out
;
13664 out
->sType
= in
->sType
;
13666 out
->flags
= in
->flags
;
13667 out
->rasterizationSamples
= in
->rasterizationSamples
;
13668 out
->sampleShadingEnable
= in
->sampleShadingEnable
;
13669 out
->minSampleShading
= in
->minSampleShading
;
13670 out
->pSampleMask
= (const VkSampleMask
*)UlongToPtr(in
->pSampleMask
);
13671 out
->alphaToCoverageEnable
= in
->alphaToCoverageEnable
;
13672 out
->alphaToOneEnable
= in
->alphaToOneEnable
;
13674 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
13676 switch (in_header
->sType
)
13678 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV
:
13680 VkPipelineCoverageToColorStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13681 const VkPipelineCoverageToColorStateCreateInfoNV32
*in_ext
= (const VkPipelineCoverageToColorStateCreateInfoNV32
*)in_header
;
13682 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV
;
13683 out_ext
->pNext
= NULL
;
13684 out_ext
->flags
= in_ext
->flags
;
13685 out_ext
->coverageToColorEnable
= in_ext
->coverageToColorEnable
;
13686 out_ext
->coverageToColorLocation
= in_ext
->coverageToColorLocation
;
13687 out_header
->pNext
= (void *)out_ext
;
13688 out_header
= (void *)out_ext
;
13691 case VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT
:
13693 VkPipelineSampleLocationsStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13694 const VkPipelineSampleLocationsStateCreateInfoEXT32
*in_ext
= (const VkPipelineSampleLocationsStateCreateInfoEXT32
*)in_header
;
13695 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT
;
13696 out_ext
->pNext
= NULL
;
13697 out_ext
->sampleLocationsEnable
= in_ext
->sampleLocationsEnable
;
13698 convert_VkSampleLocationsInfoEXT_win32_to_host(&in_ext
->sampleLocationsInfo
, &out_ext
->sampleLocationsInfo
);
13699 out_header
->pNext
= (void *)out_ext
;
13700 out_header
= (void *)out_ext
;
13703 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV
:
13705 VkPipelineCoverageModulationStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13706 const VkPipelineCoverageModulationStateCreateInfoNV32
*in_ext
= (const VkPipelineCoverageModulationStateCreateInfoNV32
*)in_header
;
13707 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV
;
13708 out_ext
->pNext
= NULL
;
13709 out_ext
->flags
= in_ext
->flags
;
13710 out_ext
->coverageModulationMode
= in_ext
->coverageModulationMode
;
13711 out_ext
->coverageModulationTableEnable
= in_ext
->coverageModulationTableEnable
;
13712 out_ext
->coverageModulationTableCount
= in_ext
->coverageModulationTableCount
;
13713 out_ext
->pCoverageModulationTable
= (const float *)UlongToPtr(in_ext
->pCoverageModulationTable
);
13714 out_header
->pNext
= (void *)out_ext
;
13715 out_header
= (void *)out_ext
;
13718 case VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV
:
13720 VkPipelineCoverageReductionStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13721 const VkPipelineCoverageReductionStateCreateInfoNV32
*in_ext
= (const VkPipelineCoverageReductionStateCreateInfoNV32
*)in_header
;
13722 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV
;
13723 out_ext
->pNext
= NULL
;
13724 out_ext
->flags
= in_ext
->flags
;
13725 out_ext
->coverageReductionMode
= in_ext
->coverageReductionMode
;
13726 out_header
->pNext
= (void *)out_ext
;
13727 out_header
= (void *)out_ext
;
13731 FIXME("Unhandled sType %u.", in_header
->sType
);
13737 static inline const VkPipelineMultisampleStateCreateInfo
*convert_VkPipelineMultisampleStateCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineMultisampleStateCreateInfo32
*in
, uint32_t count
)
13739 VkPipelineMultisampleStateCreateInfo
*out
;
13742 if (!in
|| !count
) return NULL
;
13744 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13745 for (i
= 0; i
< count
; i
++)
13747 convert_VkPipelineMultisampleStateCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
13753 static inline void convert_VkPipelineDepthStencilStateCreateInfo_win32_to_host(const VkPipelineDepthStencilStateCreateInfo32
*in
, VkPipelineDepthStencilStateCreateInfo
*out
)
13757 out
->sType
= in
->sType
;
13759 out
->flags
= in
->flags
;
13760 out
->depthTestEnable
= in
->depthTestEnable
;
13761 out
->depthWriteEnable
= in
->depthWriteEnable
;
13762 out
->depthCompareOp
= in
->depthCompareOp
;
13763 out
->depthBoundsTestEnable
= in
->depthBoundsTestEnable
;
13764 out
->stencilTestEnable
= in
->stencilTestEnable
;
13765 out
->front
= in
->front
;
13766 out
->back
= in
->back
;
13767 out
->minDepthBounds
= in
->minDepthBounds
;
13768 out
->maxDepthBounds
= in
->maxDepthBounds
;
13770 FIXME("Unexpected pNext\n");
13773 static inline const VkPipelineDepthStencilStateCreateInfo
*convert_VkPipelineDepthStencilStateCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineDepthStencilStateCreateInfo32
*in
, uint32_t count
)
13775 VkPipelineDepthStencilStateCreateInfo
*out
;
13778 if (!in
|| !count
) return NULL
;
13780 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13781 for (i
= 0; i
< count
; i
++)
13783 convert_VkPipelineDepthStencilStateCreateInfo_win32_to_host(&in
[i
], &out
[i
]);
13789 static inline void convert_VkPipelineColorBlendStateCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkPipelineColorBlendStateCreateInfo32
*in
, VkPipelineColorBlendStateCreateInfo
*out
)
13791 const VkBaseInStructure32
*in_header
;
13792 VkBaseOutStructure
*out_header
= (void *)out
;
13796 out
->sType
= in
->sType
;
13798 out
->flags
= in
->flags
;
13799 out
->logicOpEnable
= in
->logicOpEnable
;
13800 out
->logicOp
= in
->logicOp
;
13801 out
->attachmentCount
= in
->attachmentCount
;
13802 out
->pAttachments
= (const VkPipelineColorBlendAttachmentState
*)UlongToPtr(in
->pAttachments
);
13803 memcpy(out
->blendConstants
, in
->blendConstants
, 4 * sizeof(float));
13805 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
13807 switch (in_header
->sType
)
13809 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT
:
13811 VkPipelineColorBlendAdvancedStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13812 const VkPipelineColorBlendAdvancedStateCreateInfoEXT32
*in_ext
= (const VkPipelineColorBlendAdvancedStateCreateInfoEXT32
*)in_header
;
13813 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_ADVANCED_STATE_CREATE_INFO_EXT
;
13814 out_ext
->pNext
= NULL
;
13815 out_ext
->srcPremultiplied
= in_ext
->srcPremultiplied
;
13816 out_ext
->dstPremultiplied
= in_ext
->dstPremultiplied
;
13817 out_ext
->blendOverlap
= in_ext
->blendOverlap
;
13818 out_header
->pNext
= (void *)out_ext
;
13819 out_header
= (void *)out_ext
;
13822 case VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT
:
13824 VkPipelineColorWriteCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13825 const VkPipelineColorWriteCreateInfoEXT32
*in_ext
= (const VkPipelineColorWriteCreateInfoEXT32
*)in_header
;
13826 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT
;
13827 out_ext
->pNext
= NULL
;
13828 out_ext
->attachmentCount
= in_ext
->attachmentCount
;
13829 out_ext
->pColorWriteEnables
= (const VkBool32
*)UlongToPtr(in_ext
->pColorWriteEnables
);
13830 out_header
->pNext
= (void *)out_ext
;
13831 out_header
= (void *)out_ext
;
13835 FIXME("Unhandled sType %u.", in_header
->sType
);
13841 static inline const VkPipelineColorBlendStateCreateInfo
*convert_VkPipelineColorBlendStateCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineColorBlendStateCreateInfo32
*in
, uint32_t count
)
13843 VkPipelineColorBlendStateCreateInfo
*out
;
13846 if (!in
|| !count
) return NULL
;
13848 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13849 for (i
= 0; i
< count
; i
++)
13851 convert_VkPipelineColorBlendStateCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
13857 static inline void convert_VkPipelineDynamicStateCreateInfo_win32_to_host(const VkPipelineDynamicStateCreateInfo32
*in
, VkPipelineDynamicStateCreateInfo
*out
)
13861 out
->sType
= in
->sType
;
13863 out
->flags
= in
->flags
;
13864 out
->dynamicStateCount
= in
->dynamicStateCount
;
13865 out
->pDynamicStates
= (const VkDynamicState
*)UlongToPtr(in
->pDynamicStates
);
13867 FIXME("Unexpected pNext\n");
13870 static inline const VkPipelineDynamicStateCreateInfo
*convert_VkPipelineDynamicStateCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineDynamicStateCreateInfo32
*in
, uint32_t count
)
13872 VkPipelineDynamicStateCreateInfo
*out
;
13875 if (!in
|| !count
) return NULL
;
13877 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
13878 for (i
= 0; i
< count
; i
++)
13880 convert_VkPipelineDynamicStateCreateInfo_win32_to_host(&in
[i
], &out
[i
]);
13887 static inline void convert_VkGraphicsPipelineCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkGraphicsPipelineCreateInfo
*in
, VkGraphicsPipelineCreateInfo
*out
)
13889 const VkBaseInStructure
*in_header
;
13890 VkBaseOutStructure
*out_header
= (void *)out
;
13894 out
->sType
= in
->sType
;
13896 out
->flags
= in
->flags
;
13897 out
->stageCount
= in
->stageCount
;
13898 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(ctx
, in
->pStages
, in
->stageCount
);
13899 out
->pVertexInputState
= in
->pVertexInputState
;
13900 out
->pInputAssemblyState
= in
->pInputAssemblyState
;
13901 out
->pTessellationState
= in
->pTessellationState
;
13902 out
->pViewportState
= in
->pViewportState
;
13903 out
->pRasterizationState
= in
->pRasterizationState
;
13904 out
->pMultisampleState
= in
->pMultisampleState
;
13905 out
->pDepthStencilState
= in
->pDepthStencilState
;
13906 out
->pColorBlendState
= in
->pColorBlendState
;
13907 out
->pDynamicState
= in
->pDynamicState
;
13908 out
->layout
= in
->layout
;
13909 out
->renderPass
= in
->renderPass
;
13910 out
->subpass
= in
->subpass
;
13911 out
->basePipelineHandle
= in
->basePipelineHandle
;
13912 out
->basePipelineIndex
= in
->basePipelineIndex
;
13914 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
13916 switch (in_header
->sType
)
13918 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
:
13920 VkGraphicsPipelineShaderGroupsCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13921 const VkGraphicsPipelineShaderGroupsCreateInfoNV
*in_ext
= (const VkGraphicsPipelineShaderGroupsCreateInfoNV
*)in_header
;
13922 out_ext
->sType
= VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
;
13923 out_ext
->pNext
= NULL
;
13924 out_ext
->groupCount
= in_ext
->groupCount
;
13925 out_ext
->pGroups
= convert_VkGraphicsShaderGroupCreateInfoNV_array_win64_to_host(ctx
, in_ext
->pGroups
, in_ext
->groupCount
);
13926 out_ext
->pipelineCount
= in_ext
->pipelineCount
;
13927 out_ext
->pPipelines
= in_ext
->pPipelines
;
13928 out_header
->pNext
= (void *)out_ext
;
13929 out_header
= (void *)out_ext
;
13932 case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
:
13934 VkPipelineDiscardRectangleStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13935 const VkPipelineDiscardRectangleStateCreateInfoEXT
*in_ext
= (const VkPipelineDiscardRectangleStateCreateInfoEXT
*)in_header
;
13936 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
;
13937 out_ext
->pNext
= NULL
;
13938 out_ext
->flags
= in_ext
->flags
;
13939 out_ext
->discardRectangleMode
= in_ext
->discardRectangleMode
;
13940 out_ext
->discardRectangleCount
= in_ext
->discardRectangleCount
;
13941 out_ext
->pDiscardRectangles
= in_ext
->pDiscardRectangles
;
13942 out_header
->pNext
= (void *)out_ext
;
13943 out_header
= (void *)out_ext
;
13946 case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
:
13948 VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13949 const VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*in_ext
= (const VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*)in_header
;
13950 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
;
13951 out_ext
->pNext
= NULL
;
13952 out_ext
->representativeFragmentTestEnable
= in_ext
->representativeFragmentTestEnable
;
13953 out_header
->pNext
= (void *)out_ext
;
13954 out_header
= (void *)out_ext
;
13957 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
13959 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13960 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
13961 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
13962 out_ext
->pNext
= NULL
;
13963 out_ext
->pPipelineCreationFeedback
= in_ext
->pPipelineCreationFeedback
;
13964 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
13965 out_ext
->pPipelineStageCreationFeedbacks
= in_ext
->pPipelineStageCreationFeedbacks
;
13966 out_header
->pNext
= (void *)out_ext
;
13967 out_header
= (void *)out_ext
;
13970 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
:
13972 VkPipelineCompilerControlCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13973 const VkPipelineCompilerControlCreateInfoAMD
*in_ext
= (const VkPipelineCompilerControlCreateInfoAMD
*)in_header
;
13974 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
;
13975 out_ext
->pNext
= NULL
;
13976 out_ext
->compilerControlFlags
= in_ext
->compilerControlFlags
;
13977 out_header
->pNext
= (void *)out_ext
;
13978 out_header
= (void *)out_ext
;
13981 case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR
:
13983 VkPipelineLibraryCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13984 const VkPipelineLibraryCreateInfoKHR
*in_ext
= (const VkPipelineLibraryCreateInfoKHR
*)in_header
;
13985 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR
;
13986 out_ext
->pNext
= NULL
;
13987 out_ext
->libraryCount
= in_ext
->libraryCount
;
13988 out_ext
->pLibraries
= in_ext
->pLibraries
;
13989 out_header
->pNext
= (void *)out_ext
;
13990 out_header
= (void *)out_ext
;
13993 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR
:
13995 VkPipelineFragmentShadingRateStateCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
13996 const VkPipelineFragmentShadingRateStateCreateInfoKHR
*in_ext
= (const VkPipelineFragmentShadingRateStateCreateInfoKHR
*)in_header
;
13997 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR
;
13998 out_ext
->pNext
= NULL
;
13999 out_ext
->fragmentSize
= in_ext
->fragmentSize
;
14000 memcpy(out_ext
->combinerOps
, in_ext
->combinerOps
, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR
));
14001 out_header
->pNext
= (void *)out_ext
;
14002 out_header
= (void *)out_ext
;
14005 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
:
14007 VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14008 const VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*in_ext
= (const VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*)in_header
;
14009 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
;
14010 out_ext
->pNext
= NULL
;
14011 out_ext
->shadingRateType
= in_ext
->shadingRateType
;
14012 out_ext
->shadingRate
= in_ext
->shadingRate
;
14013 memcpy(out_ext
->combinerOps
, in_ext
->combinerOps
, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR
));
14014 out_header
->pNext
= (void *)out_ext
;
14015 out_header
= (void *)out_ext
;
14018 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO
:
14020 VkPipelineRenderingCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14021 const VkPipelineRenderingCreateInfo
*in_ext
= (const VkPipelineRenderingCreateInfo
*)in_header
;
14022 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO
;
14023 out_ext
->pNext
= NULL
;
14024 out_ext
->viewMask
= in_ext
->viewMask
;
14025 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
14026 out_ext
->pColorAttachmentFormats
= in_ext
->pColorAttachmentFormats
;
14027 out_ext
->depthAttachmentFormat
= in_ext
->depthAttachmentFormat
;
14028 out_ext
->stencilAttachmentFormat
= in_ext
->stencilAttachmentFormat
;
14029 out_header
->pNext
= (void *)out_ext
;
14030 out_header
= (void *)out_ext
;
14033 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
:
14035 VkAttachmentSampleCountInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14036 const VkAttachmentSampleCountInfoAMD
*in_ext
= (const VkAttachmentSampleCountInfoAMD
*)in_header
;
14037 out_ext
->sType
= VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
;
14038 out_ext
->pNext
= NULL
;
14039 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
14040 out_ext
->pColorAttachmentSamples
= in_ext
->pColorAttachmentSamples
;
14041 out_ext
->depthStencilAttachmentSamples
= in_ext
->depthStencilAttachmentSamples
;
14042 out_header
->pNext
= (void *)out_ext
;
14043 out_header
= (void *)out_ext
;
14046 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
:
14048 VkMultiviewPerViewAttributesInfoNVX
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14049 const VkMultiviewPerViewAttributesInfoNVX
*in_ext
= (const VkMultiviewPerViewAttributesInfoNVX
*)in_header
;
14050 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
;
14051 out_ext
->pNext
= NULL
;
14052 out_ext
->perViewAttributes
= in_ext
->perViewAttributes
;
14053 out_ext
->perViewAttributesPositionXOnly
= in_ext
->perViewAttributesPositionXOnly
;
14054 out_header
->pNext
= (void *)out_ext
;
14055 out_header
= (void *)out_ext
;
14058 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT
:
14060 VkGraphicsPipelineLibraryCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14061 const VkGraphicsPipelineLibraryCreateInfoEXT
*in_ext
= (const VkGraphicsPipelineLibraryCreateInfoEXT
*)in_header
;
14062 out_ext
->sType
= VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT
;
14063 out_ext
->pNext
= NULL
;
14064 out_ext
->flags
= in_ext
->flags
;
14065 out_header
->pNext
= (void *)out_ext
;
14066 out_header
= (void *)out_ext
;
14069 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
14071 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14072 const VkPipelineRobustnessCreateInfoEXT
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT
*)in_header
;
14073 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
14074 out_ext
->pNext
= NULL
;
14075 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
14076 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
14077 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
14078 out_ext
->images
= in_ext
->images
;
14079 out_header
->pNext
= (void *)out_ext
;
14080 out_header
= (void *)out_ext
;
14084 FIXME("Unhandled sType %u.", in_header
->sType
);
14089 #endif /* _WIN64 */
14091 static inline void convert_VkGraphicsPipelineCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkGraphicsPipelineCreateInfo32
*in
, VkGraphicsPipelineCreateInfo
*out
)
14093 const VkBaseInStructure32
*in_header
;
14094 VkBaseOutStructure
*out_header
= (void *)out
;
14098 out
->sType
= in
->sType
;
14100 out
->flags
= in
->flags
;
14101 out
->stageCount
= in
->stageCount
;
14102 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(ctx
, (const VkPipelineShaderStageCreateInfo32
*)UlongToPtr(in
->pStages
), in
->stageCount
);
14103 out
->pVertexInputState
= convert_VkPipelineVertexInputStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineVertexInputStateCreateInfo32
*)UlongToPtr(in
->pVertexInputState
), 1);
14104 out
->pInputAssemblyState
= convert_VkPipelineInputAssemblyStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineInputAssemblyStateCreateInfo32
*)UlongToPtr(in
->pInputAssemblyState
), 1);
14105 out
->pTessellationState
= convert_VkPipelineTessellationStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineTessellationStateCreateInfo32
*)UlongToPtr(in
->pTessellationState
), 1);
14106 out
->pViewportState
= convert_VkPipelineViewportStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineViewportStateCreateInfo32
*)UlongToPtr(in
->pViewportState
), 1);
14107 out
->pRasterizationState
= convert_VkPipelineRasterizationStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineRasterizationStateCreateInfo32
*)UlongToPtr(in
->pRasterizationState
), 1);
14108 out
->pMultisampleState
= convert_VkPipelineMultisampleStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineMultisampleStateCreateInfo32
*)UlongToPtr(in
->pMultisampleState
), 1);
14109 out
->pDepthStencilState
= convert_VkPipelineDepthStencilStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineDepthStencilStateCreateInfo32
*)UlongToPtr(in
->pDepthStencilState
), 1);
14110 out
->pColorBlendState
= convert_VkPipelineColorBlendStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineColorBlendStateCreateInfo32
*)UlongToPtr(in
->pColorBlendState
), 1);
14111 out
->pDynamicState
= convert_VkPipelineDynamicStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineDynamicStateCreateInfo32
*)UlongToPtr(in
->pDynamicState
), 1);
14112 out
->layout
= in
->layout
;
14113 out
->renderPass
= in
->renderPass
;
14114 out
->subpass
= in
->subpass
;
14115 out
->basePipelineHandle
= in
->basePipelineHandle
;
14116 out
->basePipelineIndex
= in
->basePipelineIndex
;
14118 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
14120 switch (in_header
->sType
)
14122 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
:
14124 VkGraphicsPipelineShaderGroupsCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14125 const VkGraphicsPipelineShaderGroupsCreateInfoNV32
*in_ext
= (const VkGraphicsPipelineShaderGroupsCreateInfoNV32
*)in_header
;
14126 out_ext
->sType
= VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
;
14127 out_ext
->pNext
= NULL
;
14128 out_ext
->groupCount
= in_ext
->groupCount
;
14129 out_ext
->pGroups
= convert_VkGraphicsShaderGroupCreateInfoNV_array_win32_to_host(ctx
, (const VkGraphicsShaderGroupCreateInfoNV32
*)UlongToPtr(in_ext
->pGroups
), in_ext
->groupCount
);
14130 out_ext
->pipelineCount
= in_ext
->pipelineCount
;
14131 out_ext
->pPipelines
= (const VkPipeline
*)UlongToPtr(in_ext
->pPipelines
);
14132 out_header
->pNext
= (void *)out_ext
;
14133 out_header
= (void *)out_ext
;
14136 case VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
:
14138 VkPipelineDiscardRectangleStateCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14139 const VkPipelineDiscardRectangleStateCreateInfoEXT32
*in_ext
= (const VkPipelineDiscardRectangleStateCreateInfoEXT32
*)in_header
;
14140 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_DISCARD_RECTANGLE_STATE_CREATE_INFO_EXT
;
14141 out_ext
->pNext
= NULL
;
14142 out_ext
->flags
= in_ext
->flags
;
14143 out_ext
->discardRectangleMode
= in_ext
->discardRectangleMode
;
14144 out_ext
->discardRectangleCount
= in_ext
->discardRectangleCount
;
14145 out_ext
->pDiscardRectangles
= (const VkRect2D
*)UlongToPtr(in_ext
->pDiscardRectangles
);
14146 out_header
->pNext
= (void *)out_ext
;
14147 out_header
= (void *)out_ext
;
14150 case VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
:
14152 VkPipelineRepresentativeFragmentTestStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14153 const VkPipelineRepresentativeFragmentTestStateCreateInfoNV32
*in_ext
= (const VkPipelineRepresentativeFragmentTestStateCreateInfoNV32
*)in_header
;
14154 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
;
14155 out_ext
->pNext
= NULL
;
14156 out_ext
->representativeFragmentTestEnable
= in_ext
->representativeFragmentTestEnable
;
14157 out_header
->pNext
= (void *)out_ext
;
14158 out_header
= (void *)out_ext
;
14161 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
14163 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14164 const VkPipelineCreationFeedbackCreateInfo32
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo32
*)in_header
;
14165 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
14166 out_ext
->pNext
= NULL
;
14167 out_ext
->pPipelineCreationFeedback
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, (VkPipelineCreationFeedback32
*)UlongToPtr(in_ext
->pPipelineCreationFeedback
), 1);
14168 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
14169 out_ext
->pPipelineStageCreationFeedbacks
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, (VkPipelineCreationFeedback32
*)UlongToPtr(in_ext
->pPipelineStageCreationFeedbacks
), in_ext
->pipelineStageCreationFeedbackCount
);
14170 out_header
->pNext
= (void *)out_ext
;
14171 out_header
= (void *)out_ext
;
14174 case VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
:
14176 VkPipelineCompilerControlCreateInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14177 const VkPipelineCompilerControlCreateInfoAMD32
*in_ext
= (const VkPipelineCompilerControlCreateInfoAMD32
*)in_header
;
14178 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
;
14179 out_ext
->pNext
= NULL
;
14180 out_ext
->compilerControlFlags
= in_ext
->compilerControlFlags
;
14181 out_header
->pNext
= (void *)out_ext
;
14182 out_header
= (void *)out_ext
;
14185 case VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR
:
14187 VkPipelineLibraryCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14188 const VkPipelineLibraryCreateInfoKHR32
*in_ext
= (const VkPipelineLibraryCreateInfoKHR32
*)in_header
;
14189 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR
;
14190 out_ext
->pNext
= NULL
;
14191 out_ext
->libraryCount
= in_ext
->libraryCount
;
14192 out_ext
->pLibraries
= (const VkPipeline
*)UlongToPtr(in_ext
->pLibraries
);
14193 out_header
->pNext
= (void *)out_ext
;
14194 out_header
= (void *)out_ext
;
14197 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR
:
14199 VkPipelineFragmentShadingRateStateCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14200 const VkPipelineFragmentShadingRateStateCreateInfoKHR32
*in_ext
= (const VkPipelineFragmentShadingRateStateCreateInfoKHR32
*)in_header
;
14201 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR
;
14202 out_ext
->pNext
= NULL
;
14203 out_ext
->fragmentSize
= in_ext
->fragmentSize
;
14204 memcpy(out_ext
->combinerOps
, in_ext
->combinerOps
, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR
));
14205 out_header
->pNext
= (void *)out_ext
;
14206 out_header
= (void *)out_ext
;
14209 case VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
:
14211 VkPipelineFragmentShadingRateEnumStateCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14212 const VkPipelineFragmentShadingRateEnumStateCreateInfoNV32
*in_ext
= (const VkPipelineFragmentShadingRateEnumStateCreateInfoNV32
*)in_header
;
14213 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
;
14214 out_ext
->pNext
= NULL
;
14215 out_ext
->shadingRateType
= in_ext
->shadingRateType
;
14216 out_ext
->shadingRate
= in_ext
->shadingRate
;
14217 memcpy(out_ext
->combinerOps
, in_ext
->combinerOps
, 2 * sizeof(VkFragmentShadingRateCombinerOpKHR
));
14218 out_header
->pNext
= (void *)out_ext
;
14219 out_header
= (void *)out_ext
;
14222 case VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO
:
14224 VkPipelineRenderingCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14225 const VkPipelineRenderingCreateInfo32
*in_ext
= (const VkPipelineRenderingCreateInfo32
*)in_header
;
14226 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO
;
14227 out_ext
->pNext
= NULL
;
14228 out_ext
->viewMask
= in_ext
->viewMask
;
14229 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
14230 out_ext
->pColorAttachmentFormats
= (const VkFormat
*)UlongToPtr(in_ext
->pColorAttachmentFormats
);
14231 out_ext
->depthAttachmentFormat
= in_ext
->depthAttachmentFormat
;
14232 out_ext
->stencilAttachmentFormat
= in_ext
->stencilAttachmentFormat
;
14233 out_header
->pNext
= (void *)out_ext
;
14234 out_header
= (void *)out_ext
;
14237 case VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
:
14239 VkAttachmentSampleCountInfoAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14240 const VkAttachmentSampleCountInfoAMD32
*in_ext
= (const VkAttachmentSampleCountInfoAMD32
*)in_header
;
14241 out_ext
->sType
= VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
;
14242 out_ext
->pNext
= NULL
;
14243 out_ext
->colorAttachmentCount
= in_ext
->colorAttachmentCount
;
14244 out_ext
->pColorAttachmentSamples
= (const VkSampleCountFlagBits
*)UlongToPtr(in_ext
->pColorAttachmentSamples
);
14245 out_ext
->depthStencilAttachmentSamples
= in_ext
->depthStencilAttachmentSamples
;
14246 out_header
->pNext
= (void *)out_ext
;
14247 out_header
= (void *)out_ext
;
14250 case VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
:
14252 VkMultiviewPerViewAttributesInfoNVX
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14253 const VkMultiviewPerViewAttributesInfoNVX32
*in_ext
= (const VkMultiviewPerViewAttributesInfoNVX32
*)in_header
;
14254 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
;
14255 out_ext
->pNext
= NULL
;
14256 out_ext
->perViewAttributes
= in_ext
->perViewAttributes
;
14257 out_ext
->perViewAttributesPositionXOnly
= in_ext
->perViewAttributesPositionXOnly
;
14258 out_header
->pNext
= (void *)out_ext
;
14259 out_header
= (void *)out_ext
;
14262 case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT
:
14264 VkGraphicsPipelineLibraryCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14265 const VkGraphicsPipelineLibraryCreateInfoEXT32
*in_ext
= (const VkGraphicsPipelineLibraryCreateInfoEXT32
*)in_header
;
14266 out_ext
->sType
= VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT
;
14267 out_ext
->pNext
= NULL
;
14268 out_ext
->flags
= in_ext
->flags
;
14269 out_header
->pNext
= (void *)out_ext
;
14270 out_header
= (void *)out_ext
;
14273 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
14275 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14276 const VkPipelineRobustnessCreateInfoEXT32
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT32
*)in_header
;
14277 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
14278 out_ext
->pNext
= NULL
;
14279 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
14280 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
14281 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
14282 out_ext
->images
= in_ext
->images
;
14283 out_header
->pNext
= (void *)out_ext
;
14284 out_header
= (void *)out_ext
;
14288 FIXME("Unhandled sType %u.", in_header
->sType
);
14294 static inline void convert_VkGraphicsPipelineCreateInfo_host_to_win32(const VkGraphicsPipelineCreateInfo
*in
, const VkGraphicsPipelineCreateInfo32
*out
)
14296 const VkBaseInStructure
*in_header
;
14297 VkBaseOutStructure32
*out_header
= (void *)out
;
14302 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
14304 switch (in_header
->sType
)
14306 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
14308 VkPipelineCreationFeedbackCreateInfo32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
);
14309 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
14310 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
14311 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineCreationFeedback
, (VkPipelineCreationFeedback32
*)UlongToPtr(out_ext
->pPipelineCreationFeedback
), 1);
14312 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineStageCreationFeedbacks
, (VkPipelineCreationFeedback32
*)UlongToPtr(out_ext
->pPipelineStageCreationFeedbacks
), in_ext
->pipelineStageCreationFeedbackCount
);
14313 out_header
= (void *)out_ext
;
14323 static inline const VkGraphicsPipelineCreateInfo
*convert_VkGraphicsPipelineCreateInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkGraphicsPipelineCreateInfo
*in
, uint32_t count
)
14325 VkGraphicsPipelineCreateInfo
*out
;
14328 if (!in
|| !count
) return NULL
;
14330 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
14331 for (i
= 0; i
< count
; i
++)
14333 convert_VkGraphicsPipelineCreateInfo_win64_to_host(ctx
, &in
[i
], &out
[i
]);
14338 #endif /* _WIN64 */
14340 static inline const VkGraphicsPipelineCreateInfo
*convert_VkGraphicsPipelineCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkGraphicsPipelineCreateInfo32
*in
, uint32_t count
)
14342 VkGraphicsPipelineCreateInfo
*out
;
14345 if (!in
|| !count
) return NULL
;
14347 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
14348 for (i
= 0; i
< count
; i
++)
14350 convert_VkGraphicsPipelineCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
14356 static inline void convert_VkGraphicsPipelineCreateInfo_array_host_to_win32(const VkGraphicsPipelineCreateInfo
*in
, const VkGraphicsPipelineCreateInfo32
*out
, uint32_t count
)
14362 for (i
= 0; i
< count
; i
++)
14364 convert_VkGraphicsPipelineCreateInfo_host_to_win32(&in
[i
], &out
[i
]);
14368 static inline void convert_VkImageCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkImageCreateInfo32
*in
, VkImageCreateInfo
*out
)
14370 const VkBaseInStructure32
*in_header
;
14371 VkBaseOutStructure
*out_header
= (void *)out
;
14375 out
->sType
= in
->sType
;
14377 out
->flags
= in
->flags
;
14378 out
->imageType
= in
->imageType
;
14379 out
->format
= in
->format
;
14380 out
->extent
= in
->extent
;
14381 out
->mipLevels
= in
->mipLevels
;
14382 out
->arrayLayers
= in
->arrayLayers
;
14383 out
->samples
= in
->samples
;
14384 out
->tiling
= in
->tiling
;
14385 out
->usage
= in
->usage
;
14386 out
->sharingMode
= in
->sharingMode
;
14387 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
14388 out
->pQueueFamilyIndices
= (const uint32_t *)UlongToPtr(in
->pQueueFamilyIndices
);
14389 out
->initialLayout
= in
->initialLayout
;
14391 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
14393 switch (in_header
->sType
)
14395 case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV
:
14397 VkDedicatedAllocationImageCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14398 const VkDedicatedAllocationImageCreateInfoNV32
*in_ext
= (const VkDedicatedAllocationImageCreateInfoNV32
*)in_header
;
14399 out_ext
->sType
= VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV
;
14400 out_ext
->pNext
= NULL
;
14401 out_ext
->dedicatedAllocation
= in_ext
->dedicatedAllocation
;
14402 out_header
->pNext
= (void *)out_ext
;
14403 out_header
= (void *)out_ext
;
14406 case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO
:
14408 VkExternalMemoryImageCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14409 const VkExternalMemoryImageCreateInfo32
*in_ext
= (const VkExternalMemoryImageCreateInfo32
*)in_header
;
14410 out_ext
->sType
= VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO
;
14411 out_ext
->pNext
= NULL
;
14412 out_ext
->handleTypes
= in_ext
->handleTypes
;
14413 out_header
->pNext
= (void *)out_ext
;
14414 out_header
= (void *)out_ext
;
14417 case VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR
:
14419 VkImageSwapchainCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14420 const VkImageSwapchainCreateInfoKHR32
*in_ext
= (const VkImageSwapchainCreateInfoKHR32
*)in_header
;
14421 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR
;
14422 out_ext
->pNext
= NULL
;
14423 out_ext
->swapchain
= in_ext
->swapchain
;
14424 out_header
->pNext
= (void *)out_ext
;
14425 out_header
= (void *)out_ext
;
14428 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
:
14430 VkImageFormatListCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14431 const VkImageFormatListCreateInfo32
*in_ext
= (const VkImageFormatListCreateInfo32
*)in_header
;
14432 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
;
14433 out_ext
->pNext
= NULL
;
14434 out_ext
->viewFormatCount
= in_ext
->viewFormatCount
;
14435 out_ext
->pViewFormats
= (const VkFormat
*)UlongToPtr(in_ext
->pViewFormats
);
14436 out_header
->pNext
= (void *)out_ext
;
14437 out_header
= (void *)out_ext
;
14440 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO
:
14442 VkImageStencilUsageCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14443 const VkImageStencilUsageCreateInfo32
*in_ext
= (const VkImageStencilUsageCreateInfo32
*)in_header
;
14444 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO
;
14445 out_ext
->pNext
= NULL
;
14446 out_ext
->stencilUsage
= in_ext
->stencilUsage
;
14447 out_header
->pNext
= (void *)out_ext
;
14448 out_header
= (void *)out_ext
;
14451 case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
:
14453 VkOpaqueCaptureDescriptorDataCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14454 const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*in_ext
= (const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*)in_header
;
14455 out_ext
->sType
= VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
;
14456 out_ext
->pNext
= NULL
;
14457 out_ext
->opaqueCaptureDescriptorData
= (const void *)UlongToPtr(in_ext
->opaqueCaptureDescriptorData
);
14458 out_header
->pNext
= (void *)out_ext
;
14459 out_header
= (void *)out_ext
;
14462 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT
:
14464 VkImageCompressionControlEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14465 const VkImageCompressionControlEXT32
*in_ext
= (const VkImageCompressionControlEXT32
*)in_header
;
14466 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT
;
14467 out_ext
->pNext
= NULL
;
14468 out_ext
->flags
= in_ext
->flags
;
14469 out_ext
->compressionControlPlaneCount
= in_ext
->compressionControlPlaneCount
;
14470 out_ext
->pFixedRateFlags
= (VkImageCompressionFixedRateFlagsEXT
*)UlongToPtr(in_ext
->pFixedRateFlags
);
14471 out_header
->pNext
= (void *)out_ext
;
14472 out_header
= (void *)out_ext
;
14475 case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV
:
14477 VkOpticalFlowImageFormatInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14478 const VkOpticalFlowImageFormatInfoNV32
*in_ext
= (const VkOpticalFlowImageFormatInfoNV32
*)in_header
;
14479 out_ext
->sType
= VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV
;
14480 out_ext
->pNext
= NULL
;
14481 out_ext
->usage
= in_ext
->usage
;
14482 out_header
->pNext
= (void *)out_ext
;
14483 out_header
= (void *)out_ext
;
14487 FIXME("Unhandled sType %u.", in_header
->sType
);
14493 static inline void convert_VkImageViewCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkImageViewCreateInfo32
*in
, VkImageViewCreateInfo
*out
)
14495 const VkBaseInStructure32
*in_header
;
14496 VkBaseOutStructure
*out_header
= (void *)out
;
14500 out
->sType
= in
->sType
;
14502 out
->flags
= in
->flags
;
14503 out
->image
= in
->image
;
14504 out
->viewType
= in
->viewType
;
14505 out
->format
= in
->format
;
14506 out
->components
= in
->components
;
14507 out
->subresourceRange
= in
->subresourceRange
;
14509 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
14511 switch (in_header
->sType
)
14513 case VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO
:
14515 VkImageViewUsageCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14516 const VkImageViewUsageCreateInfo32
*in_ext
= (const VkImageViewUsageCreateInfo32
*)in_header
;
14517 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO
;
14518 out_ext
->pNext
= NULL
;
14519 out_ext
->usage
= in_ext
->usage
;
14520 out_header
->pNext
= (void *)out_ext
;
14521 out_header
= (void *)out_ext
;
14524 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
:
14526 VkSamplerYcbcrConversionInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14527 const VkSamplerYcbcrConversionInfo32
*in_ext
= (const VkSamplerYcbcrConversionInfo32
*)in_header
;
14528 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
;
14529 out_ext
->pNext
= NULL
;
14530 out_ext
->conversion
= in_ext
->conversion
;
14531 out_header
->pNext
= (void *)out_ext
;
14532 out_header
= (void *)out_ext
;
14535 case VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT
:
14537 VkImageViewASTCDecodeModeEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14538 const VkImageViewASTCDecodeModeEXT32
*in_ext
= (const VkImageViewASTCDecodeModeEXT32
*)in_header
;
14539 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_VIEW_ASTC_DECODE_MODE_EXT
;
14540 out_ext
->pNext
= NULL
;
14541 out_ext
->decodeMode
= in_ext
->decodeMode
;
14542 out_header
->pNext
= (void *)out_ext
;
14543 out_header
= (void *)out_ext
;
14546 case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
:
14548 VkOpaqueCaptureDescriptorDataCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14549 const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*in_ext
= (const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*)in_header
;
14550 out_ext
->sType
= VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
;
14551 out_ext
->pNext
= NULL
;
14552 out_ext
->opaqueCaptureDescriptorData
= (const void *)UlongToPtr(in_ext
->opaqueCaptureDescriptorData
);
14553 out_header
->pNext
= (void *)out_ext
;
14554 out_header
= (void *)out_ext
;
14557 case VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT
:
14559 VkImageViewMinLodCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14560 const VkImageViewMinLodCreateInfoEXT32
*in_ext
= (const VkImageViewMinLodCreateInfoEXT32
*)in_header
;
14561 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_VIEW_MIN_LOD_CREATE_INFO_EXT
;
14562 out_ext
->pNext
= NULL
;
14563 out_ext
->minLod
= in_ext
->minLod
;
14564 out_header
->pNext
= (void *)out_ext
;
14565 out_header
= (void *)out_ext
;
14568 case VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM
:
14570 VkImageViewSampleWeightCreateInfoQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14571 const VkImageViewSampleWeightCreateInfoQCOM32
*in_ext
= (const VkImageViewSampleWeightCreateInfoQCOM32
*)in_header
;
14572 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM
;
14573 out_ext
->pNext
= NULL
;
14574 out_ext
->filterCenter
= in_ext
->filterCenter
;
14575 out_ext
->filterSize
= in_ext
->filterSize
;
14576 out_ext
->numPhases
= in_ext
->numPhases
;
14577 out_header
->pNext
= (void *)out_ext
;
14578 out_header
= (void *)out_ext
;
14582 FIXME("Unhandled sType %u.", in_header
->sType
);
14588 static inline void convert_VkIndirectCommandsLayoutTokenNV_win32_to_host(const VkIndirectCommandsLayoutTokenNV32
*in
, VkIndirectCommandsLayoutTokenNV
*out
)
14592 out
->sType
= in
->sType
;
14594 out
->tokenType
= in
->tokenType
;
14595 out
->stream
= in
->stream
;
14596 out
->offset
= in
->offset
;
14597 out
->vertexBindingUnit
= in
->vertexBindingUnit
;
14598 out
->vertexDynamicStride
= in
->vertexDynamicStride
;
14599 out
->pushconstantPipelineLayout
= in
->pushconstantPipelineLayout
;
14600 out
->pushconstantShaderStageFlags
= in
->pushconstantShaderStageFlags
;
14601 out
->pushconstantOffset
= in
->pushconstantOffset
;
14602 out
->pushconstantSize
= in
->pushconstantSize
;
14603 out
->indirectStateFlags
= in
->indirectStateFlags
;
14604 out
->indexTypeCount
= in
->indexTypeCount
;
14605 out
->pIndexTypes
= (const VkIndexType
*)UlongToPtr(in
->pIndexTypes
);
14606 out
->pIndexTypeValues
= (const uint32_t *)UlongToPtr(in
->pIndexTypeValues
);
14608 FIXME("Unexpected pNext\n");
14611 static inline const VkIndirectCommandsLayoutTokenNV
*convert_VkIndirectCommandsLayoutTokenNV_array_win32_to_host(struct conversion_context
*ctx
, const VkIndirectCommandsLayoutTokenNV32
*in
, uint32_t count
)
14613 VkIndirectCommandsLayoutTokenNV
*out
;
14616 if (!in
|| !count
) return NULL
;
14618 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
14619 for (i
= 0; i
< count
; i
++)
14621 convert_VkIndirectCommandsLayoutTokenNV_win32_to_host(&in
[i
], &out
[i
]);
14627 static inline void convert_VkIndirectCommandsLayoutCreateInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkIndirectCommandsLayoutCreateInfoNV32
*in
, VkIndirectCommandsLayoutCreateInfoNV
*out
)
14631 out
->sType
= in
->sType
;
14633 out
->flags
= in
->flags
;
14634 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
14635 out
->tokenCount
= in
->tokenCount
;
14636 out
->pTokens
= convert_VkIndirectCommandsLayoutTokenNV_array_win32_to_host(ctx
, (const VkIndirectCommandsLayoutTokenNV32
*)UlongToPtr(in
->pTokens
), in
->tokenCount
);
14637 out
->streamCount
= in
->streamCount
;
14638 out
->pStreamStrides
= (const uint32_t *)UlongToPtr(in
->pStreamStrides
);
14640 FIXME("Unexpected pNext\n");
14643 static inline void convert_VkApplicationInfo_win32_to_host(const VkApplicationInfo32
*in
, VkApplicationInfo
*out
)
14647 out
->sType
= in
->sType
;
14649 out
->pApplicationName
= (const char *)UlongToPtr(in
->pApplicationName
);
14650 out
->applicationVersion
= in
->applicationVersion
;
14651 out
->pEngineName
= (const char *)UlongToPtr(in
->pEngineName
);
14652 out
->engineVersion
= in
->engineVersion
;
14653 out
->apiVersion
= in
->apiVersion
;
14655 FIXME("Unexpected pNext\n");
14658 static inline const VkApplicationInfo
*convert_VkApplicationInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkApplicationInfo32
*in
, uint32_t count
)
14660 VkApplicationInfo
*out
;
14663 if (!in
|| !count
) return NULL
;
14665 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
14666 for (i
= 0; i
< count
; i
++)
14668 convert_VkApplicationInfo_win32_to_host(&in
[i
], &out
[i
]);
14675 static inline void convert_VkInstanceCreateInfo_win64_to_host(struct conversion_context
*ctx
, const VkInstanceCreateInfo
*in
, VkInstanceCreateInfo
*out
)
14677 const VkBaseInStructure
*in_header
;
14678 VkBaseOutStructure
*out_header
= (void *)out
;
14682 out
->sType
= in
->sType
;
14684 out
->flags
= in
->flags
;
14685 out
->pApplicationInfo
= in
->pApplicationInfo
;
14686 out
->enabledLayerCount
= in
->enabledLayerCount
;
14687 out
->ppEnabledLayerNames
= in
->ppEnabledLayerNames
;
14688 out
->enabledExtensionCount
= in
->enabledExtensionCount
;
14689 out
->ppEnabledExtensionNames
= in
->ppEnabledExtensionNames
;
14691 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
14693 switch (in_header
->sType
)
14695 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
:
14697 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
:
14699 VkDebugReportCallbackCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14700 const VkDebugReportCallbackCreateInfoEXT
*in_ext
= (const VkDebugReportCallbackCreateInfoEXT
*)in_header
;
14701 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
;
14702 out_ext
->pNext
= NULL
;
14703 out_ext
->flags
= in_ext
->flags
;
14704 out_ext
->pfnCallback
= in_ext
->pfnCallback
;
14705 out_ext
->pUserData
= in_ext
->pUserData
;
14706 out_header
->pNext
= (void *)out_ext
;
14707 out_header
= (void *)out_ext
;
14710 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
:
14712 VkValidationFlagsEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14713 const VkValidationFlagsEXT
*in_ext
= (const VkValidationFlagsEXT
*)in_header
;
14714 out_ext
->sType
= VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
;
14715 out_ext
->pNext
= NULL
;
14716 out_ext
->disabledValidationCheckCount
= in_ext
->disabledValidationCheckCount
;
14717 out_ext
->pDisabledValidationChecks
= in_ext
->pDisabledValidationChecks
;
14718 out_header
->pNext
= (void *)out_ext
;
14719 out_header
= (void *)out_ext
;
14722 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
:
14724 VkValidationFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14725 const VkValidationFeaturesEXT
*in_ext
= (const VkValidationFeaturesEXT
*)in_header
;
14726 out_ext
->sType
= VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
;
14727 out_ext
->pNext
= NULL
;
14728 out_ext
->enabledValidationFeatureCount
= in_ext
->enabledValidationFeatureCount
;
14729 out_ext
->pEnabledValidationFeatures
= in_ext
->pEnabledValidationFeatures
;
14730 out_ext
->disabledValidationFeatureCount
= in_ext
->disabledValidationFeatureCount
;
14731 out_ext
->pDisabledValidationFeatures
= in_ext
->pDisabledValidationFeatures
;
14732 out_header
->pNext
= (void *)out_ext
;
14733 out_header
= (void *)out_ext
;
14736 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
:
14738 VkDebugUtilsMessengerCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14739 const VkDebugUtilsMessengerCreateInfoEXT
*in_ext
= (const VkDebugUtilsMessengerCreateInfoEXT
*)in_header
;
14740 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
;
14741 out_ext
->pNext
= NULL
;
14742 out_ext
->flags
= in_ext
->flags
;
14743 out_ext
->messageSeverity
= in_ext
->messageSeverity
;
14744 out_ext
->messageType
= in_ext
->messageType
;
14745 out_ext
->pfnUserCallback
= in_ext
->pfnUserCallback
;
14746 out_ext
->pUserData
= in_ext
->pUserData
;
14747 out_header
->pNext
= (void *)out_ext
;
14748 out_header
= (void *)out_ext
;
14752 FIXME("Unhandled sType %u.", in_header
->sType
);
14757 #endif /* _WIN64 */
14759 static inline void convert_VkInstanceCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkInstanceCreateInfo32
*in
, VkInstanceCreateInfo
*out
)
14761 const VkBaseInStructure32
*in_header
;
14762 VkBaseOutStructure
*out_header
= (void *)out
;
14766 out
->sType
= in
->sType
;
14768 out
->flags
= in
->flags
;
14769 out
->pApplicationInfo
= convert_VkApplicationInfo_array_win32_to_host(ctx
, (const VkApplicationInfo32
*)UlongToPtr(in
->pApplicationInfo
), 1);
14770 out
->enabledLayerCount
= in
->enabledLayerCount
;
14771 out
->ppEnabledLayerNames
= convert_char_pointer_array_win32_to_host(ctx
, (const PTR32
*)UlongToPtr(in
->ppEnabledLayerNames
), in
->enabledLayerCount
);
14772 out
->enabledExtensionCount
= in
->enabledExtensionCount
;
14773 out
->ppEnabledExtensionNames
= convert_char_pointer_array_win32_to_host(ctx
, (const PTR32
*)UlongToPtr(in
->ppEnabledExtensionNames
), in
->enabledExtensionCount
);
14775 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
14777 switch (in_header
->sType
)
14779 case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
:
14781 case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
:
14783 VkDebugReportCallbackCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14784 const VkDebugReportCallbackCreateInfoEXT32
*in_ext
= (const VkDebugReportCallbackCreateInfoEXT32
*)in_header
;
14785 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
;
14786 out_ext
->pNext
= NULL
;
14787 out_ext
->flags
= in_ext
->flags
;
14788 out_ext
->pfnCallback
= in_ext
->pfnCallback
;
14789 out_ext
->pUserData
= (void *)UlongToPtr(in_ext
->pUserData
);
14790 out_header
->pNext
= (void *)out_ext
;
14791 out_header
= (void *)out_ext
;
14794 case VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
:
14796 VkValidationFlagsEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14797 const VkValidationFlagsEXT32
*in_ext
= (const VkValidationFlagsEXT32
*)in_header
;
14798 out_ext
->sType
= VK_STRUCTURE_TYPE_VALIDATION_FLAGS_EXT
;
14799 out_ext
->pNext
= NULL
;
14800 out_ext
->disabledValidationCheckCount
= in_ext
->disabledValidationCheckCount
;
14801 out_ext
->pDisabledValidationChecks
= (const VkValidationCheckEXT
*)UlongToPtr(in_ext
->pDisabledValidationChecks
);
14802 out_header
->pNext
= (void *)out_ext
;
14803 out_header
= (void *)out_ext
;
14806 case VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
:
14808 VkValidationFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14809 const VkValidationFeaturesEXT32
*in_ext
= (const VkValidationFeaturesEXT32
*)in_header
;
14810 out_ext
->sType
= VK_STRUCTURE_TYPE_VALIDATION_FEATURES_EXT
;
14811 out_ext
->pNext
= NULL
;
14812 out_ext
->enabledValidationFeatureCount
= in_ext
->enabledValidationFeatureCount
;
14813 out_ext
->pEnabledValidationFeatures
= (const VkValidationFeatureEnableEXT
*)UlongToPtr(in_ext
->pEnabledValidationFeatures
);
14814 out_ext
->disabledValidationFeatureCount
= in_ext
->disabledValidationFeatureCount
;
14815 out_ext
->pDisabledValidationFeatures
= (const VkValidationFeatureDisableEXT
*)UlongToPtr(in_ext
->pDisabledValidationFeatures
);
14816 out_header
->pNext
= (void *)out_ext
;
14817 out_header
= (void *)out_ext
;
14820 case VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
:
14822 VkDebugUtilsMessengerCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14823 const VkDebugUtilsMessengerCreateInfoEXT32
*in_ext
= (const VkDebugUtilsMessengerCreateInfoEXT32
*)in_header
;
14824 out_ext
->sType
= VK_STRUCTURE_TYPE_DEBUG_UTILS_MESSENGER_CREATE_INFO_EXT
;
14825 out_ext
->pNext
= NULL
;
14826 out_ext
->flags
= in_ext
->flags
;
14827 out_ext
->messageSeverity
= in_ext
->messageSeverity
;
14828 out_ext
->messageType
= in_ext
->messageType
;
14829 out_ext
->pfnUserCallback
= in_ext
->pfnUserCallback
;
14830 out_ext
->pUserData
= (void *)UlongToPtr(in_ext
->pUserData
);
14831 out_header
->pNext
= (void *)out_ext
;
14832 out_header
= (void *)out_ext
;
14836 FIXME("Unhandled sType %u.", in_header
->sType
);
14842 static inline void convert_VkMicromapCreateInfoEXT_win32_to_host(const VkMicromapCreateInfoEXT32
*in
, VkMicromapCreateInfoEXT
*out
)
14846 out
->sType
= in
->sType
;
14848 out
->createFlags
= in
->createFlags
;
14849 out
->buffer
= in
->buffer
;
14850 out
->offset
= in
->offset
;
14851 out
->size
= in
->size
;
14852 out
->type
= in
->type
;
14853 out
->deviceAddress
= in
->deviceAddress
;
14855 FIXME("Unexpected pNext\n");
14858 static inline void convert_VkOpticalFlowSessionCreateInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkOpticalFlowSessionCreateInfoNV32
*in
, VkOpticalFlowSessionCreateInfoNV
*out
)
14860 const VkBaseInStructure32
*in_header
;
14861 VkBaseOutStructure
*out_header
= (void *)out
;
14865 out
->sType
= in
->sType
;
14867 out
->width
= in
->width
;
14868 out
->height
= in
->height
;
14869 out
->imageFormat
= in
->imageFormat
;
14870 out
->flowVectorFormat
= in
->flowVectorFormat
;
14871 out
->costFormat
= in
->costFormat
;
14872 out
->outputGridSize
= in
->outputGridSize
;
14873 out
->hintGridSize
= in
->hintGridSize
;
14874 out
->performanceLevel
= in
->performanceLevel
;
14875 out
->flags
= in
->flags
;
14877 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
14879 switch (in_header
->sType
)
14881 case VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
:
14883 VkOpticalFlowSessionCreatePrivateDataInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14884 const VkOpticalFlowSessionCreatePrivateDataInfoNV32
*in_ext
= (const VkOpticalFlowSessionCreatePrivateDataInfoNV32
*)in_header
;
14885 out_ext
->sType
= VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
;
14886 out_ext
->pNext
= NULL
;
14887 out_ext
->id
= in_ext
->id
;
14888 out_ext
->size
= in_ext
->size
;
14889 out_ext
->pPrivateData
= (const void *)UlongToPtr(in_ext
->pPrivateData
);
14890 out_header
->pNext
= (void *)out_ext
;
14891 out_header
= (void *)out_ext
;
14895 FIXME("Unhandled sType %u.", in_header
->sType
);
14901 static inline void convert_VkPipelineCacheCreateInfo_win32_to_host(const VkPipelineCacheCreateInfo32
*in
, VkPipelineCacheCreateInfo
*out
)
14905 out
->sType
= in
->sType
;
14907 out
->flags
= in
->flags
;
14908 out
->initialDataSize
= in
->initialDataSize
;
14909 out
->pInitialData
= (const void *)UlongToPtr(in
->pInitialData
);
14911 FIXME("Unexpected pNext\n");
14914 static inline void convert_VkPipelineLayoutCreateInfo_win32_to_host(const VkPipelineLayoutCreateInfo32
*in
, VkPipelineLayoutCreateInfo
*out
)
14918 out
->sType
= in
->sType
;
14920 out
->flags
= in
->flags
;
14921 out
->setLayoutCount
= in
->setLayoutCount
;
14922 out
->pSetLayouts
= (const VkDescriptorSetLayout
*)UlongToPtr(in
->pSetLayouts
);
14923 out
->pushConstantRangeCount
= in
->pushConstantRangeCount
;
14924 out
->pPushConstantRanges
= (const VkPushConstantRange
*)UlongToPtr(in
->pPushConstantRanges
);
14926 FIXME("Unexpected pNext\n");
14929 static inline void convert_VkPrivateDataSlotCreateInfo_win32_to_host(const VkPrivateDataSlotCreateInfo32
*in
, VkPrivateDataSlotCreateInfo
*out
)
14933 out
->sType
= in
->sType
;
14935 out
->flags
= in
->flags
;
14937 FIXME("Unexpected pNext\n");
14940 static inline void convert_VkQueryPoolCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkQueryPoolCreateInfo32
*in
, VkQueryPoolCreateInfo
*out
)
14942 const VkBaseInStructure32
*in_header
;
14943 VkBaseOutStructure
*out_header
= (void *)out
;
14947 out
->sType
= in
->sType
;
14949 out
->flags
= in
->flags
;
14950 out
->queryType
= in
->queryType
;
14951 out
->queryCount
= in
->queryCount
;
14952 out
->pipelineStatistics
= in
->pipelineStatistics
;
14954 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
14956 switch (in_header
->sType
)
14958 case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR
:
14960 VkQueryPoolPerformanceCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14961 const VkQueryPoolPerformanceCreateInfoKHR32
*in_ext
= (const VkQueryPoolPerformanceCreateInfoKHR32
*)in_header
;
14962 out_ext
->sType
= VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_CREATE_INFO_KHR
;
14963 out_ext
->pNext
= NULL
;
14964 out_ext
->queueFamilyIndex
= in_ext
->queueFamilyIndex
;
14965 out_ext
->counterIndexCount
= in_ext
->counterIndexCount
;
14966 out_ext
->pCounterIndices
= (const uint32_t *)UlongToPtr(in_ext
->pCounterIndices
);
14967 out_header
->pNext
= (void *)out_ext
;
14968 out_header
= (void *)out_ext
;
14971 case VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL
:
14973 VkQueryPoolPerformanceQueryCreateInfoINTEL
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
14974 const VkQueryPoolPerformanceQueryCreateInfoINTEL32
*in_ext
= (const VkQueryPoolPerformanceQueryCreateInfoINTEL32
*)in_header
;
14975 out_ext
->sType
= VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL
;
14976 out_ext
->pNext
= NULL
;
14977 out_ext
->performanceCountersSampling
= in_ext
->performanceCountersSampling
;
14978 out_header
->pNext
= (void *)out_ext
;
14979 out_header
= (void *)out_ext
;
14983 FIXME("Unhandled sType %u.", in_header
->sType
);
14989 static inline void convert_VkRayTracingShaderGroupCreateInfoKHR_win32_to_host(const VkRayTracingShaderGroupCreateInfoKHR32
*in
, VkRayTracingShaderGroupCreateInfoKHR
*out
)
14993 out
->sType
= in
->sType
;
14995 out
->type
= in
->type
;
14996 out
->generalShader
= in
->generalShader
;
14997 out
->closestHitShader
= in
->closestHitShader
;
14998 out
->anyHitShader
= in
->anyHitShader
;
14999 out
->intersectionShader
= in
->intersectionShader
;
15000 out
->pShaderGroupCaptureReplayHandle
= (const void *)UlongToPtr(in
->pShaderGroupCaptureReplayHandle
);
15002 FIXME("Unexpected pNext\n");
15005 static inline const VkRayTracingShaderGroupCreateInfoKHR
*convert_VkRayTracingShaderGroupCreateInfoKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingShaderGroupCreateInfoKHR32
*in
, uint32_t count
)
15007 VkRayTracingShaderGroupCreateInfoKHR
*out
;
15010 if (!in
|| !count
) return NULL
;
15012 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15013 for (i
= 0; i
< count
; i
++)
15015 convert_VkRayTracingShaderGroupCreateInfoKHR_win32_to_host(&in
[i
], &out
[i
]);
15021 static inline void convert_VkPipelineLibraryCreateInfoKHR_win32_to_host(const VkPipelineLibraryCreateInfoKHR32
*in
, VkPipelineLibraryCreateInfoKHR
*out
)
15025 out
->sType
= in
->sType
;
15027 out
->libraryCount
= in
->libraryCount
;
15028 out
->pLibraries
= (const VkPipeline
*)UlongToPtr(in
->pLibraries
);
15030 FIXME("Unexpected pNext\n");
15033 static inline const VkPipelineLibraryCreateInfoKHR
*convert_VkPipelineLibraryCreateInfoKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineLibraryCreateInfoKHR32
*in
, uint32_t count
)
15035 VkPipelineLibraryCreateInfoKHR
*out
;
15038 if (!in
|| !count
) return NULL
;
15040 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15041 for (i
= 0; i
< count
; i
++)
15043 convert_VkPipelineLibraryCreateInfoKHR_win32_to_host(&in
[i
], &out
[i
]);
15049 static inline void convert_VkRayTracingPipelineInterfaceCreateInfoKHR_win32_to_host(const VkRayTracingPipelineInterfaceCreateInfoKHR32
*in
, VkRayTracingPipelineInterfaceCreateInfoKHR
*out
)
15053 out
->sType
= in
->sType
;
15055 out
->maxPipelineRayPayloadSize
= in
->maxPipelineRayPayloadSize
;
15056 out
->maxPipelineRayHitAttributeSize
= in
->maxPipelineRayHitAttributeSize
;
15058 FIXME("Unexpected pNext\n");
15061 static inline const VkRayTracingPipelineInterfaceCreateInfoKHR
*convert_VkRayTracingPipelineInterfaceCreateInfoKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineInterfaceCreateInfoKHR32
*in
, uint32_t count
)
15063 VkRayTracingPipelineInterfaceCreateInfoKHR
*out
;
15066 if (!in
|| !count
) return NULL
;
15068 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15069 for (i
= 0; i
< count
; i
++)
15071 convert_VkRayTracingPipelineInterfaceCreateInfoKHR_win32_to_host(&in
[i
], &out
[i
]);
15078 static inline void convert_VkRayTracingPipelineCreateInfoKHR_win64_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoKHR
*in
, VkRayTracingPipelineCreateInfoKHR
*out
)
15082 out
->sType
= in
->sType
;
15083 out
->pNext
= in
->pNext
;
15084 out
->flags
= in
->flags
;
15085 out
->stageCount
= in
->stageCount
;
15086 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(ctx
, in
->pStages
, in
->stageCount
);
15087 out
->groupCount
= in
->groupCount
;
15088 out
->pGroups
= in
->pGroups
;
15089 out
->maxPipelineRayRecursionDepth
= in
->maxPipelineRayRecursionDepth
;
15090 out
->pLibraryInfo
= in
->pLibraryInfo
;
15091 out
->pLibraryInterface
= in
->pLibraryInterface
;
15092 out
->pDynamicState
= in
->pDynamicState
;
15093 out
->layout
= in
->layout
;
15094 out
->basePipelineHandle
= in
->basePipelineHandle
;
15095 out
->basePipelineIndex
= in
->basePipelineIndex
;
15097 #endif /* _WIN64 */
15099 static inline void convert_VkRayTracingPipelineCreateInfoKHR_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoKHR32
*in
, VkRayTracingPipelineCreateInfoKHR
*out
)
15101 const VkBaseInStructure32
*in_header
;
15102 VkBaseOutStructure
*out_header
= (void *)out
;
15106 out
->sType
= in
->sType
;
15108 out
->flags
= in
->flags
;
15109 out
->stageCount
= in
->stageCount
;
15110 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(ctx
, (const VkPipelineShaderStageCreateInfo32
*)UlongToPtr(in
->pStages
), in
->stageCount
);
15111 out
->groupCount
= in
->groupCount
;
15112 out
->pGroups
= convert_VkRayTracingShaderGroupCreateInfoKHR_array_win32_to_host(ctx
, (const VkRayTracingShaderGroupCreateInfoKHR32
*)UlongToPtr(in
->pGroups
), in
->groupCount
);
15113 out
->maxPipelineRayRecursionDepth
= in
->maxPipelineRayRecursionDepth
;
15114 out
->pLibraryInfo
= convert_VkPipelineLibraryCreateInfoKHR_array_win32_to_host(ctx
, (const VkPipelineLibraryCreateInfoKHR32
*)UlongToPtr(in
->pLibraryInfo
), 1);
15115 out
->pLibraryInterface
= convert_VkRayTracingPipelineInterfaceCreateInfoKHR_array_win32_to_host(ctx
, (const VkRayTracingPipelineInterfaceCreateInfoKHR32
*)UlongToPtr(in
->pLibraryInterface
), 1);
15116 out
->pDynamicState
= convert_VkPipelineDynamicStateCreateInfo_array_win32_to_host(ctx
, (const VkPipelineDynamicStateCreateInfo32
*)UlongToPtr(in
->pDynamicState
), 1);
15117 out
->layout
= in
->layout
;
15118 out
->basePipelineHandle
= in
->basePipelineHandle
;
15119 out
->basePipelineIndex
= in
->basePipelineIndex
;
15121 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15123 switch (in_header
->sType
)
15125 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
15127 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15128 const VkPipelineCreationFeedbackCreateInfo32
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo32
*)in_header
;
15129 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
15130 out_ext
->pNext
= NULL
;
15131 out_ext
->pPipelineCreationFeedback
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, (VkPipelineCreationFeedback32
*)UlongToPtr(in_ext
->pPipelineCreationFeedback
), 1);
15132 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
15133 out_ext
->pPipelineStageCreationFeedbacks
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, (VkPipelineCreationFeedback32
*)UlongToPtr(in_ext
->pPipelineStageCreationFeedbacks
), in_ext
->pipelineStageCreationFeedbackCount
);
15134 out_header
->pNext
= (void *)out_ext
;
15135 out_header
= (void *)out_ext
;
15138 case VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
:
15140 VkPipelineRobustnessCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15141 const VkPipelineRobustnessCreateInfoEXT32
*in_ext
= (const VkPipelineRobustnessCreateInfoEXT32
*)in_header
;
15142 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO_EXT
;
15143 out_ext
->pNext
= NULL
;
15144 out_ext
->storageBuffers
= in_ext
->storageBuffers
;
15145 out_ext
->uniformBuffers
= in_ext
->uniformBuffers
;
15146 out_ext
->vertexInputs
= in_ext
->vertexInputs
;
15147 out_ext
->images
= in_ext
->images
;
15148 out_header
->pNext
= (void *)out_ext
;
15149 out_header
= (void *)out_ext
;
15153 FIXME("Unhandled sType %u.", in_header
->sType
);
15159 static inline void convert_VkRayTracingPipelineCreateInfoKHR_host_to_win32(const VkRayTracingPipelineCreateInfoKHR
*in
, const VkRayTracingPipelineCreateInfoKHR32
*out
)
15161 const VkBaseInStructure
*in_header
;
15162 VkBaseOutStructure32
*out_header
= (void *)out
;
15167 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
15169 switch (in_header
->sType
)
15171 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
15173 VkPipelineCreationFeedbackCreateInfo32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
);
15174 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
15175 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
15176 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineCreationFeedback
, (VkPipelineCreationFeedback32
*)UlongToPtr(out_ext
->pPipelineCreationFeedback
), 1);
15177 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineStageCreationFeedbacks
, (VkPipelineCreationFeedback32
*)UlongToPtr(out_ext
->pPipelineStageCreationFeedbacks
), in_ext
->pipelineStageCreationFeedbackCount
);
15178 out_header
= (void *)out_ext
;
15188 static inline const VkRayTracingPipelineCreateInfoKHR
*convert_VkRayTracingPipelineCreateInfoKHR_array_win64_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoKHR
*in
, uint32_t count
)
15190 VkRayTracingPipelineCreateInfoKHR
*out
;
15193 if (!in
|| !count
) return NULL
;
15195 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15196 for (i
= 0; i
< count
; i
++)
15198 convert_VkRayTracingPipelineCreateInfoKHR_win64_to_host(ctx
, &in
[i
], &out
[i
]);
15203 #endif /* _WIN64 */
15205 static inline const VkRayTracingPipelineCreateInfoKHR
*convert_VkRayTracingPipelineCreateInfoKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoKHR32
*in
, uint32_t count
)
15207 VkRayTracingPipelineCreateInfoKHR
*out
;
15210 if (!in
|| !count
) return NULL
;
15212 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15213 for (i
= 0; i
< count
; i
++)
15215 convert_VkRayTracingPipelineCreateInfoKHR_win32_to_host(ctx
, &in
[i
], &out
[i
]);
15221 static inline void convert_VkRayTracingPipelineCreateInfoKHR_array_host_to_win32(const VkRayTracingPipelineCreateInfoKHR
*in
, const VkRayTracingPipelineCreateInfoKHR32
*out
, uint32_t count
)
15227 for (i
= 0; i
< count
; i
++)
15229 convert_VkRayTracingPipelineCreateInfoKHR_host_to_win32(&in
[i
], &out
[i
]);
15233 static inline void convert_VkRayTracingShaderGroupCreateInfoNV_win32_to_host(const VkRayTracingShaderGroupCreateInfoNV32
*in
, VkRayTracingShaderGroupCreateInfoNV
*out
)
15237 out
->sType
= in
->sType
;
15239 out
->type
= in
->type
;
15240 out
->generalShader
= in
->generalShader
;
15241 out
->closestHitShader
= in
->closestHitShader
;
15242 out
->anyHitShader
= in
->anyHitShader
;
15243 out
->intersectionShader
= in
->intersectionShader
;
15245 FIXME("Unexpected pNext\n");
15248 static inline const VkRayTracingShaderGroupCreateInfoNV
*convert_VkRayTracingShaderGroupCreateInfoNV_array_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingShaderGroupCreateInfoNV32
*in
, uint32_t count
)
15250 VkRayTracingShaderGroupCreateInfoNV
*out
;
15253 if (!in
|| !count
) return NULL
;
15255 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15256 for (i
= 0; i
< count
; i
++)
15258 convert_VkRayTracingShaderGroupCreateInfoNV_win32_to_host(&in
[i
], &out
[i
]);
15265 static inline void convert_VkRayTracingPipelineCreateInfoNV_win64_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoNV
*in
, VkRayTracingPipelineCreateInfoNV
*out
)
15269 out
->sType
= in
->sType
;
15270 out
->pNext
= in
->pNext
;
15271 out
->flags
= in
->flags
;
15272 out
->stageCount
= in
->stageCount
;
15273 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win64_to_host(ctx
, in
->pStages
, in
->stageCount
);
15274 out
->groupCount
= in
->groupCount
;
15275 out
->pGroups
= in
->pGroups
;
15276 out
->maxRecursionDepth
= in
->maxRecursionDepth
;
15277 out
->layout
= in
->layout
;
15278 out
->basePipelineHandle
= in
->basePipelineHandle
;
15279 out
->basePipelineIndex
= in
->basePipelineIndex
;
15281 #endif /* _WIN64 */
15283 static inline void convert_VkRayTracingPipelineCreateInfoNV_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoNV32
*in
, VkRayTracingPipelineCreateInfoNV
*out
)
15285 const VkBaseInStructure32
*in_header
;
15286 VkBaseOutStructure
*out_header
= (void *)out
;
15290 out
->sType
= in
->sType
;
15292 out
->flags
= in
->flags
;
15293 out
->stageCount
= in
->stageCount
;
15294 out
->pStages
= convert_VkPipelineShaderStageCreateInfo_array_win32_to_host(ctx
, (const VkPipelineShaderStageCreateInfo32
*)UlongToPtr(in
->pStages
), in
->stageCount
);
15295 out
->groupCount
= in
->groupCount
;
15296 out
->pGroups
= convert_VkRayTracingShaderGroupCreateInfoNV_array_win32_to_host(ctx
, (const VkRayTracingShaderGroupCreateInfoNV32
*)UlongToPtr(in
->pGroups
), in
->groupCount
);
15297 out
->maxRecursionDepth
= in
->maxRecursionDepth
;
15298 out
->layout
= in
->layout
;
15299 out
->basePipelineHandle
= in
->basePipelineHandle
;
15300 out
->basePipelineIndex
= in
->basePipelineIndex
;
15302 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15304 switch (in_header
->sType
)
15306 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
15308 VkPipelineCreationFeedbackCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15309 const VkPipelineCreationFeedbackCreateInfo32
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo32
*)in_header
;
15310 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
15311 out_ext
->pNext
= NULL
;
15312 out_ext
->pPipelineCreationFeedback
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, (VkPipelineCreationFeedback32
*)UlongToPtr(in_ext
->pPipelineCreationFeedback
), 1);
15313 out_ext
->pipelineStageCreationFeedbackCount
= in_ext
->pipelineStageCreationFeedbackCount
;
15314 out_ext
->pPipelineStageCreationFeedbacks
= convert_VkPipelineCreationFeedback_array_win32_to_host(ctx
, (VkPipelineCreationFeedback32
*)UlongToPtr(in_ext
->pPipelineStageCreationFeedbacks
), in_ext
->pipelineStageCreationFeedbackCount
);
15315 out_header
->pNext
= (void *)out_ext
;
15316 out_header
= (void *)out_ext
;
15320 FIXME("Unhandled sType %u.", in_header
->sType
);
15326 static inline void convert_VkRayTracingPipelineCreateInfoNV_host_to_win32(const VkRayTracingPipelineCreateInfoNV
*in
, const VkRayTracingPipelineCreateInfoNV32
*out
)
15328 const VkBaseInStructure
*in_header
;
15329 VkBaseOutStructure32
*out_header
= (void *)out
;
15334 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
15336 switch (in_header
->sType
)
15338 case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
:
15340 VkPipelineCreationFeedbackCreateInfo32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
);
15341 const VkPipelineCreationFeedbackCreateInfo
*in_ext
= (const VkPipelineCreationFeedbackCreateInfo
*)in_header
;
15342 out_ext
->sType
= VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO
;
15343 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineCreationFeedback
, (VkPipelineCreationFeedback32
*)UlongToPtr(out_ext
->pPipelineCreationFeedback
), 1);
15344 convert_VkPipelineCreationFeedback_array_host_to_win32(in_ext
->pPipelineStageCreationFeedbacks
, (VkPipelineCreationFeedback32
*)UlongToPtr(out_ext
->pPipelineStageCreationFeedbacks
), in_ext
->pipelineStageCreationFeedbackCount
);
15345 out_header
= (void *)out_ext
;
15355 static inline const VkRayTracingPipelineCreateInfoNV
*convert_VkRayTracingPipelineCreateInfoNV_array_win64_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoNV
*in
, uint32_t count
)
15357 VkRayTracingPipelineCreateInfoNV
*out
;
15360 if (!in
|| !count
) return NULL
;
15362 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15363 for (i
= 0; i
< count
; i
++)
15365 convert_VkRayTracingPipelineCreateInfoNV_win64_to_host(ctx
, &in
[i
], &out
[i
]);
15370 #endif /* _WIN64 */
15372 static inline const VkRayTracingPipelineCreateInfoNV
*convert_VkRayTracingPipelineCreateInfoNV_array_win32_to_host(struct conversion_context
*ctx
, const VkRayTracingPipelineCreateInfoNV32
*in
, uint32_t count
)
15374 VkRayTracingPipelineCreateInfoNV
*out
;
15377 if (!in
|| !count
) return NULL
;
15379 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15380 for (i
= 0; i
< count
; i
++)
15382 convert_VkRayTracingPipelineCreateInfoNV_win32_to_host(ctx
, &in
[i
], &out
[i
]);
15388 static inline void convert_VkRayTracingPipelineCreateInfoNV_array_host_to_win32(const VkRayTracingPipelineCreateInfoNV
*in
, const VkRayTracingPipelineCreateInfoNV32
*out
, uint32_t count
)
15394 for (i
= 0; i
< count
; i
++)
15396 convert_VkRayTracingPipelineCreateInfoNV_host_to_win32(&in
[i
], &out
[i
]);
15400 static inline void convert_VkSubpassDescription_win32_to_host(const VkSubpassDescription32
*in
, VkSubpassDescription
*out
)
15404 out
->flags
= in
->flags
;
15405 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
15406 out
->inputAttachmentCount
= in
->inputAttachmentCount
;
15407 out
->pInputAttachments
= (const VkAttachmentReference
*)UlongToPtr(in
->pInputAttachments
);
15408 out
->colorAttachmentCount
= in
->colorAttachmentCount
;
15409 out
->pColorAttachments
= (const VkAttachmentReference
*)UlongToPtr(in
->pColorAttachments
);
15410 out
->pResolveAttachments
= (const VkAttachmentReference
*)UlongToPtr(in
->pResolveAttachments
);
15411 out
->pDepthStencilAttachment
= (const VkAttachmentReference
*)UlongToPtr(in
->pDepthStencilAttachment
);
15412 out
->preserveAttachmentCount
= in
->preserveAttachmentCount
;
15413 out
->pPreserveAttachments
= (const uint32_t *)UlongToPtr(in
->pPreserveAttachments
);
15416 static inline const VkSubpassDescription
*convert_VkSubpassDescription_array_win32_to_host(struct conversion_context
*ctx
, const VkSubpassDescription32
*in
, uint32_t count
)
15418 VkSubpassDescription
*out
;
15421 if (!in
|| !count
) return NULL
;
15423 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15424 for (i
= 0; i
< count
; i
++)
15426 convert_VkSubpassDescription_win32_to_host(&in
[i
], &out
[i
]);
15432 static inline void convert_VkRenderPassCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkRenderPassCreateInfo32
*in
, VkRenderPassCreateInfo
*out
)
15434 const VkBaseInStructure32
*in_header
;
15435 VkBaseOutStructure
*out_header
= (void *)out
;
15439 out
->sType
= in
->sType
;
15441 out
->flags
= in
->flags
;
15442 out
->attachmentCount
= in
->attachmentCount
;
15443 out
->pAttachments
= (const VkAttachmentDescription
*)UlongToPtr(in
->pAttachments
);
15444 out
->subpassCount
= in
->subpassCount
;
15445 out
->pSubpasses
= convert_VkSubpassDescription_array_win32_to_host(ctx
, (const VkSubpassDescription32
*)UlongToPtr(in
->pSubpasses
), in
->subpassCount
);
15446 out
->dependencyCount
= in
->dependencyCount
;
15447 out
->pDependencies
= (const VkSubpassDependency
*)UlongToPtr(in
->pDependencies
);
15449 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15451 switch (in_header
->sType
)
15453 case VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO
:
15455 VkRenderPassMultiviewCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15456 const VkRenderPassMultiviewCreateInfo32
*in_ext
= (const VkRenderPassMultiviewCreateInfo32
*)in_header
;
15457 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO
;
15458 out_ext
->pNext
= NULL
;
15459 out_ext
->subpassCount
= in_ext
->subpassCount
;
15460 out_ext
->pViewMasks
= (const uint32_t *)UlongToPtr(in_ext
->pViewMasks
);
15461 out_ext
->dependencyCount
= in_ext
->dependencyCount
;
15462 out_ext
->pViewOffsets
= (const int32_t *)UlongToPtr(in_ext
->pViewOffsets
);
15463 out_ext
->correlationMaskCount
= in_ext
->correlationMaskCount
;
15464 out_ext
->pCorrelationMasks
= (const uint32_t *)UlongToPtr(in_ext
->pCorrelationMasks
);
15465 out_header
->pNext
= (void *)out_ext
;
15466 out_header
= (void *)out_ext
;
15469 case VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO
:
15471 VkRenderPassInputAttachmentAspectCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15472 const VkRenderPassInputAttachmentAspectCreateInfo32
*in_ext
= (const VkRenderPassInputAttachmentAspectCreateInfo32
*)in_header
;
15473 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO
;
15474 out_ext
->pNext
= NULL
;
15475 out_ext
->aspectReferenceCount
= in_ext
->aspectReferenceCount
;
15476 out_ext
->pAspectReferences
= (const VkInputAttachmentAspectReference
*)UlongToPtr(in_ext
->pAspectReferences
);
15477 out_header
->pNext
= (void *)out_ext
;
15478 out_header
= (void *)out_ext
;
15481 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT
:
15483 VkRenderPassFragmentDensityMapCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15484 const VkRenderPassFragmentDensityMapCreateInfoEXT32
*in_ext
= (const VkRenderPassFragmentDensityMapCreateInfoEXT32
*)in_header
;
15485 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT
;
15486 out_ext
->pNext
= NULL
;
15487 out_ext
->fragmentDensityMapAttachment
= in_ext
->fragmentDensityMapAttachment
;
15488 out_header
->pNext
= (void *)out_ext
;
15489 out_header
= (void *)out_ext
;
15493 FIXME("Unhandled sType %u.", in_header
->sType
);
15499 static inline void convert_VkAttachmentDescription2_win32_to_host(struct conversion_context
*ctx
, const VkAttachmentDescription232
*in
, VkAttachmentDescription2
*out
)
15501 const VkBaseInStructure32
*in_header
;
15502 VkBaseOutStructure
*out_header
= (void *)out
;
15506 out
->sType
= in
->sType
;
15508 out
->flags
= in
->flags
;
15509 out
->format
= in
->format
;
15510 out
->samples
= in
->samples
;
15511 out
->loadOp
= in
->loadOp
;
15512 out
->storeOp
= in
->storeOp
;
15513 out
->stencilLoadOp
= in
->stencilLoadOp
;
15514 out
->stencilStoreOp
= in
->stencilStoreOp
;
15515 out
->initialLayout
= in
->initialLayout
;
15516 out
->finalLayout
= in
->finalLayout
;
15518 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15520 switch (in_header
->sType
)
15522 case VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT
:
15524 VkAttachmentDescriptionStencilLayout
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15525 const VkAttachmentDescriptionStencilLayout32
*in_ext
= (const VkAttachmentDescriptionStencilLayout32
*)in_header
;
15526 out_ext
->sType
= VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT
;
15527 out_ext
->pNext
= NULL
;
15528 out_ext
->stencilInitialLayout
= in_ext
->stencilInitialLayout
;
15529 out_ext
->stencilFinalLayout
= in_ext
->stencilFinalLayout
;
15530 out_header
->pNext
= (void *)out_ext
;
15531 out_header
= (void *)out_ext
;
15535 FIXME("Unhandled sType %u.", in_header
->sType
);
15541 static inline const VkAttachmentDescription2
*convert_VkAttachmentDescription2_array_win32_to_host(struct conversion_context
*ctx
, const VkAttachmentDescription232
*in
, uint32_t count
)
15543 VkAttachmentDescription2
*out
;
15546 if (!in
|| !count
) return NULL
;
15548 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15549 for (i
= 0; i
< count
; i
++)
15551 convert_VkAttachmentDescription2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
15557 static inline void convert_VkAttachmentReference2_win32_to_host(struct conversion_context
*ctx
, const VkAttachmentReference232
*in
, VkAttachmentReference2
*out
)
15559 const VkBaseInStructure32
*in_header
;
15560 VkBaseOutStructure
*out_header
= (void *)out
;
15564 out
->sType
= in
->sType
;
15566 out
->attachment
= in
->attachment
;
15567 out
->layout
= in
->layout
;
15568 out
->aspectMask
= in
->aspectMask
;
15570 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15572 switch (in_header
->sType
)
15574 case VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT
:
15576 VkAttachmentReferenceStencilLayout
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15577 const VkAttachmentReferenceStencilLayout32
*in_ext
= (const VkAttachmentReferenceStencilLayout32
*)in_header
;
15578 out_ext
->sType
= VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT
;
15579 out_ext
->pNext
= NULL
;
15580 out_ext
->stencilLayout
= in_ext
->stencilLayout
;
15581 out_header
->pNext
= (void *)out_ext
;
15582 out_header
= (void *)out_ext
;
15586 FIXME("Unhandled sType %u.", in_header
->sType
);
15592 static inline const VkAttachmentReference2
*convert_VkAttachmentReference2_array_win32_to_host(struct conversion_context
*ctx
, const VkAttachmentReference232
*in
, uint32_t count
)
15594 VkAttachmentReference2
*out
;
15597 if (!in
|| !count
) return NULL
;
15599 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15600 for (i
= 0; i
< count
; i
++)
15602 convert_VkAttachmentReference2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
15608 static inline void convert_VkSubpassDescription2_win32_to_host(struct conversion_context
*ctx
, const VkSubpassDescription232
*in
, VkSubpassDescription2
*out
)
15610 const VkBaseInStructure32
*in_header
;
15611 VkBaseOutStructure
*out_header
= (void *)out
;
15615 out
->sType
= in
->sType
;
15617 out
->flags
= in
->flags
;
15618 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
15619 out
->viewMask
= in
->viewMask
;
15620 out
->inputAttachmentCount
= in
->inputAttachmentCount
;
15621 out
->pInputAttachments
= convert_VkAttachmentReference2_array_win32_to_host(ctx
, (const VkAttachmentReference232
*)UlongToPtr(in
->pInputAttachments
), in
->inputAttachmentCount
);
15622 out
->colorAttachmentCount
= in
->colorAttachmentCount
;
15623 out
->pColorAttachments
= convert_VkAttachmentReference2_array_win32_to_host(ctx
, (const VkAttachmentReference232
*)UlongToPtr(in
->pColorAttachments
), in
->colorAttachmentCount
);
15624 out
->pResolveAttachments
= convert_VkAttachmentReference2_array_win32_to_host(ctx
, (const VkAttachmentReference232
*)UlongToPtr(in
->pResolveAttachments
), in
->colorAttachmentCount
);
15625 out
->pDepthStencilAttachment
= convert_VkAttachmentReference2_array_win32_to_host(ctx
, (const VkAttachmentReference232
*)UlongToPtr(in
->pDepthStencilAttachment
), 1);
15626 out
->preserveAttachmentCount
= in
->preserveAttachmentCount
;
15627 out
->pPreserveAttachments
= (const uint32_t *)UlongToPtr(in
->pPreserveAttachments
);
15629 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15631 switch (in_header
->sType
)
15633 case VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE
:
15635 VkSubpassDescriptionDepthStencilResolve
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15636 const VkSubpassDescriptionDepthStencilResolve32
*in_ext
= (const VkSubpassDescriptionDepthStencilResolve32
*)in_header
;
15637 out_ext
->sType
= VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE
;
15638 out_ext
->pNext
= NULL
;
15639 out_ext
->depthResolveMode
= in_ext
->depthResolveMode
;
15640 out_ext
->stencilResolveMode
= in_ext
->stencilResolveMode
;
15641 out_ext
->pDepthStencilResolveAttachment
= convert_VkAttachmentReference2_array_win32_to_host(ctx
, (const VkAttachmentReference232
*)UlongToPtr(in_ext
->pDepthStencilResolveAttachment
), 1);
15642 out_header
->pNext
= (void *)out_ext
;
15643 out_header
= (void *)out_ext
;
15646 case VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR
:
15648 VkFragmentShadingRateAttachmentInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15649 const VkFragmentShadingRateAttachmentInfoKHR32
*in_ext
= (const VkFragmentShadingRateAttachmentInfoKHR32
*)in_header
;
15650 out_ext
->sType
= VK_STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR
;
15651 out_ext
->pNext
= NULL
;
15652 out_ext
->pFragmentShadingRateAttachment
= convert_VkAttachmentReference2_array_win32_to_host(ctx
, (const VkAttachmentReference232
*)UlongToPtr(in_ext
->pFragmentShadingRateAttachment
), 1);
15653 out_ext
->shadingRateAttachmentTexelSize
= in_ext
->shadingRateAttachmentTexelSize
;
15654 out_header
->pNext
= (void *)out_ext
;
15655 out_header
= (void *)out_ext
;
15658 case VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT
:
15660 VkMultisampledRenderToSingleSampledInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15661 const VkMultisampledRenderToSingleSampledInfoEXT32
*in_ext
= (const VkMultisampledRenderToSingleSampledInfoEXT32
*)in_header
;
15662 out_ext
->sType
= VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT
;
15663 out_ext
->pNext
= NULL
;
15664 out_ext
->multisampledRenderToSingleSampledEnable
= in_ext
->multisampledRenderToSingleSampledEnable
;
15665 out_ext
->rasterizationSamples
= in_ext
->rasterizationSamples
;
15666 out_header
->pNext
= (void *)out_ext
;
15667 out_header
= (void *)out_ext
;
15670 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT
:
15672 VkRenderPassCreationControlEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15673 const VkRenderPassCreationControlEXT32
*in_ext
= (const VkRenderPassCreationControlEXT32
*)in_header
;
15674 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT
;
15675 out_ext
->pNext
= NULL
;
15676 out_ext
->disallowMerging
= in_ext
->disallowMerging
;
15677 out_header
->pNext
= (void *)out_ext
;
15678 out_header
= (void *)out_ext
;
15681 case VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT
:
15683 VkRenderPassSubpassFeedbackCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15684 const VkRenderPassSubpassFeedbackCreateInfoEXT32
*in_ext
= (const VkRenderPassSubpassFeedbackCreateInfoEXT32
*)in_header
;
15685 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT
;
15686 out_ext
->pNext
= NULL
;
15687 out_ext
->pSubpassFeedback
= (VkRenderPassSubpassFeedbackInfoEXT
*)UlongToPtr(in_ext
->pSubpassFeedback
);
15688 out_header
->pNext
= (void *)out_ext
;
15689 out_header
= (void *)out_ext
;
15693 FIXME("Unhandled sType %u.", in_header
->sType
);
15699 static inline const VkSubpassDescription2
*convert_VkSubpassDescription2_array_win32_to_host(struct conversion_context
*ctx
, const VkSubpassDescription232
*in
, uint32_t count
)
15701 VkSubpassDescription2
*out
;
15704 if (!in
|| !count
) return NULL
;
15706 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15707 for (i
= 0; i
< count
; i
++)
15709 convert_VkSubpassDescription2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
15715 static inline void convert_VkSubpassDependency2_win32_to_host(struct conversion_context
*ctx
, const VkSubpassDependency232
*in
, VkSubpassDependency2
*out
)
15717 const VkBaseInStructure32
*in_header
;
15718 VkBaseOutStructure
*out_header
= (void *)out
;
15722 out
->sType
= in
->sType
;
15724 out
->srcSubpass
= in
->srcSubpass
;
15725 out
->dstSubpass
= in
->dstSubpass
;
15726 out
->srcStageMask
= in
->srcStageMask
;
15727 out
->dstStageMask
= in
->dstStageMask
;
15728 out
->srcAccessMask
= in
->srcAccessMask
;
15729 out
->dstAccessMask
= in
->dstAccessMask
;
15730 out
->dependencyFlags
= in
->dependencyFlags
;
15731 out
->viewOffset
= in
->viewOffset
;
15733 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15735 switch (in_header
->sType
)
15737 case VK_STRUCTURE_TYPE_MEMORY_BARRIER_2
:
15739 VkMemoryBarrier2
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15740 const VkMemoryBarrier232
*in_ext
= (const VkMemoryBarrier232
*)in_header
;
15741 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_BARRIER_2
;
15742 out_ext
->pNext
= NULL
;
15743 out_ext
->srcStageMask
= in_ext
->srcStageMask
;
15744 out_ext
->srcAccessMask
= in_ext
->srcAccessMask
;
15745 out_ext
->dstStageMask
= in_ext
->dstStageMask
;
15746 out_ext
->dstAccessMask
= in_ext
->dstAccessMask
;
15747 out_header
->pNext
= (void *)out_ext
;
15748 out_header
= (void *)out_ext
;
15752 FIXME("Unhandled sType %u.", in_header
->sType
);
15758 static inline const VkSubpassDependency2
*convert_VkSubpassDependency2_array_win32_to_host(struct conversion_context
*ctx
, const VkSubpassDependency232
*in
, uint32_t count
)
15760 VkSubpassDependency2
*out
;
15763 if (!in
|| !count
) return NULL
;
15765 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
15766 for (i
= 0; i
< count
; i
++)
15768 convert_VkSubpassDependency2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
15774 static inline void convert_VkRenderPassCreateInfo2_win32_to_host(struct conversion_context
*ctx
, const VkRenderPassCreateInfo232
*in
, VkRenderPassCreateInfo2
*out
)
15776 const VkBaseInStructure32
*in_header
;
15777 VkBaseOutStructure
*out_header
= (void *)out
;
15781 out
->sType
= in
->sType
;
15783 out
->flags
= in
->flags
;
15784 out
->attachmentCount
= in
->attachmentCount
;
15785 out
->pAttachments
= convert_VkAttachmentDescription2_array_win32_to_host(ctx
, (const VkAttachmentDescription232
*)UlongToPtr(in
->pAttachments
), in
->attachmentCount
);
15786 out
->subpassCount
= in
->subpassCount
;
15787 out
->pSubpasses
= convert_VkSubpassDescription2_array_win32_to_host(ctx
, (const VkSubpassDescription232
*)UlongToPtr(in
->pSubpasses
), in
->subpassCount
);
15788 out
->dependencyCount
= in
->dependencyCount
;
15789 out
->pDependencies
= convert_VkSubpassDependency2_array_win32_to_host(ctx
, (const VkSubpassDependency232
*)UlongToPtr(in
->pDependencies
), in
->dependencyCount
);
15790 out
->correlatedViewMaskCount
= in
->correlatedViewMaskCount
;
15791 out
->pCorrelatedViewMasks
= (const uint32_t *)UlongToPtr(in
->pCorrelatedViewMasks
);
15793 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15795 switch (in_header
->sType
)
15797 case VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT
:
15799 VkRenderPassFragmentDensityMapCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15800 const VkRenderPassFragmentDensityMapCreateInfoEXT32
*in_ext
= (const VkRenderPassFragmentDensityMapCreateInfoEXT32
*)in_header
;
15801 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT
;
15802 out_ext
->pNext
= NULL
;
15803 out_ext
->fragmentDensityMapAttachment
= in_ext
->fragmentDensityMapAttachment
;
15804 out_header
->pNext
= (void *)out_ext
;
15805 out_header
= (void *)out_ext
;
15808 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT
:
15810 VkRenderPassCreationControlEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15811 const VkRenderPassCreationControlEXT32
*in_ext
= (const VkRenderPassCreationControlEXT32
*)in_header
;
15812 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT
;
15813 out_ext
->pNext
= NULL
;
15814 out_ext
->disallowMerging
= in_ext
->disallowMerging
;
15815 out_header
->pNext
= (void *)out_ext
;
15816 out_header
= (void *)out_ext
;
15819 case VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT
:
15821 VkRenderPassCreationFeedbackCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15822 const VkRenderPassCreationFeedbackCreateInfoEXT32
*in_ext
= (const VkRenderPassCreationFeedbackCreateInfoEXT32
*)in_header
;
15823 out_ext
->sType
= VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT
;
15824 out_ext
->pNext
= NULL
;
15825 out_ext
->pRenderPassFeedback
= (VkRenderPassCreationFeedbackInfoEXT
*)UlongToPtr(in_ext
->pRenderPassFeedback
);
15826 out_header
->pNext
= (void *)out_ext
;
15827 out_header
= (void *)out_ext
;
15831 FIXME("Unhandled sType %u.", in_header
->sType
);
15837 static inline void convert_VkSamplerCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkSamplerCreateInfo32
*in
, VkSamplerCreateInfo
*out
)
15839 const VkBaseInStructure32
*in_header
;
15840 VkBaseOutStructure
*out_header
= (void *)out
;
15844 out
->sType
= in
->sType
;
15846 out
->flags
= in
->flags
;
15847 out
->magFilter
= in
->magFilter
;
15848 out
->minFilter
= in
->minFilter
;
15849 out
->mipmapMode
= in
->mipmapMode
;
15850 out
->addressModeU
= in
->addressModeU
;
15851 out
->addressModeV
= in
->addressModeV
;
15852 out
->addressModeW
= in
->addressModeW
;
15853 out
->mipLodBias
= in
->mipLodBias
;
15854 out
->anisotropyEnable
= in
->anisotropyEnable
;
15855 out
->maxAnisotropy
= in
->maxAnisotropy
;
15856 out
->compareEnable
= in
->compareEnable
;
15857 out
->compareOp
= in
->compareOp
;
15858 out
->minLod
= in
->minLod
;
15859 out
->maxLod
= in
->maxLod
;
15860 out
->borderColor
= in
->borderColor
;
15861 out
->unnormalizedCoordinates
= in
->unnormalizedCoordinates
;
15863 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15865 switch (in_header
->sType
)
15867 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
:
15869 VkSamplerYcbcrConversionInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15870 const VkSamplerYcbcrConversionInfo32
*in_ext
= (const VkSamplerYcbcrConversionInfo32
*)in_header
;
15871 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO
;
15872 out_ext
->pNext
= NULL
;
15873 out_ext
->conversion
= in_ext
->conversion
;
15874 out_header
->pNext
= (void *)out_ext
;
15875 out_header
= (void *)out_ext
;
15878 case VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO
:
15880 VkSamplerReductionModeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15881 const VkSamplerReductionModeCreateInfo32
*in_ext
= (const VkSamplerReductionModeCreateInfo32
*)in_header
;
15882 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO
;
15883 out_ext
->pNext
= NULL
;
15884 out_ext
->reductionMode
= in_ext
->reductionMode
;
15885 out_header
->pNext
= (void *)out_ext
;
15886 out_header
= (void *)out_ext
;
15889 case VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT
:
15891 VkSamplerCustomBorderColorCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15892 const VkSamplerCustomBorderColorCreateInfoEXT32
*in_ext
= (const VkSamplerCustomBorderColorCreateInfoEXT32
*)in_header
;
15893 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT
;
15894 out_ext
->pNext
= NULL
;
15895 out_ext
->customBorderColor
= in_ext
->customBorderColor
;
15896 out_ext
->format
= in_ext
->format
;
15897 out_header
->pNext
= (void *)out_ext
;
15898 out_header
= (void *)out_ext
;
15901 case VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT
:
15903 VkSamplerBorderColorComponentMappingCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15904 const VkSamplerBorderColorComponentMappingCreateInfoEXT32
*in_ext
= (const VkSamplerBorderColorComponentMappingCreateInfoEXT32
*)in_header
;
15905 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT
;
15906 out_ext
->pNext
= NULL
;
15907 out_ext
->components
= in_ext
->components
;
15908 out_ext
->srgb
= in_ext
->srgb
;
15909 out_header
->pNext
= (void *)out_ext
;
15910 out_header
= (void *)out_ext
;
15913 case VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
:
15915 VkOpaqueCaptureDescriptorDataCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15916 const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*in_ext
= (const VkOpaqueCaptureDescriptorDataCreateInfoEXT32
*)in_header
;
15917 out_ext
->sType
= VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT
;
15918 out_ext
->pNext
= NULL
;
15919 out_ext
->opaqueCaptureDescriptorData
= (const void *)UlongToPtr(in_ext
->opaqueCaptureDescriptorData
);
15920 out_header
->pNext
= (void *)out_ext
;
15921 out_header
= (void *)out_ext
;
15925 FIXME("Unhandled sType %u.", in_header
->sType
);
15931 static inline void convert_VkSamplerYcbcrConversionCreateInfo_win32_to_host(const VkSamplerYcbcrConversionCreateInfo32
*in
, VkSamplerYcbcrConversionCreateInfo
*out
)
15935 out
->sType
= in
->sType
;
15937 out
->format
= in
->format
;
15938 out
->ycbcrModel
= in
->ycbcrModel
;
15939 out
->ycbcrRange
= in
->ycbcrRange
;
15940 out
->components
= in
->components
;
15941 out
->xChromaOffset
= in
->xChromaOffset
;
15942 out
->yChromaOffset
= in
->yChromaOffset
;
15943 out
->chromaFilter
= in
->chromaFilter
;
15944 out
->forceExplicitReconstruction
= in
->forceExplicitReconstruction
;
15946 FIXME("Unexpected pNext\n");
15949 static inline void convert_VkSemaphoreCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkSemaphoreCreateInfo32
*in
, VkSemaphoreCreateInfo
*out
)
15951 const VkBaseInStructure32
*in_header
;
15952 VkBaseOutStructure
*out_header
= (void *)out
;
15956 out
->sType
= in
->sType
;
15958 out
->flags
= in
->flags
;
15960 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
15962 switch (in_header
->sType
)
15964 case VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO
:
15966 VkExportSemaphoreCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15967 const VkExportSemaphoreCreateInfo32
*in_ext
= (const VkExportSemaphoreCreateInfo32
*)in_header
;
15968 out_ext
->sType
= VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO
;
15969 out_ext
->pNext
= NULL
;
15970 out_ext
->handleTypes
= in_ext
->handleTypes
;
15971 out_header
->pNext
= (void *)out_ext
;
15972 out_header
= (void *)out_ext
;
15975 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO
:
15977 VkSemaphoreTypeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
15978 const VkSemaphoreTypeCreateInfo32
*in_ext
= (const VkSemaphoreTypeCreateInfo32
*)in_header
;
15979 out_ext
->sType
= VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO
;
15980 out_ext
->pNext
= NULL
;
15981 out_ext
->semaphoreType
= in_ext
->semaphoreType
;
15982 out_ext
->initialValue
= in_ext
->initialValue
;
15983 out_header
->pNext
= (void *)out_ext
;
15984 out_header
= (void *)out_ext
;
15988 FIXME("Unhandled sType %u.", in_header
->sType
);
15994 static inline void convert_VkShaderModuleCreateInfo_win32_to_host(struct conversion_context
*ctx
, const VkShaderModuleCreateInfo32
*in
, VkShaderModuleCreateInfo
*out
)
15996 const VkBaseInStructure32
*in_header
;
15997 VkBaseOutStructure
*out_header
= (void *)out
;
16001 out
->sType
= in
->sType
;
16003 out
->flags
= in
->flags
;
16004 out
->codeSize
= in
->codeSize
;
16005 out
->pCode
= (const uint32_t *)UlongToPtr(in
->pCode
);
16007 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
16009 switch (in_header
->sType
)
16011 case VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
:
16013 VkShaderModuleValidationCacheCreateInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
16014 const VkShaderModuleValidationCacheCreateInfoEXT32
*in_ext
= (const VkShaderModuleValidationCacheCreateInfoEXT32
*)in_header
;
16015 out_ext
->sType
= VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
;
16016 out_ext
->pNext
= NULL
;
16017 out_ext
->validationCache
= in_ext
->validationCache
;
16018 out_header
->pNext
= (void *)out_ext
;
16019 out_header
= (void *)out_ext
;
16023 FIXME("Unhandled sType %u.", in_header
->sType
);
16030 static inline void convert_VkSwapchainCreateInfoKHR_win64_to_host(const VkSwapchainCreateInfoKHR
*in
, VkSwapchainCreateInfoKHR
*out
)
16034 out
->sType
= in
->sType
;
16035 out
->pNext
= in
->pNext
;
16036 out
->flags
= in
->flags
;
16037 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
16038 out
->minImageCount
= in
->minImageCount
;
16039 out
->imageFormat
= in
->imageFormat
;
16040 out
->imageColorSpace
= in
->imageColorSpace
;
16041 out
->imageExtent
= in
->imageExtent
;
16042 out
->imageArrayLayers
= in
->imageArrayLayers
;
16043 out
->imageUsage
= in
->imageUsage
;
16044 out
->imageSharingMode
= in
->imageSharingMode
;
16045 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
16046 out
->pQueueFamilyIndices
= in
->pQueueFamilyIndices
;
16047 out
->preTransform
= in
->preTransform
;
16048 out
->compositeAlpha
= in
->compositeAlpha
;
16049 out
->presentMode
= in
->presentMode
;
16050 out
->clipped
= in
->clipped
;
16051 out
->oldSwapchain
= in
->oldSwapchain
;
16053 #endif /* _WIN64 */
16055 static inline void convert_VkSwapchainCreateInfoKHR_win32_to_host(struct conversion_context
*ctx
, const VkSwapchainCreateInfoKHR32
*in
, VkSwapchainCreateInfoKHR
*out
)
16057 const VkBaseInStructure32
*in_header
;
16058 VkBaseOutStructure
*out_header
= (void *)out
;
16062 out
->sType
= in
->sType
;
16064 out
->flags
= in
->flags
;
16065 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
16066 out
->minImageCount
= in
->minImageCount
;
16067 out
->imageFormat
= in
->imageFormat
;
16068 out
->imageColorSpace
= in
->imageColorSpace
;
16069 out
->imageExtent
= in
->imageExtent
;
16070 out
->imageArrayLayers
= in
->imageArrayLayers
;
16071 out
->imageUsage
= in
->imageUsage
;
16072 out
->imageSharingMode
= in
->imageSharingMode
;
16073 out
->queueFamilyIndexCount
= in
->queueFamilyIndexCount
;
16074 out
->pQueueFamilyIndices
= (const uint32_t *)UlongToPtr(in
->pQueueFamilyIndices
);
16075 out
->preTransform
= in
->preTransform
;
16076 out
->compositeAlpha
= in
->compositeAlpha
;
16077 out
->presentMode
= in
->presentMode
;
16078 out
->clipped
= in
->clipped
;
16079 out
->oldSwapchain
= in
->oldSwapchain
;
16081 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
16083 switch (in_header
->sType
)
16085 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR
:
16087 VkDeviceGroupSwapchainCreateInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
16088 const VkDeviceGroupSwapchainCreateInfoKHR32
*in_ext
= (const VkDeviceGroupSwapchainCreateInfoKHR32
*)in_header
;
16089 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_SWAPCHAIN_CREATE_INFO_KHR
;
16090 out_ext
->pNext
= NULL
;
16091 out_ext
->modes
= in_ext
->modes
;
16092 out_header
->pNext
= (void *)out_ext
;
16093 out_header
= (void *)out_ext
;
16096 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
:
16098 VkImageFormatListCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
16099 const VkImageFormatListCreateInfo32
*in_ext
= (const VkImageFormatListCreateInfo32
*)in_header
;
16100 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
;
16101 out_ext
->pNext
= NULL
;
16102 out_ext
->viewFormatCount
= in_ext
->viewFormatCount
;
16103 out_ext
->pViewFormats
= (const VkFormat
*)UlongToPtr(in_ext
->pViewFormats
);
16104 out_header
->pNext
= (void *)out_ext
;
16105 out_header
= (void *)out_ext
;
16108 case VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV
:
16110 VkSwapchainPresentBarrierCreateInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
16111 const VkSwapchainPresentBarrierCreateInfoNV32
*in_ext
= (const VkSwapchainPresentBarrierCreateInfoNV32
*)in_header
;
16112 out_ext
->sType
= VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV
;
16113 out_ext
->pNext
= NULL
;
16114 out_ext
->presentBarrierEnable
= in_ext
->presentBarrierEnable
;
16115 out_header
->pNext
= (void *)out_ext
;
16116 out_header
= (void *)out_ext
;
16119 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT
:
16121 VkImageCompressionControlEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
16122 const VkImageCompressionControlEXT32
*in_ext
= (const VkImageCompressionControlEXT32
*)in_header
;
16123 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT
;
16124 out_ext
->pNext
= NULL
;
16125 out_ext
->flags
= in_ext
->flags
;
16126 out_ext
->compressionControlPlaneCount
= in_ext
->compressionControlPlaneCount
;
16127 out_ext
->pFixedRateFlags
= (VkImageCompressionFixedRateFlagsEXT
*)UlongToPtr(in_ext
->pFixedRateFlags
);
16128 out_header
->pNext
= (void *)out_ext
;
16129 out_header
= (void *)out_ext
;
16133 FIXME("Unhandled sType %u.", in_header
->sType
);
16139 static inline void convert_VkValidationCacheCreateInfoEXT_win32_to_host(const VkValidationCacheCreateInfoEXT32
*in
, VkValidationCacheCreateInfoEXT
*out
)
16143 out
->sType
= in
->sType
;
16145 out
->flags
= in
->flags
;
16146 out
->initialDataSize
= in
->initialDataSize
;
16147 out
->pInitialData
= (const void *)UlongToPtr(in
->pInitialData
);
16149 FIXME("Unexpected pNext\n");
16152 static inline void convert_VkWin32SurfaceCreateInfoKHR_win32_to_host(const VkWin32SurfaceCreateInfoKHR32
*in
, VkWin32SurfaceCreateInfoKHR
*out
)
16156 out
->sType
= in
->sType
;
16158 out
->flags
= in
->flags
;
16159 out
->hinstance
= (HINSTANCE
)UlongToPtr(in
->hinstance
);
16160 out
->hwnd
= (HWND
)UlongToPtr(in
->hwnd
);
16162 FIXME("Unexpected pNext\n");
16166 static inline void convert_VkDebugMarkerObjectNameInfoEXT_win64_to_host(const VkDebugMarkerObjectNameInfoEXT
*in
, VkDebugMarkerObjectNameInfoEXT
*out
)
16170 out
->sType
= in
->sType
;
16171 out
->pNext
= in
->pNext
;
16172 out
->objectType
= in
->objectType
;
16173 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
16174 out
->pObjectName
= in
->pObjectName
;
16176 #endif /* _WIN64 */
16178 static inline void convert_VkDebugMarkerObjectNameInfoEXT_win32_to_host(const VkDebugMarkerObjectNameInfoEXT32
*in
, VkDebugMarkerObjectNameInfoEXT
*out
)
16182 out
->sType
= in
->sType
;
16184 out
->objectType
= in
->objectType
;
16185 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
16186 out
->pObjectName
= (const char *)UlongToPtr(in
->pObjectName
);
16188 FIXME("Unexpected pNext\n");
16192 static inline void convert_VkDebugMarkerObjectTagInfoEXT_win64_to_host(const VkDebugMarkerObjectTagInfoEXT
*in
, VkDebugMarkerObjectTagInfoEXT
*out
)
16196 out
->sType
= in
->sType
;
16197 out
->pNext
= in
->pNext
;
16198 out
->objectType
= in
->objectType
;
16199 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
16200 out
->tagName
= in
->tagName
;
16201 out
->tagSize
= in
->tagSize
;
16202 out
->pTag
= in
->pTag
;
16204 #endif /* _WIN64 */
16206 static inline void convert_VkDebugMarkerObjectTagInfoEXT_win32_to_host(const VkDebugMarkerObjectTagInfoEXT32
*in
, VkDebugMarkerObjectTagInfoEXT
*out
)
16210 out
->sType
= in
->sType
;
16212 out
->objectType
= in
->objectType
;
16213 out
->object
= wine_vk_unwrap_handle(in
->objectType
, in
->object
);
16214 out
->tagName
= in
->tagName
;
16215 out
->tagSize
= in
->tagSize
;
16216 out
->pTag
= (const void *)UlongToPtr(in
->pTag
);
16218 FIXME("Unexpected pNext\n");
16221 static inline void convert_VkPhysicalDevice_array_unwrapped_host_to_win32(const VkPhysicalDevice
*in
, PTR32
*out
, uint32_t count
)
16227 for (i
= 0; i
< count
; i
++)
16229 out
[i
] = PtrToUlong(in
[i
]);
16233 static inline void convert_VkPhysicalDeviceGroupProperties_win32_to_unwrapped_host(const VkPhysicalDeviceGroupProperties32
*in
, VkPhysicalDeviceGroupProperties
*out
)
16237 out
->sType
= in
->sType
;
16240 FIXME("Unexpected pNext\n");
16243 static inline void convert_VkPhysicalDeviceGroupProperties_unwrapped_host_to_win32(const VkPhysicalDeviceGroupProperties
*in
, VkPhysicalDeviceGroupProperties32
*out
)
16247 out
->physicalDeviceCount
= in
->physicalDeviceCount
;
16248 convert_VkPhysicalDevice_array_unwrapped_host_to_win32(in
->physicalDevices
, out
->physicalDevices
, VK_MAX_DEVICE_GROUP_SIZE
);
16249 out
->subsetAllocation
= in
->subsetAllocation
;
16252 static inline VkPhysicalDeviceGroupProperties
*convert_VkPhysicalDeviceGroupProperties_array_win32_to_unwrapped_host(struct conversion_context
*ctx
, const VkPhysicalDeviceGroupProperties32
*in
, uint32_t count
)
16254 VkPhysicalDeviceGroupProperties
*out
;
16257 if (!in
|| !count
) return NULL
;
16259 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16260 for (i
= 0; i
< count
; i
++)
16262 convert_VkPhysicalDeviceGroupProperties_win32_to_unwrapped_host(&in
[i
], &out
[i
]);
16268 static inline void convert_VkPhysicalDeviceGroupProperties_array_unwrapped_host_to_win32(const VkPhysicalDeviceGroupProperties
*in
, VkPhysicalDeviceGroupProperties32
*out
, uint32_t count
)
16274 for (i
= 0; i
< count
; i
++)
16276 convert_VkPhysicalDeviceGroupProperties_unwrapped_host_to_win32(&in
[i
], &out
[i
]);
16280 static inline void convert_VkPerformanceCounterKHR_win32_to_host(const VkPerformanceCounterKHR32
*in
, VkPerformanceCounterKHR
*out
)
16284 out
->sType
= in
->sType
;
16287 FIXME("Unexpected pNext\n");
16290 static inline void convert_VkPerformanceCounterKHR_host_to_win32(const VkPerformanceCounterKHR
*in
, VkPerformanceCounterKHR32
*out
)
16294 out
->unit
= in
->unit
;
16295 out
->scope
= in
->scope
;
16296 out
->storage
= in
->storage
;
16297 memcpy(out
->uuid
, in
->uuid
, VK_UUID_SIZE
* sizeof(uint8_t));
16300 static inline VkPerformanceCounterKHR
*convert_VkPerformanceCounterKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkPerformanceCounterKHR32
*in
, uint32_t count
)
16302 VkPerformanceCounterKHR
*out
;
16305 if (!in
|| !count
) return NULL
;
16307 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16308 for (i
= 0; i
< count
; i
++)
16310 convert_VkPerformanceCounterKHR_win32_to_host(&in
[i
], &out
[i
]);
16316 static inline void convert_VkPerformanceCounterKHR_array_host_to_win32(const VkPerformanceCounterKHR
*in
, VkPerformanceCounterKHR32
*out
, uint32_t count
)
16322 for (i
= 0; i
< count
; i
++)
16324 convert_VkPerformanceCounterKHR_host_to_win32(&in
[i
], &out
[i
]);
16328 static inline void convert_VkPerformanceCounterDescriptionKHR_win32_to_host(const VkPerformanceCounterDescriptionKHR32
*in
, VkPerformanceCounterDescriptionKHR
*out
)
16332 out
->sType
= in
->sType
;
16335 FIXME("Unexpected pNext\n");
16338 static inline void convert_VkPerformanceCounterDescriptionKHR_host_to_win32(const VkPerformanceCounterDescriptionKHR
*in
, VkPerformanceCounterDescriptionKHR32
*out
)
16342 out
->flags
= in
->flags
;
16343 memcpy(out
->name
, in
->name
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
16344 memcpy(out
->category
, in
->category
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
16345 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
16348 static inline VkPerformanceCounterDescriptionKHR
*convert_VkPerformanceCounterDescriptionKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkPerformanceCounterDescriptionKHR32
*in
, uint32_t count
)
16350 VkPerformanceCounterDescriptionKHR
*out
;
16353 if (!in
|| !count
) return NULL
;
16355 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16356 for (i
= 0; i
< count
; i
++)
16358 convert_VkPerformanceCounterDescriptionKHR_win32_to_host(&in
[i
], &out
[i
]);
16364 static inline void convert_VkPerformanceCounterDescriptionKHR_array_host_to_win32(const VkPerformanceCounterDescriptionKHR
*in
, VkPerformanceCounterDescriptionKHR32
*out
, uint32_t count
)
16370 for (i
= 0; i
< count
; i
++)
16372 convert_VkPerformanceCounterDescriptionKHR_host_to_win32(&in
[i
], &out
[i
]);
16376 static inline void convert_VkMappedMemoryRange_win32_to_host(const VkMappedMemoryRange32
*in
, VkMappedMemoryRange
*out
)
16380 out
->sType
= in
->sType
;
16382 out
->memory
= in
->memory
;
16383 out
->offset
= in
->offset
;
16384 out
->size
= in
->size
;
16386 FIXME("Unexpected pNext\n");
16389 static inline const VkMappedMemoryRange
*convert_VkMappedMemoryRange_array_win32_to_host(struct conversion_context
*ctx
, const VkMappedMemoryRange32
*in
, uint32_t count
)
16391 VkMappedMemoryRange
*out
;
16394 if (!in
|| !count
) return NULL
;
16396 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16397 for (i
= 0; i
< count
; i
++)
16399 convert_VkMappedMemoryRange_win32_to_host(&in
[i
], &out
[i
]);
16405 static inline void convert_VkAccelerationStructureBuildSizesInfoKHR_win32_to_host(const VkAccelerationStructureBuildSizesInfoKHR32
*in
, VkAccelerationStructureBuildSizesInfoKHR
*out
)
16409 out
->sType
= in
->sType
;
16411 out
->accelerationStructureSize
= in
->accelerationStructureSize
;
16412 out
->updateScratchSize
= in
->updateScratchSize
;
16413 out
->buildScratchSize
= in
->buildScratchSize
;
16415 FIXME("Unexpected pNext\n");
16418 static inline void convert_VkAccelerationStructureBuildSizesInfoKHR_host_to_win32(const VkAccelerationStructureBuildSizesInfoKHR
*in
, VkAccelerationStructureBuildSizesInfoKHR32
*out
)
16422 out
->accelerationStructureSize
= in
->accelerationStructureSize
;
16423 out
->updateScratchSize
= in
->updateScratchSize
;
16424 out
->buildScratchSize
= in
->buildScratchSize
;
16427 static inline void convert_VkAccelerationStructureDeviceAddressInfoKHR_win32_to_host(const VkAccelerationStructureDeviceAddressInfoKHR32
*in
, VkAccelerationStructureDeviceAddressInfoKHR
*out
)
16431 out
->sType
= in
->sType
;
16433 out
->accelerationStructure
= in
->accelerationStructure
;
16435 FIXME("Unexpected pNext\n");
16438 static inline void convert_VkAccelerationStructureMemoryRequirementsInfoNV_win32_to_host(const VkAccelerationStructureMemoryRequirementsInfoNV32
*in
, VkAccelerationStructureMemoryRequirementsInfoNV
*out
)
16442 out
->sType
= in
->sType
;
16444 out
->type
= in
->type
;
16445 out
->accelerationStructure
= in
->accelerationStructure
;
16447 FIXME("Unexpected pNext\n");
16450 static inline void convert_VkMemoryRequirements_host_to_win32(const VkMemoryRequirements
*in
, VkMemoryRequirements32
*out
)
16454 out
->size
= in
->size
;
16455 out
->alignment
= in
->alignment
;
16456 out
->memoryTypeBits
= in
->memoryTypeBits
;
16459 static inline void convert_VkMemoryRequirements2KHR_win32_to_host(const VkMemoryRequirements2KHR32
*in
, VkMemoryRequirements2KHR
*out
)
16463 out
->sType
= in
->sType
;
16466 FIXME("Unexpected pNext\n");
16469 static inline void convert_VkMemoryRequirements2KHR_host_to_win32(const VkMemoryRequirements2KHR
*in
, VkMemoryRequirements2KHR32
*out
)
16473 convert_VkMemoryRequirements_host_to_win32(&in
->memoryRequirements
, &out
->memoryRequirements
);
16476 static inline void convert_VkAccelerationStructureCaptureDescriptorDataInfoEXT_win32_to_host(const VkAccelerationStructureCaptureDescriptorDataInfoEXT32
*in
, VkAccelerationStructureCaptureDescriptorDataInfoEXT
*out
)
16480 out
->sType
= in
->sType
;
16482 out
->accelerationStructure
= in
->accelerationStructure
;
16483 out
->accelerationStructureNV
= in
->accelerationStructureNV
;
16485 FIXME("Unexpected pNext\n");
16488 static inline void convert_VkBufferDeviceAddressInfo_win32_to_host(const VkBufferDeviceAddressInfo32
*in
, VkBufferDeviceAddressInfo
*out
)
16492 out
->sType
= in
->sType
;
16494 out
->buffer
= in
->buffer
;
16496 FIXME("Unexpected pNext\n");
16499 static inline void convert_VkBufferMemoryRequirementsInfo2_win32_to_host(const VkBufferMemoryRequirementsInfo232
*in
, VkBufferMemoryRequirementsInfo2
*out
)
16503 out
->sType
= in
->sType
;
16505 out
->buffer
= in
->buffer
;
16507 FIXME("Unexpected pNext\n");
16510 static inline void convert_VkMemoryRequirements2_win32_to_host(struct conversion_context
*ctx
, const VkMemoryRequirements232
*in
, VkMemoryRequirements2
*out
)
16512 const VkBaseInStructure32
*in_header
;
16513 VkBaseOutStructure
*out_header
= (void *)out
;
16517 out
->sType
= in
->sType
;
16520 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
16522 switch (in_header
->sType
)
16524 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS
:
16526 VkMemoryDedicatedRequirements
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
16527 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS
;
16528 out_ext
->pNext
= NULL
;
16529 out_header
->pNext
= (void *)out_ext
;
16530 out_header
= (void *)out_ext
;
16534 FIXME("Unhandled sType %u.", in_header
->sType
);
16540 static inline void convert_VkMemoryRequirements2_host_to_win32(const VkMemoryRequirements2
*in
, VkMemoryRequirements232
*out
)
16542 const VkBaseInStructure
*in_header
;
16543 VkBaseOutStructure32
*out_header
= (void *)out
;
16547 convert_VkMemoryRequirements_host_to_win32(&in
->memoryRequirements
, &out
->memoryRequirements
);
16549 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
16551 switch (in_header
->sType
)
16553 case VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS
:
16555 VkMemoryDedicatedRequirements32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS
);
16556 const VkMemoryDedicatedRequirements
*in_ext
= (const VkMemoryDedicatedRequirements
*)in_header
;
16557 out_ext
->sType
= VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS
;
16558 out_ext
->prefersDedicatedAllocation
= in_ext
->prefersDedicatedAllocation
;
16559 out_ext
->requiresDedicatedAllocation
= in_ext
->requiresDedicatedAllocation
;
16560 out_header
= (void *)out_ext
;
16569 static inline void convert_VkBufferCaptureDescriptorDataInfoEXT_win32_to_host(const VkBufferCaptureDescriptorDataInfoEXT32
*in
, VkBufferCaptureDescriptorDataInfoEXT
*out
)
16573 out
->sType
= in
->sType
;
16575 out
->buffer
= in
->buffer
;
16577 FIXME("Unexpected pNext\n");
16580 static inline void convert_VkCalibratedTimestampInfoEXT_win32_to_host(const VkCalibratedTimestampInfoEXT32
*in
, VkCalibratedTimestampInfoEXT
*out
)
16584 out
->sType
= in
->sType
;
16586 out
->timeDomain
= in
->timeDomain
;
16588 FIXME("Unexpected pNext\n");
16591 static inline const VkCalibratedTimestampInfoEXT
*convert_VkCalibratedTimestampInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkCalibratedTimestampInfoEXT32
*in
, uint32_t count
)
16593 VkCalibratedTimestampInfoEXT
*out
;
16596 if (!in
|| !count
) return NULL
;
16598 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16599 for (i
= 0; i
< count
; i
++)
16601 convert_VkCalibratedTimestampInfoEXT_win32_to_host(&in
[i
], &out
[i
]);
16607 static inline void convert_VkDescriptorAddressInfoEXT_win32_to_host(const VkDescriptorAddressInfoEXT32
*in
, VkDescriptorAddressInfoEXT
*out
)
16611 out
->sType
= in
->sType
;
16613 out
->address
= in
->address
;
16614 out
->range
= in
->range
;
16615 out
->format
= in
->format
;
16617 FIXME("Unexpected pNext\n");
16620 static inline const VkDescriptorAddressInfoEXT
*convert_VkDescriptorAddressInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorAddressInfoEXT32
*in
, uint32_t count
)
16622 VkDescriptorAddressInfoEXT
*out
;
16625 if (!in
|| !count
) return NULL
;
16627 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16628 for (i
= 0; i
< count
; i
++)
16630 convert_VkDescriptorAddressInfoEXT_win32_to_host(&in
[i
], &out
[i
]);
16636 static inline void convert_VkDescriptorDataEXT_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorDataEXT32
*in
, VkDescriptorDataEXT
*out
, VkFlags selector
)
16640 if (selector
== VK_DESCRIPTOR_TYPE_SAMPLER
)
16641 out
->pSampler
= (const VkSampler
*)UlongToPtr(in
->pSampler
);
16642 if (selector
== VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
)
16643 out
->pCombinedImageSampler
= convert_VkDescriptorImageInfo_array_win32_to_host(ctx
, (const VkDescriptorImageInfo32
*)UlongToPtr(in
->pCombinedImageSampler
), 1);
16644 if (selector
== VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
)
16645 out
->pInputAttachmentImage
= convert_VkDescriptorImageInfo_array_win32_to_host(ctx
, (const VkDescriptorImageInfo32
*)UlongToPtr(in
->pInputAttachmentImage
), 1);
16646 if (selector
== VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
)
16647 out
->pSampledImage
= convert_VkDescriptorImageInfo_array_win32_to_host(ctx
, (const VkDescriptorImageInfo32
*)UlongToPtr(in
->pSampledImage
), 1);
16648 if (selector
== VK_DESCRIPTOR_TYPE_STORAGE_IMAGE
)
16649 out
->pStorageImage
= convert_VkDescriptorImageInfo_array_win32_to_host(ctx
, (const VkDescriptorImageInfo32
*)UlongToPtr(in
->pStorageImage
), 1);
16650 if (selector
== VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
)
16651 out
->pUniformTexelBuffer
= convert_VkDescriptorAddressInfoEXT_array_win32_to_host(ctx
, (const VkDescriptorAddressInfoEXT32
*)UlongToPtr(in
->pUniformTexelBuffer
), 1);
16652 if (selector
== VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
)
16653 out
->pStorageTexelBuffer
= convert_VkDescriptorAddressInfoEXT_array_win32_to_host(ctx
, (const VkDescriptorAddressInfoEXT32
*)UlongToPtr(in
->pStorageTexelBuffer
), 1);
16654 if (selector
== VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
)
16655 out
->pUniformBuffer
= convert_VkDescriptorAddressInfoEXT_array_win32_to_host(ctx
, (const VkDescriptorAddressInfoEXT32
*)UlongToPtr(in
->pUniformBuffer
), 1);
16656 if (selector
== VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
)
16657 out
->pStorageBuffer
= convert_VkDescriptorAddressInfoEXT_array_win32_to_host(ctx
, (const VkDescriptorAddressInfoEXT32
*)UlongToPtr(in
->pStorageBuffer
), 1);
16658 if (selector
== VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR
|| selector
== VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV
)
16659 out
->accelerationStructure
= in
->accelerationStructure
;
16662 static inline void convert_VkDescriptorGetInfoEXT_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorGetInfoEXT32
*in
, VkDescriptorGetInfoEXT
*out
)
16666 out
->sType
= in
->sType
;
16668 out
->type
= in
->type
;
16669 convert_VkDescriptorDataEXT_win32_to_host(ctx
, &in
->data
, &out
->data
, in
->type
);
16671 FIXME("Unexpected pNext\n");
16674 static inline void convert_VkDescriptorSetBindingReferenceVALVE_win32_to_host(const VkDescriptorSetBindingReferenceVALVE32
*in
, VkDescriptorSetBindingReferenceVALVE
*out
)
16678 out
->sType
= in
->sType
;
16680 out
->descriptorSetLayout
= in
->descriptorSetLayout
;
16681 out
->binding
= in
->binding
;
16683 FIXME("Unexpected pNext\n");
16686 static inline void convert_VkDescriptorSetLayoutHostMappingInfoVALVE_win32_to_host(const VkDescriptorSetLayoutHostMappingInfoVALVE32
*in
, VkDescriptorSetLayoutHostMappingInfoVALVE
*out
)
16690 out
->sType
= in
->sType
;
16692 out
->descriptorOffset
= in
->descriptorOffset
;
16693 out
->descriptorSize
= in
->descriptorSize
;
16695 FIXME("Unexpected pNext\n");
16698 static inline void convert_VkDescriptorSetLayoutHostMappingInfoVALVE_host_to_win32(const VkDescriptorSetLayoutHostMappingInfoVALVE
*in
, VkDescriptorSetLayoutHostMappingInfoVALVE32
*out
)
16702 out
->descriptorOffset
= in
->descriptorOffset
;
16703 out
->descriptorSize
= in
->descriptorSize
;
16706 static inline void convert_VkDescriptorSetLayoutSupport_win32_to_host(struct conversion_context
*ctx
, const VkDescriptorSetLayoutSupport32
*in
, VkDescriptorSetLayoutSupport
*out
)
16708 const VkBaseInStructure32
*in_header
;
16709 VkBaseOutStructure
*out_header
= (void *)out
;
16713 out
->sType
= in
->sType
;
16716 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
16718 switch (in_header
->sType
)
16720 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT
:
16722 VkDescriptorSetVariableDescriptorCountLayoutSupport
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
16723 out_ext
->sType
= VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT
;
16724 out_ext
->pNext
= NULL
;
16725 out_header
->pNext
= (void *)out_ext
;
16726 out_header
= (void *)out_ext
;
16730 FIXME("Unhandled sType %u.", in_header
->sType
);
16736 static inline void convert_VkDescriptorSetLayoutSupport_host_to_win32(const VkDescriptorSetLayoutSupport
*in
, VkDescriptorSetLayoutSupport32
*out
)
16738 const VkBaseInStructure
*in_header
;
16739 VkBaseOutStructure32
*out_header
= (void *)out
;
16743 out
->supported
= in
->supported
;
16745 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
16747 switch (in_header
->sType
)
16749 case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT
:
16751 VkDescriptorSetVariableDescriptorCountLayoutSupport32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT
);
16752 const VkDescriptorSetVariableDescriptorCountLayoutSupport
*in_ext
= (const VkDescriptorSetVariableDescriptorCountLayoutSupport
*)in_header
;
16753 out_ext
->sType
= VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT
;
16754 out_ext
->maxVariableDescriptorCount
= in_ext
->maxVariableDescriptorCount
;
16755 out_header
= (void *)out_ext
;
16764 static inline void convert_VkAccelerationStructureVersionInfoKHR_win32_to_host(const VkAccelerationStructureVersionInfoKHR32
*in
, VkAccelerationStructureVersionInfoKHR
*out
)
16768 out
->sType
= in
->sType
;
16770 out
->pVersionData
= (const uint8_t *)UlongToPtr(in
->pVersionData
);
16772 FIXME("Unexpected pNext\n");
16775 static inline const VkBufferCreateInfo
*convert_VkBufferCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkBufferCreateInfo32
*in
, uint32_t count
)
16777 VkBufferCreateInfo
*out
;
16780 if (!in
|| !count
) return NULL
;
16782 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16783 for (i
= 0; i
< count
; i
++)
16785 convert_VkBufferCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
16791 static inline void convert_VkDeviceBufferMemoryRequirements_win32_to_host(struct conversion_context
*ctx
, const VkDeviceBufferMemoryRequirements32
*in
, VkDeviceBufferMemoryRequirements
*out
)
16795 out
->sType
= in
->sType
;
16797 out
->pCreateInfo
= convert_VkBufferCreateInfo_array_win32_to_host(ctx
, (const VkBufferCreateInfo32
*)UlongToPtr(in
->pCreateInfo
), 1);
16799 FIXME("Unexpected pNext\n");
16802 static inline void convert_VkDeviceFaultCountsEXT_win32_to_host(const VkDeviceFaultCountsEXT32
*in
, VkDeviceFaultCountsEXT
*out
)
16806 out
->sType
= in
->sType
;
16808 out
->addressInfoCount
= in
->addressInfoCount
;
16809 out
->vendorInfoCount
= in
->vendorInfoCount
;
16810 out
->vendorBinarySize
= in
->vendorBinarySize
;
16812 FIXME("Unexpected pNext\n");
16815 static inline void convert_VkDeviceFaultCountsEXT_host_to_win32(const VkDeviceFaultCountsEXT
*in
, VkDeviceFaultCountsEXT32
*out
)
16819 out
->addressInfoCount
= in
->addressInfoCount
;
16820 out
->vendorInfoCount
= in
->vendorInfoCount
;
16821 out
->vendorBinarySize
= in
->vendorBinarySize
;
16824 static inline void convert_VkDeviceFaultAddressInfoEXT_win32_to_host(const VkDeviceFaultAddressInfoEXT32
*in
, VkDeviceFaultAddressInfoEXT
*out
)
16828 out
->addressType
= in
->addressType
;
16829 out
->reportedAddress
= in
->reportedAddress
;
16830 out
->addressPrecision
= in
->addressPrecision
;
16833 static inline void convert_VkDeviceFaultAddressInfoEXT_host_to_win32(const VkDeviceFaultAddressInfoEXT
*in
, VkDeviceFaultAddressInfoEXT32
*out
)
16837 out
->addressType
= in
->addressType
;
16838 out
->reportedAddress
= in
->reportedAddress
;
16839 out
->addressPrecision
= in
->addressPrecision
;
16842 static inline VkDeviceFaultAddressInfoEXT
*convert_VkDeviceFaultAddressInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkDeviceFaultAddressInfoEXT32
*in
, uint32_t count
)
16844 VkDeviceFaultAddressInfoEXT
*out
;
16847 if (!in
|| !count
) return NULL
;
16849 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16850 for (i
= 0; i
< count
; i
++)
16852 convert_VkDeviceFaultAddressInfoEXT_win32_to_host(&in
[i
], &out
[i
]);
16858 static inline void convert_VkDeviceFaultAddressInfoEXT_array_host_to_win32(const VkDeviceFaultAddressInfoEXT
*in
, VkDeviceFaultAddressInfoEXT32
*out
, uint32_t count
)
16864 for (i
= 0; i
< count
; i
++)
16866 convert_VkDeviceFaultAddressInfoEXT_host_to_win32(&in
[i
], &out
[i
]);
16870 static inline void convert_VkDeviceFaultVendorInfoEXT_win32_to_host(const VkDeviceFaultVendorInfoEXT32
*in
, VkDeviceFaultVendorInfoEXT
*out
)
16874 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
16875 out
->vendorFaultCode
= in
->vendorFaultCode
;
16876 out
->vendorFaultData
= in
->vendorFaultData
;
16879 static inline void convert_VkDeviceFaultVendorInfoEXT_host_to_win32(const VkDeviceFaultVendorInfoEXT
*in
, VkDeviceFaultVendorInfoEXT32
*out
)
16883 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
16884 out
->vendorFaultCode
= in
->vendorFaultCode
;
16885 out
->vendorFaultData
= in
->vendorFaultData
;
16888 static inline VkDeviceFaultVendorInfoEXT
*convert_VkDeviceFaultVendorInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkDeviceFaultVendorInfoEXT32
*in
, uint32_t count
)
16890 VkDeviceFaultVendorInfoEXT
*out
;
16893 if (!in
|| !count
) return NULL
;
16895 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16896 for (i
= 0; i
< count
; i
++)
16898 convert_VkDeviceFaultVendorInfoEXT_win32_to_host(&in
[i
], &out
[i
]);
16904 static inline void convert_VkDeviceFaultVendorInfoEXT_array_host_to_win32(const VkDeviceFaultVendorInfoEXT
*in
, VkDeviceFaultVendorInfoEXT32
*out
, uint32_t count
)
16910 for (i
= 0; i
< count
; i
++)
16912 convert_VkDeviceFaultVendorInfoEXT_host_to_win32(&in
[i
], &out
[i
]);
16916 static inline void convert_VkDeviceFaultInfoEXT_win32_to_host(struct conversion_context
*ctx
, const VkDeviceFaultInfoEXT32
*in
, VkDeviceFaultInfoEXT
*out
)
16920 out
->sType
= in
->sType
;
16922 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
16923 out
->pAddressInfos
= convert_VkDeviceFaultAddressInfoEXT_array_win32_to_host(ctx
, (VkDeviceFaultAddressInfoEXT32
*)UlongToPtr(in
->pAddressInfos
), 1);
16924 out
->pVendorInfos
= convert_VkDeviceFaultVendorInfoEXT_array_win32_to_host(ctx
, (VkDeviceFaultVendorInfoEXT32
*)UlongToPtr(in
->pVendorInfos
), 1);
16925 out
->pVendorBinaryData
= (void *)UlongToPtr(in
->pVendorBinaryData
);
16927 FIXME("Unexpected pNext\n");
16930 static inline void convert_VkDeviceFaultInfoEXT_host_to_win32(const VkDeviceFaultInfoEXT
*in
, VkDeviceFaultInfoEXT32
*out
)
16934 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
16935 convert_VkDeviceFaultAddressInfoEXT_array_host_to_win32(in
->pAddressInfos
, (VkDeviceFaultAddressInfoEXT32
*)UlongToPtr(out
->pAddressInfos
), 1);
16936 convert_VkDeviceFaultVendorInfoEXT_array_host_to_win32(in
->pVendorInfos
, (VkDeviceFaultVendorInfoEXT32
*)UlongToPtr(out
->pVendorInfos
), 1);
16937 out
->pVendorBinaryData
= PtrToUlong(in
->pVendorBinaryData
);
16940 static inline void convert_VkDeviceGroupPresentCapabilitiesKHR_win32_to_host(const VkDeviceGroupPresentCapabilitiesKHR32
*in
, VkDeviceGroupPresentCapabilitiesKHR
*out
)
16944 out
->sType
= in
->sType
;
16947 FIXME("Unexpected pNext\n");
16950 static inline void convert_VkDeviceGroupPresentCapabilitiesKHR_host_to_win32(const VkDeviceGroupPresentCapabilitiesKHR
*in
, VkDeviceGroupPresentCapabilitiesKHR32
*out
)
16954 memcpy(out
->presentMask
, in
->presentMask
, VK_MAX_DEVICE_GROUP_SIZE
* sizeof(uint32_t));
16955 out
->modes
= in
->modes
;
16958 static inline const VkImageCreateInfo
*convert_VkImageCreateInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkImageCreateInfo32
*in
, uint32_t count
)
16960 VkImageCreateInfo
*out
;
16963 if (!in
|| !count
) return NULL
;
16965 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
16966 for (i
= 0; i
< count
; i
++)
16968 convert_VkImageCreateInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
16974 static inline void convert_VkDeviceImageMemoryRequirements_win32_to_host(struct conversion_context
*ctx
, const VkDeviceImageMemoryRequirements32
*in
, VkDeviceImageMemoryRequirements
*out
)
16978 out
->sType
= in
->sType
;
16980 out
->pCreateInfo
= convert_VkImageCreateInfo_array_win32_to_host(ctx
, (const VkImageCreateInfo32
*)UlongToPtr(in
->pCreateInfo
), 1);
16981 out
->planeAspect
= in
->planeAspect
;
16983 FIXME("Unexpected pNext\n");
16986 static inline void convert_VkSparseImageMemoryRequirements_host_to_win32(const VkSparseImageMemoryRequirements
*in
, VkSparseImageMemoryRequirements32
*out
)
16990 out
->formatProperties
= in
->formatProperties
;
16991 out
->imageMipTailFirstLod
= in
->imageMipTailFirstLod
;
16992 out
->imageMipTailSize
= in
->imageMipTailSize
;
16993 out
->imageMipTailOffset
= in
->imageMipTailOffset
;
16994 out
->imageMipTailStride
= in
->imageMipTailStride
;
16997 static inline void convert_VkSparseImageMemoryRequirements2_win32_to_host(const VkSparseImageMemoryRequirements232
*in
, VkSparseImageMemoryRequirements2
*out
)
17001 out
->sType
= in
->sType
;
17004 FIXME("Unexpected pNext\n");
17007 static inline void convert_VkSparseImageMemoryRequirements2_host_to_win32(const VkSparseImageMemoryRequirements2
*in
, VkSparseImageMemoryRequirements232
*out
)
17011 convert_VkSparseImageMemoryRequirements_host_to_win32(&in
->memoryRequirements
, &out
->memoryRequirements
);
17014 static inline VkSparseImageMemoryRequirements2
*convert_VkSparseImageMemoryRequirements2_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageMemoryRequirements232
*in
, uint32_t count
)
17016 VkSparseImageMemoryRequirements2
*out
;
17019 if (!in
|| !count
) return NULL
;
17021 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
17022 for (i
= 0; i
< count
; i
++)
17024 convert_VkSparseImageMemoryRequirements2_win32_to_host(&in
[i
], &out
[i
]);
17030 static inline void convert_VkSparseImageMemoryRequirements2_array_host_to_win32(const VkSparseImageMemoryRequirements2
*in
, VkSparseImageMemoryRequirements232
*out
, uint32_t count
)
17036 for (i
= 0; i
< count
; i
++)
17038 convert_VkSparseImageMemoryRequirements2_host_to_win32(&in
[i
], &out
[i
]);
17042 static inline void convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win32_to_host(const VkDeviceMemoryOpaqueCaptureAddressInfo32
*in
, VkDeviceMemoryOpaqueCaptureAddressInfo
*out
)
17046 out
->sType
= in
->sType
;
17048 out
->memory
= in
->memory
;
17050 FIXME("Unexpected pNext\n");
17053 static inline void convert_VkMicromapVersionInfoEXT_win32_to_host(const VkMicromapVersionInfoEXT32
*in
, VkMicromapVersionInfoEXT
*out
)
17057 out
->sType
= in
->sType
;
17059 out
->pVersionData
= (const uint8_t *)UlongToPtr(in
->pVersionData
);
17061 FIXME("Unexpected pNext\n");
17064 static inline void convert_VkDeviceQueueInfo2_win32_to_host(const VkDeviceQueueInfo232
*in
, VkDeviceQueueInfo2
*out
)
17068 out
->sType
= in
->sType
;
17070 out
->flags
= in
->flags
;
17071 out
->queueFamilyIndex
= in
->queueFamilyIndex
;
17072 out
->queueIndex
= in
->queueIndex
;
17074 FIXME("Unexpected pNext\n");
17077 static inline void convert_VkTilePropertiesQCOM_win32_to_host(const VkTilePropertiesQCOM32
*in
, VkTilePropertiesQCOM
*out
)
17081 out
->sType
= in
->sType
;
17083 out
->tileSize
= in
->tileSize
;
17084 out
->apronSize
= in
->apronSize
;
17085 out
->origin
= in
->origin
;
17087 FIXME("Unexpected pNext\n");
17090 static inline void convert_VkTilePropertiesQCOM_host_to_win32(const VkTilePropertiesQCOM
*in
, VkTilePropertiesQCOM32
*out
)
17094 out
->tileSize
= in
->tileSize
;
17095 out
->apronSize
= in
->apronSize
;
17096 out
->origin
= in
->origin
;
17099 static inline VkTilePropertiesQCOM
*convert_VkTilePropertiesQCOM_array_win32_to_host(struct conversion_context
*ctx
, const VkTilePropertiesQCOM32
*in
, uint32_t count
)
17101 VkTilePropertiesQCOM
*out
;
17104 if (!in
|| !count
) return NULL
;
17106 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
17107 for (i
= 0; i
< count
; i
++)
17109 convert_VkTilePropertiesQCOM_win32_to_host(&in
[i
], &out
[i
]);
17115 static inline void convert_VkTilePropertiesQCOM_array_host_to_win32(const VkTilePropertiesQCOM
*in
, VkTilePropertiesQCOM32
*out
, uint32_t count
)
17121 for (i
= 0; i
< count
; i
++)
17123 convert_VkTilePropertiesQCOM_host_to_win32(&in
[i
], &out
[i
]);
17127 static inline void convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win32_to_host(const VkGeneratedCommandsMemoryRequirementsInfoNV32
*in
, VkGeneratedCommandsMemoryRequirementsInfoNV
*out
)
17131 out
->sType
= in
->sType
;
17133 out
->pipelineBindPoint
= in
->pipelineBindPoint
;
17134 out
->pipeline
= in
->pipeline
;
17135 out
->indirectCommandsLayout
= in
->indirectCommandsLayout
;
17136 out
->maxSequencesCount
= in
->maxSequencesCount
;
17138 FIXME("Unexpected pNext\n");
17141 static inline void convert_VkImageMemoryRequirementsInfo2_win32_to_host(struct conversion_context
*ctx
, const VkImageMemoryRequirementsInfo232
*in
, VkImageMemoryRequirementsInfo2
*out
)
17143 const VkBaseInStructure32
*in_header
;
17144 VkBaseOutStructure
*out_header
= (void *)out
;
17148 out
->sType
= in
->sType
;
17150 out
->image
= in
->image
;
17152 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
17154 switch (in_header
->sType
)
17156 case VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO
:
17158 VkImagePlaneMemoryRequirementsInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17159 const VkImagePlaneMemoryRequirementsInfo32
*in_ext
= (const VkImagePlaneMemoryRequirementsInfo32
*)in_header
;
17160 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO
;
17161 out_ext
->pNext
= NULL
;
17162 out_ext
->planeAspect
= in_ext
->planeAspect
;
17163 out_header
->pNext
= (void *)out_ext
;
17164 out_header
= (void *)out_ext
;
17168 FIXME("Unhandled sType %u.", in_header
->sType
);
17174 static inline void convert_VkImageCaptureDescriptorDataInfoEXT_win32_to_host(const VkImageCaptureDescriptorDataInfoEXT32
*in
, VkImageCaptureDescriptorDataInfoEXT
*out
)
17178 out
->sType
= in
->sType
;
17180 out
->image
= in
->image
;
17182 FIXME("Unexpected pNext\n");
17185 static inline void convert_VkSparseImageMemoryRequirements_array_host_to_win32(const VkSparseImageMemoryRequirements
*in
, VkSparseImageMemoryRequirements32
*out
, uint32_t count
)
17191 for (i
= 0; i
< count
; i
++)
17193 convert_VkSparseImageMemoryRequirements_host_to_win32(&in
[i
], &out
[i
]);
17197 static inline void convert_VkImageSparseMemoryRequirementsInfo2_win32_to_host(const VkImageSparseMemoryRequirementsInfo232
*in
, VkImageSparseMemoryRequirementsInfo2
*out
)
17201 out
->sType
= in
->sType
;
17203 out
->image
= in
->image
;
17205 FIXME("Unexpected pNext\n");
17208 static inline void convert_VkSubresourceLayout_host_to_win32(const VkSubresourceLayout
*in
, VkSubresourceLayout32
*out
)
17212 out
->offset
= in
->offset
;
17213 out
->size
= in
->size
;
17214 out
->rowPitch
= in
->rowPitch
;
17215 out
->arrayPitch
= in
->arrayPitch
;
17216 out
->depthPitch
= in
->depthPitch
;
17219 static inline void convert_VkImageSubresource2EXT_win32_to_host(const VkImageSubresource2EXT32
*in
, VkImageSubresource2EXT
*out
)
17223 out
->sType
= in
->sType
;
17225 out
->imageSubresource
= in
->imageSubresource
;
17227 FIXME("Unexpected pNext\n");
17230 static inline void convert_VkSubresourceLayout2EXT_win32_to_host(struct conversion_context
*ctx
, const VkSubresourceLayout2EXT32
*in
, VkSubresourceLayout2EXT
*out
)
17232 const VkBaseInStructure32
*in_header
;
17233 VkBaseOutStructure
*out_header
= (void *)out
;
17237 out
->sType
= in
->sType
;
17240 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
17242 switch (in_header
->sType
)
17244 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
:
17246 VkImageCompressionPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17247 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
;
17248 out_ext
->pNext
= NULL
;
17249 out_header
->pNext
= (void *)out_ext
;
17250 out_header
= (void *)out_ext
;
17254 FIXME("Unhandled sType %u.", in_header
->sType
);
17260 static inline void convert_VkSubresourceLayout2EXT_host_to_win32(const VkSubresourceLayout2EXT
*in
, VkSubresourceLayout2EXT32
*out
)
17262 const VkBaseInStructure
*in_header
;
17263 VkBaseOutStructure32
*out_header
= (void *)out
;
17267 convert_VkSubresourceLayout_host_to_win32(&in
->subresourceLayout
, &out
->subresourceLayout
);
17269 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
17271 switch (in_header
->sType
)
17273 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
:
17275 VkImageCompressionPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
);
17276 const VkImageCompressionPropertiesEXT
*in_ext
= (const VkImageCompressionPropertiesEXT
*)in_header
;
17277 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
;
17278 out_ext
->imageCompressionFlags
= in_ext
->imageCompressionFlags
;
17279 out_ext
->imageCompressionFixedRateFlags
= in_ext
->imageCompressionFixedRateFlags
;
17280 out_header
= (void *)out_ext
;
17289 static inline void convert_VkImageViewAddressPropertiesNVX_win32_to_host(const VkImageViewAddressPropertiesNVX32
*in
, VkImageViewAddressPropertiesNVX
*out
)
17293 out
->sType
= in
->sType
;
17296 FIXME("Unexpected pNext\n");
17299 static inline void convert_VkImageViewAddressPropertiesNVX_host_to_win32(const VkImageViewAddressPropertiesNVX
*in
, VkImageViewAddressPropertiesNVX32
*out
)
17303 out
->deviceAddress
= in
->deviceAddress
;
17304 out
->size
= in
->size
;
17307 static inline void convert_VkImageViewHandleInfoNVX_win32_to_host(const VkImageViewHandleInfoNVX32
*in
, VkImageViewHandleInfoNVX
*out
)
17311 out
->sType
= in
->sType
;
17313 out
->imageView
= in
->imageView
;
17314 out
->descriptorType
= in
->descriptorType
;
17315 out
->sampler
= in
->sampler
;
17317 FIXME("Unexpected pNext\n");
17320 static inline void convert_VkImageViewCaptureDescriptorDataInfoEXT_win32_to_host(const VkImageViewCaptureDescriptorDataInfoEXT32
*in
, VkImageViewCaptureDescriptorDataInfoEXT
*out
)
17324 out
->sType
= in
->sType
;
17326 out
->imageView
= in
->imageView
;
17328 FIXME("Unexpected pNext\n");
17331 static inline void convert_VkMemoryHostPointerPropertiesEXT_win32_to_host(const VkMemoryHostPointerPropertiesEXT32
*in
, VkMemoryHostPointerPropertiesEXT
*out
)
17335 out
->sType
= in
->sType
;
17338 FIXME("Unexpected pNext\n");
17341 static inline void convert_VkMemoryHostPointerPropertiesEXT_host_to_win32(const VkMemoryHostPointerPropertiesEXT
*in
, VkMemoryHostPointerPropertiesEXT32
*out
)
17345 out
->memoryTypeBits
= in
->memoryTypeBits
;
17348 static inline void convert_VkMicromapBuildSizesInfoEXT_win32_to_host(const VkMicromapBuildSizesInfoEXT32
*in
, VkMicromapBuildSizesInfoEXT
*out
)
17352 out
->sType
= in
->sType
;
17354 out
->micromapSize
= in
->micromapSize
;
17355 out
->buildScratchSize
= in
->buildScratchSize
;
17356 out
->discardable
= in
->discardable
;
17358 FIXME("Unexpected pNext\n");
17361 static inline void convert_VkMicromapBuildSizesInfoEXT_host_to_win32(const VkMicromapBuildSizesInfoEXT
*in
, VkMicromapBuildSizesInfoEXT32
*out
)
17365 out
->micromapSize
= in
->micromapSize
;
17366 out
->buildScratchSize
= in
->buildScratchSize
;
17367 out
->discardable
= in
->discardable
;
17370 static inline void convert_VkPerformanceValueDataINTEL_win32_to_host(const VkPerformanceValueDataINTEL32
*in
, VkPerformanceValueDataINTEL
*out
, VkFlags selector
)
17374 if (selector
== VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL
)
17375 out
->value32
= in
->value32
;
17376 if (selector
== VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL
)
17377 out
->value64
= in
->value64
;
17378 if (selector
== VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL
)
17379 out
->valueFloat
= in
->valueFloat
;
17380 if (selector
== VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL
)
17381 out
->valueBool
= in
->valueBool
;
17382 if (selector
== VK_PERFORMANCE_VALUE_TYPE_STRING_INTEL
)
17383 out
->valueString
= (const char *)UlongToPtr(in
->valueString
);
17386 static inline void convert_VkPerformanceValueDataINTEL_host_to_win32(const VkPerformanceValueDataINTEL
*in
, VkPerformanceValueDataINTEL32
*out
, VkFlags selector
)
17390 if (selector
== VK_PERFORMANCE_VALUE_TYPE_UINT32_INTEL
)
17391 out
->value32
= in
->value32
;
17392 if (selector
== VK_PERFORMANCE_VALUE_TYPE_UINT64_INTEL
)
17393 out
->value64
= in
->value64
;
17394 if (selector
== VK_PERFORMANCE_VALUE_TYPE_FLOAT_INTEL
)
17395 out
->valueFloat
= in
->valueFloat
;
17396 if (selector
== VK_PERFORMANCE_VALUE_TYPE_BOOL_INTEL
)
17397 out
->valueBool
= in
->valueBool
;
17400 static inline void convert_VkPerformanceValueINTEL_host_to_win32(const VkPerformanceValueINTEL
*in
, VkPerformanceValueINTEL32
*out
)
17404 out
->type
= in
->type
;
17405 convert_VkPerformanceValueDataINTEL_host_to_win32(&in
->data
, &out
->data
, in
->type
);
17408 static inline void convert_VkCooperativeMatrixPropertiesNV_win32_to_host(const VkCooperativeMatrixPropertiesNV32
*in
, VkCooperativeMatrixPropertiesNV
*out
)
17412 out
->sType
= in
->sType
;
17415 FIXME("Unexpected pNext\n");
17418 static inline void convert_VkCooperativeMatrixPropertiesNV_host_to_win32(const VkCooperativeMatrixPropertiesNV
*in
, VkCooperativeMatrixPropertiesNV32
*out
)
17422 out
->MSize
= in
->MSize
;
17423 out
->NSize
= in
->NSize
;
17424 out
->KSize
= in
->KSize
;
17425 out
->AType
= in
->AType
;
17426 out
->BType
= in
->BType
;
17427 out
->CType
= in
->CType
;
17428 out
->DType
= in
->DType
;
17429 out
->scope
= in
->scope
;
17432 static inline VkCooperativeMatrixPropertiesNV
*convert_VkCooperativeMatrixPropertiesNV_array_win32_to_host(struct conversion_context
*ctx
, const VkCooperativeMatrixPropertiesNV32
*in
, uint32_t count
)
17434 VkCooperativeMatrixPropertiesNV
*out
;
17437 if (!in
|| !count
) return NULL
;
17439 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
17440 for (i
= 0; i
< count
; i
++)
17442 convert_VkCooperativeMatrixPropertiesNV_win32_to_host(&in
[i
], &out
[i
]);
17448 static inline void convert_VkCooperativeMatrixPropertiesNV_array_host_to_win32(const VkCooperativeMatrixPropertiesNV
*in
, VkCooperativeMatrixPropertiesNV32
*out
, uint32_t count
)
17454 for (i
= 0; i
< count
; i
++)
17456 convert_VkCooperativeMatrixPropertiesNV_host_to_win32(&in
[i
], &out
[i
]);
17460 static inline void convert_VkPhysicalDeviceExternalBufferInfo_win32_to_host(const VkPhysicalDeviceExternalBufferInfo32
*in
, VkPhysicalDeviceExternalBufferInfo
*out
)
17464 out
->sType
= in
->sType
;
17466 out
->flags
= in
->flags
;
17467 out
->usage
= in
->usage
;
17468 out
->handleType
= in
->handleType
;
17470 FIXME("Unexpected pNext\n");
17473 static inline void convert_VkExternalBufferProperties_win32_to_host(const VkExternalBufferProperties32
*in
, VkExternalBufferProperties
*out
)
17477 out
->sType
= in
->sType
;
17480 FIXME("Unexpected pNext\n");
17483 static inline void convert_VkExternalBufferProperties_host_to_win32(const VkExternalBufferProperties
*in
, VkExternalBufferProperties32
*out
)
17487 out
->externalMemoryProperties
= in
->externalMemoryProperties
;
17490 static inline void convert_VkPhysicalDeviceExternalFenceInfo_win32_to_host(const VkPhysicalDeviceExternalFenceInfo32
*in
, VkPhysicalDeviceExternalFenceInfo
*out
)
17494 out
->sType
= in
->sType
;
17496 out
->handleType
= in
->handleType
;
17498 FIXME("Unexpected pNext\n");
17501 static inline void convert_VkExternalFenceProperties_win32_to_host(const VkExternalFenceProperties32
*in
, VkExternalFenceProperties
*out
)
17505 out
->sType
= in
->sType
;
17508 FIXME("Unexpected pNext\n");
17511 static inline void convert_VkExternalFenceProperties_host_to_win32(const VkExternalFenceProperties
*in
, VkExternalFenceProperties32
*out
)
17515 out
->exportFromImportedHandleTypes
= in
->exportFromImportedHandleTypes
;
17516 out
->compatibleHandleTypes
= in
->compatibleHandleTypes
;
17517 out
->externalFenceFeatures
= in
->externalFenceFeatures
;
17520 static inline void convert_VkPhysicalDeviceExternalSemaphoreInfo_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceExternalSemaphoreInfo32
*in
, VkPhysicalDeviceExternalSemaphoreInfo
*out
)
17522 const VkBaseInStructure32
*in_header
;
17523 VkBaseOutStructure
*out_header
= (void *)out
;
17527 out
->sType
= in
->sType
;
17529 out
->handleType
= in
->handleType
;
17531 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
17533 switch (in_header
->sType
)
17535 case VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO
:
17537 VkSemaphoreTypeCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17538 const VkSemaphoreTypeCreateInfo32
*in_ext
= (const VkSemaphoreTypeCreateInfo32
*)in_header
;
17539 out_ext
->sType
= VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO
;
17540 out_ext
->pNext
= NULL
;
17541 out_ext
->semaphoreType
= in_ext
->semaphoreType
;
17542 out_ext
->initialValue
= in_ext
->initialValue
;
17543 out_header
->pNext
= (void *)out_ext
;
17544 out_header
= (void *)out_ext
;
17548 FIXME("Unhandled sType %u.", in_header
->sType
);
17554 static inline void convert_VkExternalSemaphoreProperties_win32_to_host(const VkExternalSemaphoreProperties32
*in
, VkExternalSemaphoreProperties
*out
)
17558 out
->sType
= in
->sType
;
17561 FIXME("Unexpected pNext\n");
17564 static inline void convert_VkExternalSemaphoreProperties_host_to_win32(const VkExternalSemaphoreProperties
*in
, VkExternalSemaphoreProperties32
*out
)
17568 out
->exportFromImportedHandleTypes
= in
->exportFromImportedHandleTypes
;
17569 out
->compatibleHandleTypes
= in
->compatibleHandleTypes
;
17570 out
->externalSemaphoreFeatures
= in
->externalSemaphoreFeatures
;
17573 static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceFeatures232
*in
, VkPhysicalDeviceFeatures2
*out
)
17575 const VkBaseInStructure32
*in_header
;
17576 VkBaseOutStructure
*out_header
= (void *)out
;
17580 out
->sType
= in
->sType
;
17582 out
->features
= in
->features
;
17584 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
17586 switch (in_header
->sType
)
17588 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
:
17590 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17591 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV32
*in_ext
= (const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV32
*)in_header
;
17592 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
;
17593 out_ext
->pNext
= NULL
;
17594 out_ext
->deviceGeneratedCommands
= in_ext
->deviceGeneratedCommands
;
17595 out_header
->pNext
= (void *)out_ext
;
17596 out_header
= (void *)out_ext
;
17599 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
:
17601 VkPhysicalDevicePrivateDataFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17602 const VkPhysicalDevicePrivateDataFeatures32
*in_ext
= (const VkPhysicalDevicePrivateDataFeatures32
*)in_header
;
17603 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
;
17604 out_ext
->pNext
= NULL
;
17605 out_ext
->privateData
= in_ext
->privateData
;
17606 out_header
->pNext
= (void *)out_ext
;
17607 out_header
= (void *)out_ext
;
17610 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
:
17612 VkPhysicalDeviceVariablePointersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17613 const VkPhysicalDeviceVariablePointersFeatures32
*in_ext
= (const VkPhysicalDeviceVariablePointersFeatures32
*)in_header
;
17614 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
;
17615 out_ext
->pNext
= NULL
;
17616 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
17617 out_ext
->variablePointers
= in_ext
->variablePointers
;
17618 out_header
->pNext
= (void *)out_ext
;
17619 out_header
= (void *)out_ext
;
17622 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
:
17624 VkPhysicalDeviceMultiviewFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17625 const VkPhysicalDeviceMultiviewFeatures32
*in_ext
= (const VkPhysicalDeviceMultiviewFeatures32
*)in_header
;
17626 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
;
17627 out_ext
->pNext
= NULL
;
17628 out_ext
->multiview
= in_ext
->multiview
;
17629 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
17630 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
17631 out_header
->pNext
= (void *)out_ext
;
17632 out_header
= (void *)out_ext
;
17635 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
:
17637 VkPhysicalDevicePresentIdFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17638 const VkPhysicalDevicePresentIdFeaturesKHR32
*in_ext
= (const VkPhysicalDevicePresentIdFeaturesKHR32
*)in_header
;
17639 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
;
17640 out_ext
->pNext
= NULL
;
17641 out_ext
->presentId
= in_ext
->presentId
;
17642 out_header
->pNext
= (void *)out_ext
;
17643 out_header
= (void *)out_ext
;
17646 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
:
17648 VkPhysicalDevicePresentWaitFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17649 const VkPhysicalDevicePresentWaitFeaturesKHR32
*in_ext
= (const VkPhysicalDevicePresentWaitFeaturesKHR32
*)in_header
;
17650 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
;
17651 out_ext
->pNext
= NULL
;
17652 out_ext
->presentWait
= in_ext
->presentWait
;
17653 out_header
->pNext
= (void *)out_ext
;
17654 out_header
= (void *)out_ext
;
17657 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
:
17659 VkPhysicalDevice16BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17660 const VkPhysicalDevice16BitStorageFeatures32
*in_ext
= (const VkPhysicalDevice16BitStorageFeatures32
*)in_header
;
17661 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
;
17662 out_ext
->pNext
= NULL
;
17663 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
17664 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
17665 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
17666 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
17667 out_header
->pNext
= (void *)out_ext
;
17668 out_header
= (void *)out_ext
;
17671 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
:
17673 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17674 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures32
*in_ext
= (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures32
*)in_header
;
17675 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
;
17676 out_ext
->pNext
= NULL
;
17677 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
17678 out_header
->pNext
= (void *)out_ext
;
17679 out_header
= (void *)out_ext
;
17682 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
:
17684 VkPhysicalDeviceSamplerYcbcrConversionFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17685 const VkPhysicalDeviceSamplerYcbcrConversionFeatures32
*in_ext
= (const VkPhysicalDeviceSamplerYcbcrConversionFeatures32
*)in_header
;
17686 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
;
17687 out_ext
->pNext
= NULL
;
17688 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
17689 out_header
->pNext
= (void *)out_ext
;
17690 out_header
= (void *)out_ext
;
17693 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
:
17695 VkPhysicalDeviceProtectedMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17696 const VkPhysicalDeviceProtectedMemoryFeatures32
*in_ext
= (const VkPhysicalDeviceProtectedMemoryFeatures32
*)in_header
;
17697 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
;
17698 out_ext
->pNext
= NULL
;
17699 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
17700 out_header
->pNext
= (void *)out_ext
;
17701 out_header
= (void *)out_ext
;
17704 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
:
17706 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17707 const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT32
*)in_header
;
17708 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
;
17709 out_ext
->pNext
= NULL
;
17710 out_ext
->advancedBlendCoherentOperations
= in_ext
->advancedBlendCoherentOperations
;
17711 out_header
->pNext
= (void *)out_ext
;
17712 out_header
= (void *)out_ext
;
17715 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
:
17717 VkPhysicalDeviceMultiDrawFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17718 const VkPhysicalDeviceMultiDrawFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMultiDrawFeaturesEXT32
*)in_header
;
17719 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
;
17720 out_ext
->pNext
= NULL
;
17721 out_ext
->multiDraw
= in_ext
->multiDraw
;
17722 out_header
->pNext
= (void *)out_ext
;
17723 out_header
= (void *)out_ext
;
17726 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
:
17728 VkPhysicalDeviceInlineUniformBlockFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17729 const VkPhysicalDeviceInlineUniformBlockFeatures32
*in_ext
= (const VkPhysicalDeviceInlineUniformBlockFeatures32
*)in_header
;
17730 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
;
17731 out_ext
->pNext
= NULL
;
17732 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
17733 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
17734 out_header
->pNext
= (void *)out_ext
;
17735 out_header
= (void *)out_ext
;
17738 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
:
17740 VkPhysicalDeviceMaintenance4Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17741 const VkPhysicalDeviceMaintenance4Features32
*in_ext
= (const VkPhysicalDeviceMaintenance4Features32
*)in_header
;
17742 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
;
17743 out_ext
->pNext
= NULL
;
17744 out_ext
->maintenance4
= in_ext
->maintenance4
;
17745 out_header
->pNext
= (void *)out_ext
;
17746 out_header
= (void *)out_ext
;
17749 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
:
17751 VkPhysicalDeviceShaderDrawParametersFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17752 const VkPhysicalDeviceShaderDrawParametersFeatures32
*in_ext
= (const VkPhysicalDeviceShaderDrawParametersFeatures32
*)in_header
;
17753 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
;
17754 out_ext
->pNext
= NULL
;
17755 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
17756 out_header
->pNext
= (void *)out_ext
;
17757 out_header
= (void *)out_ext
;
17760 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
:
17762 VkPhysicalDeviceShaderFloat16Int8Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17763 const VkPhysicalDeviceShaderFloat16Int8Features32
*in_ext
= (const VkPhysicalDeviceShaderFloat16Int8Features32
*)in_header
;
17764 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
;
17765 out_ext
->pNext
= NULL
;
17766 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
17767 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
17768 out_header
->pNext
= (void *)out_ext
;
17769 out_header
= (void *)out_ext
;
17772 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
:
17774 VkPhysicalDeviceHostQueryResetFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17775 const VkPhysicalDeviceHostQueryResetFeatures32
*in_ext
= (const VkPhysicalDeviceHostQueryResetFeatures32
*)in_header
;
17776 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
;
17777 out_ext
->pNext
= NULL
;
17778 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
17779 out_header
->pNext
= (void *)out_ext
;
17780 out_header
= (void *)out_ext
;
17783 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
:
17785 VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17786 const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32
*)in_header
;
17787 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
;
17788 out_ext
->pNext
= NULL
;
17789 out_ext
->globalPriorityQuery
= in_ext
->globalPriorityQuery
;
17790 out_header
->pNext
= (void *)out_ext
;
17791 out_header
= (void *)out_ext
;
17794 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
:
17796 VkPhysicalDeviceDescriptorIndexingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17797 const VkPhysicalDeviceDescriptorIndexingFeatures32
*in_ext
= (const VkPhysicalDeviceDescriptorIndexingFeatures32
*)in_header
;
17798 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
;
17799 out_ext
->pNext
= NULL
;
17800 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
17801 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
17802 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
17803 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
17804 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
17805 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
17806 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
17807 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
17808 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
17809 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
17810 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
17811 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
17812 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
17813 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
17814 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
17815 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
17816 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
17817 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
17818 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
17819 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
17820 out_header
->pNext
= (void *)out_ext
;
17821 out_header
= (void *)out_ext
;
17824 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
:
17826 VkPhysicalDeviceTimelineSemaphoreFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17827 const VkPhysicalDeviceTimelineSemaphoreFeatures32
*in_ext
= (const VkPhysicalDeviceTimelineSemaphoreFeatures32
*)in_header
;
17828 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
;
17829 out_ext
->pNext
= NULL
;
17830 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
17831 out_header
->pNext
= (void *)out_ext
;
17832 out_header
= (void *)out_ext
;
17835 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
:
17837 VkPhysicalDevice8BitStorageFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17838 const VkPhysicalDevice8BitStorageFeatures32
*in_ext
= (const VkPhysicalDevice8BitStorageFeatures32
*)in_header
;
17839 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
;
17840 out_ext
->pNext
= NULL
;
17841 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
17842 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
17843 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
17844 out_header
->pNext
= (void *)out_ext
;
17845 out_header
= (void *)out_ext
;
17848 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
:
17850 VkPhysicalDeviceConditionalRenderingFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17851 const VkPhysicalDeviceConditionalRenderingFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceConditionalRenderingFeaturesEXT32
*)in_header
;
17852 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
;
17853 out_ext
->pNext
= NULL
;
17854 out_ext
->conditionalRendering
= in_ext
->conditionalRendering
;
17855 out_ext
->inheritedConditionalRendering
= in_ext
->inheritedConditionalRendering
;
17856 out_header
->pNext
= (void *)out_ext
;
17857 out_header
= (void *)out_ext
;
17860 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
:
17862 VkPhysicalDeviceVulkanMemoryModelFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17863 const VkPhysicalDeviceVulkanMemoryModelFeatures32
*in_ext
= (const VkPhysicalDeviceVulkanMemoryModelFeatures32
*)in_header
;
17864 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
;
17865 out_ext
->pNext
= NULL
;
17866 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
17867 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
17868 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
17869 out_header
->pNext
= (void *)out_ext
;
17870 out_header
= (void *)out_ext
;
17873 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
:
17875 VkPhysicalDeviceShaderAtomicInt64Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17876 const VkPhysicalDeviceShaderAtomicInt64Features32
*in_ext
= (const VkPhysicalDeviceShaderAtomicInt64Features32
*)in_header
;
17877 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
;
17878 out_ext
->pNext
= NULL
;
17879 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
17880 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
17881 out_header
->pNext
= (void *)out_ext
;
17882 out_header
= (void *)out_ext
;
17885 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
:
17887 VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17888 const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT32
*)in_header
;
17889 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
;
17890 out_ext
->pNext
= NULL
;
17891 out_ext
->shaderBufferFloat32Atomics
= in_ext
->shaderBufferFloat32Atomics
;
17892 out_ext
->shaderBufferFloat32AtomicAdd
= in_ext
->shaderBufferFloat32AtomicAdd
;
17893 out_ext
->shaderBufferFloat64Atomics
= in_ext
->shaderBufferFloat64Atomics
;
17894 out_ext
->shaderBufferFloat64AtomicAdd
= in_ext
->shaderBufferFloat64AtomicAdd
;
17895 out_ext
->shaderSharedFloat32Atomics
= in_ext
->shaderSharedFloat32Atomics
;
17896 out_ext
->shaderSharedFloat32AtomicAdd
= in_ext
->shaderSharedFloat32AtomicAdd
;
17897 out_ext
->shaderSharedFloat64Atomics
= in_ext
->shaderSharedFloat64Atomics
;
17898 out_ext
->shaderSharedFloat64AtomicAdd
= in_ext
->shaderSharedFloat64AtomicAdd
;
17899 out_ext
->shaderImageFloat32Atomics
= in_ext
->shaderImageFloat32Atomics
;
17900 out_ext
->shaderImageFloat32AtomicAdd
= in_ext
->shaderImageFloat32AtomicAdd
;
17901 out_ext
->sparseImageFloat32Atomics
= in_ext
->sparseImageFloat32Atomics
;
17902 out_ext
->sparseImageFloat32AtomicAdd
= in_ext
->sparseImageFloat32AtomicAdd
;
17903 out_header
->pNext
= (void *)out_ext
;
17904 out_header
= (void *)out_ext
;
17907 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
:
17909 VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17910 const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT32
*)in_header
;
17911 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
;
17912 out_ext
->pNext
= NULL
;
17913 out_ext
->shaderBufferFloat16Atomics
= in_ext
->shaderBufferFloat16Atomics
;
17914 out_ext
->shaderBufferFloat16AtomicAdd
= in_ext
->shaderBufferFloat16AtomicAdd
;
17915 out_ext
->shaderBufferFloat16AtomicMinMax
= in_ext
->shaderBufferFloat16AtomicMinMax
;
17916 out_ext
->shaderBufferFloat32AtomicMinMax
= in_ext
->shaderBufferFloat32AtomicMinMax
;
17917 out_ext
->shaderBufferFloat64AtomicMinMax
= in_ext
->shaderBufferFloat64AtomicMinMax
;
17918 out_ext
->shaderSharedFloat16Atomics
= in_ext
->shaderSharedFloat16Atomics
;
17919 out_ext
->shaderSharedFloat16AtomicAdd
= in_ext
->shaderSharedFloat16AtomicAdd
;
17920 out_ext
->shaderSharedFloat16AtomicMinMax
= in_ext
->shaderSharedFloat16AtomicMinMax
;
17921 out_ext
->shaderSharedFloat32AtomicMinMax
= in_ext
->shaderSharedFloat32AtomicMinMax
;
17922 out_ext
->shaderSharedFloat64AtomicMinMax
= in_ext
->shaderSharedFloat64AtomicMinMax
;
17923 out_ext
->shaderImageFloat32AtomicMinMax
= in_ext
->shaderImageFloat32AtomicMinMax
;
17924 out_ext
->sparseImageFloat32AtomicMinMax
= in_ext
->sparseImageFloat32AtomicMinMax
;
17925 out_header
->pNext
= (void *)out_ext
;
17926 out_header
= (void *)out_ext
;
17929 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
:
17931 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17932 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT32
*)in_header
;
17933 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
;
17934 out_ext
->pNext
= NULL
;
17935 out_ext
->vertexAttributeInstanceRateDivisor
= in_ext
->vertexAttributeInstanceRateDivisor
;
17936 out_ext
->vertexAttributeInstanceRateZeroDivisor
= in_ext
->vertexAttributeInstanceRateZeroDivisor
;
17937 out_header
->pNext
= (void *)out_ext
;
17938 out_header
= (void *)out_ext
;
17941 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
:
17943 VkPhysicalDeviceASTCDecodeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17944 const VkPhysicalDeviceASTCDecodeFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceASTCDecodeFeaturesEXT32
*)in_header
;
17945 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
;
17946 out_ext
->pNext
= NULL
;
17947 out_ext
->decodeModeSharedExponent
= in_ext
->decodeModeSharedExponent
;
17948 out_header
->pNext
= (void *)out_ext
;
17949 out_header
= (void *)out_ext
;
17952 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
:
17954 VkPhysicalDeviceTransformFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17955 const VkPhysicalDeviceTransformFeedbackFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceTransformFeedbackFeaturesEXT32
*)in_header
;
17956 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
;
17957 out_ext
->pNext
= NULL
;
17958 out_ext
->transformFeedback
= in_ext
->transformFeedback
;
17959 out_ext
->geometryStreams
= in_ext
->geometryStreams
;
17960 out_header
->pNext
= (void *)out_ext
;
17961 out_header
= (void *)out_ext
;
17964 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
:
17966 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17967 const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV32
*in_ext
= (const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV32
*)in_header
;
17968 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
;
17969 out_ext
->pNext
= NULL
;
17970 out_ext
->representativeFragmentTest
= in_ext
->representativeFragmentTest
;
17971 out_header
->pNext
= (void *)out_ext
;
17972 out_header
= (void *)out_ext
;
17975 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
:
17977 VkPhysicalDeviceExclusiveScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17978 const VkPhysicalDeviceExclusiveScissorFeaturesNV32
*in_ext
= (const VkPhysicalDeviceExclusiveScissorFeaturesNV32
*)in_header
;
17979 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
;
17980 out_ext
->pNext
= NULL
;
17981 out_ext
->exclusiveScissor
= in_ext
->exclusiveScissor
;
17982 out_header
->pNext
= (void *)out_ext
;
17983 out_header
= (void *)out_ext
;
17986 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
:
17988 VkPhysicalDeviceCornerSampledImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
17989 const VkPhysicalDeviceCornerSampledImageFeaturesNV32
*in_ext
= (const VkPhysicalDeviceCornerSampledImageFeaturesNV32
*)in_header
;
17990 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
;
17991 out_ext
->pNext
= NULL
;
17992 out_ext
->cornerSampledImage
= in_ext
->cornerSampledImage
;
17993 out_header
->pNext
= (void *)out_ext
;
17994 out_header
= (void *)out_ext
;
17997 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
:
17999 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18000 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV32
*in_ext
= (const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV32
*)in_header
;
18001 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
;
18002 out_ext
->pNext
= NULL
;
18003 out_ext
->computeDerivativeGroupQuads
= in_ext
->computeDerivativeGroupQuads
;
18004 out_ext
->computeDerivativeGroupLinear
= in_ext
->computeDerivativeGroupLinear
;
18005 out_header
->pNext
= (void *)out_ext
;
18006 out_header
= (void *)out_ext
;
18009 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
:
18011 VkPhysicalDeviceShaderImageFootprintFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18012 const VkPhysicalDeviceShaderImageFootprintFeaturesNV32
*in_ext
= (const VkPhysicalDeviceShaderImageFootprintFeaturesNV32
*)in_header
;
18013 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
;
18014 out_ext
->pNext
= NULL
;
18015 out_ext
->imageFootprint
= in_ext
->imageFootprint
;
18016 out_header
->pNext
= (void *)out_ext
;
18017 out_header
= (void *)out_ext
;
18020 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
:
18022 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18023 const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV32
*in_ext
= (const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV32
*)in_header
;
18024 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
;
18025 out_ext
->pNext
= NULL
;
18026 out_ext
->dedicatedAllocationImageAliasing
= in_ext
->dedicatedAllocationImageAliasing
;
18027 out_header
->pNext
= (void *)out_ext
;
18028 out_header
= (void *)out_ext
;
18031 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
:
18033 VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18034 const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV32
*in_ext
= (const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV32
*)in_header
;
18035 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
;
18036 out_ext
->pNext
= NULL
;
18037 out_ext
->indirectCopy
= in_ext
->indirectCopy
;
18038 out_header
->pNext
= (void *)out_ext
;
18039 out_header
= (void *)out_ext
;
18042 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
:
18044 VkPhysicalDeviceMemoryDecompressionFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18045 const VkPhysicalDeviceMemoryDecompressionFeaturesNV32
*in_ext
= (const VkPhysicalDeviceMemoryDecompressionFeaturesNV32
*)in_header
;
18046 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
;
18047 out_ext
->pNext
= NULL
;
18048 out_ext
->memoryDecompression
= in_ext
->memoryDecompression
;
18049 out_header
->pNext
= (void *)out_ext
;
18050 out_header
= (void *)out_ext
;
18053 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
:
18055 VkPhysicalDeviceShadingRateImageFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18056 const VkPhysicalDeviceShadingRateImageFeaturesNV32
*in_ext
= (const VkPhysicalDeviceShadingRateImageFeaturesNV32
*)in_header
;
18057 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
;
18058 out_ext
->pNext
= NULL
;
18059 out_ext
->shadingRateImage
= in_ext
->shadingRateImage
;
18060 out_ext
->shadingRateCoarseSampleOrder
= in_ext
->shadingRateCoarseSampleOrder
;
18061 out_header
->pNext
= (void *)out_ext
;
18062 out_header
= (void *)out_ext
;
18065 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
:
18067 VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18068 const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI32
*in_ext
= (const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI32
*)in_header
;
18069 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
;
18070 out_ext
->pNext
= NULL
;
18071 out_ext
->invocationMask
= in_ext
->invocationMask
;
18072 out_header
->pNext
= (void *)out_ext
;
18073 out_header
= (void *)out_ext
;
18076 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
:
18078 VkPhysicalDeviceMeshShaderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18079 const VkPhysicalDeviceMeshShaderFeaturesNV32
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesNV32
*)in_header
;
18080 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
;
18081 out_ext
->pNext
= NULL
;
18082 out_ext
->taskShader
= in_ext
->taskShader
;
18083 out_ext
->meshShader
= in_ext
->meshShader
;
18084 out_header
->pNext
= (void *)out_ext
;
18085 out_header
= (void *)out_ext
;
18088 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
:
18090 VkPhysicalDeviceMeshShaderFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18091 const VkPhysicalDeviceMeshShaderFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesEXT32
*)in_header
;
18092 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
;
18093 out_ext
->pNext
= NULL
;
18094 out_ext
->taskShader
= in_ext
->taskShader
;
18095 out_ext
->meshShader
= in_ext
->meshShader
;
18096 out_ext
->multiviewMeshShader
= in_ext
->multiviewMeshShader
;
18097 out_ext
->primitiveFragmentShadingRateMeshShader
= in_ext
->primitiveFragmentShadingRateMeshShader
;
18098 out_ext
->meshShaderQueries
= in_ext
->meshShaderQueries
;
18099 out_header
->pNext
= (void *)out_ext
;
18100 out_header
= (void *)out_ext
;
18103 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
:
18105 VkPhysicalDeviceAccelerationStructureFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18106 const VkPhysicalDeviceAccelerationStructureFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceAccelerationStructureFeaturesKHR32
*)in_header
;
18107 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
;
18108 out_ext
->pNext
= NULL
;
18109 out_ext
->accelerationStructure
= in_ext
->accelerationStructure
;
18110 out_ext
->accelerationStructureCaptureReplay
= in_ext
->accelerationStructureCaptureReplay
;
18111 out_ext
->accelerationStructureIndirectBuild
= in_ext
->accelerationStructureIndirectBuild
;
18112 out_ext
->accelerationStructureHostCommands
= in_ext
->accelerationStructureHostCommands
;
18113 out_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
= in_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
;
18114 out_header
->pNext
= (void *)out_ext
;
18115 out_header
= (void *)out_ext
;
18118 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
:
18120 VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18121 const VkPhysicalDeviceRayTracingPipelineFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceRayTracingPipelineFeaturesKHR32
*)in_header
;
18122 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
;
18123 out_ext
->pNext
= NULL
;
18124 out_ext
->rayTracingPipeline
= in_ext
->rayTracingPipeline
;
18125 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
;
18126 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
;
18127 out_ext
->rayTracingPipelineTraceRaysIndirect
= in_ext
->rayTracingPipelineTraceRaysIndirect
;
18128 out_ext
->rayTraversalPrimitiveCulling
= in_ext
->rayTraversalPrimitiveCulling
;
18129 out_header
->pNext
= (void *)out_ext
;
18130 out_header
= (void *)out_ext
;
18133 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
:
18135 VkPhysicalDeviceRayQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18136 const VkPhysicalDeviceRayQueryFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceRayQueryFeaturesKHR32
*)in_header
;
18137 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
;
18138 out_ext
->pNext
= NULL
;
18139 out_ext
->rayQuery
= in_ext
->rayQuery
;
18140 out_header
->pNext
= (void *)out_ext
;
18141 out_header
= (void *)out_ext
;
18144 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
:
18146 VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18147 const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR32
*in_ext
= (const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR32
*)in_header
;
18148 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
;
18149 out_ext
->pNext
= NULL
;
18150 out_ext
->rayTracingMaintenance1
= in_ext
->rayTracingMaintenance1
;
18151 out_ext
->rayTracingPipelineTraceRaysIndirect2
= in_ext
->rayTracingPipelineTraceRaysIndirect2
;
18152 out_header
->pNext
= (void *)out_ext
;
18153 out_header
= (void *)out_ext
;
18156 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
:
18158 VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18159 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapFeaturesEXT32
*)in_header
;
18160 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
;
18161 out_ext
->pNext
= NULL
;
18162 out_ext
->fragmentDensityMap
= in_ext
->fragmentDensityMap
;
18163 out_ext
->fragmentDensityMapDynamic
= in_ext
->fragmentDensityMapDynamic
;
18164 out_ext
->fragmentDensityMapNonSubsampledImages
= in_ext
->fragmentDensityMapNonSubsampledImages
;
18165 out_header
->pNext
= (void *)out_ext
;
18166 out_header
= (void *)out_ext
;
18169 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
:
18171 VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18172 const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT32
*)in_header
;
18173 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
;
18174 out_ext
->pNext
= NULL
;
18175 out_ext
->fragmentDensityMapDeferred
= in_ext
->fragmentDensityMapDeferred
;
18176 out_header
->pNext
= (void *)out_ext
;
18177 out_header
= (void *)out_ext
;
18180 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
:
18182 VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18183 const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM32
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM32
*)in_header
;
18184 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
;
18185 out_ext
->pNext
= NULL
;
18186 out_ext
->fragmentDensityMapOffset
= in_ext
->fragmentDensityMapOffset
;
18187 out_header
->pNext
= (void *)out_ext
;
18188 out_header
= (void *)out_ext
;
18191 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
:
18193 VkPhysicalDeviceScalarBlockLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18194 const VkPhysicalDeviceScalarBlockLayoutFeatures32
*in_ext
= (const VkPhysicalDeviceScalarBlockLayoutFeatures32
*)in_header
;
18195 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
;
18196 out_ext
->pNext
= NULL
;
18197 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
18198 out_header
->pNext
= (void *)out_ext
;
18199 out_header
= (void *)out_ext
;
18202 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
:
18204 VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18205 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures32
*in_ext
= (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures32
*)in_header
;
18206 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
;
18207 out_ext
->pNext
= NULL
;
18208 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
18209 out_header
->pNext
= (void *)out_ext
;
18210 out_header
= (void *)out_ext
;
18213 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
:
18215 VkPhysicalDeviceDepthClipEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18216 const VkPhysicalDeviceDepthClipEnableFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceDepthClipEnableFeaturesEXT32
*)in_header
;
18217 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
;
18218 out_ext
->pNext
= NULL
;
18219 out_ext
->depthClipEnable
= in_ext
->depthClipEnable
;
18220 out_header
->pNext
= (void *)out_ext
;
18221 out_header
= (void *)out_ext
;
18224 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
:
18226 VkPhysicalDeviceMemoryPriorityFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18227 const VkPhysicalDeviceMemoryPriorityFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMemoryPriorityFeaturesEXT32
*)in_header
;
18228 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
;
18229 out_ext
->pNext
= NULL
;
18230 out_ext
->memoryPriority
= in_ext
->memoryPriority
;
18231 out_header
->pNext
= (void *)out_ext
;
18232 out_header
= (void *)out_ext
;
18235 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
:
18237 VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18238 const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT32
*)in_header
;
18239 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
;
18240 out_ext
->pNext
= NULL
;
18241 out_ext
->pageableDeviceLocalMemory
= in_ext
->pageableDeviceLocalMemory
;
18242 out_header
->pNext
= (void *)out_ext
;
18243 out_header
= (void *)out_ext
;
18246 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
:
18248 VkPhysicalDeviceBufferDeviceAddressFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18249 const VkPhysicalDeviceBufferDeviceAddressFeatures32
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeatures32
*)in_header
;
18250 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
;
18251 out_ext
->pNext
= NULL
;
18252 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
18253 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
18254 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
18255 out_header
->pNext
= (void *)out_ext
;
18256 out_header
= (void *)out_ext
;
18259 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
:
18261 VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18262 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT32
*)in_header
;
18263 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
;
18264 out_ext
->pNext
= NULL
;
18265 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
18266 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
18267 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
18268 out_header
->pNext
= (void *)out_ext
;
18269 out_header
= (void *)out_ext
;
18272 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
:
18274 VkPhysicalDeviceImagelessFramebufferFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18275 const VkPhysicalDeviceImagelessFramebufferFeatures32
*in_ext
= (const VkPhysicalDeviceImagelessFramebufferFeatures32
*)in_header
;
18276 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
;
18277 out_ext
->pNext
= NULL
;
18278 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
18279 out_header
->pNext
= (void *)out_ext
;
18280 out_header
= (void *)out_ext
;
18283 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
:
18285 VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18286 const VkPhysicalDeviceTextureCompressionASTCHDRFeatures32
*in_ext
= (const VkPhysicalDeviceTextureCompressionASTCHDRFeatures32
*)in_header
;
18287 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
;
18288 out_ext
->pNext
= NULL
;
18289 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
18290 out_header
->pNext
= (void *)out_ext
;
18291 out_header
= (void *)out_ext
;
18294 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
:
18296 VkPhysicalDeviceCooperativeMatrixFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18297 const VkPhysicalDeviceCooperativeMatrixFeaturesNV32
*in_ext
= (const VkPhysicalDeviceCooperativeMatrixFeaturesNV32
*)in_header
;
18298 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
;
18299 out_ext
->pNext
= NULL
;
18300 out_ext
->cooperativeMatrix
= in_ext
->cooperativeMatrix
;
18301 out_ext
->cooperativeMatrixRobustBufferAccess
= in_ext
->cooperativeMatrixRobustBufferAccess
;
18302 out_header
->pNext
= (void *)out_ext
;
18303 out_header
= (void *)out_ext
;
18306 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
:
18308 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18309 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT32
*)in_header
;
18310 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
;
18311 out_ext
->pNext
= NULL
;
18312 out_ext
->ycbcrImageArrays
= in_ext
->ycbcrImageArrays
;
18313 out_header
->pNext
= (void *)out_ext
;
18314 out_header
= (void *)out_ext
;
18317 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
:
18319 VkPhysicalDevicePresentBarrierFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18320 const VkPhysicalDevicePresentBarrierFeaturesNV32
*in_ext
= (const VkPhysicalDevicePresentBarrierFeaturesNV32
*)in_header
;
18321 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
;
18322 out_ext
->pNext
= NULL
;
18323 out_ext
->presentBarrier
= in_ext
->presentBarrier
;
18324 out_header
->pNext
= (void *)out_ext
;
18325 out_header
= (void *)out_ext
;
18328 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
:
18330 VkPhysicalDevicePerformanceQueryFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18331 const VkPhysicalDevicePerformanceQueryFeaturesKHR32
*in_ext
= (const VkPhysicalDevicePerformanceQueryFeaturesKHR32
*)in_header
;
18332 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
;
18333 out_ext
->pNext
= NULL
;
18334 out_ext
->performanceCounterQueryPools
= in_ext
->performanceCounterQueryPools
;
18335 out_ext
->performanceCounterMultipleQueryPools
= in_ext
->performanceCounterMultipleQueryPools
;
18336 out_header
->pNext
= (void *)out_ext
;
18337 out_header
= (void *)out_ext
;
18340 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
:
18342 VkPhysicalDeviceCoverageReductionModeFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18343 const VkPhysicalDeviceCoverageReductionModeFeaturesNV32
*in_ext
= (const VkPhysicalDeviceCoverageReductionModeFeaturesNV32
*)in_header
;
18344 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
;
18345 out_ext
->pNext
= NULL
;
18346 out_ext
->coverageReductionMode
= in_ext
->coverageReductionMode
;
18347 out_header
->pNext
= (void *)out_ext
;
18348 out_header
= (void *)out_ext
;
18351 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
:
18353 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18354 const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL32
*in_ext
= (const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL32
*)in_header
;
18355 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
;
18356 out_ext
->pNext
= NULL
;
18357 out_ext
->shaderIntegerFunctions2
= in_ext
->shaderIntegerFunctions2
;
18358 out_header
->pNext
= (void *)out_ext
;
18359 out_header
= (void *)out_ext
;
18362 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
:
18364 VkPhysicalDeviceShaderClockFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18365 const VkPhysicalDeviceShaderClockFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceShaderClockFeaturesKHR32
*)in_header
;
18366 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
;
18367 out_ext
->pNext
= NULL
;
18368 out_ext
->shaderSubgroupClock
= in_ext
->shaderSubgroupClock
;
18369 out_ext
->shaderDeviceClock
= in_ext
->shaderDeviceClock
;
18370 out_header
->pNext
= (void *)out_ext
;
18371 out_header
= (void *)out_ext
;
18374 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
:
18376 VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18377 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT32
*)in_header
;
18378 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
;
18379 out_ext
->pNext
= NULL
;
18380 out_ext
->indexTypeUint8
= in_ext
->indexTypeUint8
;
18381 out_header
->pNext
= (void *)out_ext
;
18382 out_header
= (void *)out_ext
;
18385 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
:
18387 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18388 const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV32
*in_ext
= (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV32
*)in_header
;
18389 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
;
18390 out_ext
->pNext
= NULL
;
18391 out_ext
->shaderSMBuiltins
= in_ext
->shaderSMBuiltins
;
18392 out_header
->pNext
= (void *)out_ext
;
18393 out_header
= (void *)out_ext
;
18396 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
:
18398 VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18399 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT32
*)in_header
;
18400 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
;
18401 out_ext
->pNext
= NULL
;
18402 out_ext
->fragmentShaderSampleInterlock
= in_ext
->fragmentShaderSampleInterlock
;
18403 out_ext
->fragmentShaderPixelInterlock
= in_ext
->fragmentShaderPixelInterlock
;
18404 out_ext
->fragmentShaderShadingRateInterlock
= in_ext
->fragmentShaderShadingRateInterlock
;
18405 out_header
->pNext
= (void *)out_ext
;
18406 out_header
= (void *)out_ext
;
18409 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
:
18411 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18412 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures32
*in_ext
= (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures32
*)in_header
;
18413 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
;
18414 out_ext
->pNext
= NULL
;
18415 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
18416 out_header
->pNext
= (void *)out_ext
;
18417 out_header
= (void *)out_ext
;
18420 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
:
18422 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18423 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT32
*)in_header
;
18424 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
;
18425 out_ext
->pNext
= NULL
;
18426 out_ext
->primitiveTopologyListRestart
= in_ext
->primitiveTopologyListRestart
;
18427 out_ext
->primitiveTopologyPatchListRestart
= in_ext
->primitiveTopologyPatchListRestart
;
18428 out_header
->pNext
= (void *)out_ext
;
18429 out_header
= (void *)out_ext
;
18432 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
:
18434 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18435 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR32
*in_ext
= (const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR32
*)in_header
;
18436 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
;
18437 out_ext
->pNext
= NULL
;
18438 out_ext
->pipelineExecutableInfo
= in_ext
->pipelineExecutableInfo
;
18439 out_header
->pNext
= (void *)out_ext
;
18440 out_header
= (void *)out_ext
;
18443 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
:
18445 VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18446 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures32
*in_ext
= (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures32
*)in_header
;
18447 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
;
18448 out_ext
->pNext
= NULL
;
18449 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
18450 out_header
->pNext
= (void *)out_ext
;
18451 out_header
= (void *)out_ext
;
18454 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
:
18456 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18457 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT32
*)in_header
;
18458 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
;
18459 out_ext
->pNext
= NULL
;
18460 out_ext
->texelBufferAlignment
= in_ext
->texelBufferAlignment
;
18461 out_header
->pNext
= (void *)out_ext
;
18462 out_header
= (void *)out_ext
;
18465 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
:
18467 VkPhysicalDeviceSubgroupSizeControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18468 const VkPhysicalDeviceSubgroupSizeControlFeatures32
*in_ext
= (const VkPhysicalDeviceSubgroupSizeControlFeatures32
*)in_header
;
18469 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
;
18470 out_ext
->pNext
= NULL
;
18471 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
18472 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
18473 out_header
->pNext
= (void *)out_ext
;
18474 out_header
= (void *)out_ext
;
18477 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
:
18479 VkPhysicalDeviceLineRasterizationFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18480 const VkPhysicalDeviceLineRasterizationFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceLineRasterizationFeaturesEXT32
*)in_header
;
18481 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
;
18482 out_ext
->pNext
= NULL
;
18483 out_ext
->rectangularLines
= in_ext
->rectangularLines
;
18484 out_ext
->bresenhamLines
= in_ext
->bresenhamLines
;
18485 out_ext
->smoothLines
= in_ext
->smoothLines
;
18486 out_ext
->stippledRectangularLines
= in_ext
->stippledRectangularLines
;
18487 out_ext
->stippledBresenhamLines
= in_ext
->stippledBresenhamLines
;
18488 out_ext
->stippledSmoothLines
= in_ext
->stippledSmoothLines
;
18489 out_header
->pNext
= (void *)out_ext
;
18490 out_header
= (void *)out_ext
;
18493 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
:
18495 VkPhysicalDevicePipelineCreationCacheControlFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18496 const VkPhysicalDevicePipelineCreationCacheControlFeatures32
*in_ext
= (const VkPhysicalDevicePipelineCreationCacheControlFeatures32
*)in_header
;
18497 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
;
18498 out_ext
->pNext
= NULL
;
18499 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
18500 out_header
->pNext
= (void *)out_ext
;
18501 out_header
= (void *)out_ext
;
18504 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
:
18506 VkPhysicalDeviceVulkan11Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18507 const VkPhysicalDeviceVulkan11Features32
*in_ext
= (const VkPhysicalDeviceVulkan11Features32
*)in_header
;
18508 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
;
18509 out_ext
->pNext
= NULL
;
18510 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
18511 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
18512 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
18513 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
18514 out_ext
->multiview
= in_ext
->multiview
;
18515 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
18516 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
18517 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
18518 out_ext
->variablePointers
= in_ext
->variablePointers
;
18519 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
18520 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
18521 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
18522 out_header
->pNext
= (void *)out_ext
;
18523 out_header
= (void *)out_ext
;
18526 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
:
18528 VkPhysicalDeviceVulkan12Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18529 const VkPhysicalDeviceVulkan12Features32
*in_ext
= (const VkPhysicalDeviceVulkan12Features32
*)in_header
;
18530 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
;
18531 out_ext
->pNext
= NULL
;
18532 out_ext
->samplerMirrorClampToEdge
= in_ext
->samplerMirrorClampToEdge
;
18533 out_ext
->drawIndirectCount
= in_ext
->drawIndirectCount
;
18534 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
18535 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
18536 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
18537 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
18538 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
18539 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
18540 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
18541 out_ext
->descriptorIndexing
= in_ext
->descriptorIndexing
;
18542 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
18543 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
18544 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
18545 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
18546 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
18547 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
18548 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
18549 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
18550 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
18551 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
18552 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
18553 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
18554 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
18555 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
18556 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
18557 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
18558 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
18559 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
18560 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
18561 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
18562 out_ext
->samplerFilterMinmax
= in_ext
->samplerFilterMinmax
;
18563 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
18564 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
18565 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
18566 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
18567 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
18568 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
18569 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
18570 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
18571 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
18572 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
18573 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
18574 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
18575 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
18576 out_ext
->shaderOutputViewportIndex
= in_ext
->shaderOutputViewportIndex
;
18577 out_ext
->shaderOutputLayer
= in_ext
->shaderOutputLayer
;
18578 out_ext
->subgroupBroadcastDynamicId
= in_ext
->subgroupBroadcastDynamicId
;
18579 out_header
->pNext
= (void *)out_ext
;
18580 out_header
= (void *)out_ext
;
18583 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
:
18585 VkPhysicalDeviceVulkan13Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18586 const VkPhysicalDeviceVulkan13Features32
*in_ext
= (const VkPhysicalDeviceVulkan13Features32
*)in_header
;
18587 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
;
18588 out_ext
->pNext
= NULL
;
18589 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
18590 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
18591 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
18592 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
18593 out_ext
->privateData
= in_ext
->privateData
;
18594 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
18595 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
18596 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
18597 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
18598 out_ext
->synchronization2
= in_ext
->synchronization2
;
18599 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
18600 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
18601 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
18602 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
18603 out_ext
->maintenance4
= in_ext
->maintenance4
;
18604 out_header
->pNext
= (void *)out_ext
;
18605 out_header
= (void *)out_ext
;
18608 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
:
18610 VkPhysicalDeviceCoherentMemoryFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18611 const VkPhysicalDeviceCoherentMemoryFeaturesAMD32
*in_ext
= (const VkPhysicalDeviceCoherentMemoryFeaturesAMD32
*)in_header
;
18612 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
;
18613 out_ext
->pNext
= NULL
;
18614 out_ext
->deviceCoherentMemory
= in_ext
->deviceCoherentMemory
;
18615 out_header
->pNext
= (void *)out_ext
;
18616 out_header
= (void *)out_ext
;
18619 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
:
18621 VkPhysicalDeviceCustomBorderColorFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18622 const VkPhysicalDeviceCustomBorderColorFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceCustomBorderColorFeaturesEXT32
*)in_header
;
18623 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
;
18624 out_ext
->pNext
= NULL
;
18625 out_ext
->customBorderColors
= in_ext
->customBorderColors
;
18626 out_ext
->customBorderColorWithoutFormat
= in_ext
->customBorderColorWithoutFormat
;
18627 out_header
->pNext
= (void *)out_ext
;
18628 out_header
= (void *)out_ext
;
18631 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
:
18633 VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18634 const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT32
*)in_header
;
18635 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
;
18636 out_ext
->pNext
= NULL
;
18637 out_ext
->borderColorSwizzle
= in_ext
->borderColorSwizzle
;
18638 out_ext
->borderColorSwizzleFromImage
= in_ext
->borderColorSwizzleFromImage
;
18639 out_header
->pNext
= (void *)out_ext
;
18640 out_header
= (void *)out_ext
;
18643 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
:
18645 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18646 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT32
*)in_header
;
18647 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
;
18648 out_ext
->pNext
= NULL
;
18649 out_ext
->extendedDynamicState
= in_ext
->extendedDynamicState
;
18650 out_header
->pNext
= (void *)out_ext
;
18651 out_header
= (void *)out_ext
;
18654 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
:
18656 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18657 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT32
*)in_header
;
18658 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
;
18659 out_ext
->pNext
= NULL
;
18660 out_ext
->extendedDynamicState2
= in_ext
->extendedDynamicState2
;
18661 out_ext
->extendedDynamicState2LogicOp
= in_ext
->extendedDynamicState2LogicOp
;
18662 out_ext
->extendedDynamicState2PatchControlPoints
= in_ext
->extendedDynamicState2PatchControlPoints
;
18663 out_header
->pNext
= (void *)out_ext
;
18664 out_header
= (void *)out_ext
;
18667 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
:
18669 VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18670 const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT32
*)in_header
;
18671 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
;
18672 out_ext
->pNext
= NULL
;
18673 out_ext
->extendedDynamicState3TessellationDomainOrigin
= in_ext
->extendedDynamicState3TessellationDomainOrigin
;
18674 out_ext
->extendedDynamicState3DepthClampEnable
= in_ext
->extendedDynamicState3DepthClampEnable
;
18675 out_ext
->extendedDynamicState3PolygonMode
= in_ext
->extendedDynamicState3PolygonMode
;
18676 out_ext
->extendedDynamicState3RasterizationSamples
= in_ext
->extendedDynamicState3RasterizationSamples
;
18677 out_ext
->extendedDynamicState3SampleMask
= in_ext
->extendedDynamicState3SampleMask
;
18678 out_ext
->extendedDynamicState3AlphaToCoverageEnable
= in_ext
->extendedDynamicState3AlphaToCoverageEnable
;
18679 out_ext
->extendedDynamicState3AlphaToOneEnable
= in_ext
->extendedDynamicState3AlphaToOneEnable
;
18680 out_ext
->extendedDynamicState3LogicOpEnable
= in_ext
->extendedDynamicState3LogicOpEnable
;
18681 out_ext
->extendedDynamicState3ColorBlendEnable
= in_ext
->extendedDynamicState3ColorBlendEnable
;
18682 out_ext
->extendedDynamicState3ColorBlendEquation
= in_ext
->extendedDynamicState3ColorBlendEquation
;
18683 out_ext
->extendedDynamicState3ColorWriteMask
= in_ext
->extendedDynamicState3ColorWriteMask
;
18684 out_ext
->extendedDynamicState3RasterizationStream
= in_ext
->extendedDynamicState3RasterizationStream
;
18685 out_ext
->extendedDynamicState3ConservativeRasterizationMode
= in_ext
->extendedDynamicState3ConservativeRasterizationMode
;
18686 out_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
= in_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
;
18687 out_ext
->extendedDynamicState3DepthClipEnable
= in_ext
->extendedDynamicState3DepthClipEnable
;
18688 out_ext
->extendedDynamicState3SampleLocationsEnable
= in_ext
->extendedDynamicState3SampleLocationsEnable
;
18689 out_ext
->extendedDynamicState3ColorBlendAdvanced
= in_ext
->extendedDynamicState3ColorBlendAdvanced
;
18690 out_ext
->extendedDynamicState3ProvokingVertexMode
= in_ext
->extendedDynamicState3ProvokingVertexMode
;
18691 out_ext
->extendedDynamicState3LineRasterizationMode
= in_ext
->extendedDynamicState3LineRasterizationMode
;
18692 out_ext
->extendedDynamicState3LineStippleEnable
= in_ext
->extendedDynamicState3LineStippleEnable
;
18693 out_ext
->extendedDynamicState3DepthClipNegativeOneToOne
= in_ext
->extendedDynamicState3DepthClipNegativeOneToOne
;
18694 out_ext
->extendedDynamicState3ViewportWScalingEnable
= in_ext
->extendedDynamicState3ViewportWScalingEnable
;
18695 out_ext
->extendedDynamicState3ViewportSwizzle
= in_ext
->extendedDynamicState3ViewportSwizzle
;
18696 out_ext
->extendedDynamicState3CoverageToColorEnable
= in_ext
->extendedDynamicState3CoverageToColorEnable
;
18697 out_ext
->extendedDynamicState3CoverageToColorLocation
= in_ext
->extendedDynamicState3CoverageToColorLocation
;
18698 out_ext
->extendedDynamicState3CoverageModulationMode
= in_ext
->extendedDynamicState3CoverageModulationMode
;
18699 out_ext
->extendedDynamicState3CoverageModulationTableEnable
= in_ext
->extendedDynamicState3CoverageModulationTableEnable
;
18700 out_ext
->extendedDynamicState3CoverageModulationTable
= in_ext
->extendedDynamicState3CoverageModulationTable
;
18701 out_ext
->extendedDynamicState3CoverageReductionMode
= in_ext
->extendedDynamicState3CoverageReductionMode
;
18702 out_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
= in_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
;
18703 out_ext
->extendedDynamicState3ShadingRateImageEnable
= in_ext
->extendedDynamicState3ShadingRateImageEnable
;
18704 out_header
->pNext
= (void *)out_ext
;
18705 out_header
= (void *)out_ext
;
18708 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
:
18710 VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18711 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV32
*in_ext
= (const VkPhysicalDeviceDiagnosticsConfigFeaturesNV32
*)in_header
;
18712 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
;
18713 out_ext
->pNext
= NULL
;
18714 out_ext
->diagnosticsConfig
= in_ext
->diagnosticsConfig
;
18715 out_header
->pNext
= (void *)out_ext
;
18716 out_header
= (void *)out_ext
;
18719 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
:
18721 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18722 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures32
*in_ext
= (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures32
*)in_header
;
18723 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
;
18724 out_ext
->pNext
= NULL
;
18725 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
18726 out_header
->pNext
= (void *)out_ext
;
18727 out_header
= (void *)out_ext
;
18730 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
:
18732 VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18733 const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR32
*)in_header
;
18734 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
;
18735 out_ext
->pNext
= NULL
;
18736 out_ext
->shaderSubgroupUniformControlFlow
= in_ext
->shaderSubgroupUniformControlFlow
;
18737 out_header
->pNext
= (void *)out_ext
;
18738 out_header
= (void *)out_ext
;
18741 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
:
18743 VkPhysicalDeviceRobustness2FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18744 const VkPhysicalDeviceRobustness2FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceRobustness2FeaturesEXT32
*)in_header
;
18745 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
;
18746 out_ext
->pNext
= NULL
;
18747 out_ext
->robustBufferAccess2
= in_ext
->robustBufferAccess2
;
18748 out_ext
->robustImageAccess2
= in_ext
->robustImageAccess2
;
18749 out_ext
->nullDescriptor
= in_ext
->nullDescriptor
;
18750 out_header
->pNext
= (void *)out_ext
;
18751 out_header
= (void *)out_ext
;
18754 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
:
18756 VkPhysicalDeviceImageRobustnessFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18757 const VkPhysicalDeviceImageRobustnessFeatures32
*in_ext
= (const VkPhysicalDeviceImageRobustnessFeatures32
*)in_header
;
18758 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
;
18759 out_ext
->pNext
= NULL
;
18760 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
18761 out_header
->pNext
= (void *)out_ext
;
18762 out_header
= (void *)out_ext
;
18765 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
:
18767 VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18768 const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR32
*)in_header
;
18769 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
;
18770 out_ext
->pNext
= NULL
;
18771 out_ext
->workgroupMemoryExplicitLayout
= in_ext
->workgroupMemoryExplicitLayout
;
18772 out_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
= in_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
;
18773 out_ext
->workgroupMemoryExplicitLayout8BitAccess
= in_ext
->workgroupMemoryExplicitLayout8BitAccess
;
18774 out_ext
->workgroupMemoryExplicitLayout16BitAccess
= in_ext
->workgroupMemoryExplicitLayout16BitAccess
;
18775 out_header
->pNext
= (void *)out_ext
;
18776 out_header
= (void *)out_ext
;
18779 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
:
18781 VkPhysicalDevice4444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18782 const VkPhysicalDevice4444FormatsFeaturesEXT32
*in_ext
= (const VkPhysicalDevice4444FormatsFeaturesEXT32
*)in_header
;
18783 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
;
18784 out_ext
->pNext
= NULL
;
18785 out_ext
->formatA4R4G4B4
= in_ext
->formatA4R4G4B4
;
18786 out_ext
->formatA4B4G4R4
= in_ext
->formatA4B4G4R4
;
18787 out_header
->pNext
= (void *)out_ext
;
18788 out_header
= (void *)out_ext
;
18791 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
:
18793 VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18794 const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI32
*in_ext
= (const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI32
*)in_header
;
18795 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
;
18796 out_ext
->pNext
= NULL
;
18797 out_ext
->subpassShading
= in_ext
->subpassShading
;
18798 out_header
->pNext
= (void *)out_ext
;
18799 out_header
= (void *)out_ext
;
18802 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
:
18804 VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18805 const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT32
*in_ext
= (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT32
*)in_header
;
18806 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
;
18807 out_ext
->pNext
= NULL
;
18808 out_ext
->shaderImageInt64Atomics
= in_ext
->shaderImageInt64Atomics
;
18809 out_ext
->sparseImageInt64Atomics
= in_ext
->sparseImageInt64Atomics
;
18810 out_header
->pNext
= (void *)out_ext
;
18811 out_header
= (void *)out_ext
;
18814 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
:
18816 VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18817 const VkPhysicalDeviceFragmentShadingRateFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR32
*)in_header
;
18818 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
;
18819 out_ext
->pNext
= NULL
;
18820 out_ext
->pipelineFragmentShadingRate
= in_ext
->pipelineFragmentShadingRate
;
18821 out_ext
->primitiveFragmentShadingRate
= in_ext
->primitiveFragmentShadingRate
;
18822 out_ext
->attachmentFragmentShadingRate
= in_ext
->attachmentFragmentShadingRate
;
18823 out_header
->pNext
= (void *)out_ext
;
18824 out_header
= (void *)out_ext
;
18827 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
:
18829 VkPhysicalDeviceShaderTerminateInvocationFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18830 const VkPhysicalDeviceShaderTerminateInvocationFeatures32
*in_ext
= (const VkPhysicalDeviceShaderTerminateInvocationFeatures32
*)in_header
;
18831 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
;
18832 out_ext
->pNext
= NULL
;
18833 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
18834 out_header
->pNext
= (void *)out_ext
;
18835 out_header
= (void *)out_ext
;
18838 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
:
18840 VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18841 const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV32
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV32
*)in_header
;
18842 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
;
18843 out_ext
->pNext
= NULL
;
18844 out_ext
->fragmentShadingRateEnums
= in_ext
->fragmentShadingRateEnums
;
18845 out_ext
->supersampleFragmentShadingRates
= in_ext
->supersampleFragmentShadingRates
;
18846 out_ext
->noInvocationFragmentShadingRates
= in_ext
->noInvocationFragmentShadingRates
;
18847 out_header
->pNext
= (void *)out_ext
;
18848 out_header
= (void *)out_ext
;
18851 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
:
18853 VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18854 const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT32
*)in_header
;
18855 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
;
18856 out_ext
->pNext
= NULL
;
18857 out_ext
->image2DViewOf3D
= in_ext
->image2DViewOf3D
;
18858 out_ext
->sampler2DViewOf3D
= in_ext
->sampler2DViewOf3D
;
18859 out_header
->pNext
= (void *)out_ext
;
18860 out_header
= (void *)out_ext
;
18863 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
:
18865 VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18866 const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32
*)in_header
;
18867 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
;
18868 out_ext
->pNext
= NULL
;
18869 out_ext
->mutableDescriptorType
= in_ext
->mutableDescriptorType
;
18870 out_header
->pNext
= (void *)out_ext
;
18871 out_header
= (void *)out_ext
;
18874 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
:
18876 VkPhysicalDeviceDepthClipControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18877 const VkPhysicalDeviceDepthClipControlFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceDepthClipControlFeaturesEXT32
*)in_header
;
18878 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
;
18879 out_ext
->pNext
= NULL
;
18880 out_ext
->depthClipControl
= in_ext
->depthClipControl
;
18881 out_header
->pNext
= (void *)out_ext
;
18882 out_header
= (void *)out_ext
;
18885 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
:
18887 VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18888 const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT32
*)in_header
;
18889 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
;
18890 out_ext
->pNext
= NULL
;
18891 out_ext
->vertexInputDynamicState
= in_ext
->vertexInputDynamicState
;
18892 out_header
->pNext
= (void *)out_ext
;
18893 out_header
= (void *)out_ext
;
18896 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
:
18898 VkPhysicalDeviceColorWriteEnableFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18899 const VkPhysicalDeviceColorWriteEnableFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceColorWriteEnableFeaturesEXT32
*)in_header
;
18900 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
;
18901 out_ext
->pNext
= NULL
;
18902 out_ext
->colorWriteEnable
= in_ext
->colorWriteEnable
;
18903 out_header
->pNext
= (void *)out_ext
;
18904 out_header
= (void *)out_ext
;
18907 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
:
18909 VkPhysicalDeviceSynchronization2Features
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18910 const VkPhysicalDeviceSynchronization2Features32
*in_ext
= (const VkPhysicalDeviceSynchronization2Features32
*)in_header
;
18911 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
;
18912 out_ext
->pNext
= NULL
;
18913 out_ext
->synchronization2
= in_ext
->synchronization2
;
18914 out_header
->pNext
= (void *)out_ext
;
18915 out_header
= (void *)out_ext
;
18918 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
:
18920 VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18921 const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT32
*)in_header
;
18922 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
;
18923 out_ext
->pNext
= NULL
;
18924 out_ext
->primitivesGeneratedQuery
= in_ext
->primitivesGeneratedQuery
;
18925 out_ext
->primitivesGeneratedQueryWithRasterizerDiscard
= in_ext
->primitivesGeneratedQueryWithRasterizerDiscard
;
18926 out_ext
->primitivesGeneratedQueryWithNonZeroStreams
= in_ext
->primitivesGeneratedQueryWithNonZeroStreams
;
18927 out_header
->pNext
= (void *)out_ext
;
18928 out_header
= (void *)out_ext
;
18931 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
:
18933 VkPhysicalDeviceLegacyDitheringFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18934 const VkPhysicalDeviceLegacyDitheringFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceLegacyDitheringFeaturesEXT32
*)in_header
;
18935 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
;
18936 out_ext
->pNext
= NULL
;
18937 out_ext
->legacyDithering
= in_ext
->legacyDithering
;
18938 out_header
->pNext
= (void *)out_ext
;
18939 out_header
= (void *)out_ext
;
18942 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
:
18944 VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18945 const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT32
*)in_header
;
18946 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
;
18947 out_ext
->pNext
= NULL
;
18948 out_ext
->multisampledRenderToSingleSampled
= in_ext
->multisampledRenderToSingleSampled
;
18949 out_header
->pNext
= (void *)out_ext
;
18950 out_header
= (void *)out_ext
;
18953 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
:
18955 VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18956 const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT32
*)in_header
;
18957 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
;
18958 out_ext
->pNext
= NULL
;
18959 out_ext
->pipelineProtectedAccess
= in_ext
->pipelineProtectedAccess
;
18960 out_header
->pNext
= (void *)out_ext
;
18961 out_header
= (void *)out_ext
;
18964 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
:
18966 VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18967 const VkPhysicalDeviceInheritedViewportScissorFeaturesNV32
*in_ext
= (const VkPhysicalDeviceInheritedViewportScissorFeaturesNV32
*)in_header
;
18968 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
;
18969 out_ext
->pNext
= NULL
;
18970 out_ext
->inheritedViewportScissor2D
= in_ext
->inheritedViewportScissor2D
;
18971 out_header
->pNext
= (void *)out_ext
;
18972 out_header
= (void *)out_ext
;
18975 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
:
18977 VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18978 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT32
*)in_header
;
18979 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
;
18980 out_ext
->pNext
= NULL
;
18981 out_ext
->ycbcr2plane444Formats
= in_ext
->ycbcr2plane444Formats
;
18982 out_header
->pNext
= (void *)out_ext
;
18983 out_header
= (void *)out_ext
;
18986 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
:
18988 VkPhysicalDeviceProvokingVertexFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
18989 const VkPhysicalDeviceProvokingVertexFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceProvokingVertexFeaturesEXT32
*)in_header
;
18990 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
;
18991 out_ext
->pNext
= NULL
;
18992 out_ext
->provokingVertexLast
= in_ext
->provokingVertexLast
;
18993 out_ext
->transformFeedbackPreservesProvokingVertex
= in_ext
->transformFeedbackPreservesProvokingVertex
;
18994 out_header
->pNext
= (void *)out_ext
;
18995 out_header
= (void *)out_ext
;
18998 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT
:
19000 VkPhysicalDeviceDescriptorBufferFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19001 const VkPhysicalDeviceDescriptorBufferFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceDescriptorBufferFeaturesEXT32
*)in_header
;
19002 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT
;
19003 out_ext
->pNext
= NULL
;
19004 out_ext
->descriptorBuffer
= in_ext
->descriptorBuffer
;
19005 out_ext
->descriptorBufferCaptureReplay
= in_ext
->descriptorBufferCaptureReplay
;
19006 out_ext
->descriptorBufferImageLayoutIgnored
= in_ext
->descriptorBufferImageLayoutIgnored
;
19007 out_ext
->descriptorBufferPushDescriptors
= in_ext
->descriptorBufferPushDescriptors
;
19008 out_header
->pNext
= (void *)out_ext
;
19009 out_header
= (void *)out_ext
;
19012 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
:
19014 VkPhysicalDeviceShaderIntegerDotProductFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19015 const VkPhysicalDeviceShaderIntegerDotProductFeatures32
*in_ext
= (const VkPhysicalDeviceShaderIntegerDotProductFeatures32
*)in_header
;
19016 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
;
19017 out_ext
->pNext
= NULL
;
19018 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
19019 out_header
->pNext
= (void *)out_ext
;
19020 out_header
= (void *)out_ext
;
19023 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
:
19025 VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19026 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR32
*in_ext
= (const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR32
*)in_header
;
19027 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
;
19028 out_ext
->pNext
= NULL
;
19029 out_ext
->fragmentShaderBarycentric
= in_ext
->fragmentShaderBarycentric
;
19030 out_header
->pNext
= (void *)out_ext
;
19031 out_header
= (void *)out_ext
;
19034 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
:
19036 VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19037 const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV32
*in_ext
= (const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV32
*)in_header
;
19038 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
;
19039 out_ext
->pNext
= NULL
;
19040 out_ext
->rayTracingMotionBlur
= in_ext
->rayTracingMotionBlur
;
19041 out_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
= in_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
;
19042 out_header
->pNext
= (void *)out_ext
;
19043 out_header
= (void *)out_ext
;
19046 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
:
19048 VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19049 const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT32
*)in_header
;
19050 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
;
19051 out_ext
->pNext
= NULL
;
19052 out_ext
->formatRgba10x6WithoutYCbCrSampler
= in_ext
->formatRgba10x6WithoutYCbCrSampler
;
19053 out_header
->pNext
= (void *)out_ext
;
19054 out_header
= (void *)out_ext
;
19057 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
:
19059 VkPhysicalDeviceDynamicRenderingFeatures
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19060 const VkPhysicalDeviceDynamicRenderingFeatures32
*in_ext
= (const VkPhysicalDeviceDynamicRenderingFeatures32
*)in_header
;
19061 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
;
19062 out_ext
->pNext
= NULL
;
19063 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
19064 out_header
->pNext
= (void *)out_ext
;
19065 out_header
= (void *)out_ext
;
19068 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
:
19070 VkPhysicalDeviceImageViewMinLodFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19071 const VkPhysicalDeviceImageViewMinLodFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceImageViewMinLodFeaturesEXT32
*)in_header
;
19072 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
;
19073 out_ext
->pNext
= NULL
;
19074 out_ext
->minLod
= in_ext
->minLod
;
19075 out_header
->pNext
= (void *)out_ext
;
19076 out_header
= (void *)out_ext
;
19079 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
:
19081 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19082 const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT32
*)in_header
;
19083 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
;
19084 out_ext
->pNext
= NULL
;
19085 out_ext
->rasterizationOrderColorAttachmentAccess
= in_ext
->rasterizationOrderColorAttachmentAccess
;
19086 out_ext
->rasterizationOrderDepthAttachmentAccess
= in_ext
->rasterizationOrderDepthAttachmentAccess
;
19087 out_ext
->rasterizationOrderStencilAttachmentAccess
= in_ext
->rasterizationOrderStencilAttachmentAccess
;
19088 out_header
->pNext
= (void *)out_ext
;
19089 out_header
= (void *)out_ext
;
19092 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
:
19094 VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19095 const VkPhysicalDeviceLinearColorAttachmentFeaturesNV32
*in_ext
= (const VkPhysicalDeviceLinearColorAttachmentFeaturesNV32
*)in_header
;
19096 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
;
19097 out_ext
->pNext
= NULL
;
19098 out_ext
->linearColorAttachment
= in_ext
->linearColorAttachment
;
19099 out_header
->pNext
= (void *)out_ext
;
19100 out_header
= (void *)out_ext
;
19103 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
:
19105 VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19106 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT32
*)in_header
;
19107 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
;
19108 out_ext
->pNext
= NULL
;
19109 out_ext
->graphicsPipelineLibrary
= in_ext
->graphicsPipelineLibrary
;
19110 out_header
->pNext
= (void *)out_ext
;
19111 out_header
= (void *)out_ext
;
19114 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
:
19116 VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19117 const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE32
*in_ext
= (const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE32
*)in_header
;
19118 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
;
19119 out_ext
->pNext
= NULL
;
19120 out_ext
->descriptorSetHostMapping
= in_ext
->descriptorSetHostMapping
;
19121 out_header
->pNext
= (void *)out_ext
;
19122 out_header
= (void *)out_ext
;
19125 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
:
19127 VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19128 const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT32
*)in_header
;
19129 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
;
19130 out_ext
->pNext
= NULL
;
19131 out_ext
->shaderModuleIdentifier
= in_ext
->shaderModuleIdentifier
;
19132 out_header
->pNext
= (void *)out_ext
;
19133 out_header
= (void *)out_ext
;
19136 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
:
19138 VkPhysicalDeviceImageCompressionControlFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19139 const VkPhysicalDeviceImageCompressionControlFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceImageCompressionControlFeaturesEXT32
*)in_header
;
19140 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
;
19141 out_ext
->pNext
= NULL
;
19142 out_ext
->imageCompressionControl
= in_ext
->imageCompressionControl
;
19143 out_header
->pNext
= (void *)out_ext
;
19144 out_header
= (void *)out_ext
;
19147 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
:
19149 VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19150 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT32
*)in_header
;
19151 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
;
19152 out_ext
->pNext
= NULL
;
19153 out_ext
->imageCompressionControlSwapchain
= in_ext
->imageCompressionControlSwapchain
;
19154 out_header
->pNext
= (void *)out_ext
;
19155 out_header
= (void *)out_ext
;
19158 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
:
19160 VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19161 const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT32
*)in_header
;
19162 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
;
19163 out_ext
->pNext
= NULL
;
19164 out_ext
->subpassMergeFeedback
= in_ext
->subpassMergeFeedback
;
19165 out_header
->pNext
= (void *)out_ext
;
19166 out_header
= (void *)out_ext
;
19169 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
:
19171 VkPhysicalDeviceOpacityMicromapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19172 const VkPhysicalDeviceOpacityMicromapFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceOpacityMicromapFeaturesEXT32
*)in_header
;
19173 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
;
19174 out_ext
->pNext
= NULL
;
19175 out_ext
->micromap
= in_ext
->micromap
;
19176 out_ext
->micromapCaptureReplay
= in_ext
->micromapCaptureReplay
;
19177 out_ext
->micromapHostCommands
= in_ext
->micromapHostCommands
;
19178 out_header
->pNext
= (void *)out_ext
;
19179 out_header
= (void *)out_ext
;
19182 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
:
19184 VkPhysicalDevicePipelinePropertiesFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19185 const VkPhysicalDevicePipelinePropertiesFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePipelinePropertiesFeaturesEXT32
*)in_header
;
19186 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
;
19187 out_ext
->pNext
= NULL
;
19188 out_ext
->pipelinePropertiesIdentifier
= in_ext
->pipelinePropertiesIdentifier
;
19189 out_header
->pNext
= (void *)out_ext
;
19190 out_header
= (void *)out_ext
;
19193 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
:
19195 VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19196 const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD32
*in_ext
= (const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD32
*)in_header
;
19197 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
;
19198 out_ext
->pNext
= NULL
;
19199 out_ext
->shaderEarlyAndLateFragmentTests
= in_ext
->shaderEarlyAndLateFragmentTests
;
19200 out_header
->pNext
= (void *)out_ext
;
19201 out_header
= (void *)out_ext
;
19204 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
:
19206 VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19207 const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT32
*)in_header
;
19208 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
;
19209 out_ext
->pNext
= NULL
;
19210 out_ext
->nonSeamlessCubeMap
= in_ext
->nonSeamlessCubeMap
;
19211 out_header
->pNext
= (void *)out_ext
;
19212 out_header
= (void *)out_ext
;
19215 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
:
19217 VkPhysicalDevicePipelineRobustnessFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19218 const VkPhysicalDevicePipelineRobustnessFeaturesEXT32
*in_ext
= (const VkPhysicalDevicePipelineRobustnessFeaturesEXT32
*)in_header
;
19219 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
;
19220 out_ext
->pNext
= NULL
;
19221 out_ext
->pipelineRobustness
= in_ext
->pipelineRobustness
;
19222 out_header
->pNext
= (void *)out_ext
;
19223 out_header
= (void *)out_ext
;
19226 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
:
19228 VkPhysicalDeviceImageProcessingFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19229 const VkPhysicalDeviceImageProcessingFeaturesQCOM32
*in_ext
= (const VkPhysicalDeviceImageProcessingFeaturesQCOM32
*)in_header
;
19230 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
;
19231 out_ext
->pNext
= NULL
;
19232 out_ext
->textureSampleWeighted
= in_ext
->textureSampleWeighted
;
19233 out_ext
->textureBoxFilter
= in_ext
->textureBoxFilter
;
19234 out_ext
->textureBlockMatch
= in_ext
->textureBlockMatch
;
19235 out_header
->pNext
= (void *)out_ext
;
19236 out_header
= (void *)out_ext
;
19239 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
:
19241 VkPhysicalDeviceTilePropertiesFeaturesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19242 const VkPhysicalDeviceTilePropertiesFeaturesQCOM32
*in_ext
= (const VkPhysicalDeviceTilePropertiesFeaturesQCOM32
*)in_header
;
19243 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
;
19244 out_ext
->pNext
= NULL
;
19245 out_ext
->tileProperties
= in_ext
->tileProperties
;
19246 out_header
->pNext
= (void *)out_ext
;
19247 out_header
= (void *)out_ext
;
19250 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
:
19252 VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19253 const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT32
*)in_header
;
19254 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
;
19255 out_ext
->pNext
= NULL
;
19256 out_ext
->attachmentFeedbackLoopLayout
= in_ext
->attachmentFeedbackLoopLayout
;
19257 out_header
->pNext
= (void *)out_ext
;
19258 out_header
= (void *)out_ext
;
19261 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
:
19263 VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19264 const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32
*)in_header
;
19265 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
;
19266 out_ext
->pNext
= NULL
;
19267 out_ext
->depthClampZeroOne
= in_ext
->depthClampZeroOne
;
19268 out_header
->pNext
= (void *)out_ext
;
19269 out_header
= (void *)out_ext
;
19272 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
:
19274 VkPhysicalDeviceAddressBindingReportFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19275 const VkPhysicalDeviceAddressBindingReportFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceAddressBindingReportFeaturesEXT32
*)in_header
;
19276 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
;
19277 out_ext
->pNext
= NULL
;
19278 out_ext
->reportAddressBinding
= in_ext
->reportAddressBinding
;
19279 out_header
->pNext
= (void *)out_ext
;
19280 out_header
= (void *)out_ext
;
19283 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
:
19285 VkPhysicalDeviceOpticalFlowFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19286 const VkPhysicalDeviceOpticalFlowFeaturesNV32
*in_ext
= (const VkPhysicalDeviceOpticalFlowFeaturesNV32
*)in_header
;
19287 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
;
19288 out_ext
->pNext
= NULL
;
19289 out_ext
->opticalFlow
= in_ext
->opticalFlow
;
19290 out_header
->pNext
= (void *)out_ext
;
19291 out_header
= (void *)out_ext
;
19294 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
:
19296 VkPhysicalDeviceFaultFeaturesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19297 const VkPhysicalDeviceFaultFeaturesEXT32
*in_ext
= (const VkPhysicalDeviceFaultFeaturesEXT32
*)in_header
;
19298 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
;
19299 out_ext
->pNext
= NULL
;
19300 out_ext
->deviceFault
= in_ext
->deviceFault
;
19301 out_ext
->deviceFaultVendorBinary
= in_ext
->deviceFaultVendorBinary
;
19302 out_header
->pNext
= (void *)out_ext
;
19303 out_header
= (void *)out_ext
;
19306 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
:
19308 VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19309 const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM32
*in_ext
= (const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM32
*)in_header
;
19310 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
;
19311 out_ext
->pNext
= NULL
;
19312 out_ext
->shaderCoreBuiltins
= in_ext
->shaderCoreBuiltins
;
19313 out_header
->pNext
= (void *)out_ext
;
19314 out_header
= (void *)out_ext
;
19317 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
:
19319 VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
19320 const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32
*in_ext
= (const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32
*)in_header
;
19321 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
;
19322 out_ext
->pNext
= NULL
;
19323 out_ext
->rayTracingInvocationReorder
= in_ext
->rayTracingInvocationReorder
;
19324 out_header
->pNext
= (void *)out_ext
;
19325 out_header
= (void *)out_ext
;
19329 FIXME("Unhandled sType %u.", in_header
->sType
);
19335 static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysicalDeviceFeatures2
*in
, VkPhysicalDeviceFeatures232
*out
)
19337 const VkBaseInStructure
*in_header
;
19338 VkBaseOutStructure32
*out_header
= (void *)out
;
19342 out
->features
= in
->features
;
19344 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
19346 switch (in_header
->sType
)
19348 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
:
19350 VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
);
19351 const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*in_ext
= (const VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV
*)in_header
;
19352 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
;
19353 out_ext
->deviceGeneratedCommands
= in_ext
->deviceGeneratedCommands
;
19354 out_header
= (void *)out_ext
;
19357 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
:
19359 VkPhysicalDevicePrivateDataFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
);
19360 const VkPhysicalDevicePrivateDataFeatures
*in_ext
= (const VkPhysicalDevicePrivateDataFeatures
*)in_header
;
19361 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES
;
19362 out_ext
->privateData
= in_ext
->privateData
;
19363 out_header
= (void *)out_ext
;
19366 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
:
19368 VkPhysicalDeviceVariablePointersFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
);
19369 const VkPhysicalDeviceVariablePointersFeatures
*in_ext
= (const VkPhysicalDeviceVariablePointersFeatures
*)in_header
;
19370 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES
;
19371 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
19372 out_ext
->variablePointers
= in_ext
->variablePointers
;
19373 out_header
= (void *)out_ext
;
19376 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
:
19378 VkPhysicalDeviceMultiviewFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
);
19379 const VkPhysicalDeviceMultiviewFeatures
*in_ext
= (const VkPhysicalDeviceMultiviewFeatures
*)in_header
;
19380 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES
;
19381 out_ext
->multiview
= in_ext
->multiview
;
19382 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
19383 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
19384 out_header
= (void *)out_ext
;
19387 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
:
19389 VkPhysicalDevicePresentIdFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
);
19390 const VkPhysicalDevicePresentIdFeaturesKHR
*in_ext
= (const VkPhysicalDevicePresentIdFeaturesKHR
*)in_header
;
19391 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR
;
19392 out_ext
->presentId
= in_ext
->presentId
;
19393 out_header
= (void *)out_ext
;
19396 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
:
19398 VkPhysicalDevicePresentWaitFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
);
19399 const VkPhysicalDevicePresentWaitFeaturesKHR
*in_ext
= (const VkPhysicalDevicePresentWaitFeaturesKHR
*)in_header
;
19400 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR
;
19401 out_ext
->presentWait
= in_ext
->presentWait
;
19402 out_header
= (void *)out_ext
;
19405 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
:
19407 VkPhysicalDevice16BitStorageFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
);
19408 const VkPhysicalDevice16BitStorageFeatures
*in_ext
= (const VkPhysicalDevice16BitStorageFeatures
*)in_header
;
19409 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES
;
19410 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
19411 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
19412 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
19413 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
19414 out_header
= (void *)out_ext
;
19417 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
:
19419 VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
);
19420 const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*in_ext
= (const VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures
*)in_header
;
19421 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES
;
19422 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
19423 out_header
= (void *)out_ext
;
19426 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
:
19428 VkPhysicalDeviceSamplerYcbcrConversionFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
);
19429 const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*in_ext
= (const VkPhysicalDeviceSamplerYcbcrConversionFeatures
*)in_header
;
19430 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES
;
19431 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
19432 out_header
= (void *)out_ext
;
19435 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
:
19437 VkPhysicalDeviceProtectedMemoryFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
);
19438 const VkPhysicalDeviceProtectedMemoryFeatures
*in_ext
= (const VkPhysicalDeviceProtectedMemoryFeatures
*)in_header
;
19439 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES
;
19440 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
19441 out_header
= (void *)out_ext
;
19444 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
:
19446 VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
);
19447 const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT
*)in_header
;
19448 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_FEATURES_EXT
;
19449 out_ext
->advancedBlendCoherentOperations
= in_ext
->advancedBlendCoherentOperations
;
19450 out_header
= (void *)out_ext
;
19453 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
:
19455 VkPhysicalDeviceMultiDrawFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
);
19456 const VkPhysicalDeviceMultiDrawFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMultiDrawFeaturesEXT
*)in_header
;
19457 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
;
19458 out_ext
->multiDraw
= in_ext
->multiDraw
;
19459 out_header
= (void *)out_ext
;
19462 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
:
19464 VkPhysicalDeviceInlineUniformBlockFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
);
19465 const VkPhysicalDeviceInlineUniformBlockFeatures
*in_ext
= (const VkPhysicalDeviceInlineUniformBlockFeatures
*)in_header
;
19466 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES
;
19467 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
19468 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
19469 out_header
= (void *)out_ext
;
19472 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
:
19474 VkPhysicalDeviceMaintenance4Features32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
);
19475 const VkPhysicalDeviceMaintenance4Features
*in_ext
= (const VkPhysicalDeviceMaintenance4Features
*)in_header
;
19476 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES
;
19477 out_ext
->maintenance4
= in_ext
->maintenance4
;
19478 out_header
= (void *)out_ext
;
19481 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
:
19483 VkPhysicalDeviceShaderDrawParametersFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
);
19484 const VkPhysicalDeviceShaderDrawParametersFeatures
*in_ext
= (const VkPhysicalDeviceShaderDrawParametersFeatures
*)in_header
;
19485 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES
;
19486 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
19487 out_header
= (void *)out_ext
;
19490 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
:
19492 VkPhysicalDeviceShaderFloat16Int8Features32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
);
19493 const VkPhysicalDeviceShaderFloat16Int8Features
*in_ext
= (const VkPhysicalDeviceShaderFloat16Int8Features
*)in_header
;
19494 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES
;
19495 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
19496 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
19497 out_header
= (void *)out_ext
;
19500 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
:
19502 VkPhysicalDeviceHostQueryResetFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
);
19503 const VkPhysicalDeviceHostQueryResetFeatures
*in_ext
= (const VkPhysicalDeviceHostQueryResetFeatures
*)in_header
;
19504 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES
;
19505 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
19506 out_header
= (void *)out_ext
;
19509 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
:
19511 VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
);
19512 const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*in_ext
= (const VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR
*)in_header
;
19513 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR
;
19514 out_ext
->globalPriorityQuery
= in_ext
->globalPriorityQuery
;
19515 out_header
= (void *)out_ext
;
19518 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
:
19520 VkPhysicalDeviceDescriptorIndexingFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
);
19521 const VkPhysicalDeviceDescriptorIndexingFeatures
*in_ext
= (const VkPhysicalDeviceDescriptorIndexingFeatures
*)in_header
;
19522 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES
;
19523 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
19524 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
19525 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
19526 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
19527 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
19528 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
19529 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
19530 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
19531 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
19532 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
19533 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
19534 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
19535 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
19536 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
19537 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
19538 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
19539 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
19540 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
19541 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
19542 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
19543 out_header
= (void *)out_ext
;
19546 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
:
19548 VkPhysicalDeviceTimelineSemaphoreFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
);
19549 const VkPhysicalDeviceTimelineSemaphoreFeatures
*in_ext
= (const VkPhysicalDeviceTimelineSemaphoreFeatures
*)in_header
;
19550 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES
;
19551 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
19552 out_header
= (void *)out_ext
;
19555 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
:
19557 VkPhysicalDevice8BitStorageFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
);
19558 const VkPhysicalDevice8BitStorageFeatures
*in_ext
= (const VkPhysicalDevice8BitStorageFeatures
*)in_header
;
19559 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES
;
19560 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
19561 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
19562 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
19563 out_header
= (void *)out_ext
;
19566 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
:
19568 VkPhysicalDeviceConditionalRenderingFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
);
19569 const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*in_ext
= (const VkPhysicalDeviceConditionalRenderingFeaturesEXT
*)in_header
;
19570 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT
;
19571 out_ext
->conditionalRendering
= in_ext
->conditionalRendering
;
19572 out_ext
->inheritedConditionalRendering
= in_ext
->inheritedConditionalRendering
;
19573 out_header
= (void *)out_ext
;
19576 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
:
19578 VkPhysicalDeviceVulkanMemoryModelFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
);
19579 const VkPhysicalDeviceVulkanMemoryModelFeatures
*in_ext
= (const VkPhysicalDeviceVulkanMemoryModelFeatures
*)in_header
;
19580 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES
;
19581 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
19582 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
19583 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
19584 out_header
= (void *)out_ext
;
19587 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
:
19589 VkPhysicalDeviceShaderAtomicInt64Features32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
);
19590 const VkPhysicalDeviceShaderAtomicInt64Features
*in_ext
= (const VkPhysicalDeviceShaderAtomicInt64Features
*)in_header
;
19591 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES
;
19592 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
19593 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
19594 out_header
= (void *)out_ext
;
19597 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
:
19599 VkPhysicalDeviceShaderAtomicFloatFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
);
19600 const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloatFeaturesEXT
*)in_header
;
19601 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
;
19602 out_ext
->shaderBufferFloat32Atomics
= in_ext
->shaderBufferFloat32Atomics
;
19603 out_ext
->shaderBufferFloat32AtomicAdd
= in_ext
->shaderBufferFloat32AtomicAdd
;
19604 out_ext
->shaderBufferFloat64Atomics
= in_ext
->shaderBufferFloat64Atomics
;
19605 out_ext
->shaderBufferFloat64AtomicAdd
= in_ext
->shaderBufferFloat64AtomicAdd
;
19606 out_ext
->shaderSharedFloat32Atomics
= in_ext
->shaderSharedFloat32Atomics
;
19607 out_ext
->shaderSharedFloat32AtomicAdd
= in_ext
->shaderSharedFloat32AtomicAdd
;
19608 out_ext
->shaderSharedFloat64Atomics
= in_ext
->shaderSharedFloat64Atomics
;
19609 out_ext
->shaderSharedFloat64AtomicAdd
= in_ext
->shaderSharedFloat64AtomicAdd
;
19610 out_ext
->shaderImageFloat32Atomics
= in_ext
->shaderImageFloat32Atomics
;
19611 out_ext
->shaderImageFloat32AtomicAdd
= in_ext
->shaderImageFloat32AtomicAdd
;
19612 out_ext
->sparseImageFloat32Atomics
= in_ext
->sparseImageFloat32Atomics
;
19613 out_ext
->sparseImageFloat32AtomicAdd
= in_ext
->sparseImageFloat32AtomicAdd
;
19614 out_header
= (void *)out_ext
;
19617 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
:
19619 VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
);
19620 const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT
*)in_header
;
19621 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT
;
19622 out_ext
->shaderBufferFloat16Atomics
= in_ext
->shaderBufferFloat16Atomics
;
19623 out_ext
->shaderBufferFloat16AtomicAdd
= in_ext
->shaderBufferFloat16AtomicAdd
;
19624 out_ext
->shaderBufferFloat16AtomicMinMax
= in_ext
->shaderBufferFloat16AtomicMinMax
;
19625 out_ext
->shaderBufferFloat32AtomicMinMax
= in_ext
->shaderBufferFloat32AtomicMinMax
;
19626 out_ext
->shaderBufferFloat64AtomicMinMax
= in_ext
->shaderBufferFloat64AtomicMinMax
;
19627 out_ext
->shaderSharedFloat16Atomics
= in_ext
->shaderSharedFloat16Atomics
;
19628 out_ext
->shaderSharedFloat16AtomicAdd
= in_ext
->shaderSharedFloat16AtomicAdd
;
19629 out_ext
->shaderSharedFloat16AtomicMinMax
= in_ext
->shaderSharedFloat16AtomicMinMax
;
19630 out_ext
->shaderSharedFloat32AtomicMinMax
= in_ext
->shaderSharedFloat32AtomicMinMax
;
19631 out_ext
->shaderSharedFloat64AtomicMinMax
= in_ext
->shaderSharedFloat64AtomicMinMax
;
19632 out_ext
->shaderImageFloat32AtomicMinMax
= in_ext
->shaderImageFloat32AtomicMinMax
;
19633 out_ext
->sparseImageFloat32AtomicMinMax
= in_ext
->sparseImageFloat32AtomicMinMax
;
19634 out_header
= (void *)out_ext
;
19637 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
:
19639 VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
);
19640 const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*in_ext
= (const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT
*)in_header
;
19641 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT
;
19642 out_ext
->vertexAttributeInstanceRateDivisor
= in_ext
->vertexAttributeInstanceRateDivisor
;
19643 out_ext
->vertexAttributeInstanceRateZeroDivisor
= in_ext
->vertexAttributeInstanceRateZeroDivisor
;
19644 out_header
= (void *)out_ext
;
19647 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
:
19649 VkPhysicalDeviceASTCDecodeFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
);
19650 const VkPhysicalDeviceASTCDecodeFeaturesEXT
*in_ext
= (const VkPhysicalDeviceASTCDecodeFeaturesEXT
*)in_header
;
19651 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ASTC_DECODE_FEATURES_EXT
;
19652 out_ext
->decodeModeSharedExponent
= in_ext
->decodeModeSharedExponent
;
19653 out_header
= (void *)out_ext
;
19656 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
:
19658 VkPhysicalDeviceTransformFeedbackFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
);
19659 const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*in_ext
= (const VkPhysicalDeviceTransformFeedbackFeaturesEXT
*)in_header
;
19660 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_FEATURES_EXT
;
19661 out_ext
->transformFeedback
= in_ext
->transformFeedback
;
19662 out_ext
->geometryStreams
= in_ext
->geometryStreams
;
19663 out_header
= (void *)out_ext
;
19666 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
:
19668 VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
);
19669 const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*in_ext
= (const VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV
*)in_header
;
19670 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
;
19671 out_ext
->representativeFragmentTest
= in_ext
->representativeFragmentTest
;
19672 out_header
= (void *)out_ext
;
19675 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
:
19677 VkPhysicalDeviceExclusiveScissorFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
);
19678 const VkPhysicalDeviceExclusiveScissorFeaturesNV
*in_ext
= (const VkPhysicalDeviceExclusiveScissorFeaturesNV
*)in_header
;
19679 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
;
19680 out_ext
->exclusiveScissor
= in_ext
->exclusiveScissor
;
19681 out_header
= (void *)out_ext
;
19684 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
:
19686 VkPhysicalDeviceCornerSampledImageFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
);
19687 const VkPhysicalDeviceCornerSampledImageFeaturesNV
*in_ext
= (const VkPhysicalDeviceCornerSampledImageFeaturesNV
*)in_header
;
19688 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
;
19689 out_ext
->cornerSampledImage
= in_ext
->cornerSampledImage
;
19690 out_header
= (void *)out_ext
;
19693 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
:
19695 VkPhysicalDeviceComputeShaderDerivativesFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
);
19696 const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*in_ext
= (const VkPhysicalDeviceComputeShaderDerivativesFeaturesNV
*)in_header
;
19697 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
;
19698 out_ext
->computeDerivativeGroupQuads
= in_ext
->computeDerivativeGroupQuads
;
19699 out_ext
->computeDerivativeGroupLinear
= in_ext
->computeDerivativeGroupLinear
;
19700 out_header
= (void *)out_ext
;
19703 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
:
19705 VkPhysicalDeviceShaderImageFootprintFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
);
19706 const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*in_ext
= (const VkPhysicalDeviceShaderImageFootprintFeaturesNV
*)in_header
;
19707 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
;
19708 out_ext
->imageFootprint
= in_ext
->imageFootprint
;
19709 out_header
= (void *)out_ext
;
19712 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
:
19714 VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
);
19715 const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*in_ext
= (const VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
*)in_header
;
19716 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
;
19717 out_ext
->dedicatedAllocationImageAliasing
= in_ext
->dedicatedAllocationImageAliasing
;
19718 out_header
= (void *)out_ext
;
19721 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
:
19723 VkPhysicalDeviceCopyMemoryIndirectFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
);
19724 const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*in_ext
= (const VkPhysicalDeviceCopyMemoryIndirectFeaturesNV
*)in_header
;
19725 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
;
19726 out_ext
->indirectCopy
= in_ext
->indirectCopy
;
19727 out_header
= (void *)out_ext
;
19730 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
:
19732 VkPhysicalDeviceMemoryDecompressionFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
);
19733 const VkPhysicalDeviceMemoryDecompressionFeaturesNV
*in_ext
= (const VkPhysicalDeviceMemoryDecompressionFeaturesNV
*)in_header
;
19734 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
;
19735 out_ext
->memoryDecompression
= in_ext
->memoryDecompression
;
19736 out_header
= (void *)out_ext
;
19739 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
:
19741 VkPhysicalDeviceShadingRateImageFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
);
19742 const VkPhysicalDeviceShadingRateImageFeaturesNV
*in_ext
= (const VkPhysicalDeviceShadingRateImageFeaturesNV
*)in_header
;
19743 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
;
19744 out_ext
->shadingRateImage
= in_ext
->shadingRateImage
;
19745 out_ext
->shadingRateCoarseSampleOrder
= in_ext
->shadingRateCoarseSampleOrder
;
19746 out_header
= (void *)out_ext
;
19749 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
:
19751 VkPhysicalDeviceInvocationMaskFeaturesHUAWEI32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
);
19752 const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*in_ext
= (const VkPhysicalDeviceInvocationMaskFeaturesHUAWEI
*)in_header
;
19753 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
;
19754 out_ext
->invocationMask
= in_ext
->invocationMask
;
19755 out_header
= (void *)out_ext
;
19758 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
:
19760 VkPhysicalDeviceMeshShaderFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
);
19761 const VkPhysicalDeviceMeshShaderFeaturesNV
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesNV
*)in_header
;
19762 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
;
19763 out_ext
->taskShader
= in_ext
->taskShader
;
19764 out_ext
->meshShader
= in_ext
->meshShader
;
19765 out_header
= (void *)out_ext
;
19768 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
:
19770 VkPhysicalDeviceMeshShaderFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
);
19771 const VkPhysicalDeviceMeshShaderFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMeshShaderFeaturesEXT
*)in_header
;
19772 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT
;
19773 out_ext
->taskShader
= in_ext
->taskShader
;
19774 out_ext
->meshShader
= in_ext
->meshShader
;
19775 out_ext
->multiviewMeshShader
= in_ext
->multiviewMeshShader
;
19776 out_ext
->primitiveFragmentShadingRateMeshShader
= in_ext
->primitiveFragmentShadingRateMeshShader
;
19777 out_ext
->meshShaderQueries
= in_ext
->meshShaderQueries
;
19778 out_header
= (void *)out_ext
;
19781 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
:
19783 VkPhysicalDeviceAccelerationStructureFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
);
19784 const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*in_ext
= (const VkPhysicalDeviceAccelerationStructureFeaturesKHR
*)in_header
;
19785 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_FEATURES_KHR
;
19786 out_ext
->accelerationStructure
= in_ext
->accelerationStructure
;
19787 out_ext
->accelerationStructureCaptureReplay
= in_ext
->accelerationStructureCaptureReplay
;
19788 out_ext
->accelerationStructureIndirectBuild
= in_ext
->accelerationStructureIndirectBuild
;
19789 out_ext
->accelerationStructureHostCommands
= in_ext
->accelerationStructureHostCommands
;
19790 out_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
= in_ext
->descriptorBindingAccelerationStructureUpdateAfterBind
;
19791 out_header
= (void *)out_ext
;
19794 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
:
19796 VkPhysicalDeviceRayTracingPipelineFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
);
19797 const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingPipelineFeaturesKHR
*)in_header
;
19798 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_FEATURES_KHR
;
19799 out_ext
->rayTracingPipeline
= in_ext
->rayTracingPipeline
;
19800 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplay
;
19801 out_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
= in_ext
->rayTracingPipelineShaderGroupHandleCaptureReplayMixed
;
19802 out_ext
->rayTracingPipelineTraceRaysIndirect
= in_ext
->rayTracingPipelineTraceRaysIndirect
;
19803 out_ext
->rayTraversalPrimitiveCulling
= in_ext
->rayTraversalPrimitiveCulling
;
19804 out_header
= (void *)out_ext
;
19807 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
:
19809 VkPhysicalDeviceRayQueryFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
);
19810 const VkPhysicalDeviceRayQueryFeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayQueryFeaturesKHR
*)in_header
;
19811 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_QUERY_FEATURES_KHR
;
19812 out_ext
->rayQuery
= in_ext
->rayQuery
;
19813 out_header
= (void *)out_ext
;
19816 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
:
19818 VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
);
19819 const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR
*)in_header
;
19820 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
;
19821 out_ext
->rayTracingMaintenance1
= in_ext
->rayTracingMaintenance1
;
19822 out_ext
->rayTracingPipelineTraceRaysIndirect2
= in_ext
->rayTracingPipelineTraceRaysIndirect2
;
19823 out_header
= (void *)out_ext
;
19826 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
:
19828 VkPhysicalDeviceFragmentDensityMapFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
);
19829 const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapFeaturesEXT
*)in_header
;
19830 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT
;
19831 out_ext
->fragmentDensityMap
= in_ext
->fragmentDensityMap
;
19832 out_ext
->fragmentDensityMapDynamic
= in_ext
->fragmentDensityMapDynamic
;
19833 out_ext
->fragmentDensityMapNonSubsampledImages
= in_ext
->fragmentDensityMapNonSubsampledImages
;
19834 out_header
= (void *)out_ext
;
19837 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
:
19839 VkPhysicalDeviceFragmentDensityMap2FeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
);
19840 const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMap2FeaturesEXT
*)in_header
;
19841 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_FEATURES_EXT
;
19842 out_ext
->fragmentDensityMapDeferred
= in_ext
->fragmentDensityMapDeferred
;
19843 out_header
= (void *)out_ext
;
19846 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
:
19848 VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
);
19849 const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM
*)in_header
;
19850 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
;
19851 out_ext
->fragmentDensityMapOffset
= in_ext
->fragmentDensityMapOffset
;
19852 out_header
= (void *)out_ext
;
19855 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
:
19857 VkPhysicalDeviceScalarBlockLayoutFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
);
19858 const VkPhysicalDeviceScalarBlockLayoutFeatures
*in_ext
= (const VkPhysicalDeviceScalarBlockLayoutFeatures
*)in_header
;
19859 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES
;
19860 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
19861 out_header
= (void *)out_ext
;
19864 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
:
19866 VkPhysicalDeviceUniformBufferStandardLayoutFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
);
19867 const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*in_ext
= (const VkPhysicalDeviceUniformBufferStandardLayoutFeatures
*)in_header
;
19868 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES
;
19869 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
19870 out_header
= (void *)out_ext
;
19873 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
:
19875 VkPhysicalDeviceDepthClipEnableFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
);
19876 const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClipEnableFeaturesEXT
*)in_header
;
19877 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT
;
19878 out_ext
->depthClipEnable
= in_ext
->depthClipEnable
;
19879 out_header
= (void *)out_ext
;
19882 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
:
19884 VkPhysicalDeviceMemoryPriorityFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
);
19885 const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMemoryPriorityFeaturesEXT
*)in_header
;
19886 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
;
19887 out_ext
->memoryPriority
= in_ext
->memoryPriority
;
19888 out_header
= (void *)out_ext
;
19891 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
:
19893 VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
);
19894 const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*in_ext
= (const VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
*)in_header
;
19895 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
;
19896 out_ext
->pageableDeviceLocalMemory
= in_ext
->pageableDeviceLocalMemory
;
19897 out_header
= (void *)out_ext
;
19900 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
:
19902 VkPhysicalDeviceBufferDeviceAddressFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
);
19903 const VkPhysicalDeviceBufferDeviceAddressFeatures
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeatures
*)in_header
;
19904 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES
;
19905 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
19906 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
19907 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
19908 out_header
= (void *)out_ext
;
19911 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
:
19913 VkPhysicalDeviceBufferDeviceAddressFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
);
19914 const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBufferDeviceAddressFeaturesEXT
*)in_header
;
19915 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT
;
19916 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
19917 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
19918 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
19919 out_header
= (void *)out_ext
;
19922 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
:
19924 VkPhysicalDeviceImagelessFramebufferFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
);
19925 const VkPhysicalDeviceImagelessFramebufferFeatures
*in_ext
= (const VkPhysicalDeviceImagelessFramebufferFeatures
*)in_header
;
19926 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES
;
19927 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
19928 out_header
= (void *)out_ext
;
19931 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
:
19933 VkPhysicalDeviceTextureCompressionASTCHDRFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
);
19934 const VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*in_ext
= (const VkPhysicalDeviceTextureCompressionASTCHDRFeatures
*)in_header
;
19935 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES
;
19936 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
19937 out_header
= (void *)out_ext
;
19940 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
:
19942 VkPhysicalDeviceCooperativeMatrixFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
);
19943 const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*in_ext
= (const VkPhysicalDeviceCooperativeMatrixFeaturesNV
*)in_header
;
19944 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
;
19945 out_ext
->cooperativeMatrix
= in_ext
->cooperativeMatrix
;
19946 out_ext
->cooperativeMatrixRobustBufferAccess
= in_ext
->cooperativeMatrixRobustBufferAccess
;
19947 out_header
= (void *)out_ext
;
19950 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
:
19952 VkPhysicalDeviceYcbcrImageArraysFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
);
19953 const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*in_ext
= (const VkPhysicalDeviceYcbcrImageArraysFeaturesEXT
*)in_header
;
19954 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_IMAGE_ARRAYS_FEATURES_EXT
;
19955 out_ext
->ycbcrImageArrays
= in_ext
->ycbcrImageArrays
;
19956 out_header
= (void *)out_ext
;
19959 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
:
19961 VkPhysicalDevicePresentBarrierFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
);
19962 const VkPhysicalDevicePresentBarrierFeaturesNV
*in_ext
= (const VkPhysicalDevicePresentBarrierFeaturesNV
*)in_header
;
19963 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
;
19964 out_ext
->presentBarrier
= in_ext
->presentBarrier
;
19965 out_header
= (void *)out_ext
;
19968 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
:
19970 VkPhysicalDevicePerformanceQueryFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
);
19971 const VkPhysicalDevicePerformanceQueryFeaturesKHR
*in_ext
= (const VkPhysicalDevicePerformanceQueryFeaturesKHR
*)in_header
;
19972 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR
;
19973 out_ext
->performanceCounterQueryPools
= in_ext
->performanceCounterQueryPools
;
19974 out_ext
->performanceCounterMultipleQueryPools
= in_ext
->performanceCounterMultipleQueryPools
;
19975 out_header
= (void *)out_ext
;
19978 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
:
19980 VkPhysicalDeviceCoverageReductionModeFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
);
19981 const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*in_ext
= (const VkPhysicalDeviceCoverageReductionModeFeaturesNV
*)in_header
;
19982 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
;
19983 out_ext
->coverageReductionMode
= in_ext
->coverageReductionMode
;
19984 out_header
= (void *)out_ext
;
19987 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
:
19989 VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
);
19990 const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*in_ext
= (const VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
*)in_header
;
19991 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
;
19992 out_ext
->shaderIntegerFunctions2
= in_ext
->shaderIntegerFunctions2
;
19993 out_header
= (void *)out_ext
;
19996 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
:
19998 VkPhysicalDeviceShaderClockFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
);
19999 const VkPhysicalDeviceShaderClockFeaturesKHR
*in_ext
= (const VkPhysicalDeviceShaderClockFeaturesKHR
*)in_header
;
20000 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR
;
20001 out_ext
->shaderSubgroupClock
= in_ext
->shaderSubgroupClock
;
20002 out_ext
->shaderDeviceClock
= in_ext
->shaderDeviceClock
;
20003 out_header
= (void *)out_ext
;
20006 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
:
20008 VkPhysicalDeviceIndexTypeUint8FeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
);
20009 const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*in_ext
= (const VkPhysicalDeviceIndexTypeUint8FeaturesEXT
*)in_header
;
20010 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
;
20011 out_ext
->indexTypeUint8
= in_ext
->indexTypeUint8
;
20012 out_header
= (void *)out_ext
;
20015 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
:
20017 VkPhysicalDeviceShaderSMBuiltinsFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
);
20018 const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*in_ext
= (const VkPhysicalDeviceShaderSMBuiltinsFeaturesNV
*)in_header
;
20019 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
;
20020 out_ext
->shaderSMBuiltins
= in_ext
->shaderSMBuiltins
;
20021 out_header
= (void *)out_ext
;
20024 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
:
20026 VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
);
20027 const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT
*)in_header
;
20028 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT
;
20029 out_ext
->fragmentShaderSampleInterlock
= in_ext
->fragmentShaderSampleInterlock
;
20030 out_ext
->fragmentShaderPixelInterlock
= in_ext
->fragmentShaderPixelInterlock
;
20031 out_ext
->fragmentShaderShadingRateInterlock
= in_ext
->fragmentShaderShadingRateInterlock
;
20032 out_header
= (void *)out_ext
;
20035 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
:
20037 VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
);
20038 const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*in_ext
= (const VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures
*)in_header
;
20039 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES
;
20040 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
20041 out_header
= (void *)out_ext
;
20044 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
:
20046 VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
);
20047 const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*in_ext
= (const VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
*)in_header
;
20048 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
;
20049 out_ext
->primitiveTopologyListRestart
= in_ext
->primitiveTopologyListRestart
;
20050 out_ext
->primitiveTopologyPatchListRestart
= in_ext
->primitiveTopologyPatchListRestart
;
20051 out_header
= (void *)out_ext
;
20054 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
:
20056 VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
);
20057 const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*in_ext
= (const VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR
*)in_header
;
20058 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
;
20059 out_ext
->pipelineExecutableInfo
= in_ext
->pipelineExecutableInfo
;
20060 out_header
= (void *)out_ext
;
20063 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
:
20065 VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
);
20066 const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*in_ext
= (const VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures
*)in_header
;
20067 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES
;
20068 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
20069 out_header
= (void *)out_ext
;
20072 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
:
20074 VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
);
20075 const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*in_ext
= (const VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT
*)in_header
;
20076 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
;
20077 out_ext
->texelBufferAlignment
= in_ext
->texelBufferAlignment
;
20078 out_header
= (void *)out_ext
;
20081 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
:
20083 VkPhysicalDeviceSubgroupSizeControlFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
);
20084 const VkPhysicalDeviceSubgroupSizeControlFeatures
*in_ext
= (const VkPhysicalDeviceSubgroupSizeControlFeatures
*)in_header
;
20085 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES
;
20086 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
20087 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
20088 out_header
= (void *)out_ext
;
20091 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
:
20093 VkPhysicalDeviceLineRasterizationFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
);
20094 const VkPhysicalDeviceLineRasterizationFeaturesEXT
*in_ext
= (const VkPhysicalDeviceLineRasterizationFeaturesEXT
*)in_header
;
20095 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
;
20096 out_ext
->rectangularLines
= in_ext
->rectangularLines
;
20097 out_ext
->bresenhamLines
= in_ext
->bresenhamLines
;
20098 out_ext
->smoothLines
= in_ext
->smoothLines
;
20099 out_ext
->stippledRectangularLines
= in_ext
->stippledRectangularLines
;
20100 out_ext
->stippledBresenhamLines
= in_ext
->stippledBresenhamLines
;
20101 out_ext
->stippledSmoothLines
= in_ext
->stippledSmoothLines
;
20102 out_header
= (void *)out_ext
;
20105 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
:
20107 VkPhysicalDevicePipelineCreationCacheControlFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
);
20108 const VkPhysicalDevicePipelineCreationCacheControlFeatures
*in_ext
= (const VkPhysicalDevicePipelineCreationCacheControlFeatures
*)in_header
;
20109 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES
;
20110 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
20111 out_header
= (void *)out_ext
;
20114 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
:
20116 VkPhysicalDeviceVulkan11Features32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
);
20117 const VkPhysicalDeviceVulkan11Features
*in_ext
= (const VkPhysicalDeviceVulkan11Features
*)in_header
;
20118 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES
;
20119 out_ext
->storageBuffer16BitAccess
= in_ext
->storageBuffer16BitAccess
;
20120 out_ext
->uniformAndStorageBuffer16BitAccess
= in_ext
->uniformAndStorageBuffer16BitAccess
;
20121 out_ext
->storagePushConstant16
= in_ext
->storagePushConstant16
;
20122 out_ext
->storageInputOutput16
= in_ext
->storageInputOutput16
;
20123 out_ext
->multiview
= in_ext
->multiview
;
20124 out_ext
->multiviewGeometryShader
= in_ext
->multiviewGeometryShader
;
20125 out_ext
->multiviewTessellationShader
= in_ext
->multiviewTessellationShader
;
20126 out_ext
->variablePointersStorageBuffer
= in_ext
->variablePointersStorageBuffer
;
20127 out_ext
->variablePointers
= in_ext
->variablePointers
;
20128 out_ext
->protectedMemory
= in_ext
->protectedMemory
;
20129 out_ext
->samplerYcbcrConversion
= in_ext
->samplerYcbcrConversion
;
20130 out_ext
->shaderDrawParameters
= in_ext
->shaderDrawParameters
;
20131 out_header
= (void *)out_ext
;
20134 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
:
20136 VkPhysicalDeviceVulkan12Features32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
);
20137 const VkPhysicalDeviceVulkan12Features
*in_ext
= (const VkPhysicalDeviceVulkan12Features
*)in_header
;
20138 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES
;
20139 out_ext
->samplerMirrorClampToEdge
= in_ext
->samplerMirrorClampToEdge
;
20140 out_ext
->drawIndirectCount
= in_ext
->drawIndirectCount
;
20141 out_ext
->storageBuffer8BitAccess
= in_ext
->storageBuffer8BitAccess
;
20142 out_ext
->uniformAndStorageBuffer8BitAccess
= in_ext
->uniformAndStorageBuffer8BitAccess
;
20143 out_ext
->storagePushConstant8
= in_ext
->storagePushConstant8
;
20144 out_ext
->shaderBufferInt64Atomics
= in_ext
->shaderBufferInt64Atomics
;
20145 out_ext
->shaderSharedInt64Atomics
= in_ext
->shaderSharedInt64Atomics
;
20146 out_ext
->shaderFloat16
= in_ext
->shaderFloat16
;
20147 out_ext
->shaderInt8
= in_ext
->shaderInt8
;
20148 out_ext
->descriptorIndexing
= in_ext
->descriptorIndexing
;
20149 out_ext
->shaderInputAttachmentArrayDynamicIndexing
= in_ext
->shaderInputAttachmentArrayDynamicIndexing
;
20150 out_ext
->shaderUniformTexelBufferArrayDynamicIndexing
= in_ext
->shaderUniformTexelBufferArrayDynamicIndexing
;
20151 out_ext
->shaderStorageTexelBufferArrayDynamicIndexing
= in_ext
->shaderStorageTexelBufferArrayDynamicIndexing
;
20152 out_ext
->shaderUniformBufferArrayNonUniformIndexing
= in_ext
->shaderUniformBufferArrayNonUniformIndexing
;
20153 out_ext
->shaderSampledImageArrayNonUniformIndexing
= in_ext
->shaderSampledImageArrayNonUniformIndexing
;
20154 out_ext
->shaderStorageBufferArrayNonUniformIndexing
= in_ext
->shaderStorageBufferArrayNonUniformIndexing
;
20155 out_ext
->shaderStorageImageArrayNonUniformIndexing
= in_ext
->shaderStorageImageArrayNonUniformIndexing
;
20156 out_ext
->shaderInputAttachmentArrayNonUniformIndexing
= in_ext
->shaderInputAttachmentArrayNonUniformIndexing
;
20157 out_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
= in_ext
->shaderUniformTexelBufferArrayNonUniformIndexing
;
20158 out_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
= in_ext
->shaderStorageTexelBufferArrayNonUniformIndexing
;
20159 out_ext
->descriptorBindingUniformBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformBufferUpdateAfterBind
;
20160 out_ext
->descriptorBindingSampledImageUpdateAfterBind
= in_ext
->descriptorBindingSampledImageUpdateAfterBind
;
20161 out_ext
->descriptorBindingStorageImageUpdateAfterBind
= in_ext
->descriptorBindingStorageImageUpdateAfterBind
;
20162 out_ext
->descriptorBindingStorageBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageBufferUpdateAfterBind
;
20163 out_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingUniformTexelBufferUpdateAfterBind
;
20164 out_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
= in_ext
->descriptorBindingStorageTexelBufferUpdateAfterBind
;
20165 out_ext
->descriptorBindingUpdateUnusedWhilePending
= in_ext
->descriptorBindingUpdateUnusedWhilePending
;
20166 out_ext
->descriptorBindingPartiallyBound
= in_ext
->descriptorBindingPartiallyBound
;
20167 out_ext
->descriptorBindingVariableDescriptorCount
= in_ext
->descriptorBindingVariableDescriptorCount
;
20168 out_ext
->runtimeDescriptorArray
= in_ext
->runtimeDescriptorArray
;
20169 out_ext
->samplerFilterMinmax
= in_ext
->samplerFilterMinmax
;
20170 out_ext
->scalarBlockLayout
= in_ext
->scalarBlockLayout
;
20171 out_ext
->imagelessFramebuffer
= in_ext
->imagelessFramebuffer
;
20172 out_ext
->uniformBufferStandardLayout
= in_ext
->uniformBufferStandardLayout
;
20173 out_ext
->shaderSubgroupExtendedTypes
= in_ext
->shaderSubgroupExtendedTypes
;
20174 out_ext
->separateDepthStencilLayouts
= in_ext
->separateDepthStencilLayouts
;
20175 out_ext
->hostQueryReset
= in_ext
->hostQueryReset
;
20176 out_ext
->timelineSemaphore
= in_ext
->timelineSemaphore
;
20177 out_ext
->bufferDeviceAddress
= in_ext
->bufferDeviceAddress
;
20178 out_ext
->bufferDeviceAddressCaptureReplay
= in_ext
->bufferDeviceAddressCaptureReplay
;
20179 out_ext
->bufferDeviceAddressMultiDevice
= in_ext
->bufferDeviceAddressMultiDevice
;
20180 out_ext
->vulkanMemoryModel
= in_ext
->vulkanMemoryModel
;
20181 out_ext
->vulkanMemoryModelDeviceScope
= in_ext
->vulkanMemoryModelDeviceScope
;
20182 out_ext
->vulkanMemoryModelAvailabilityVisibilityChains
= in_ext
->vulkanMemoryModelAvailabilityVisibilityChains
;
20183 out_ext
->shaderOutputViewportIndex
= in_ext
->shaderOutputViewportIndex
;
20184 out_ext
->shaderOutputLayer
= in_ext
->shaderOutputLayer
;
20185 out_ext
->subgroupBroadcastDynamicId
= in_ext
->subgroupBroadcastDynamicId
;
20186 out_header
= (void *)out_ext
;
20189 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
:
20191 VkPhysicalDeviceVulkan13Features32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
);
20192 const VkPhysicalDeviceVulkan13Features
*in_ext
= (const VkPhysicalDeviceVulkan13Features
*)in_header
;
20193 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES
;
20194 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
20195 out_ext
->inlineUniformBlock
= in_ext
->inlineUniformBlock
;
20196 out_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
= in_ext
->descriptorBindingInlineUniformBlockUpdateAfterBind
;
20197 out_ext
->pipelineCreationCacheControl
= in_ext
->pipelineCreationCacheControl
;
20198 out_ext
->privateData
= in_ext
->privateData
;
20199 out_ext
->shaderDemoteToHelperInvocation
= in_ext
->shaderDemoteToHelperInvocation
;
20200 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
20201 out_ext
->subgroupSizeControl
= in_ext
->subgroupSizeControl
;
20202 out_ext
->computeFullSubgroups
= in_ext
->computeFullSubgroups
;
20203 out_ext
->synchronization2
= in_ext
->synchronization2
;
20204 out_ext
->textureCompressionASTC_HDR
= in_ext
->textureCompressionASTC_HDR
;
20205 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
20206 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
20207 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
20208 out_ext
->maintenance4
= in_ext
->maintenance4
;
20209 out_header
= (void *)out_ext
;
20212 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
:
20214 VkPhysicalDeviceCoherentMemoryFeaturesAMD32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
);
20215 const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*in_ext
= (const VkPhysicalDeviceCoherentMemoryFeaturesAMD
*)in_header
;
20216 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
;
20217 out_ext
->deviceCoherentMemory
= in_ext
->deviceCoherentMemory
;
20218 out_header
= (void *)out_ext
;
20221 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
:
20223 VkPhysicalDeviceCustomBorderColorFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
);
20224 const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*in_ext
= (const VkPhysicalDeviceCustomBorderColorFeaturesEXT
*)in_header
;
20225 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT
;
20226 out_ext
->customBorderColors
= in_ext
->customBorderColors
;
20227 out_ext
->customBorderColorWithoutFormat
= in_ext
->customBorderColorWithoutFormat
;
20228 out_header
= (void *)out_ext
;
20231 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
:
20233 VkPhysicalDeviceBorderColorSwizzleFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
);
20234 const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*in_ext
= (const VkPhysicalDeviceBorderColorSwizzleFeaturesEXT
*)in_header
;
20235 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
;
20236 out_ext
->borderColorSwizzle
= in_ext
->borderColorSwizzle
;
20237 out_ext
->borderColorSwizzleFromImage
= in_ext
->borderColorSwizzleFromImage
;
20238 out_header
= (void *)out_ext
;
20241 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
:
20243 VkPhysicalDeviceExtendedDynamicStateFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
);
20244 const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicStateFeaturesEXT
*)in_header
;
20245 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
;
20246 out_ext
->extendedDynamicState
= in_ext
->extendedDynamicState
;
20247 out_header
= (void *)out_ext
;
20250 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
:
20252 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
);
20253 const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState2FeaturesEXT
*)in_header
;
20254 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT
;
20255 out_ext
->extendedDynamicState2
= in_ext
->extendedDynamicState2
;
20256 out_ext
->extendedDynamicState2LogicOp
= in_ext
->extendedDynamicState2LogicOp
;
20257 out_ext
->extendedDynamicState2PatchControlPoints
= in_ext
->extendedDynamicState2PatchControlPoints
;
20258 out_header
= (void *)out_ext
;
20261 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
:
20263 VkPhysicalDeviceExtendedDynamicState3FeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
);
20264 const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3FeaturesEXT
*)in_header
;
20265 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT
;
20266 out_ext
->extendedDynamicState3TessellationDomainOrigin
= in_ext
->extendedDynamicState3TessellationDomainOrigin
;
20267 out_ext
->extendedDynamicState3DepthClampEnable
= in_ext
->extendedDynamicState3DepthClampEnable
;
20268 out_ext
->extendedDynamicState3PolygonMode
= in_ext
->extendedDynamicState3PolygonMode
;
20269 out_ext
->extendedDynamicState3RasterizationSamples
= in_ext
->extendedDynamicState3RasterizationSamples
;
20270 out_ext
->extendedDynamicState3SampleMask
= in_ext
->extendedDynamicState3SampleMask
;
20271 out_ext
->extendedDynamicState3AlphaToCoverageEnable
= in_ext
->extendedDynamicState3AlphaToCoverageEnable
;
20272 out_ext
->extendedDynamicState3AlphaToOneEnable
= in_ext
->extendedDynamicState3AlphaToOneEnable
;
20273 out_ext
->extendedDynamicState3LogicOpEnable
= in_ext
->extendedDynamicState3LogicOpEnable
;
20274 out_ext
->extendedDynamicState3ColorBlendEnable
= in_ext
->extendedDynamicState3ColorBlendEnable
;
20275 out_ext
->extendedDynamicState3ColorBlendEquation
= in_ext
->extendedDynamicState3ColorBlendEquation
;
20276 out_ext
->extendedDynamicState3ColorWriteMask
= in_ext
->extendedDynamicState3ColorWriteMask
;
20277 out_ext
->extendedDynamicState3RasterizationStream
= in_ext
->extendedDynamicState3RasterizationStream
;
20278 out_ext
->extendedDynamicState3ConservativeRasterizationMode
= in_ext
->extendedDynamicState3ConservativeRasterizationMode
;
20279 out_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
= in_ext
->extendedDynamicState3ExtraPrimitiveOverestimationSize
;
20280 out_ext
->extendedDynamicState3DepthClipEnable
= in_ext
->extendedDynamicState3DepthClipEnable
;
20281 out_ext
->extendedDynamicState3SampleLocationsEnable
= in_ext
->extendedDynamicState3SampleLocationsEnable
;
20282 out_ext
->extendedDynamicState3ColorBlendAdvanced
= in_ext
->extendedDynamicState3ColorBlendAdvanced
;
20283 out_ext
->extendedDynamicState3ProvokingVertexMode
= in_ext
->extendedDynamicState3ProvokingVertexMode
;
20284 out_ext
->extendedDynamicState3LineRasterizationMode
= in_ext
->extendedDynamicState3LineRasterizationMode
;
20285 out_ext
->extendedDynamicState3LineStippleEnable
= in_ext
->extendedDynamicState3LineStippleEnable
;
20286 out_ext
->extendedDynamicState3DepthClipNegativeOneToOne
= in_ext
->extendedDynamicState3DepthClipNegativeOneToOne
;
20287 out_ext
->extendedDynamicState3ViewportWScalingEnable
= in_ext
->extendedDynamicState3ViewportWScalingEnable
;
20288 out_ext
->extendedDynamicState3ViewportSwizzle
= in_ext
->extendedDynamicState3ViewportSwizzle
;
20289 out_ext
->extendedDynamicState3CoverageToColorEnable
= in_ext
->extendedDynamicState3CoverageToColorEnable
;
20290 out_ext
->extendedDynamicState3CoverageToColorLocation
= in_ext
->extendedDynamicState3CoverageToColorLocation
;
20291 out_ext
->extendedDynamicState3CoverageModulationMode
= in_ext
->extendedDynamicState3CoverageModulationMode
;
20292 out_ext
->extendedDynamicState3CoverageModulationTableEnable
= in_ext
->extendedDynamicState3CoverageModulationTableEnable
;
20293 out_ext
->extendedDynamicState3CoverageModulationTable
= in_ext
->extendedDynamicState3CoverageModulationTable
;
20294 out_ext
->extendedDynamicState3CoverageReductionMode
= in_ext
->extendedDynamicState3CoverageReductionMode
;
20295 out_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
= in_ext
->extendedDynamicState3RepresentativeFragmentTestEnable
;
20296 out_ext
->extendedDynamicState3ShadingRateImageEnable
= in_ext
->extendedDynamicState3ShadingRateImageEnable
;
20297 out_header
= (void *)out_ext
;
20300 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
:
20302 VkPhysicalDeviceDiagnosticsConfigFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
);
20303 const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*in_ext
= (const VkPhysicalDeviceDiagnosticsConfigFeaturesNV
*)in_header
;
20304 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
;
20305 out_ext
->diagnosticsConfig
= in_ext
->diagnosticsConfig
;
20306 out_header
= (void *)out_ext
;
20309 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
:
20311 VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
);
20312 const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*in_ext
= (const VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures
*)in_header
;
20313 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES
;
20314 out_ext
->shaderZeroInitializeWorkgroupMemory
= in_ext
->shaderZeroInitializeWorkgroupMemory
;
20315 out_header
= (void *)out_ext
;
20318 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
:
20320 VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
);
20321 const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*in_ext
= (const VkPhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
*)in_header
;
20322 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_FEATURES_KHR
;
20323 out_ext
->shaderSubgroupUniformControlFlow
= in_ext
->shaderSubgroupUniformControlFlow
;
20324 out_header
= (void *)out_ext
;
20327 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
:
20329 VkPhysicalDeviceRobustness2FeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
);
20330 const VkPhysicalDeviceRobustness2FeaturesEXT
*in_ext
= (const VkPhysicalDeviceRobustness2FeaturesEXT
*)in_header
;
20331 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_FEATURES_EXT
;
20332 out_ext
->robustBufferAccess2
= in_ext
->robustBufferAccess2
;
20333 out_ext
->robustImageAccess2
= in_ext
->robustImageAccess2
;
20334 out_ext
->nullDescriptor
= in_ext
->nullDescriptor
;
20335 out_header
= (void *)out_ext
;
20338 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
:
20340 VkPhysicalDeviceImageRobustnessFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
);
20341 const VkPhysicalDeviceImageRobustnessFeatures
*in_ext
= (const VkPhysicalDeviceImageRobustnessFeatures
*)in_header
;
20342 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES
;
20343 out_ext
->robustImageAccess
= in_ext
->robustImageAccess
;
20344 out_header
= (void *)out_ext
;
20347 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
:
20349 VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
);
20350 const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*in_ext
= (const VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
*)in_header
;
20351 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
;
20352 out_ext
->workgroupMemoryExplicitLayout
= in_ext
->workgroupMemoryExplicitLayout
;
20353 out_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
= in_ext
->workgroupMemoryExplicitLayoutScalarBlockLayout
;
20354 out_ext
->workgroupMemoryExplicitLayout8BitAccess
= in_ext
->workgroupMemoryExplicitLayout8BitAccess
;
20355 out_ext
->workgroupMemoryExplicitLayout16BitAccess
= in_ext
->workgroupMemoryExplicitLayout16BitAccess
;
20356 out_header
= (void *)out_ext
;
20359 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
:
20361 VkPhysicalDevice4444FormatsFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
);
20362 const VkPhysicalDevice4444FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDevice4444FormatsFeaturesEXT
*)in_header
;
20363 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
;
20364 out_ext
->formatA4R4G4B4
= in_ext
->formatA4R4G4B4
;
20365 out_ext
->formatA4B4G4R4
= in_ext
->formatA4B4G4R4
;
20366 out_header
= (void *)out_ext
;
20369 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
:
20371 VkPhysicalDeviceSubpassShadingFeaturesHUAWEI32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
);
20372 const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*in_ext
= (const VkPhysicalDeviceSubpassShadingFeaturesHUAWEI
*)in_header
;
20373 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
;
20374 out_ext
->subpassShading
= in_ext
->subpassShading
;
20375 out_header
= (void *)out_ext
;
20378 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
:
20380 VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
);
20381 const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT
*)in_header
;
20382 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
;
20383 out_ext
->shaderImageInt64Atomics
= in_ext
->shaderImageInt64Atomics
;
20384 out_ext
->sparseImageInt64Atomics
= in_ext
->sparseImageInt64Atomics
;
20385 out_header
= (void *)out_ext
;
20388 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
:
20390 VkPhysicalDeviceFragmentShadingRateFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
);
20391 const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateFeaturesKHR
*)in_header
;
20392 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_FEATURES_KHR
;
20393 out_ext
->pipelineFragmentShadingRate
= in_ext
->pipelineFragmentShadingRate
;
20394 out_ext
->primitiveFragmentShadingRate
= in_ext
->primitiveFragmentShadingRate
;
20395 out_ext
->attachmentFragmentShadingRate
= in_ext
->attachmentFragmentShadingRate
;
20396 out_header
= (void *)out_ext
;
20399 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
:
20401 VkPhysicalDeviceShaderTerminateInvocationFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
);
20402 const VkPhysicalDeviceShaderTerminateInvocationFeatures
*in_ext
= (const VkPhysicalDeviceShaderTerminateInvocationFeatures
*)in_header
;
20403 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES
;
20404 out_ext
->shaderTerminateInvocation
= in_ext
->shaderTerminateInvocation
;
20405 out_header
= (void *)out_ext
;
20408 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
:
20410 VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
);
20411 const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV
*)in_header
;
20412 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
;
20413 out_ext
->fragmentShadingRateEnums
= in_ext
->fragmentShadingRateEnums
;
20414 out_ext
->supersampleFragmentShadingRates
= in_ext
->supersampleFragmentShadingRates
;
20415 out_ext
->noInvocationFragmentShadingRates
= in_ext
->noInvocationFragmentShadingRates
;
20416 out_header
= (void *)out_ext
;
20419 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
:
20421 VkPhysicalDeviceImage2DViewOf3DFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
);
20422 const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImage2DViewOf3DFeaturesEXT
*)in_header
;
20423 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT
;
20424 out_ext
->image2DViewOf3D
= in_ext
->image2DViewOf3D
;
20425 out_ext
->sampler2DViewOf3D
= in_ext
->sampler2DViewOf3D
;
20426 out_header
= (void *)out_ext
;
20429 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
:
20431 VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
);
20432 const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT
*)in_header
;
20433 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
;
20434 out_ext
->mutableDescriptorType
= in_ext
->mutableDescriptorType
;
20435 out_header
= (void *)out_ext
;
20438 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
:
20440 VkPhysicalDeviceDepthClipControlFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
);
20441 const VkPhysicalDeviceDepthClipControlFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClipControlFeaturesEXT
*)in_header
;
20442 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
;
20443 out_ext
->depthClipControl
= in_ext
->depthClipControl
;
20444 out_header
= (void *)out_ext
;
20447 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
:
20449 VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
);
20450 const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*in_ext
= (const VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT
*)in_header
;
20451 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
;
20452 out_ext
->vertexInputDynamicState
= in_ext
->vertexInputDynamicState
;
20453 out_header
= (void *)out_ext
;
20456 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
:
20458 VkPhysicalDeviceColorWriteEnableFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
);
20459 const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*in_ext
= (const VkPhysicalDeviceColorWriteEnableFeaturesEXT
*)in_header
;
20460 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT
;
20461 out_ext
->colorWriteEnable
= in_ext
->colorWriteEnable
;
20462 out_header
= (void *)out_ext
;
20465 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
:
20467 VkPhysicalDeviceSynchronization2Features32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
);
20468 const VkPhysicalDeviceSynchronization2Features
*in_ext
= (const VkPhysicalDeviceSynchronization2Features
*)in_header
;
20469 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES
;
20470 out_ext
->synchronization2
= in_ext
->synchronization2
;
20471 out_header
= (void *)out_ext
;
20474 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
:
20476 VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
);
20477 const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*in_ext
= (const VkPhysicalDevicePrimitivesGeneratedQueryFeaturesEXT
*)in_header
;
20478 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVES_GENERATED_QUERY_FEATURES_EXT
;
20479 out_ext
->primitivesGeneratedQuery
= in_ext
->primitivesGeneratedQuery
;
20480 out_ext
->primitivesGeneratedQueryWithRasterizerDiscard
= in_ext
->primitivesGeneratedQueryWithRasterizerDiscard
;
20481 out_ext
->primitivesGeneratedQueryWithNonZeroStreams
= in_ext
->primitivesGeneratedQueryWithNonZeroStreams
;
20482 out_header
= (void *)out_ext
;
20485 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
:
20487 VkPhysicalDeviceLegacyDitheringFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
);
20488 const VkPhysicalDeviceLegacyDitheringFeaturesEXT
*in_ext
= (const VkPhysicalDeviceLegacyDitheringFeaturesEXT
*)in_header
;
20489 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT
;
20490 out_ext
->legacyDithering
= in_ext
->legacyDithering
;
20491 out_header
= (void *)out_ext
;
20494 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
:
20496 VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
);
20497 const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*in_ext
= (const VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT
*)in_header
;
20498 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT
;
20499 out_ext
->multisampledRenderToSingleSampled
= in_ext
->multisampledRenderToSingleSampled
;
20500 out_header
= (void *)out_ext
;
20503 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
:
20505 VkPhysicalDevicePipelineProtectedAccessFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
);
20506 const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelineProtectedAccessFeaturesEXT
*)in_header
;
20507 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT
;
20508 out_ext
->pipelineProtectedAccess
= in_ext
->pipelineProtectedAccess
;
20509 out_header
= (void *)out_ext
;
20512 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
:
20514 VkPhysicalDeviceInheritedViewportScissorFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
);
20515 const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*in_ext
= (const VkPhysicalDeviceInheritedViewportScissorFeaturesNV
*)in_header
;
20516 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
;
20517 out_ext
->inheritedViewportScissor2D
= in_ext
->inheritedViewportScissor2D
;
20518 out_header
= (void *)out_ext
;
20521 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
:
20523 VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
);
20524 const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
*)in_header
;
20525 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT
;
20526 out_ext
->ycbcr2plane444Formats
= in_ext
->ycbcr2plane444Formats
;
20527 out_header
= (void *)out_ext
;
20530 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
:
20532 VkPhysicalDeviceProvokingVertexFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
);
20533 const VkPhysicalDeviceProvokingVertexFeaturesEXT
*in_ext
= (const VkPhysicalDeviceProvokingVertexFeaturesEXT
*)in_header
;
20534 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT
;
20535 out_ext
->provokingVertexLast
= in_ext
->provokingVertexLast
;
20536 out_ext
->transformFeedbackPreservesProvokingVertex
= in_ext
->transformFeedbackPreservesProvokingVertex
;
20537 out_header
= (void *)out_ext
;
20540 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT
:
20542 VkPhysicalDeviceDescriptorBufferFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT
);
20543 const VkPhysicalDeviceDescriptorBufferFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDescriptorBufferFeaturesEXT
*)in_header
;
20544 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT
;
20545 out_ext
->descriptorBuffer
= in_ext
->descriptorBuffer
;
20546 out_ext
->descriptorBufferCaptureReplay
= in_ext
->descriptorBufferCaptureReplay
;
20547 out_ext
->descriptorBufferImageLayoutIgnored
= in_ext
->descriptorBufferImageLayoutIgnored
;
20548 out_ext
->descriptorBufferPushDescriptors
= in_ext
->descriptorBufferPushDescriptors
;
20549 out_header
= (void *)out_ext
;
20552 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
:
20554 VkPhysicalDeviceShaderIntegerDotProductFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
);
20555 const VkPhysicalDeviceShaderIntegerDotProductFeatures
*in_ext
= (const VkPhysicalDeviceShaderIntegerDotProductFeatures
*)in_header
;
20556 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES
;
20557 out_ext
->shaderIntegerDotProduct
= in_ext
->shaderIntegerDotProduct
;
20558 out_header
= (void *)out_ext
;
20561 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
:
20563 VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
);
20564 const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShaderBarycentricFeaturesKHR
*)in_header
;
20565 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_FEATURES_KHR
;
20566 out_ext
->fragmentShaderBarycentric
= in_ext
->fragmentShaderBarycentric
;
20567 out_header
= (void *)out_ext
;
20570 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
:
20572 VkPhysicalDeviceRayTracingMotionBlurFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
);
20573 const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*in_ext
= (const VkPhysicalDeviceRayTracingMotionBlurFeaturesNV
*)in_header
;
20574 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
;
20575 out_ext
->rayTracingMotionBlur
= in_ext
->rayTracingMotionBlur
;
20576 out_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
= in_ext
->rayTracingMotionBlurPipelineTraceRaysIndirect
;
20577 out_header
= (void *)out_ext
;
20580 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
:
20582 VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
);
20583 const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*in_ext
= (const VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT
*)in_header
;
20584 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
;
20585 out_ext
->formatRgba10x6WithoutYCbCrSampler
= in_ext
->formatRgba10x6WithoutYCbCrSampler
;
20586 out_header
= (void *)out_ext
;
20589 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
:
20591 VkPhysicalDeviceDynamicRenderingFeatures32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
);
20592 const VkPhysicalDeviceDynamicRenderingFeatures
*in_ext
= (const VkPhysicalDeviceDynamicRenderingFeatures
*)in_header
;
20593 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES
;
20594 out_ext
->dynamicRendering
= in_ext
->dynamicRendering
;
20595 out_header
= (void *)out_ext
;
20598 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
:
20600 VkPhysicalDeviceImageViewMinLodFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
);
20601 const VkPhysicalDeviceImageViewMinLodFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageViewMinLodFeaturesEXT
*)in_header
;
20602 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_MIN_LOD_FEATURES_EXT
;
20603 out_ext
->minLod
= in_ext
->minLod
;
20604 out_header
= (void *)out_ext
;
20607 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
:
20609 VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
);
20610 const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*in_ext
= (const VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT
*)in_header
;
20611 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT
;
20612 out_ext
->rasterizationOrderColorAttachmentAccess
= in_ext
->rasterizationOrderColorAttachmentAccess
;
20613 out_ext
->rasterizationOrderDepthAttachmentAccess
= in_ext
->rasterizationOrderDepthAttachmentAccess
;
20614 out_ext
->rasterizationOrderStencilAttachmentAccess
= in_ext
->rasterizationOrderStencilAttachmentAccess
;
20615 out_header
= (void *)out_ext
;
20618 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
:
20620 VkPhysicalDeviceLinearColorAttachmentFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
);
20621 const VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*in_ext
= (const VkPhysicalDeviceLinearColorAttachmentFeaturesNV
*)in_header
;
20622 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
;
20623 out_ext
->linearColorAttachment
= in_ext
->linearColorAttachment
;
20624 out_header
= (void *)out_ext
;
20627 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
:
20629 VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
);
20630 const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryFeaturesEXT
*)in_header
;
20631 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT
;
20632 out_ext
->graphicsPipelineLibrary
= in_ext
->graphicsPipelineLibrary
;
20633 out_header
= (void *)out_ext
;
20636 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
:
20638 VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
);
20639 const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*in_ext
= (const VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE
*)in_header
;
20640 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
;
20641 out_ext
->descriptorSetHostMapping
= in_ext
->descriptorSetHostMapping
;
20642 out_header
= (void *)out_ext
;
20645 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
:
20647 VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
);
20648 const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*in_ext
= (const VkPhysicalDeviceShaderModuleIdentifierFeaturesEXT
*)in_header
;
20649 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
;
20650 out_ext
->shaderModuleIdentifier
= in_ext
->shaderModuleIdentifier
;
20651 out_header
= (void *)out_ext
;
20654 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
:
20656 VkPhysicalDeviceImageCompressionControlFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
);
20657 const VkPhysicalDeviceImageCompressionControlFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageCompressionControlFeaturesEXT
*)in_header
;
20658 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT
;
20659 out_ext
->imageCompressionControl
= in_ext
->imageCompressionControl
;
20660 out_header
= (void *)out_ext
;
20663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
:
20665 VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
);
20666 const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*in_ext
= (const VkPhysicalDeviceImageCompressionControlSwapchainFeaturesEXT
*)in_header
;
20667 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
;
20668 out_ext
->imageCompressionControlSwapchain
= in_ext
->imageCompressionControlSwapchain
;
20669 out_header
= (void *)out_ext
;
20672 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
:
20674 VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
);
20675 const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*in_ext
= (const VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT
*)in_header
;
20676 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT
;
20677 out_ext
->subpassMergeFeedback
= in_ext
->subpassMergeFeedback
;
20678 out_header
= (void *)out_ext
;
20681 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
:
20683 VkPhysicalDeviceOpacityMicromapFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
);
20684 const VkPhysicalDeviceOpacityMicromapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceOpacityMicromapFeaturesEXT
*)in_header
;
20685 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT
;
20686 out_ext
->micromap
= in_ext
->micromap
;
20687 out_ext
->micromapCaptureReplay
= in_ext
->micromapCaptureReplay
;
20688 out_ext
->micromapHostCommands
= in_ext
->micromapHostCommands
;
20689 out_header
= (void *)out_ext
;
20692 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
:
20694 VkPhysicalDevicePipelinePropertiesFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
);
20695 const VkPhysicalDevicePipelinePropertiesFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelinePropertiesFeaturesEXT
*)in_header
;
20696 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT
;
20697 out_ext
->pipelinePropertiesIdentifier
= in_ext
->pipelinePropertiesIdentifier
;
20698 out_header
= (void *)out_ext
;
20701 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
:
20703 VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
);
20704 const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*in_ext
= (const VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD
*)in_header
;
20705 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
;
20706 out_ext
->shaderEarlyAndLateFragmentTests
= in_ext
->shaderEarlyAndLateFragmentTests
;
20707 out_header
= (void *)out_ext
;
20710 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
:
20712 VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
);
20713 const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*in_ext
= (const VkPhysicalDeviceNonSeamlessCubeMapFeaturesEXT
*)in_header
;
20714 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT
;
20715 out_ext
->nonSeamlessCubeMap
= in_ext
->nonSeamlessCubeMap
;
20716 out_header
= (void *)out_ext
;
20719 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
:
20721 VkPhysicalDevicePipelineRobustnessFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
);
20722 const VkPhysicalDevicePipelineRobustnessFeaturesEXT
*in_ext
= (const VkPhysicalDevicePipelineRobustnessFeaturesEXT
*)in_header
;
20723 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES_EXT
;
20724 out_ext
->pipelineRobustness
= in_ext
->pipelineRobustness
;
20725 out_header
= (void *)out_ext
;
20728 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
:
20730 VkPhysicalDeviceImageProcessingFeaturesQCOM32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
);
20731 const VkPhysicalDeviceImageProcessingFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceImageProcessingFeaturesQCOM
*)in_header
;
20732 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
;
20733 out_ext
->textureSampleWeighted
= in_ext
->textureSampleWeighted
;
20734 out_ext
->textureBoxFilter
= in_ext
->textureBoxFilter
;
20735 out_ext
->textureBlockMatch
= in_ext
->textureBlockMatch
;
20736 out_header
= (void *)out_ext
;
20739 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
:
20741 VkPhysicalDeviceTilePropertiesFeaturesQCOM32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
);
20742 const VkPhysicalDeviceTilePropertiesFeaturesQCOM
*in_ext
= (const VkPhysicalDeviceTilePropertiesFeaturesQCOM
*)in_header
;
20743 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
;
20744 out_ext
->tileProperties
= in_ext
->tileProperties
;
20745 out_header
= (void *)out_ext
;
20748 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
:
20750 VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
);
20751 const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*in_ext
= (const VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT
*)in_header
;
20752 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT
;
20753 out_ext
->attachmentFeedbackLoopLayout
= in_ext
->attachmentFeedbackLoopLayout
;
20754 out_header
= (void *)out_ext
;
20757 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
:
20759 VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
);
20760 const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*in_ext
= (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT
*)in_header
;
20761 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT
;
20762 out_ext
->depthClampZeroOne
= in_ext
->depthClampZeroOne
;
20763 out_header
= (void *)out_ext
;
20766 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
:
20768 VkPhysicalDeviceAddressBindingReportFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
);
20769 const VkPhysicalDeviceAddressBindingReportFeaturesEXT
*in_ext
= (const VkPhysicalDeviceAddressBindingReportFeaturesEXT
*)in_header
;
20770 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT
;
20771 out_ext
->reportAddressBinding
= in_ext
->reportAddressBinding
;
20772 out_header
= (void *)out_ext
;
20775 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
:
20777 VkPhysicalDeviceOpticalFlowFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
);
20778 const VkPhysicalDeviceOpticalFlowFeaturesNV
*in_ext
= (const VkPhysicalDeviceOpticalFlowFeaturesNV
*)in_header
;
20779 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
;
20780 out_ext
->opticalFlow
= in_ext
->opticalFlow
;
20781 out_header
= (void *)out_ext
;
20784 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
:
20786 VkPhysicalDeviceFaultFeaturesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
);
20787 const VkPhysicalDeviceFaultFeaturesEXT
*in_ext
= (const VkPhysicalDeviceFaultFeaturesEXT
*)in_header
;
20788 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT
;
20789 out_ext
->deviceFault
= in_ext
->deviceFault
;
20790 out_ext
->deviceFaultVendorBinary
= in_ext
->deviceFaultVendorBinary
;
20791 out_header
= (void *)out_ext
;
20794 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
:
20796 VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
);
20797 const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*in_ext
= (const VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM
*)in_header
;
20798 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
;
20799 out_ext
->shaderCoreBuiltins
= in_ext
->shaderCoreBuiltins
;
20800 out_header
= (void *)out_ext
;
20803 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
:
20805 VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
);
20806 const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*in_ext
= (const VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV
*)in_header
;
20807 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
;
20808 out_ext
->rayTracingInvocationReorder
= in_ext
->rayTracingInvocationReorder
;
20809 out_header
= (void *)out_ext
;
20818 static inline void convert_VkFormatProperties2_win32_to_host(struct conversion_context
*ctx
, const VkFormatProperties232
*in
, VkFormatProperties2
*out
)
20820 const VkBaseInStructure32
*in_header
;
20821 VkBaseOutStructure
*out_header
= (void *)out
;
20825 out
->sType
= in
->sType
;
20828 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
20830 switch (in_header
->sType
)
20832 case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
:
20834 VkSubpassResolvePerformanceQueryEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
20835 out_ext
->sType
= VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
;
20836 out_ext
->pNext
= NULL
;
20837 out_header
->pNext
= (void *)out_ext
;
20838 out_header
= (void *)out_ext
;
20841 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
:
20843 VkFormatProperties3
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
20844 out_ext
->sType
= VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
;
20845 out_ext
->pNext
= NULL
;
20846 out_header
->pNext
= (void *)out_ext
;
20847 out_header
= (void *)out_ext
;
20851 FIXME("Unhandled sType %u.", in_header
->sType
);
20857 static inline void convert_VkFormatProperties2_host_to_win32(const VkFormatProperties2
*in
, VkFormatProperties232
*out
)
20859 const VkBaseInStructure
*in_header
;
20860 VkBaseOutStructure32
*out_header
= (void *)out
;
20864 out
->formatProperties
= in
->formatProperties
;
20866 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
20868 switch (in_header
->sType
)
20870 case VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
:
20872 VkSubpassResolvePerformanceQueryEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
);
20873 const VkSubpassResolvePerformanceQueryEXT
*in_ext
= (const VkSubpassResolvePerformanceQueryEXT
*)in_header
;
20874 out_ext
->sType
= VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT
;
20875 out_ext
->optimal
= in_ext
->optimal
;
20876 out_header
= (void *)out_ext
;
20879 case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
:
20881 VkFormatProperties332
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
);
20882 const VkFormatProperties3
*in_ext
= (const VkFormatProperties3
*)in_header
;
20883 out_ext
->sType
= VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3
;
20884 out_ext
->linearTilingFeatures
= in_ext
->linearTilingFeatures
;
20885 out_ext
->optimalTilingFeatures
= in_ext
->optimalTilingFeatures
;
20886 out_ext
->bufferFeatures
= in_ext
->bufferFeatures
;
20887 out_header
= (void *)out_ext
;
20896 static inline void convert_VkPhysicalDeviceFragmentShadingRateKHR_win32_to_host(const VkPhysicalDeviceFragmentShadingRateKHR32
*in
, VkPhysicalDeviceFragmentShadingRateKHR
*out
)
20900 out
->sType
= in
->sType
;
20903 FIXME("Unexpected pNext\n");
20906 static inline void convert_VkPhysicalDeviceFragmentShadingRateKHR_host_to_win32(const VkPhysicalDeviceFragmentShadingRateKHR
*in
, VkPhysicalDeviceFragmentShadingRateKHR32
*out
)
20910 out
->sampleCounts
= in
->sampleCounts
;
20911 out
->fragmentSize
= in
->fragmentSize
;
20914 static inline VkPhysicalDeviceFragmentShadingRateKHR
*convert_VkPhysicalDeviceFragmentShadingRateKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceFragmentShadingRateKHR32
*in
, uint32_t count
)
20916 VkPhysicalDeviceFragmentShadingRateKHR
*out
;
20919 if (!in
|| !count
) return NULL
;
20921 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
20922 for (i
= 0; i
< count
; i
++)
20924 convert_VkPhysicalDeviceFragmentShadingRateKHR_win32_to_host(&in
[i
], &out
[i
]);
20930 static inline void convert_VkPhysicalDeviceFragmentShadingRateKHR_array_host_to_win32(const VkPhysicalDeviceFragmentShadingRateKHR
*in
, VkPhysicalDeviceFragmentShadingRateKHR32
*out
, uint32_t count
)
20936 for (i
= 0; i
< count
; i
++)
20938 convert_VkPhysicalDeviceFragmentShadingRateKHR_host_to_win32(&in
[i
], &out
[i
]);
20942 static inline void convert_VkImageFormatProperties_host_to_win32(const VkImageFormatProperties
*in
, VkImageFormatProperties32
*out
)
20946 out
->maxExtent
= in
->maxExtent
;
20947 out
->maxMipLevels
= in
->maxMipLevels
;
20948 out
->maxArrayLayers
= in
->maxArrayLayers
;
20949 out
->sampleCounts
= in
->sampleCounts
;
20950 out
->maxResourceSize
= in
->maxResourceSize
;
20953 static inline void convert_VkPhysicalDeviceImageFormatInfo2_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceImageFormatInfo232
*in
, VkPhysicalDeviceImageFormatInfo2
*out
)
20955 const VkBaseInStructure32
*in_header
;
20956 VkBaseOutStructure
*out_header
= (void *)out
;
20960 out
->sType
= in
->sType
;
20962 out
->format
= in
->format
;
20963 out
->type
= in
->type
;
20964 out
->tiling
= in
->tiling
;
20965 out
->usage
= in
->usage
;
20966 out
->flags
= in
->flags
;
20968 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
20970 switch (in_header
->sType
)
20972 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO
:
20974 VkPhysicalDeviceExternalImageFormatInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
20975 const VkPhysicalDeviceExternalImageFormatInfo32
*in_ext
= (const VkPhysicalDeviceExternalImageFormatInfo32
*)in_header
;
20976 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO
;
20977 out_ext
->pNext
= NULL
;
20978 out_ext
->handleType
= in_ext
->handleType
;
20979 out_header
->pNext
= (void *)out_ext
;
20980 out_header
= (void *)out_ext
;
20983 case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
:
20985 VkImageFormatListCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
20986 const VkImageFormatListCreateInfo32
*in_ext
= (const VkImageFormatListCreateInfo32
*)in_header
;
20987 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO
;
20988 out_ext
->pNext
= NULL
;
20989 out_ext
->viewFormatCount
= in_ext
->viewFormatCount
;
20990 out_ext
->pViewFormats
= (const VkFormat
*)UlongToPtr(in_ext
->pViewFormats
);
20991 out_header
->pNext
= (void *)out_ext
;
20992 out_header
= (void *)out_ext
;
20995 case VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO
:
20997 VkImageStencilUsageCreateInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
20998 const VkImageStencilUsageCreateInfo32
*in_ext
= (const VkImageStencilUsageCreateInfo32
*)in_header
;
20999 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO
;
21000 out_ext
->pNext
= NULL
;
21001 out_ext
->stencilUsage
= in_ext
->stencilUsage
;
21002 out_header
->pNext
= (void *)out_ext
;
21003 out_header
= (void *)out_ext
;
21006 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT
:
21008 VkPhysicalDeviceImageViewImageFormatInfoEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21009 const VkPhysicalDeviceImageViewImageFormatInfoEXT32
*in_ext
= (const VkPhysicalDeviceImageViewImageFormatInfoEXT32
*)in_header
;
21010 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_VIEW_IMAGE_FORMAT_INFO_EXT
;
21011 out_ext
->pNext
= NULL
;
21012 out_ext
->imageViewType
= in_ext
->imageViewType
;
21013 out_header
->pNext
= (void *)out_ext
;
21014 out_header
= (void *)out_ext
;
21017 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT
:
21019 VkImageCompressionControlEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21020 const VkImageCompressionControlEXT32
*in_ext
= (const VkImageCompressionControlEXT32
*)in_header
;
21021 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT
;
21022 out_ext
->pNext
= NULL
;
21023 out_ext
->flags
= in_ext
->flags
;
21024 out_ext
->compressionControlPlaneCount
= in_ext
->compressionControlPlaneCount
;
21025 out_ext
->pFixedRateFlags
= (VkImageCompressionFixedRateFlagsEXT
*)UlongToPtr(in_ext
->pFixedRateFlags
);
21026 out_header
->pNext
= (void *)out_ext
;
21027 out_header
= (void *)out_ext
;
21030 case VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV
:
21032 VkOpticalFlowImageFormatInfoNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21033 const VkOpticalFlowImageFormatInfoNV32
*in_ext
= (const VkOpticalFlowImageFormatInfoNV32
*)in_header
;
21034 out_ext
->sType
= VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV
;
21035 out_ext
->pNext
= NULL
;
21036 out_ext
->usage
= in_ext
->usage
;
21037 out_header
->pNext
= (void *)out_ext
;
21038 out_header
= (void *)out_ext
;
21042 FIXME("Unhandled sType %u.", in_header
->sType
);
21048 static inline void convert_VkImageFormatProperties2_win32_to_host(struct conversion_context
*ctx
, const VkImageFormatProperties232
*in
, VkImageFormatProperties2
*out
)
21050 const VkBaseInStructure32
*in_header
;
21051 VkBaseOutStructure
*out_header
= (void *)out
;
21055 out
->sType
= in
->sType
;
21058 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
21060 switch (in_header
->sType
)
21062 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES
:
21064 VkExternalImageFormatProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21065 out_ext
->sType
= VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES
;
21066 out_ext
->pNext
= NULL
;
21067 out_header
->pNext
= (void *)out_ext
;
21068 out_header
= (void *)out_ext
;
21071 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
:
21073 VkSamplerYcbcrConversionImageFormatProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21074 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
;
21075 out_ext
->pNext
= NULL
;
21076 out_header
->pNext
= (void *)out_ext
;
21077 out_header
= (void *)out_ext
;
21080 case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD
:
21082 VkTextureLODGatherFormatPropertiesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21083 out_ext
->sType
= VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD
;
21084 out_ext
->pNext
= NULL
;
21085 out_header
->pNext
= (void *)out_ext
;
21086 out_header
= (void *)out_ext
;
21089 case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT
:
21091 VkFilterCubicImageViewImageFormatPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21092 out_ext
->sType
= VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT
;
21093 out_ext
->pNext
= NULL
;
21094 out_header
->pNext
= (void *)out_ext
;
21095 out_header
= (void *)out_ext
;
21098 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
:
21100 VkImageCompressionPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21101 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
;
21102 out_ext
->pNext
= NULL
;
21103 out_header
->pNext
= (void *)out_ext
;
21104 out_header
= (void *)out_ext
;
21108 FIXME("Unhandled sType %u.", in_header
->sType
);
21114 static inline void convert_VkImageFormatProperties2_host_to_win32(const VkImageFormatProperties2
*in
, VkImageFormatProperties232
*out
)
21116 const VkBaseInStructure
*in_header
;
21117 VkBaseOutStructure32
*out_header
= (void *)out
;
21121 convert_VkImageFormatProperties_host_to_win32(&in
->imageFormatProperties
, &out
->imageFormatProperties
);
21123 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
21125 switch (in_header
->sType
)
21127 case VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES
:
21129 VkExternalImageFormatProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES
);
21130 const VkExternalImageFormatProperties
*in_ext
= (const VkExternalImageFormatProperties
*)in_header
;
21131 out_ext
->sType
= VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES
;
21132 out_ext
->externalMemoryProperties
= in_ext
->externalMemoryProperties
;
21133 out_header
= (void *)out_ext
;
21136 case VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
:
21138 VkSamplerYcbcrConversionImageFormatProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
);
21139 const VkSamplerYcbcrConversionImageFormatProperties
*in_ext
= (const VkSamplerYcbcrConversionImageFormatProperties
*)in_header
;
21140 out_ext
->sType
= VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES
;
21141 out_ext
->combinedImageSamplerDescriptorCount
= in_ext
->combinedImageSamplerDescriptorCount
;
21142 out_header
= (void *)out_ext
;
21145 case VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD
:
21147 VkTextureLODGatherFormatPropertiesAMD32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD
);
21148 const VkTextureLODGatherFormatPropertiesAMD
*in_ext
= (const VkTextureLODGatherFormatPropertiesAMD
*)in_header
;
21149 out_ext
->sType
= VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD
;
21150 out_ext
->supportsTextureGatherLODBiasAMD
= in_ext
->supportsTextureGatherLODBiasAMD
;
21151 out_header
= (void *)out_ext
;
21154 case VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT
:
21156 VkFilterCubicImageViewImageFormatPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT
);
21157 const VkFilterCubicImageViewImageFormatPropertiesEXT
*in_ext
= (const VkFilterCubicImageViewImageFormatPropertiesEXT
*)in_header
;
21158 out_ext
->sType
= VK_STRUCTURE_TYPE_FILTER_CUBIC_IMAGE_VIEW_IMAGE_FORMAT_PROPERTIES_EXT
;
21159 out_ext
->filterCubic
= in_ext
->filterCubic
;
21160 out_ext
->filterCubicMinmax
= in_ext
->filterCubicMinmax
;
21161 out_header
= (void *)out_ext
;
21164 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
:
21166 VkImageCompressionPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
);
21167 const VkImageCompressionPropertiesEXT
*in_ext
= (const VkImageCompressionPropertiesEXT
*)in_header
;
21168 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
;
21169 out_ext
->imageCompressionFlags
= in_ext
->imageCompressionFlags
;
21170 out_ext
->imageCompressionFixedRateFlags
= in_ext
->imageCompressionFixedRateFlags
;
21171 out_header
= (void *)out_ext
;
21180 static inline void convert_VkMemoryHeap_host_to_win32(const VkMemoryHeap
*in
, VkMemoryHeap32
*out
)
21184 out
->size
= in
->size
;
21185 out
->flags
= in
->flags
;
21188 static inline void convert_VkMemoryHeap_array_host_to_win32(const VkMemoryHeap
*in
, VkMemoryHeap32
*out
, uint32_t count
)
21194 for (i
= 0; i
< count
; i
++)
21196 convert_VkMemoryHeap_host_to_win32(&in
[i
], &out
[i
]);
21200 static inline void convert_VkPhysicalDeviceMemoryProperties_host_to_win32(const VkPhysicalDeviceMemoryProperties
*in
, VkPhysicalDeviceMemoryProperties32
*out
)
21204 out
->memoryTypeCount
= in
->memoryTypeCount
;
21205 memcpy(out
->memoryTypes
, in
->memoryTypes
, VK_MAX_MEMORY_TYPES
* sizeof(VkMemoryType
));
21206 out
->memoryHeapCount
= in
->memoryHeapCount
;
21207 convert_VkMemoryHeap_array_host_to_win32(in
->memoryHeaps
, out
->memoryHeaps
, VK_MAX_MEMORY_HEAPS
);
21210 static inline void convert_VkPhysicalDeviceMemoryProperties2_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceMemoryProperties232
*in
, VkPhysicalDeviceMemoryProperties2
*out
)
21212 const VkBaseInStructure32
*in_header
;
21213 VkBaseOutStructure
*out_header
= (void *)out
;
21217 out
->sType
= in
->sType
;
21220 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
21222 switch (in_header
->sType
)
21224 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
:
21226 VkPhysicalDeviceMemoryBudgetPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21227 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
;
21228 out_ext
->pNext
= NULL
;
21229 out_header
->pNext
= (void *)out_ext
;
21230 out_header
= (void *)out_ext
;
21234 FIXME("Unhandled sType %u.", in_header
->sType
);
21240 static inline void convert_VkPhysicalDeviceMemoryProperties2_host_to_win32(const VkPhysicalDeviceMemoryProperties2
*in
, VkPhysicalDeviceMemoryProperties232
*out
)
21242 const VkBaseInStructure
*in_header
;
21243 VkBaseOutStructure32
*out_header
= (void *)out
;
21247 convert_VkPhysicalDeviceMemoryProperties_host_to_win32(&in
->memoryProperties
, &out
->memoryProperties
);
21249 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
21251 switch (in_header
->sType
)
21253 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
:
21255 VkPhysicalDeviceMemoryBudgetPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
);
21256 const VkPhysicalDeviceMemoryBudgetPropertiesEXT
*in_ext
= (const VkPhysicalDeviceMemoryBudgetPropertiesEXT
*)in_header
;
21257 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
;
21258 memcpy(out_ext
->heapBudget
, in_ext
->heapBudget
, VK_MAX_MEMORY_HEAPS
* sizeof(VkDeviceSize
));
21259 memcpy(out_ext
->heapUsage
, in_ext
->heapUsage
, VK_MAX_MEMORY_HEAPS
* sizeof(VkDeviceSize
));
21260 out_header
= (void *)out_ext
;
21269 static inline void convert_VkMultisamplePropertiesEXT_win32_to_host(const VkMultisamplePropertiesEXT32
*in
, VkMultisamplePropertiesEXT
*out
)
21273 out
->sType
= in
->sType
;
21276 FIXME("Unexpected pNext\n");
21279 static inline void convert_VkMultisamplePropertiesEXT_host_to_win32(const VkMultisamplePropertiesEXT
*in
, VkMultisamplePropertiesEXT32
*out
)
21283 out
->maxSampleLocationGridSize
= in
->maxSampleLocationGridSize
;
21286 static inline void convert_VkOpticalFlowImageFormatInfoNV_win32_to_host(const VkOpticalFlowImageFormatInfoNV32
*in
, VkOpticalFlowImageFormatInfoNV
*out
)
21290 out
->sType
= in
->sType
;
21292 out
->usage
= in
->usage
;
21294 FIXME("Unexpected pNext\n");
21297 static inline void convert_VkOpticalFlowImageFormatPropertiesNV_win32_to_host(const VkOpticalFlowImageFormatPropertiesNV32
*in
, VkOpticalFlowImageFormatPropertiesNV
*out
)
21301 out
->sType
= in
->sType
;
21304 FIXME("Unexpected pNext\n");
21307 static inline void convert_VkOpticalFlowImageFormatPropertiesNV_host_to_win32(const VkOpticalFlowImageFormatPropertiesNV
*in
, VkOpticalFlowImageFormatPropertiesNV32
*out
)
21311 out
->format
= in
->format
;
21314 static inline VkOpticalFlowImageFormatPropertiesNV
*convert_VkOpticalFlowImageFormatPropertiesNV_array_win32_to_host(struct conversion_context
*ctx
, const VkOpticalFlowImageFormatPropertiesNV32
*in
, uint32_t count
)
21316 VkOpticalFlowImageFormatPropertiesNV
*out
;
21319 if (!in
|| !count
) return NULL
;
21321 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
21322 for (i
= 0; i
< count
; i
++)
21324 convert_VkOpticalFlowImageFormatPropertiesNV_win32_to_host(&in
[i
], &out
[i
]);
21330 static inline void convert_VkOpticalFlowImageFormatPropertiesNV_array_host_to_win32(const VkOpticalFlowImageFormatPropertiesNV
*in
, VkOpticalFlowImageFormatPropertiesNV32
*out
, uint32_t count
)
21336 for (i
= 0; i
< count
; i
++)
21338 convert_VkOpticalFlowImageFormatPropertiesNV_host_to_win32(&in
[i
], &out
[i
]);
21342 static inline void convert_VkPhysicalDeviceLimits_host_to_win32(const VkPhysicalDeviceLimits
*in
, VkPhysicalDeviceLimits32
*out
)
21346 out
->maxImageDimension1D
= in
->maxImageDimension1D
;
21347 out
->maxImageDimension2D
= in
->maxImageDimension2D
;
21348 out
->maxImageDimension3D
= in
->maxImageDimension3D
;
21349 out
->maxImageDimensionCube
= in
->maxImageDimensionCube
;
21350 out
->maxImageArrayLayers
= in
->maxImageArrayLayers
;
21351 out
->maxTexelBufferElements
= in
->maxTexelBufferElements
;
21352 out
->maxUniformBufferRange
= in
->maxUniformBufferRange
;
21353 out
->maxStorageBufferRange
= in
->maxStorageBufferRange
;
21354 out
->maxPushConstantsSize
= in
->maxPushConstantsSize
;
21355 out
->maxMemoryAllocationCount
= in
->maxMemoryAllocationCount
;
21356 out
->maxSamplerAllocationCount
= in
->maxSamplerAllocationCount
;
21357 out
->bufferImageGranularity
= in
->bufferImageGranularity
;
21358 out
->sparseAddressSpaceSize
= in
->sparseAddressSpaceSize
;
21359 out
->maxBoundDescriptorSets
= in
->maxBoundDescriptorSets
;
21360 out
->maxPerStageDescriptorSamplers
= in
->maxPerStageDescriptorSamplers
;
21361 out
->maxPerStageDescriptorUniformBuffers
= in
->maxPerStageDescriptorUniformBuffers
;
21362 out
->maxPerStageDescriptorStorageBuffers
= in
->maxPerStageDescriptorStorageBuffers
;
21363 out
->maxPerStageDescriptorSampledImages
= in
->maxPerStageDescriptorSampledImages
;
21364 out
->maxPerStageDescriptorStorageImages
= in
->maxPerStageDescriptorStorageImages
;
21365 out
->maxPerStageDescriptorInputAttachments
= in
->maxPerStageDescriptorInputAttachments
;
21366 out
->maxPerStageResources
= in
->maxPerStageResources
;
21367 out
->maxDescriptorSetSamplers
= in
->maxDescriptorSetSamplers
;
21368 out
->maxDescriptorSetUniformBuffers
= in
->maxDescriptorSetUniformBuffers
;
21369 out
->maxDescriptorSetUniformBuffersDynamic
= in
->maxDescriptorSetUniformBuffersDynamic
;
21370 out
->maxDescriptorSetStorageBuffers
= in
->maxDescriptorSetStorageBuffers
;
21371 out
->maxDescriptorSetStorageBuffersDynamic
= in
->maxDescriptorSetStorageBuffersDynamic
;
21372 out
->maxDescriptorSetSampledImages
= in
->maxDescriptorSetSampledImages
;
21373 out
->maxDescriptorSetStorageImages
= in
->maxDescriptorSetStorageImages
;
21374 out
->maxDescriptorSetInputAttachments
= in
->maxDescriptorSetInputAttachments
;
21375 out
->maxVertexInputAttributes
= in
->maxVertexInputAttributes
;
21376 out
->maxVertexInputBindings
= in
->maxVertexInputBindings
;
21377 out
->maxVertexInputAttributeOffset
= in
->maxVertexInputAttributeOffset
;
21378 out
->maxVertexInputBindingStride
= in
->maxVertexInputBindingStride
;
21379 out
->maxVertexOutputComponents
= in
->maxVertexOutputComponents
;
21380 out
->maxTessellationGenerationLevel
= in
->maxTessellationGenerationLevel
;
21381 out
->maxTessellationPatchSize
= in
->maxTessellationPatchSize
;
21382 out
->maxTessellationControlPerVertexInputComponents
= in
->maxTessellationControlPerVertexInputComponents
;
21383 out
->maxTessellationControlPerVertexOutputComponents
= in
->maxTessellationControlPerVertexOutputComponents
;
21384 out
->maxTessellationControlPerPatchOutputComponents
= in
->maxTessellationControlPerPatchOutputComponents
;
21385 out
->maxTessellationControlTotalOutputComponents
= in
->maxTessellationControlTotalOutputComponents
;
21386 out
->maxTessellationEvaluationInputComponents
= in
->maxTessellationEvaluationInputComponents
;
21387 out
->maxTessellationEvaluationOutputComponents
= in
->maxTessellationEvaluationOutputComponents
;
21388 out
->maxGeometryShaderInvocations
= in
->maxGeometryShaderInvocations
;
21389 out
->maxGeometryInputComponents
= in
->maxGeometryInputComponents
;
21390 out
->maxGeometryOutputComponents
= in
->maxGeometryOutputComponents
;
21391 out
->maxGeometryOutputVertices
= in
->maxGeometryOutputVertices
;
21392 out
->maxGeometryTotalOutputComponents
= in
->maxGeometryTotalOutputComponents
;
21393 out
->maxFragmentInputComponents
= in
->maxFragmentInputComponents
;
21394 out
->maxFragmentOutputAttachments
= in
->maxFragmentOutputAttachments
;
21395 out
->maxFragmentDualSrcAttachments
= in
->maxFragmentDualSrcAttachments
;
21396 out
->maxFragmentCombinedOutputResources
= in
->maxFragmentCombinedOutputResources
;
21397 out
->maxComputeSharedMemorySize
= in
->maxComputeSharedMemorySize
;
21398 memcpy(out
->maxComputeWorkGroupCount
, in
->maxComputeWorkGroupCount
, 3 * sizeof(uint32_t));
21399 out
->maxComputeWorkGroupInvocations
= in
->maxComputeWorkGroupInvocations
;
21400 memcpy(out
->maxComputeWorkGroupSize
, in
->maxComputeWorkGroupSize
, 3 * sizeof(uint32_t));
21401 out
->subPixelPrecisionBits
= in
->subPixelPrecisionBits
;
21402 out
->subTexelPrecisionBits
= in
->subTexelPrecisionBits
;
21403 out
->mipmapPrecisionBits
= in
->mipmapPrecisionBits
;
21404 out
->maxDrawIndexedIndexValue
= in
->maxDrawIndexedIndexValue
;
21405 out
->maxDrawIndirectCount
= in
->maxDrawIndirectCount
;
21406 out
->maxSamplerLodBias
= in
->maxSamplerLodBias
;
21407 out
->maxSamplerAnisotropy
= in
->maxSamplerAnisotropy
;
21408 out
->maxViewports
= in
->maxViewports
;
21409 memcpy(out
->maxViewportDimensions
, in
->maxViewportDimensions
, 2 * sizeof(uint32_t));
21410 memcpy(out
->viewportBoundsRange
, in
->viewportBoundsRange
, 2 * sizeof(float));
21411 out
->viewportSubPixelBits
= in
->viewportSubPixelBits
;
21412 out
->minMemoryMapAlignment
= in
->minMemoryMapAlignment
;
21413 out
->minTexelBufferOffsetAlignment
= in
->minTexelBufferOffsetAlignment
;
21414 out
->minUniformBufferOffsetAlignment
= in
->minUniformBufferOffsetAlignment
;
21415 out
->minStorageBufferOffsetAlignment
= in
->minStorageBufferOffsetAlignment
;
21416 out
->minTexelOffset
= in
->minTexelOffset
;
21417 out
->maxTexelOffset
= in
->maxTexelOffset
;
21418 out
->minTexelGatherOffset
= in
->minTexelGatherOffset
;
21419 out
->maxTexelGatherOffset
= in
->maxTexelGatherOffset
;
21420 out
->minInterpolationOffset
= in
->minInterpolationOffset
;
21421 out
->maxInterpolationOffset
= in
->maxInterpolationOffset
;
21422 out
->subPixelInterpolationOffsetBits
= in
->subPixelInterpolationOffsetBits
;
21423 out
->maxFramebufferWidth
= in
->maxFramebufferWidth
;
21424 out
->maxFramebufferHeight
= in
->maxFramebufferHeight
;
21425 out
->maxFramebufferLayers
= in
->maxFramebufferLayers
;
21426 out
->framebufferColorSampleCounts
= in
->framebufferColorSampleCounts
;
21427 out
->framebufferDepthSampleCounts
= in
->framebufferDepthSampleCounts
;
21428 out
->framebufferStencilSampleCounts
= in
->framebufferStencilSampleCounts
;
21429 out
->framebufferNoAttachmentsSampleCounts
= in
->framebufferNoAttachmentsSampleCounts
;
21430 out
->maxColorAttachments
= in
->maxColorAttachments
;
21431 out
->sampledImageColorSampleCounts
= in
->sampledImageColorSampleCounts
;
21432 out
->sampledImageIntegerSampleCounts
= in
->sampledImageIntegerSampleCounts
;
21433 out
->sampledImageDepthSampleCounts
= in
->sampledImageDepthSampleCounts
;
21434 out
->sampledImageStencilSampleCounts
= in
->sampledImageStencilSampleCounts
;
21435 out
->storageImageSampleCounts
= in
->storageImageSampleCounts
;
21436 out
->maxSampleMaskWords
= in
->maxSampleMaskWords
;
21437 out
->timestampComputeAndGraphics
= in
->timestampComputeAndGraphics
;
21438 out
->timestampPeriod
= in
->timestampPeriod
;
21439 out
->maxClipDistances
= in
->maxClipDistances
;
21440 out
->maxCullDistances
= in
->maxCullDistances
;
21441 out
->maxCombinedClipAndCullDistances
= in
->maxCombinedClipAndCullDistances
;
21442 out
->discreteQueuePriorities
= in
->discreteQueuePriorities
;
21443 memcpy(out
->pointSizeRange
, in
->pointSizeRange
, 2 * sizeof(float));
21444 memcpy(out
->lineWidthRange
, in
->lineWidthRange
, 2 * sizeof(float));
21445 out
->pointSizeGranularity
= in
->pointSizeGranularity
;
21446 out
->lineWidthGranularity
= in
->lineWidthGranularity
;
21447 out
->strictLines
= in
->strictLines
;
21448 out
->standardSampleLocations
= in
->standardSampleLocations
;
21449 out
->optimalBufferCopyOffsetAlignment
= in
->optimalBufferCopyOffsetAlignment
;
21450 out
->optimalBufferCopyRowPitchAlignment
= in
->optimalBufferCopyRowPitchAlignment
;
21451 out
->nonCoherentAtomSize
= in
->nonCoherentAtomSize
;
21454 static inline void convert_VkPhysicalDeviceProperties_host_to_win32(const VkPhysicalDeviceProperties
*in
, VkPhysicalDeviceProperties32
*out
)
21458 out
->apiVersion
= in
->apiVersion
;
21459 out
->driverVersion
= in
->driverVersion
;
21460 out
->vendorID
= in
->vendorID
;
21461 out
->deviceID
= in
->deviceID
;
21462 out
->deviceType
= in
->deviceType
;
21463 memcpy(out
->deviceName
, in
->deviceName
, VK_MAX_PHYSICAL_DEVICE_NAME_SIZE
* sizeof(char));
21464 memcpy(out
->pipelineCacheUUID
, in
->pipelineCacheUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
21465 convert_VkPhysicalDeviceLimits_host_to_win32(&in
->limits
, &out
->limits
);
21466 out
->sparseProperties
= in
->sparseProperties
;
21469 static inline void convert_VkPhysicalDeviceProperties2_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceProperties232
*in
, VkPhysicalDeviceProperties2
*out
)
21471 const VkBaseInStructure32
*in_header
;
21472 VkBaseOutStructure
*out_header
= (void *)out
;
21476 out
->sType
= in
->sType
;
21479 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
21481 switch (in_header
->sType
)
21483 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
:
21485 VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21486 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
;
21487 out_ext
->pNext
= NULL
;
21488 out_header
->pNext
= (void *)out_ext
;
21489 out_header
= (void *)out_ext
;
21492 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
:
21494 VkPhysicalDeviceMultiDrawPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21495 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
;
21496 out_ext
->pNext
= NULL
;
21497 out_header
->pNext
= (void *)out_ext
;
21498 out_header
= (void *)out_ext
;
21501 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
:
21503 VkPhysicalDevicePushDescriptorPropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21504 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
;
21505 out_ext
->pNext
= NULL
;
21506 out_header
->pNext
= (void *)out_ext
;
21507 out_header
= (void *)out_ext
;
21510 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
:
21512 VkPhysicalDeviceDriverProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21513 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
;
21514 out_ext
->pNext
= NULL
;
21515 out_header
->pNext
= (void *)out_ext
;
21516 out_header
= (void *)out_ext
;
21519 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
:
21521 VkPhysicalDeviceIDProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21522 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
;
21523 out_ext
->pNext
= NULL
;
21524 out_header
->pNext
= (void *)out_ext
;
21525 out_header
= (void *)out_ext
;
21528 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
:
21530 VkPhysicalDeviceMultiviewProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21531 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
;
21532 out_ext
->pNext
= NULL
;
21533 out_header
->pNext
= (void *)out_ext
;
21534 out_header
= (void *)out_ext
;
21537 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
:
21539 VkPhysicalDeviceDiscardRectanglePropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21540 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
;
21541 out_ext
->pNext
= NULL
;
21542 out_header
->pNext
= (void *)out_ext
;
21543 out_header
= (void *)out_ext
;
21546 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
:
21548 VkPhysicalDeviceSubgroupProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21549 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
;
21550 out_ext
->pNext
= NULL
;
21551 out_header
->pNext
= (void *)out_ext
;
21552 out_header
= (void *)out_ext
;
21555 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
:
21557 VkPhysicalDevicePointClippingProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21558 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
;
21559 out_ext
->pNext
= NULL
;
21560 out_header
->pNext
= (void *)out_ext
;
21561 out_header
= (void *)out_ext
;
21564 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
:
21566 VkPhysicalDeviceProtectedMemoryProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21567 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
;
21568 out_ext
->pNext
= NULL
;
21569 out_header
->pNext
= (void *)out_ext
;
21570 out_header
= (void *)out_ext
;
21573 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
:
21575 VkPhysicalDeviceSamplerFilterMinmaxProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21576 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
;
21577 out_ext
->pNext
= NULL
;
21578 out_header
->pNext
= (void *)out_ext
;
21579 out_header
= (void *)out_ext
;
21582 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
:
21584 VkPhysicalDeviceSampleLocationsPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21585 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
;
21586 out_ext
->pNext
= NULL
;
21587 out_header
->pNext
= (void *)out_ext
;
21588 out_header
= (void *)out_ext
;
21591 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
:
21593 VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21594 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
;
21595 out_ext
->pNext
= NULL
;
21596 out_header
->pNext
= (void *)out_ext
;
21597 out_header
= (void *)out_ext
;
21600 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
:
21602 VkPhysicalDeviceInlineUniformBlockProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21603 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
;
21604 out_ext
->pNext
= NULL
;
21605 out_header
->pNext
= (void *)out_ext
;
21606 out_header
= (void *)out_ext
;
21609 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
:
21611 VkPhysicalDeviceMaintenance3Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21612 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
;
21613 out_ext
->pNext
= NULL
;
21614 out_header
->pNext
= (void *)out_ext
;
21615 out_header
= (void *)out_ext
;
21618 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
:
21620 VkPhysicalDeviceMaintenance4Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21621 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
;
21622 out_ext
->pNext
= NULL
;
21623 out_header
->pNext
= (void *)out_ext
;
21624 out_header
= (void *)out_ext
;
21627 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
:
21629 VkPhysicalDeviceFloatControlsProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21630 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
;
21631 out_ext
->pNext
= NULL
;
21632 out_header
->pNext
= (void *)out_ext
;
21633 out_header
= (void *)out_ext
;
21636 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
:
21638 VkPhysicalDeviceExternalMemoryHostPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21639 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
;
21640 out_ext
->pNext
= NULL
;
21641 out_header
->pNext
= (void *)out_ext
;
21642 out_header
= (void *)out_ext
;
21645 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
:
21647 VkPhysicalDeviceConservativeRasterizationPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21648 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
;
21649 out_ext
->pNext
= NULL
;
21650 out_header
->pNext
= (void *)out_ext
;
21651 out_header
= (void *)out_ext
;
21654 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
:
21656 VkPhysicalDeviceShaderCorePropertiesAMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21657 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
;
21658 out_ext
->pNext
= NULL
;
21659 out_header
->pNext
= (void *)out_ext
;
21660 out_header
= (void *)out_ext
;
21663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
:
21665 VkPhysicalDeviceShaderCoreProperties2AMD
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21666 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
;
21667 out_ext
->pNext
= NULL
;
21668 out_header
->pNext
= (void *)out_ext
;
21669 out_header
= (void *)out_ext
;
21672 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
:
21674 VkPhysicalDeviceDescriptorIndexingProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21675 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
;
21676 out_ext
->pNext
= NULL
;
21677 out_header
->pNext
= (void *)out_ext
;
21678 out_header
= (void *)out_ext
;
21681 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
:
21683 VkPhysicalDeviceTimelineSemaphoreProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21684 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
;
21685 out_ext
->pNext
= NULL
;
21686 out_header
->pNext
= (void *)out_ext
;
21687 out_header
= (void *)out_ext
;
21690 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
:
21692 VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21693 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
;
21694 out_ext
->pNext
= NULL
;
21695 out_header
->pNext
= (void *)out_ext
;
21696 out_header
= (void *)out_ext
;
21699 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
:
21701 VkPhysicalDevicePCIBusInfoPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21702 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
;
21703 out_ext
->pNext
= NULL
;
21704 out_header
->pNext
= (void *)out_ext
;
21705 out_header
= (void *)out_ext
;
21708 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
:
21710 VkPhysicalDeviceDepthStencilResolveProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21711 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
;
21712 out_ext
->pNext
= NULL
;
21713 out_header
->pNext
= (void *)out_ext
;
21714 out_header
= (void *)out_ext
;
21717 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
:
21719 VkPhysicalDeviceTransformFeedbackPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21720 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
;
21721 out_ext
->pNext
= NULL
;
21722 out_header
->pNext
= (void *)out_ext
;
21723 out_header
= (void *)out_ext
;
21726 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
:
21728 VkPhysicalDeviceCopyMemoryIndirectPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21729 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
;
21730 out_ext
->pNext
= NULL
;
21731 out_header
->pNext
= (void *)out_ext
;
21732 out_header
= (void *)out_ext
;
21735 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
:
21737 VkPhysicalDeviceMemoryDecompressionPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21738 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
;
21739 out_ext
->pNext
= NULL
;
21740 out_header
->pNext
= (void *)out_ext
;
21741 out_header
= (void *)out_ext
;
21744 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
:
21746 VkPhysicalDeviceShadingRateImagePropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21747 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
;
21748 out_ext
->pNext
= NULL
;
21749 out_header
->pNext
= (void *)out_ext
;
21750 out_header
= (void *)out_ext
;
21753 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
:
21755 VkPhysicalDeviceMeshShaderPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21756 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
;
21757 out_ext
->pNext
= NULL
;
21758 out_header
->pNext
= (void *)out_ext
;
21759 out_header
= (void *)out_ext
;
21762 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
:
21764 VkPhysicalDeviceMeshShaderPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21765 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
;
21766 out_ext
->pNext
= NULL
;
21767 out_header
->pNext
= (void *)out_ext
;
21768 out_header
= (void *)out_ext
;
21771 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
:
21773 VkPhysicalDeviceAccelerationStructurePropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21774 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
;
21775 out_ext
->pNext
= NULL
;
21776 out_header
->pNext
= (void *)out_ext
;
21777 out_header
= (void *)out_ext
;
21780 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
:
21782 VkPhysicalDeviceRayTracingPipelinePropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21783 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
;
21784 out_ext
->pNext
= NULL
;
21785 out_header
->pNext
= (void *)out_ext
;
21786 out_header
= (void *)out_ext
;
21789 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
:
21791 VkPhysicalDeviceRayTracingPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21792 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
;
21793 out_ext
->pNext
= NULL
;
21794 out_header
->pNext
= (void *)out_ext
;
21795 out_header
= (void *)out_ext
;
21798 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
:
21800 VkPhysicalDeviceFragmentDensityMapPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21801 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
;
21802 out_ext
->pNext
= NULL
;
21803 out_header
->pNext
= (void *)out_ext
;
21804 out_header
= (void *)out_ext
;
21807 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
:
21809 VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21810 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
;
21811 out_ext
->pNext
= NULL
;
21812 out_header
->pNext
= (void *)out_ext
;
21813 out_header
= (void *)out_ext
;
21816 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
:
21818 VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21819 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
;
21820 out_ext
->pNext
= NULL
;
21821 out_header
->pNext
= (void *)out_ext
;
21822 out_header
= (void *)out_ext
;
21825 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
:
21827 VkPhysicalDeviceCooperativeMatrixPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21828 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
;
21829 out_ext
->pNext
= NULL
;
21830 out_header
->pNext
= (void *)out_ext
;
21831 out_header
= (void *)out_ext
;
21834 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
:
21836 VkPhysicalDevicePerformanceQueryPropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21837 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
;
21838 out_ext
->pNext
= NULL
;
21839 out_header
->pNext
= (void *)out_ext
;
21840 out_header
= (void *)out_ext
;
21843 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
:
21845 VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21846 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
;
21847 out_ext
->pNext
= NULL
;
21848 out_header
->pNext
= (void *)out_ext
;
21849 out_header
= (void *)out_ext
;
21852 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
:
21854 VkPhysicalDeviceTexelBufferAlignmentProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21855 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
;
21856 out_ext
->pNext
= NULL
;
21857 out_header
->pNext
= (void *)out_ext
;
21858 out_header
= (void *)out_ext
;
21861 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
:
21863 VkPhysicalDeviceSubgroupSizeControlProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21864 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
;
21865 out_ext
->pNext
= NULL
;
21866 out_header
->pNext
= (void *)out_ext
;
21867 out_header
= (void *)out_ext
;
21870 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
:
21872 VkPhysicalDeviceSubpassShadingPropertiesHUAWEI
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21873 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
;
21874 out_ext
->pNext
= NULL
;
21875 out_header
->pNext
= (void *)out_ext
;
21876 out_header
= (void *)out_ext
;
21879 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
:
21881 VkPhysicalDeviceLineRasterizationPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21882 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
;
21883 out_ext
->pNext
= NULL
;
21884 out_header
->pNext
= (void *)out_ext
;
21885 out_header
= (void *)out_ext
;
21888 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
:
21890 VkPhysicalDeviceVulkan11Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21891 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
;
21892 out_ext
->pNext
= NULL
;
21893 out_header
->pNext
= (void *)out_ext
;
21894 out_header
= (void *)out_ext
;
21897 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
:
21899 VkPhysicalDeviceVulkan12Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21900 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
;
21901 out_ext
->pNext
= NULL
;
21902 out_header
->pNext
= (void *)out_ext
;
21903 out_header
= (void *)out_ext
;
21906 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
:
21908 VkPhysicalDeviceVulkan13Properties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21909 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
;
21910 out_ext
->pNext
= NULL
;
21911 out_header
->pNext
= (void *)out_ext
;
21912 out_header
= (void *)out_ext
;
21915 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
:
21917 VkPhysicalDeviceCustomBorderColorPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21918 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
;
21919 out_ext
->pNext
= NULL
;
21920 out_header
->pNext
= (void *)out_ext
;
21921 out_header
= (void *)out_ext
;
21924 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
:
21926 VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21927 const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT32
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT32
*)in_header
;
21928 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
;
21929 out_ext
->pNext
= NULL
;
21930 out_ext
->dynamicPrimitiveTopologyUnrestricted
= in_ext
->dynamicPrimitiveTopologyUnrestricted
;
21931 out_header
->pNext
= (void *)out_ext
;
21932 out_header
= (void *)out_ext
;
21935 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
:
21937 VkPhysicalDeviceRobustness2PropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21938 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
;
21939 out_ext
->pNext
= NULL
;
21940 out_header
->pNext
= (void *)out_ext
;
21941 out_header
= (void *)out_ext
;
21944 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
:
21946 VkPhysicalDeviceFragmentShadingRatePropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21947 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
;
21948 out_ext
->pNext
= NULL
;
21949 out_header
->pNext
= (void *)out_ext
;
21950 out_header
= (void *)out_ext
;
21953 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
:
21955 VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21956 const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV32
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV32
*)in_header
;
21957 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
;
21958 out_ext
->pNext
= NULL
;
21959 out_ext
->maxFragmentShadingRateInvocationCount
= in_ext
->maxFragmentShadingRateInvocationCount
;
21960 out_header
->pNext
= (void *)out_ext
;
21961 out_header
= (void *)out_ext
;
21964 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
:
21966 VkPhysicalDeviceProvokingVertexPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21967 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
;
21968 out_ext
->pNext
= NULL
;
21969 out_header
->pNext
= (void *)out_ext
;
21970 out_header
= (void *)out_ext
;
21973 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT
:
21975 VkPhysicalDeviceDescriptorBufferPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21976 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT
;
21977 out_ext
->pNext
= NULL
;
21978 out_header
->pNext
= (void *)out_ext
;
21979 out_header
= (void *)out_ext
;
21982 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT
:
21984 VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21985 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT
;
21986 out_ext
->pNext
= NULL
;
21987 out_header
->pNext
= (void *)out_ext
;
21988 out_header
= (void *)out_ext
;
21991 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
:
21993 VkPhysicalDeviceShaderIntegerDotProductProperties
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
21994 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
;
21995 out_ext
->pNext
= NULL
;
21996 out_header
->pNext
= (void *)out_ext
;
21997 out_header
= (void *)out_ext
;
22000 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
:
22002 VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
22003 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
;
22004 out_ext
->pNext
= NULL
;
22005 out_header
->pNext
= (void *)out_ext
;
22006 out_header
= (void *)out_ext
;
22009 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
:
22011 VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
22012 const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT32
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT32
*)in_header
;
22013 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
;
22014 out_ext
->pNext
= NULL
;
22015 out_ext
->graphicsPipelineLibraryFastLinking
= in_ext
->graphicsPipelineLibraryFastLinking
;
22016 out_ext
->graphicsPipelineLibraryIndependentInterpolationDecoration
= in_ext
->graphicsPipelineLibraryIndependentInterpolationDecoration
;
22017 out_header
->pNext
= (void *)out_ext
;
22018 out_header
= (void *)out_ext
;
22021 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
:
22023 VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
22024 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
;
22025 out_ext
->pNext
= NULL
;
22026 out_header
->pNext
= (void *)out_ext
;
22027 out_header
= (void *)out_ext
;
22030 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
:
22032 VkPhysicalDeviceOpacityMicromapPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
22033 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
;
22034 out_ext
->pNext
= NULL
;
22035 out_header
->pNext
= (void *)out_ext
;
22036 out_header
= (void *)out_ext
;
22039 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
:
22041 VkPhysicalDevicePipelineRobustnessPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
22042 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
;
22043 out_ext
->pNext
= NULL
;
22044 out_header
->pNext
= (void *)out_ext
;
22045 out_header
= (void *)out_ext
;
22048 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
:
22050 VkPhysicalDeviceImageProcessingPropertiesQCOM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
22051 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
;
22052 out_ext
->pNext
= NULL
;
22053 out_header
->pNext
= (void *)out_ext
;
22054 out_header
= (void *)out_ext
;
22057 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
:
22059 VkPhysicalDeviceOpticalFlowPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
22060 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
;
22061 out_ext
->pNext
= NULL
;
22062 out_header
->pNext
= (void *)out_ext
;
22063 out_header
= (void *)out_ext
;
22066 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
:
22068 VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
22069 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
;
22070 out_ext
->pNext
= NULL
;
22071 out_header
->pNext
= (void *)out_ext
;
22072 out_header
= (void *)out_ext
;
22075 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
:
22077 VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
22078 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
;
22079 out_ext
->pNext
= NULL
;
22080 out_header
->pNext
= (void *)out_ext
;
22081 out_header
= (void *)out_ext
;
22085 FIXME("Unhandled sType %u.", in_header
->sType
);
22091 static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhysicalDeviceProperties2
*in
, VkPhysicalDeviceProperties232
*out
)
22093 const VkBaseInStructure
*in_header
;
22094 VkBaseOutStructure32
*out_header
= (void *)out
;
22098 convert_VkPhysicalDeviceProperties_host_to_win32(&in
->properties
, &out
->properties
);
22100 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
22102 switch (in_header
->sType
)
22104 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
:
22106 VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
);
22107 const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
*in_ext
= (const VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV
*)in_header
;
22108 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
;
22109 out_ext
->maxGraphicsShaderGroupCount
= in_ext
->maxGraphicsShaderGroupCount
;
22110 out_ext
->maxIndirectSequenceCount
= in_ext
->maxIndirectSequenceCount
;
22111 out_ext
->maxIndirectCommandsTokenCount
= in_ext
->maxIndirectCommandsTokenCount
;
22112 out_ext
->maxIndirectCommandsStreamCount
= in_ext
->maxIndirectCommandsStreamCount
;
22113 out_ext
->maxIndirectCommandsTokenOffset
= in_ext
->maxIndirectCommandsTokenOffset
;
22114 out_ext
->maxIndirectCommandsStreamStride
= in_ext
->maxIndirectCommandsStreamStride
;
22115 out_ext
->minSequencesCountBufferOffsetAlignment
= in_ext
->minSequencesCountBufferOffsetAlignment
;
22116 out_ext
->minSequencesIndexBufferOffsetAlignment
= in_ext
->minSequencesIndexBufferOffsetAlignment
;
22117 out_ext
->minIndirectCommandsBufferOffsetAlignment
= in_ext
->minIndirectCommandsBufferOffsetAlignment
;
22118 out_header
= (void *)out_ext
;
22121 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
:
22123 VkPhysicalDeviceMultiDrawPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
);
22124 const VkPhysicalDeviceMultiDrawPropertiesEXT
*in_ext
= (const VkPhysicalDeviceMultiDrawPropertiesEXT
*)in_header
;
22125 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
;
22126 out_ext
->maxMultiDrawCount
= in_ext
->maxMultiDrawCount
;
22127 out_header
= (void *)out_ext
;
22130 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
:
22132 VkPhysicalDevicePushDescriptorPropertiesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
);
22133 const VkPhysicalDevicePushDescriptorPropertiesKHR
*in_ext
= (const VkPhysicalDevicePushDescriptorPropertiesKHR
*)in_header
;
22134 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES_KHR
;
22135 out_ext
->maxPushDescriptors
= in_ext
->maxPushDescriptors
;
22136 out_header
= (void *)out_ext
;
22139 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
:
22141 VkPhysicalDeviceDriverProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
);
22142 const VkPhysicalDeviceDriverProperties
*in_ext
= (const VkPhysicalDeviceDriverProperties
*)in_header
;
22143 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES
;
22144 out_ext
->driverID
= in_ext
->driverID
;
22145 memcpy(out_ext
->driverName
, in_ext
->driverName
, VK_MAX_DRIVER_NAME_SIZE
* sizeof(char));
22146 memcpy(out_ext
->driverInfo
, in_ext
->driverInfo
, VK_MAX_DRIVER_INFO_SIZE
* sizeof(char));
22147 out_ext
->conformanceVersion
= in_ext
->conformanceVersion
;
22148 out_header
= (void *)out_ext
;
22151 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
:
22153 VkPhysicalDeviceIDProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
);
22154 const VkPhysicalDeviceIDProperties
*in_ext
= (const VkPhysicalDeviceIDProperties
*)in_header
;
22155 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES
;
22156 memcpy(out_ext
->deviceUUID
, in_ext
->deviceUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
22157 memcpy(out_ext
->driverUUID
, in_ext
->driverUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
22158 memcpy(out_ext
->deviceLUID
, in_ext
->deviceLUID
, VK_LUID_SIZE
* sizeof(uint8_t));
22159 out_ext
->deviceNodeMask
= in_ext
->deviceNodeMask
;
22160 out_ext
->deviceLUIDValid
= in_ext
->deviceLUIDValid
;
22161 out_header
= (void *)out_ext
;
22164 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
:
22166 VkPhysicalDeviceMultiviewProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
);
22167 const VkPhysicalDeviceMultiviewProperties
*in_ext
= (const VkPhysicalDeviceMultiviewProperties
*)in_header
;
22168 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES
;
22169 out_ext
->maxMultiviewViewCount
= in_ext
->maxMultiviewViewCount
;
22170 out_ext
->maxMultiviewInstanceIndex
= in_ext
->maxMultiviewInstanceIndex
;
22171 out_header
= (void *)out_ext
;
22174 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
:
22176 VkPhysicalDeviceDiscardRectanglePropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
);
22177 const VkPhysicalDeviceDiscardRectanglePropertiesEXT
*in_ext
= (const VkPhysicalDeviceDiscardRectanglePropertiesEXT
*)in_header
;
22178 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT
;
22179 out_ext
->maxDiscardRectangles
= in_ext
->maxDiscardRectangles
;
22180 out_header
= (void *)out_ext
;
22183 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
:
22185 VkPhysicalDeviceSubgroupProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
);
22186 const VkPhysicalDeviceSubgroupProperties
*in_ext
= (const VkPhysicalDeviceSubgroupProperties
*)in_header
;
22187 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES
;
22188 out_ext
->subgroupSize
= in_ext
->subgroupSize
;
22189 out_ext
->supportedStages
= in_ext
->supportedStages
;
22190 out_ext
->supportedOperations
= in_ext
->supportedOperations
;
22191 out_ext
->quadOperationsInAllStages
= in_ext
->quadOperationsInAllStages
;
22192 out_header
= (void *)out_ext
;
22195 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
:
22197 VkPhysicalDevicePointClippingProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
);
22198 const VkPhysicalDevicePointClippingProperties
*in_ext
= (const VkPhysicalDevicePointClippingProperties
*)in_header
;
22199 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES
;
22200 out_ext
->pointClippingBehavior
= in_ext
->pointClippingBehavior
;
22201 out_header
= (void *)out_ext
;
22204 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
:
22206 VkPhysicalDeviceProtectedMemoryProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
);
22207 const VkPhysicalDeviceProtectedMemoryProperties
*in_ext
= (const VkPhysicalDeviceProtectedMemoryProperties
*)in_header
;
22208 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES
;
22209 out_ext
->protectedNoFault
= in_ext
->protectedNoFault
;
22210 out_header
= (void *)out_ext
;
22213 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
:
22215 VkPhysicalDeviceSamplerFilterMinmaxProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
);
22216 const VkPhysicalDeviceSamplerFilterMinmaxProperties
*in_ext
= (const VkPhysicalDeviceSamplerFilterMinmaxProperties
*)in_header
;
22217 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES
;
22218 out_ext
->filterMinmaxSingleComponentFormats
= in_ext
->filterMinmaxSingleComponentFormats
;
22219 out_ext
->filterMinmaxImageComponentMapping
= in_ext
->filterMinmaxImageComponentMapping
;
22220 out_header
= (void *)out_ext
;
22223 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
:
22225 VkPhysicalDeviceSampleLocationsPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
);
22226 const VkPhysicalDeviceSampleLocationsPropertiesEXT
*in_ext
= (const VkPhysicalDeviceSampleLocationsPropertiesEXT
*)in_header
;
22227 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLE_LOCATIONS_PROPERTIES_EXT
;
22228 out_ext
->sampleLocationSampleCounts
= in_ext
->sampleLocationSampleCounts
;
22229 out_ext
->maxSampleLocationGridSize
= in_ext
->maxSampleLocationGridSize
;
22230 memcpy(out_ext
->sampleLocationCoordinateRange
, in_ext
->sampleLocationCoordinateRange
, 2 * sizeof(float));
22231 out_ext
->sampleLocationSubPixelBits
= in_ext
->sampleLocationSubPixelBits
;
22232 out_ext
->variableSampleLocations
= in_ext
->variableSampleLocations
;
22233 out_header
= (void *)out_ext
;
22236 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
:
22238 VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
);
22239 const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
*in_ext
= (const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT
*)in_header
;
22240 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BLEND_OPERATION_ADVANCED_PROPERTIES_EXT
;
22241 out_ext
->advancedBlendMaxColorAttachments
= in_ext
->advancedBlendMaxColorAttachments
;
22242 out_ext
->advancedBlendIndependentBlend
= in_ext
->advancedBlendIndependentBlend
;
22243 out_ext
->advancedBlendNonPremultipliedSrcColor
= in_ext
->advancedBlendNonPremultipliedSrcColor
;
22244 out_ext
->advancedBlendNonPremultipliedDstColor
= in_ext
->advancedBlendNonPremultipliedDstColor
;
22245 out_ext
->advancedBlendCorrelatedOverlap
= in_ext
->advancedBlendCorrelatedOverlap
;
22246 out_ext
->advancedBlendAllOperations
= in_ext
->advancedBlendAllOperations
;
22247 out_header
= (void *)out_ext
;
22250 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
:
22252 VkPhysicalDeviceInlineUniformBlockProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
);
22253 const VkPhysicalDeviceInlineUniformBlockProperties
*in_ext
= (const VkPhysicalDeviceInlineUniformBlockProperties
*)in_header
;
22254 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES
;
22255 out_ext
->maxInlineUniformBlockSize
= in_ext
->maxInlineUniformBlockSize
;
22256 out_ext
->maxPerStageDescriptorInlineUniformBlocks
= in_ext
->maxPerStageDescriptorInlineUniformBlocks
;
22257 out_ext
->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
= in_ext
->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
;
22258 out_ext
->maxDescriptorSetInlineUniformBlocks
= in_ext
->maxDescriptorSetInlineUniformBlocks
;
22259 out_ext
->maxDescriptorSetUpdateAfterBindInlineUniformBlocks
= in_ext
->maxDescriptorSetUpdateAfterBindInlineUniformBlocks
;
22260 out_header
= (void *)out_ext
;
22263 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
:
22265 VkPhysicalDeviceMaintenance3Properties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
);
22266 const VkPhysicalDeviceMaintenance3Properties
*in_ext
= (const VkPhysicalDeviceMaintenance3Properties
*)in_header
;
22267 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
;
22268 out_ext
->maxPerSetDescriptors
= in_ext
->maxPerSetDescriptors
;
22269 out_ext
->maxMemoryAllocationSize
= in_ext
->maxMemoryAllocationSize
;
22270 out_header
= (void *)out_ext
;
22273 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
:
22275 VkPhysicalDeviceMaintenance4Properties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
);
22276 const VkPhysicalDeviceMaintenance4Properties
*in_ext
= (const VkPhysicalDeviceMaintenance4Properties
*)in_header
;
22277 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES
;
22278 out_ext
->maxBufferSize
= in_ext
->maxBufferSize
;
22279 out_header
= (void *)out_ext
;
22282 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
:
22284 VkPhysicalDeviceFloatControlsProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
);
22285 const VkPhysicalDeviceFloatControlsProperties
*in_ext
= (const VkPhysicalDeviceFloatControlsProperties
*)in_header
;
22286 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES
;
22287 out_ext
->denormBehaviorIndependence
= in_ext
->denormBehaviorIndependence
;
22288 out_ext
->roundingModeIndependence
= in_ext
->roundingModeIndependence
;
22289 out_ext
->shaderSignedZeroInfNanPreserveFloat16
= in_ext
->shaderSignedZeroInfNanPreserveFloat16
;
22290 out_ext
->shaderSignedZeroInfNanPreserveFloat32
= in_ext
->shaderSignedZeroInfNanPreserveFloat32
;
22291 out_ext
->shaderSignedZeroInfNanPreserveFloat64
= in_ext
->shaderSignedZeroInfNanPreserveFloat64
;
22292 out_ext
->shaderDenormPreserveFloat16
= in_ext
->shaderDenormPreserveFloat16
;
22293 out_ext
->shaderDenormPreserveFloat32
= in_ext
->shaderDenormPreserveFloat32
;
22294 out_ext
->shaderDenormPreserveFloat64
= in_ext
->shaderDenormPreserveFloat64
;
22295 out_ext
->shaderDenormFlushToZeroFloat16
= in_ext
->shaderDenormFlushToZeroFloat16
;
22296 out_ext
->shaderDenormFlushToZeroFloat32
= in_ext
->shaderDenormFlushToZeroFloat32
;
22297 out_ext
->shaderDenormFlushToZeroFloat64
= in_ext
->shaderDenormFlushToZeroFloat64
;
22298 out_ext
->shaderRoundingModeRTEFloat16
= in_ext
->shaderRoundingModeRTEFloat16
;
22299 out_ext
->shaderRoundingModeRTEFloat32
= in_ext
->shaderRoundingModeRTEFloat32
;
22300 out_ext
->shaderRoundingModeRTEFloat64
= in_ext
->shaderRoundingModeRTEFloat64
;
22301 out_ext
->shaderRoundingModeRTZFloat16
= in_ext
->shaderRoundingModeRTZFloat16
;
22302 out_ext
->shaderRoundingModeRTZFloat32
= in_ext
->shaderRoundingModeRTZFloat32
;
22303 out_ext
->shaderRoundingModeRTZFloat64
= in_ext
->shaderRoundingModeRTZFloat64
;
22304 out_header
= (void *)out_ext
;
22307 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
:
22309 VkPhysicalDeviceExternalMemoryHostPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
);
22310 const VkPhysicalDeviceExternalMemoryHostPropertiesEXT
*in_ext
= (const VkPhysicalDeviceExternalMemoryHostPropertiesEXT
*)in_header
;
22311 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT
;
22312 out_ext
->minImportedHostPointerAlignment
= in_ext
->minImportedHostPointerAlignment
;
22313 out_header
= (void *)out_ext
;
22316 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
:
22318 VkPhysicalDeviceConservativeRasterizationPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
);
22319 const VkPhysicalDeviceConservativeRasterizationPropertiesEXT
*in_ext
= (const VkPhysicalDeviceConservativeRasterizationPropertiesEXT
*)in_header
;
22320 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONSERVATIVE_RASTERIZATION_PROPERTIES_EXT
;
22321 out_ext
->primitiveOverestimationSize
= in_ext
->primitiveOverestimationSize
;
22322 out_ext
->maxExtraPrimitiveOverestimationSize
= in_ext
->maxExtraPrimitiveOverestimationSize
;
22323 out_ext
->extraPrimitiveOverestimationSizeGranularity
= in_ext
->extraPrimitiveOverestimationSizeGranularity
;
22324 out_ext
->primitiveUnderestimation
= in_ext
->primitiveUnderestimation
;
22325 out_ext
->conservativePointAndLineRasterization
= in_ext
->conservativePointAndLineRasterization
;
22326 out_ext
->degenerateTrianglesRasterized
= in_ext
->degenerateTrianglesRasterized
;
22327 out_ext
->degenerateLinesRasterized
= in_ext
->degenerateLinesRasterized
;
22328 out_ext
->fullyCoveredFragmentShaderInputVariable
= in_ext
->fullyCoveredFragmentShaderInputVariable
;
22329 out_ext
->conservativeRasterizationPostDepthCoverage
= in_ext
->conservativeRasterizationPostDepthCoverage
;
22330 out_header
= (void *)out_ext
;
22333 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
:
22335 VkPhysicalDeviceShaderCorePropertiesAMD32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
);
22336 const VkPhysicalDeviceShaderCorePropertiesAMD
*in_ext
= (const VkPhysicalDeviceShaderCorePropertiesAMD
*)in_header
;
22337 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
;
22338 out_ext
->shaderEngineCount
= in_ext
->shaderEngineCount
;
22339 out_ext
->shaderArraysPerEngineCount
= in_ext
->shaderArraysPerEngineCount
;
22340 out_ext
->computeUnitsPerShaderArray
= in_ext
->computeUnitsPerShaderArray
;
22341 out_ext
->simdPerComputeUnit
= in_ext
->simdPerComputeUnit
;
22342 out_ext
->wavefrontsPerSimd
= in_ext
->wavefrontsPerSimd
;
22343 out_ext
->wavefrontSize
= in_ext
->wavefrontSize
;
22344 out_ext
->sgprsPerSimd
= in_ext
->sgprsPerSimd
;
22345 out_ext
->minSgprAllocation
= in_ext
->minSgprAllocation
;
22346 out_ext
->maxSgprAllocation
= in_ext
->maxSgprAllocation
;
22347 out_ext
->sgprAllocationGranularity
= in_ext
->sgprAllocationGranularity
;
22348 out_ext
->vgprsPerSimd
= in_ext
->vgprsPerSimd
;
22349 out_ext
->minVgprAllocation
= in_ext
->minVgprAllocation
;
22350 out_ext
->maxVgprAllocation
= in_ext
->maxVgprAllocation
;
22351 out_ext
->vgprAllocationGranularity
= in_ext
->vgprAllocationGranularity
;
22352 out_header
= (void *)out_ext
;
22355 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
:
22357 VkPhysicalDeviceShaderCoreProperties2AMD32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
);
22358 const VkPhysicalDeviceShaderCoreProperties2AMD
*in_ext
= (const VkPhysicalDeviceShaderCoreProperties2AMD
*)in_header
;
22359 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
;
22360 out_ext
->shaderCoreFeatures
= in_ext
->shaderCoreFeatures
;
22361 out_ext
->activeComputeUnitCount
= in_ext
->activeComputeUnitCount
;
22362 out_header
= (void *)out_ext
;
22365 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
:
22367 VkPhysicalDeviceDescriptorIndexingProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
);
22368 const VkPhysicalDeviceDescriptorIndexingProperties
*in_ext
= (const VkPhysicalDeviceDescriptorIndexingProperties
*)in_header
;
22369 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES
;
22370 out_ext
->maxUpdateAfterBindDescriptorsInAllPools
= in_ext
->maxUpdateAfterBindDescriptorsInAllPools
;
22371 out_ext
->shaderUniformBufferArrayNonUniformIndexingNative
= in_ext
->shaderUniformBufferArrayNonUniformIndexingNative
;
22372 out_ext
->shaderSampledImageArrayNonUniformIndexingNative
= in_ext
->shaderSampledImageArrayNonUniformIndexingNative
;
22373 out_ext
->shaderStorageBufferArrayNonUniformIndexingNative
= in_ext
->shaderStorageBufferArrayNonUniformIndexingNative
;
22374 out_ext
->shaderStorageImageArrayNonUniformIndexingNative
= in_ext
->shaderStorageImageArrayNonUniformIndexingNative
;
22375 out_ext
->shaderInputAttachmentArrayNonUniformIndexingNative
= in_ext
->shaderInputAttachmentArrayNonUniformIndexingNative
;
22376 out_ext
->robustBufferAccessUpdateAfterBind
= in_ext
->robustBufferAccessUpdateAfterBind
;
22377 out_ext
->quadDivergentImplicitLod
= in_ext
->quadDivergentImplicitLod
;
22378 out_ext
->maxPerStageDescriptorUpdateAfterBindSamplers
= in_ext
->maxPerStageDescriptorUpdateAfterBindSamplers
;
22379 out_ext
->maxPerStageDescriptorUpdateAfterBindUniformBuffers
= in_ext
->maxPerStageDescriptorUpdateAfterBindUniformBuffers
;
22380 out_ext
->maxPerStageDescriptorUpdateAfterBindStorageBuffers
= in_ext
->maxPerStageDescriptorUpdateAfterBindStorageBuffers
;
22381 out_ext
->maxPerStageDescriptorUpdateAfterBindSampledImages
= in_ext
->maxPerStageDescriptorUpdateAfterBindSampledImages
;
22382 out_ext
->maxPerStageDescriptorUpdateAfterBindStorageImages
= in_ext
->maxPerStageDescriptorUpdateAfterBindStorageImages
;
22383 out_ext
->maxPerStageDescriptorUpdateAfterBindInputAttachments
= in_ext
->maxPerStageDescriptorUpdateAfterBindInputAttachments
;
22384 out_ext
->maxPerStageUpdateAfterBindResources
= in_ext
->maxPerStageUpdateAfterBindResources
;
22385 out_ext
->maxDescriptorSetUpdateAfterBindSamplers
= in_ext
->maxDescriptorSetUpdateAfterBindSamplers
;
22386 out_ext
->maxDescriptorSetUpdateAfterBindUniformBuffers
= in_ext
->maxDescriptorSetUpdateAfterBindUniformBuffers
;
22387 out_ext
->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
= in_ext
->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
;
22388 out_ext
->maxDescriptorSetUpdateAfterBindStorageBuffers
= in_ext
->maxDescriptorSetUpdateAfterBindStorageBuffers
;
22389 out_ext
->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
= in_ext
->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
;
22390 out_ext
->maxDescriptorSetUpdateAfterBindSampledImages
= in_ext
->maxDescriptorSetUpdateAfterBindSampledImages
;
22391 out_ext
->maxDescriptorSetUpdateAfterBindStorageImages
= in_ext
->maxDescriptorSetUpdateAfterBindStorageImages
;
22392 out_ext
->maxDescriptorSetUpdateAfterBindInputAttachments
= in_ext
->maxDescriptorSetUpdateAfterBindInputAttachments
;
22393 out_header
= (void *)out_ext
;
22396 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
:
22398 VkPhysicalDeviceTimelineSemaphoreProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
);
22399 const VkPhysicalDeviceTimelineSemaphoreProperties
*in_ext
= (const VkPhysicalDeviceTimelineSemaphoreProperties
*)in_header
;
22400 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES
;
22401 out_ext
->maxTimelineSemaphoreValueDifference
= in_ext
->maxTimelineSemaphoreValueDifference
;
22402 out_header
= (void *)out_ext
;
22405 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
:
22407 VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
);
22408 const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
*in_ext
= (const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT
*)in_header
;
22409 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT
;
22410 out_ext
->maxVertexAttribDivisor
= in_ext
->maxVertexAttribDivisor
;
22411 out_header
= (void *)out_ext
;
22414 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
:
22416 VkPhysicalDevicePCIBusInfoPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
);
22417 const VkPhysicalDevicePCIBusInfoPropertiesEXT
*in_ext
= (const VkPhysicalDevicePCIBusInfoPropertiesEXT
*)in_header
;
22418 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT
;
22419 out_ext
->pciDomain
= in_ext
->pciDomain
;
22420 out_ext
->pciBus
= in_ext
->pciBus
;
22421 out_ext
->pciDevice
= in_ext
->pciDevice
;
22422 out_ext
->pciFunction
= in_ext
->pciFunction
;
22423 out_header
= (void *)out_ext
;
22426 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
:
22428 VkPhysicalDeviceDepthStencilResolveProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
);
22429 const VkPhysicalDeviceDepthStencilResolveProperties
*in_ext
= (const VkPhysicalDeviceDepthStencilResolveProperties
*)in_header
;
22430 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES
;
22431 out_ext
->supportedDepthResolveModes
= in_ext
->supportedDepthResolveModes
;
22432 out_ext
->supportedStencilResolveModes
= in_ext
->supportedStencilResolveModes
;
22433 out_ext
->independentResolveNone
= in_ext
->independentResolveNone
;
22434 out_ext
->independentResolve
= in_ext
->independentResolve
;
22435 out_header
= (void *)out_ext
;
22438 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
:
22440 VkPhysicalDeviceTransformFeedbackPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
);
22441 const VkPhysicalDeviceTransformFeedbackPropertiesEXT
*in_ext
= (const VkPhysicalDeviceTransformFeedbackPropertiesEXT
*)in_header
;
22442 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TRANSFORM_FEEDBACK_PROPERTIES_EXT
;
22443 out_ext
->maxTransformFeedbackStreams
= in_ext
->maxTransformFeedbackStreams
;
22444 out_ext
->maxTransformFeedbackBuffers
= in_ext
->maxTransformFeedbackBuffers
;
22445 out_ext
->maxTransformFeedbackBufferSize
= in_ext
->maxTransformFeedbackBufferSize
;
22446 out_ext
->maxTransformFeedbackStreamDataSize
= in_ext
->maxTransformFeedbackStreamDataSize
;
22447 out_ext
->maxTransformFeedbackBufferDataSize
= in_ext
->maxTransformFeedbackBufferDataSize
;
22448 out_ext
->maxTransformFeedbackBufferDataStride
= in_ext
->maxTransformFeedbackBufferDataStride
;
22449 out_ext
->transformFeedbackQueries
= in_ext
->transformFeedbackQueries
;
22450 out_ext
->transformFeedbackStreamsLinesTriangles
= in_ext
->transformFeedbackStreamsLinesTriangles
;
22451 out_ext
->transformFeedbackRasterizationStreamSelect
= in_ext
->transformFeedbackRasterizationStreamSelect
;
22452 out_ext
->transformFeedbackDraw
= in_ext
->transformFeedbackDraw
;
22453 out_header
= (void *)out_ext
;
22456 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
:
22458 VkPhysicalDeviceCopyMemoryIndirectPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
);
22459 const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV
*in_ext
= (const VkPhysicalDeviceCopyMemoryIndirectPropertiesNV
*)in_header
;
22460 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
;
22461 out_ext
->supportedQueues
= in_ext
->supportedQueues
;
22462 out_header
= (void *)out_ext
;
22465 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
:
22467 VkPhysicalDeviceMemoryDecompressionPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
);
22468 const VkPhysicalDeviceMemoryDecompressionPropertiesNV
*in_ext
= (const VkPhysicalDeviceMemoryDecompressionPropertiesNV
*)in_header
;
22469 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
;
22470 out_ext
->decompressionMethods
= in_ext
->decompressionMethods
;
22471 out_ext
->maxDecompressionIndirectCount
= in_ext
->maxDecompressionIndirectCount
;
22472 out_header
= (void *)out_ext
;
22475 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
:
22477 VkPhysicalDeviceShadingRateImagePropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
);
22478 const VkPhysicalDeviceShadingRateImagePropertiesNV
*in_ext
= (const VkPhysicalDeviceShadingRateImagePropertiesNV
*)in_header
;
22479 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
;
22480 out_ext
->shadingRateTexelSize
= in_ext
->shadingRateTexelSize
;
22481 out_ext
->shadingRatePaletteSize
= in_ext
->shadingRatePaletteSize
;
22482 out_ext
->shadingRateMaxCoarseSamples
= in_ext
->shadingRateMaxCoarseSamples
;
22483 out_header
= (void *)out_ext
;
22486 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
:
22488 VkPhysicalDeviceMeshShaderPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
);
22489 const VkPhysicalDeviceMeshShaderPropertiesNV
*in_ext
= (const VkPhysicalDeviceMeshShaderPropertiesNV
*)in_header
;
22490 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
;
22491 out_ext
->maxDrawMeshTasksCount
= in_ext
->maxDrawMeshTasksCount
;
22492 out_ext
->maxTaskWorkGroupInvocations
= in_ext
->maxTaskWorkGroupInvocations
;
22493 memcpy(out_ext
->maxTaskWorkGroupSize
, in_ext
->maxTaskWorkGroupSize
, 3 * sizeof(uint32_t));
22494 out_ext
->maxTaskTotalMemorySize
= in_ext
->maxTaskTotalMemorySize
;
22495 out_ext
->maxTaskOutputCount
= in_ext
->maxTaskOutputCount
;
22496 out_ext
->maxMeshWorkGroupInvocations
= in_ext
->maxMeshWorkGroupInvocations
;
22497 memcpy(out_ext
->maxMeshWorkGroupSize
, in_ext
->maxMeshWorkGroupSize
, 3 * sizeof(uint32_t));
22498 out_ext
->maxMeshTotalMemorySize
= in_ext
->maxMeshTotalMemorySize
;
22499 out_ext
->maxMeshOutputVertices
= in_ext
->maxMeshOutputVertices
;
22500 out_ext
->maxMeshOutputPrimitives
= in_ext
->maxMeshOutputPrimitives
;
22501 out_ext
->maxMeshMultiviewViewCount
= in_ext
->maxMeshMultiviewViewCount
;
22502 out_ext
->meshOutputPerVertexGranularity
= in_ext
->meshOutputPerVertexGranularity
;
22503 out_ext
->meshOutputPerPrimitiveGranularity
= in_ext
->meshOutputPerPrimitiveGranularity
;
22504 out_header
= (void *)out_ext
;
22507 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
:
22509 VkPhysicalDeviceMeshShaderPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
);
22510 const VkPhysicalDeviceMeshShaderPropertiesEXT
*in_ext
= (const VkPhysicalDeviceMeshShaderPropertiesEXT
*)in_header
;
22511 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_EXT
;
22512 out_ext
->maxTaskWorkGroupTotalCount
= in_ext
->maxTaskWorkGroupTotalCount
;
22513 memcpy(out_ext
->maxTaskWorkGroupCount
, in_ext
->maxTaskWorkGroupCount
, 3 * sizeof(uint32_t));
22514 out_ext
->maxTaskWorkGroupInvocations
= in_ext
->maxTaskWorkGroupInvocations
;
22515 memcpy(out_ext
->maxTaskWorkGroupSize
, in_ext
->maxTaskWorkGroupSize
, 3 * sizeof(uint32_t));
22516 out_ext
->maxTaskPayloadSize
= in_ext
->maxTaskPayloadSize
;
22517 out_ext
->maxTaskSharedMemorySize
= in_ext
->maxTaskSharedMemorySize
;
22518 out_ext
->maxTaskPayloadAndSharedMemorySize
= in_ext
->maxTaskPayloadAndSharedMemorySize
;
22519 out_ext
->maxMeshWorkGroupTotalCount
= in_ext
->maxMeshWorkGroupTotalCount
;
22520 memcpy(out_ext
->maxMeshWorkGroupCount
, in_ext
->maxMeshWorkGroupCount
, 3 * sizeof(uint32_t));
22521 out_ext
->maxMeshWorkGroupInvocations
= in_ext
->maxMeshWorkGroupInvocations
;
22522 memcpy(out_ext
->maxMeshWorkGroupSize
, in_ext
->maxMeshWorkGroupSize
, 3 * sizeof(uint32_t));
22523 out_ext
->maxMeshSharedMemorySize
= in_ext
->maxMeshSharedMemorySize
;
22524 out_ext
->maxMeshPayloadAndSharedMemorySize
= in_ext
->maxMeshPayloadAndSharedMemorySize
;
22525 out_ext
->maxMeshOutputMemorySize
= in_ext
->maxMeshOutputMemorySize
;
22526 out_ext
->maxMeshPayloadAndOutputMemorySize
= in_ext
->maxMeshPayloadAndOutputMemorySize
;
22527 out_ext
->maxMeshOutputComponents
= in_ext
->maxMeshOutputComponents
;
22528 out_ext
->maxMeshOutputVertices
= in_ext
->maxMeshOutputVertices
;
22529 out_ext
->maxMeshOutputPrimitives
= in_ext
->maxMeshOutputPrimitives
;
22530 out_ext
->maxMeshOutputLayers
= in_ext
->maxMeshOutputLayers
;
22531 out_ext
->maxMeshMultiviewViewCount
= in_ext
->maxMeshMultiviewViewCount
;
22532 out_ext
->meshOutputPerVertexGranularity
= in_ext
->meshOutputPerVertexGranularity
;
22533 out_ext
->meshOutputPerPrimitiveGranularity
= in_ext
->meshOutputPerPrimitiveGranularity
;
22534 out_ext
->maxPreferredTaskWorkGroupInvocations
= in_ext
->maxPreferredTaskWorkGroupInvocations
;
22535 out_ext
->maxPreferredMeshWorkGroupInvocations
= in_ext
->maxPreferredMeshWorkGroupInvocations
;
22536 out_ext
->prefersLocalInvocationVertexOutput
= in_ext
->prefersLocalInvocationVertexOutput
;
22537 out_ext
->prefersLocalInvocationPrimitiveOutput
= in_ext
->prefersLocalInvocationPrimitiveOutput
;
22538 out_ext
->prefersCompactVertexOutput
= in_ext
->prefersCompactVertexOutput
;
22539 out_ext
->prefersCompactPrimitiveOutput
= in_ext
->prefersCompactPrimitiveOutput
;
22540 out_header
= (void *)out_ext
;
22543 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
:
22545 VkPhysicalDeviceAccelerationStructurePropertiesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
);
22546 const VkPhysicalDeviceAccelerationStructurePropertiesKHR
*in_ext
= (const VkPhysicalDeviceAccelerationStructurePropertiesKHR
*)in_header
;
22547 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ACCELERATION_STRUCTURE_PROPERTIES_KHR
;
22548 out_ext
->maxGeometryCount
= in_ext
->maxGeometryCount
;
22549 out_ext
->maxInstanceCount
= in_ext
->maxInstanceCount
;
22550 out_ext
->maxPrimitiveCount
= in_ext
->maxPrimitiveCount
;
22551 out_ext
->maxPerStageDescriptorAccelerationStructures
= in_ext
->maxPerStageDescriptorAccelerationStructures
;
22552 out_ext
->maxPerStageDescriptorUpdateAfterBindAccelerationStructures
= in_ext
->maxPerStageDescriptorUpdateAfterBindAccelerationStructures
;
22553 out_ext
->maxDescriptorSetAccelerationStructures
= in_ext
->maxDescriptorSetAccelerationStructures
;
22554 out_ext
->maxDescriptorSetUpdateAfterBindAccelerationStructures
= in_ext
->maxDescriptorSetUpdateAfterBindAccelerationStructures
;
22555 out_ext
->minAccelerationStructureScratchOffsetAlignment
= in_ext
->minAccelerationStructureScratchOffsetAlignment
;
22556 out_header
= (void *)out_ext
;
22559 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
:
22561 VkPhysicalDeviceRayTracingPipelinePropertiesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
);
22562 const VkPhysicalDeviceRayTracingPipelinePropertiesKHR
*in_ext
= (const VkPhysicalDeviceRayTracingPipelinePropertiesKHR
*)in_header
;
22563 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PIPELINE_PROPERTIES_KHR
;
22564 out_ext
->shaderGroupHandleSize
= in_ext
->shaderGroupHandleSize
;
22565 out_ext
->maxRayRecursionDepth
= in_ext
->maxRayRecursionDepth
;
22566 out_ext
->maxShaderGroupStride
= in_ext
->maxShaderGroupStride
;
22567 out_ext
->shaderGroupBaseAlignment
= in_ext
->shaderGroupBaseAlignment
;
22568 out_ext
->shaderGroupHandleCaptureReplaySize
= in_ext
->shaderGroupHandleCaptureReplaySize
;
22569 out_ext
->maxRayDispatchInvocationCount
= in_ext
->maxRayDispatchInvocationCount
;
22570 out_ext
->shaderGroupHandleAlignment
= in_ext
->shaderGroupHandleAlignment
;
22571 out_ext
->maxRayHitAttributeSize
= in_ext
->maxRayHitAttributeSize
;
22572 out_header
= (void *)out_ext
;
22575 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
:
22577 VkPhysicalDeviceRayTracingPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
);
22578 const VkPhysicalDeviceRayTracingPropertiesNV
*in_ext
= (const VkPhysicalDeviceRayTracingPropertiesNV
*)in_header
;
22579 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
;
22580 out_ext
->shaderGroupHandleSize
= in_ext
->shaderGroupHandleSize
;
22581 out_ext
->maxRecursionDepth
= in_ext
->maxRecursionDepth
;
22582 out_ext
->maxShaderGroupStride
= in_ext
->maxShaderGroupStride
;
22583 out_ext
->shaderGroupBaseAlignment
= in_ext
->shaderGroupBaseAlignment
;
22584 out_ext
->maxGeometryCount
= in_ext
->maxGeometryCount
;
22585 out_ext
->maxInstanceCount
= in_ext
->maxInstanceCount
;
22586 out_ext
->maxTriangleCount
= in_ext
->maxTriangleCount
;
22587 out_ext
->maxDescriptorSetAccelerationStructures
= in_ext
->maxDescriptorSetAccelerationStructures
;
22588 out_header
= (void *)out_ext
;
22591 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
:
22593 VkPhysicalDeviceFragmentDensityMapPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
);
22594 const VkPhysicalDeviceFragmentDensityMapPropertiesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapPropertiesEXT
*)in_header
;
22595 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT
;
22596 out_ext
->minFragmentDensityTexelSize
= in_ext
->minFragmentDensityTexelSize
;
22597 out_ext
->maxFragmentDensityTexelSize
= in_ext
->maxFragmentDensityTexelSize
;
22598 out_ext
->fragmentDensityInvocations
= in_ext
->fragmentDensityInvocations
;
22599 out_header
= (void *)out_ext
;
22602 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
:
22604 VkPhysicalDeviceFragmentDensityMap2PropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
);
22605 const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
*in_ext
= (const VkPhysicalDeviceFragmentDensityMap2PropertiesEXT
*)in_header
;
22606 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT
;
22607 out_ext
->subsampledLoads
= in_ext
->subsampledLoads
;
22608 out_ext
->subsampledCoarseReconstructionEarlyAccess
= in_ext
->subsampledCoarseReconstructionEarlyAccess
;
22609 out_ext
->maxSubsampledArrayLayers
= in_ext
->maxSubsampledArrayLayers
;
22610 out_ext
->maxDescriptorSetSubsampledSamplers
= in_ext
->maxDescriptorSetSubsampledSamplers
;
22611 out_header
= (void *)out_ext
;
22614 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
:
22616 VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
);
22617 const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM
*in_ext
= (const VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM
*)in_header
;
22618 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
;
22619 out_ext
->fragmentDensityOffsetGranularity
= in_ext
->fragmentDensityOffsetGranularity
;
22620 out_header
= (void *)out_ext
;
22623 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
:
22625 VkPhysicalDeviceCooperativeMatrixPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
);
22626 const VkPhysicalDeviceCooperativeMatrixPropertiesNV
*in_ext
= (const VkPhysicalDeviceCooperativeMatrixPropertiesNV
*)in_header
;
22627 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
;
22628 out_ext
->cooperativeMatrixSupportedStages
= in_ext
->cooperativeMatrixSupportedStages
;
22629 out_header
= (void *)out_ext
;
22632 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
:
22634 VkPhysicalDevicePerformanceQueryPropertiesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
);
22635 const VkPhysicalDevicePerformanceQueryPropertiesKHR
*in_ext
= (const VkPhysicalDevicePerformanceQueryPropertiesKHR
*)in_header
;
22636 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR
;
22637 out_ext
->allowCommandBufferQueryCopies
= in_ext
->allowCommandBufferQueryCopies
;
22638 out_header
= (void *)out_ext
;
22641 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
:
22643 VkPhysicalDeviceShaderSMBuiltinsPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
);
22644 const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
*in_ext
= (const VkPhysicalDeviceShaderSMBuiltinsPropertiesNV
*)in_header
;
22645 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
;
22646 out_ext
->shaderSMCount
= in_ext
->shaderSMCount
;
22647 out_ext
->shaderWarpsPerSM
= in_ext
->shaderWarpsPerSM
;
22648 out_header
= (void *)out_ext
;
22651 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
:
22653 VkPhysicalDeviceTexelBufferAlignmentProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
);
22654 const VkPhysicalDeviceTexelBufferAlignmentProperties
*in_ext
= (const VkPhysicalDeviceTexelBufferAlignmentProperties
*)in_header
;
22655 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES
;
22656 out_ext
->storageTexelBufferOffsetAlignmentBytes
= in_ext
->storageTexelBufferOffsetAlignmentBytes
;
22657 out_ext
->storageTexelBufferOffsetSingleTexelAlignment
= in_ext
->storageTexelBufferOffsetSingleTexelAlignment
;
22658 out_ext
->uniformTexelBufferOffsetAlignmentBytes
= in_ext
->uniformTexelBufferOffsetAlignmentBytes
;
22659 out_ext
->uniformTexelBufferOffsetSingleTexelAlignment
= in_ext
->uniformTexelBufferOffsetSingleTexelAlignment
;
22660 out_header
= (void *)out_ext
;
22663 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
:
22665 VkPhysicalDeviceSubgroupSizeControlProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
);
22666 const VkPhysicalDeviceSubgroupSizeControlProperties
*in_ext
= (const VkPhysicalDeviceSubgroupSizeControlProperties
*)in_header
;
22667 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES
;
22668 out_ext
->minSubgroupSize
= in_ext
->minSubgroupSize
;
22669 out_ext
->maxSubgroupSize
= in_ext
->maxSubgroupSize
;
22670 out_ext
->maxComputeWorkgroupSubgroups
= in_ext
->maxComputeWorkgroupSubgroups
;
22671 out_ext
->requiredSubgroupSizeStages
= in_ext
->requiredSubgroupSizeStages
;
22672 out_header
= (void *)out_ext
;
22675 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
:
22677 VkPhysicalDeviceSubpassShadingPropertiesHUAWEI32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
);
22678 const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI
*in_ext
= (const VkPhysicalDeviceSubpassShadingPropertiesHUAWEI
*)in_header
;
22679 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
;
22680 out_ext
->maxSubpassShadingWorkgroupSizeAspectRatio
= in_ext
->maxSubpassShadingWorkgroupSizeAspectRatio
;
22681 out_header
= (void *)out_ext
;
22684 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
:
22686 VkPhysicalDeviceLineRasterizationPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
);
22687 const VkPhysicalDeviceLineRasterizationPropertiesEXT
*in_ext
= (const VkPhysicalDeviceLineRasterizationPropertiesEXT
*)in_header
;
22688 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
;
22689 out_ext
->lineSubPixelPrecisionBits
= in_ext
->lineSubPixelPrecisionBits
;
22690 out_header
= (void *)out_ext
;
22693 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
:
22695 VkPhysicalDeviceVulkan11Properties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
);
22696 const VkPhysicalDeviceVulkan11Properties
*in_ext
= (const VkPhysicalDeviceVulkan11Properties
*)in_header
;
22697 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES
;
22698 memcpy(out_ext
->deviceUUID
, in_ext
->deviceUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
22699 memcpy(out_ext
->driverUUID
, in_ext
->driverUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
22700 memcpy(out_ext
->deviceLUID
, in_ext
->deviceLUID
, VK_LUID_SIZE
* sizeof(uint8_t));
22701 out_ext
->deviceNodeMask
= in_ext
->deviceNodeMask
;
22702 out_ext
->deviceLUIDValid
= in_ext
->deviceLUIDValid
;
22703 out_ext
->subgroupSize
= in_ext
->subgroupSize
;
22704 out_ext
->subgroupSupportedStages
= in_ext
->subgroupSupportedStages
;
22705 out_ext
->subgroupSupportedOperations
= in_ext
->subgroupSupportedOperations
;
22706 out_ext
->subgroupQuadOperationsInAllStages
= in_ext
->subgroupQuadOperationsInAllStages
;
22707 out_ext
->pointClippingBehavior
= in_ext
->pointClippingBehavior
;
22708 out_ext
->maxMultiviewViewCount
= in_ext
->maxMultiviewViewCount
;
22709 out_ext
->maxMultiviewInstanceIndex
= in_ext
->maxMultiviewInstanceIndex
;
22710 out_ext
->protectedNoFault
= in_ext
->protectedNoFault
;
22711 out_ext
->maxPerSetDescriptors
= in_ext
->maxPerSetDescriptors
;
22712 out_ext
->maxMemoryAllocationSize
= in_ext
->maxMemoryAllocationSize
;
22713 out_header
= (void *)out_ext
;
22716 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
:
22718 VkPhysicalDeviceVulkan12Properties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
);
22719 const VkPhysicalDeviceVulkan12Properties
*in_ext
= (const VkPhysicalDeviceVulkan12Properties
*)in_header
;
22720 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES
;
22721 out_ext
->driverID
= in_ext
->driverID
;
22722 memcpy(out_ext
->driverName
, in_ext
->driverName
, VK_MAX_DRIVER_NAME_SIZE
* sizeof(char));
22723 memcpy(out_ext
->driverInfo
, in_ext
->driverInfo
, VK_MAX_DRIVER_INFO_SIZE
* sizeof(char));
22724 out_ext
->conformanceVersion
= in_ext
->conformanceVersion
;
22725 out_ext
->denormBehaviorIndependence
= in_ext
->denormBehaviorIndependence
;
22726 out_ext
->roundingModeIndependence
= in_ext
->roundingModeIndependence
;
22727 out_ext
->shaderSignedZeroInfNanPreserveFloat16
= in_ext
->shaderSignedZeroInfNanPreserveFloat16
;
22728 out_ext
->shaderSignedZeroInfNanPreserveFloat32
= in_ext
->shaderSignedZeroInfNanPreserveFloat32
;
22729 out_ext
->shaderSignedZeroInfNanPreserveFloat64
= in_ext
->shaderSignedZeroInfNanPreserveFloat64
;
22730 out_ext
->shaderDenormPreserveFloat16
= in_ext
->shaderDenormPreserveFloat16
;
22731 out_ext
->shaderDenormPreserveFloat32
= in_ext
->shaderDenormPreserveFloat32
;
22732 out_ext
->shaderDenormPreserveFloat64
= in_ext
->shaderDenormPreserveFloat64
;
22733 out_ext
->shaderDenormFlushToZeroFloat16
= in_ext
->shaderDenormFlushToZeroFloat16
;
22734 out_ext
->shaderDenormFlushToZeroFloat32
= in_ext
->shaderDenormFlushToZeroFloat32
;
22735 out_ext
->shaderDenormFlushToZeroFloat64
= in_ext
->shaderDenormFlushToZeroFloat64
;
22736 out_ext
->shaderRoundingModeRTEFloat16
= in_ext
->shaderRoundingModeRTEFloat16
;
22737 out_ext
->shaderRoundingModeRTEFloat32
= in_ext
->shaderRoundingModeRTEFloat32
;
22738 out_ext
->shaderRoundingModeRTEFloat64
= in_ext
->shaderRoundingModeRTEFloat64
;
22739 out_ext
->shaderRoundingModeRTZFloat16
= in_ext
->shaderRoundingModeRTZFloat16
;
22740 out_ext
->shaderRoundingModeRTZFloat32
= in_ext
->shaderRoundingModeRTZFloat32
;
22741 out_ext
->shaderRoundingModeRTZFloat64
= in_ext
->shaderRoundingModeRTZFloat64
;
22742 out_ext
->maxUpdateAfterBindDescriptorsInAllPools
= in_ext
->maxUpdateAfterBindDescriptorsInAllPools
;
22743 out_ext
->shaderUniformBufferArrayNonUniformIndexingNative
= in_ext
->shaderUniformBufferArrayNonUniformIndexingNative
;
22744 out_ext
->shaderSampledImageArrayNonUniformIndexingNative
= in_ext
->shaderSampledImageArrayNonUniformIndexingNative
;
22745 out_ext
->shaderStorageBufferArrayNonUniformIndexingNative
= in_ext
->shaderStorageBufferArrayNonUniformIndexingNative
;
22746 out_ext
->shaderStorageImageArrayNonUniformIndexingNative
= in_ext
->shaderStorageImageArrayNonUniformIndexingNative
;
22747 out_ext
->shaderInputAttachmentArrayNonUniformIndexingNative
= in_ext
->shaderInputAttachmentArrayNonUniformIndexingNative
;
22748 out_ext
->robustBufferAccessUpdateAfterBind
= in_ext
->robustBufferAccessUpdateAfterBind
;
22749 out_ext
->quadDivergentImplicitLod
= in_ext
->quadDivergentImplicitLod
;
22750 out_ext
->maxPerStageDescriptorUpdateAfterBindSamplers
= in_ext
->maxPerStageDescriptorUpdateAfterBindSamplers
;
22751 out_ext
->maxPerStageDescriptorUpdateAfterBindUniformBuffers
= in_ext
->maxPerStageDescriptorUpdateAfterBindUniformBuffers
;
22752 out_ext
->maxPerStageDescriptorUpdateAfterBindStorageBuffers
= in_ext
->maxPerStageDescriptorUpdateAfterBindStorageBuffers
;
22753 out_ext
->maxPerStageDescriptorUpdateAfterBindSampledImages
= in_ext
->maxPerStageDescriptorUpdateAfterBindSampledImages
;
22754 out_ext
->maxPerStageDescriptorUpdateAfterBindStorageImages
= in_ext
->maxPerStageDescriptorUpdateAfterBindStorageImages
;
22755 out_ext
->maxPerStageDescriptorUpdateAfterBindInputAttachments
= in_ext
->maxPerStageDescriptorUpdateAfterBindInputAttachments
;
22756 out_ext
->maxPerStageUpdateAfterBindResources
= in_ext
->maxPerStageUpdateAfterBindResources
;
22757 out_ext
->maxDescriptorSetUpdateAfterBindSamplers
= in_ext
->maxDescriptorSetUpdateAfterBindSamplers
;
22758 out_ext
->maxDescriptorSetUpdateAfterBindUniformBuffers
= in_ext
->maxDescriptorSetUpdateAfterBindUniformBuffers
;
22759 out_ext
->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
= in_ext
->maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
;
22760 out_ext
->maxDescriptorSetUpdateAfterBindStorageBuffers
= in_ext
->maxDescriptorSetUpdateAfterBindStorageBuffers
;
22761 out_ext
->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
= in_ext
->maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
;
22762 out_ext
->maxDescriptorSetUpdateAfterBindSampledImages
= in_ext
->maxDescriptorSetUpdateAfterBindSampledImages
;
22763 out_ext
->maxDescriptorSetUpdateAfterBindStorageImages
= in_ext
->maxDescriptorSetUpdateAfterBindStorageImages
;
22764 out_ext
->maxDescriptorSetUpdateAfterBindInputAttachments
= in_ext
->maxDescriptorSetUpdateAfterBindInputAttachments
;
22765 out_ext
->supportedDepthResolveModes
= in_ext
->supportedDepthResolveModes
;
22766 out_ext
->supportedStencilResolveModes
= in_ext
->supportedStencilResolveModes
;
22767 out_ext
->independentResolveNone
= in_ext
->independentResolveNone
;
22768 out_ext
->independentResolve
= in_ext
->independentResolve
;
22769 out_ext
->filterMinmaxSingleComponentFormats
= in_ext
->filterMinmaxSingleComponentFormats
;
22770 out_ext
->filterMinmaxImageComponentMapping
= in_ext
->filterMinmaxImageComponentMapping
;
22771 out_ext
->maxTimelineSemaphoreValueDifference
= in_ext
->maxTimelineSemaphoreValueDifference
;
22772 out_ext
->framebufferIntegerColorSampleCounts
= in_ext
->framebufferIntegerColorSampleCounts
;
22773 out_header
= (void *)out_ext
;
22776 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
:
22778 VkPhysicalDeviceVulkan13Properties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
);
22779 const VkPhysicalDeviceVulkan13Properties
*in_ext
= (const VkPhysicalDeviceVulkan13Properties
*)in_header
;
22780 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES
;
22781 out_ext
->minSubgroupSize
= in_ext
->minSubgroupSize
;
22782 out_ext
->maxSubgroupSize
= in_ext
->maxSubgroupSize
;
22783 out_ext
->maxComputeWorkgroupSubgroups
= in_ext
->maxComputeWorkgroupSubgroups
;
22784 out_ext
->requiredSubgroupSizeStages
= in_ext
->requiredSubgroupSizeStages
;
22785 out_ext
->maxInlineUniformBlockSize
= in_ext
->maxInlineUniformBlockSize
;
22786 out_ext
->maxPerStageDescriptorInlineUniformBlocks
= in_ext
->maxPerStageDescriptorInlineUniformBlocks
;
22787 out_ext
->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
= in_ext
->maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
;
22788 out_ext
->maxDescriptorSetInlineUniformBlocks
= in_ext
->maxDescriptorSetInlineUniformBlocks
;
22789 out_ext
->maxDescriptorSetUpdateAfterBindInlineUniformBlocks
= in_ext
->maxDescriptorSetUpdateAfterBindInlineUniformBlocks
;
22790 out_ext
->maxInlineUniformTotalSize
= in_ext
->maxInlineUniformTotalSize
;
22791 out_ext
->integerDotProduct8BitUnsignedAccelerated
= in_ext
->integerDotProduct8BitUnsignedAccelerated
;
22792 out_ext
->integerDotProduct8BitSignedAccelerated
= in_ext
->integerDotProduct8BitSignedAccelerated
;
22793 out_ext
->integerDotProduct8BitMixedSignednessAccelerated
= in_ext
->integerDotProduct8BitMixedSignednessAccelerated
;
22794 out_ext
->integerDotProduct4x8BitPackedUnsignedAccelerated
= in_ext
->integerDotProduct4x8BitPackedUnsignedAccelerated
;
22795 out_ext
->integerDotProduct4x8BitPackedSignedAccelerated
= in_ext
->integerDotProduct4x8BitPackedSignedAccelerated
;
22796 out_ext
->integerDotProduct4x8BitPackedMixedSignednessAccelerated
= in_ext
->integerDotProduct4x8BitPackedMixedSignednessAccelerated
;
22797 out_ext
->integerDotProduct16BitUnsignedAccelerated
= in_ext
->integerDotProduct16BitUnsignedAccelerated
;
22798 out_ext
->integerDotProduct16BitSignedAccelerated
= in_ext
->integerDotProduct16BitSignedAccelerated
;
22799 out_ext
->integerDotProduct16BitMixedSignednessAccelerated
= in_ext
->integerDotProduct16BitMixedSignednessAccelerated
;
22800 out_ext
->integerDotProduct32BitUnsignedAccelerated
= in_ext
->integerDotProduct32BitUnsignedAccelerated
;
22801 out_ext
->integerDotProduct32BitSignedAccelerated
= in_ext
->integerDotProduct32BitSignedAccelerated
;
22802 out_ext
->integerDotProduct32BitMixedSignednessAccelerated
= in_ext
->integerDotProduct32BitMixedSignednessAccelerated
;
22803 out_ext
->integerDotProduct64BitUnsignedAccelerated
= in_ext
->integerDotProduct64BitUnsignedAccelerated
;
22804 out_ext
->integerDotProduct64BitSignedAccelerated
= in_ext
->integerDotProduct64BitSignedAccelerated
;
22805 out_ext
->integerDotProduct64BitMixedSignednessAccelerated
= in_ext
->integerDotProduct64BitMixedSignednessAccelerated
;
22806 out_ext
->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
;
22807 out_ext
->integerDotProductAccumulatingSaturating8BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitSignedAccelerated
;
22808 out_ext
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
;
22809 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
;
22810 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
;
22811 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
;
22812 out_ext
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
;
22813 out_ext
->integerDotProductAccumulatingSaturating16BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitSignedAccelerated
;
22814 out_ext
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
;
22815 out_ext
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
;
22816 out_ext
->integerDotProductAccumulatingSaturating32BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitSignedAccelerated
;
22817 out_ext
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
;
22818 out_ext
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
;
22819 out_ext
->integerDotProductAccumulatingSaturating64BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitSignedAccelerated
;
22820 out_ext
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
;
22821 out_ext
->storageTexelBufferOffsetAlignmentBytes
= in_ext
->storageTexelBufferOffsetAlignmentBytes
;
22822 out_ext
->storageTexelBufferOffsetSingleTexelAlignment
= in_ext
->storageTexelBufferOffsetSingleTexelAlignment
;
22823 out_ext
->uniformTexelBufferOffsetAlignmentBytes
= in_ext
->uniformTexelBufferOffsetAlignmentBytes
;
22824 out_ext
->uniformTexelBufferOffsetSingleTexelAlignment
= in_ext
->uniformTexelBufferOffsetSingleTexelAlignment
;
22825 out_ext
->maxBufferSize
= in_ext
->maxBufferSize
;
22826 out_header
= (void *)out_ext
;
22829 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
:
22831 VkPhysicalDeviceCustomBorderColorPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
);
22832 const VkPhysicalDeviceCustomBorderColorPropertiesEXT
*in_ext
= (const VkPhysicalDeviceCustomBorderColorPropertiesEXT
*)in_header
;
22833 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT
;
22834 out_ext
->maxCustomBorderColorSamplers
= in_ext
->maxCustomBorderColorSamplers
;
22835 out_header
= (void *)out_ext
;
22838 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
:
22840 VkPhysicalDeviceExtendedDynamicState3PropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
);
22841 const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
*in_ext
= (const VkPhysicalDeviceExtendedDynamicState3PropertiesEXT
*)in_header
;
22842 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT
;
22843 out_ext
->dynamicPrimitiveTopologyUnrestricted
= in_ext
->dynamicPrimitiveTopologyUnrestricted
;
22844 out_header
= (void *)out_ext
;
22847 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
:
22849 VkPhysicalDeviceRobustness2PropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
);
22850 const VkPhysicalDeviceRobustness2PropertiesEXT
*in_ext
= (const VkPhysicalDeviceRobustness2PropertiesEXT
*)in_header
;
22851 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT
;
22852 out_ext
->robustStorageBufferAccessSizeAlignment
= in_ext
->robustStorageBufferAccessSizeAlignment
;
22853 out_ext
->robustUniformBufferAccessSizeAlignment
= in_ext
->robustUniformBufferAccessSizeAlignment
;
22854 out_header
= (void *)out_ext
;
22857 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
:
22859 VkPhysicalDeviceFragmentShadingRatePropertiesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
);
22860 const VkPhysicalDeviceFragmentShadingRatePropertiesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShadingRatePropertiesKHR
*)in_header
;
22861 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR
;
22862 out_ext
->minFragmentShadingRateAttachmentTexelSize
= in_ext
->minFragmentShadingRateAttachmentTexelSize
;
22863 out_ext
->maxFragmentShadingRateAttachmentTexelSize
= in_ext
->maxFragmentShadingRateAttachmentTexelSize
;
22864 out_ext
->maxFragmentShadingRateAttachmentTexelSizeAspectRatio
= in_ext
->maxFragmentShadingRateAttachmentTexelSizeAspectRatio
;
22865 out_ext
->primitiveFragmentShadingRateWithMultipleViewports
= in_ext
->primitiveFragmentShadingRateWithMultipleViewports
;
22866 out_ext
->layeredShadingRateAttachments
= in_ext
->layeredShadingRateAttachments
;
22867 out_ext
->fragmentShadingRateNonTrivialCombinerOps
= in_ext
->fragmentShadingRateNonTrivialCombinerOps
;
22868 out_ext
->maxFragmentSize
= in_ext
->maxFragmentSize
;
22869 out_ext
->maxFragmentSizeAspectRatio
= in_ext
->maxFragmentSizeAspectRatio
;
22870 out_ext
->maxFragmentShadingRateCoverageSamples
= in_ext
->maxFragmentShadingRateCoverageSamples
;
22871 out_ext
->maxFragmentShadingRateRasterizationSamples
= in_ext
->maxFragmentShadingRateRasterizationSamples
;
22872 out_ext
->fragmentShadingRateWithShaderDepthStencilWrites
= in_ext
->fragmentShadingRateWithShaderDepthStencilWrites
;
22873 out_ext
->fragmentShadingRateWithSampleMask
= in_ext
->fragmentShadingRateWithSampleMask
;
22874 out_ext
->fragmentShadingRateWithShaderSampleMask
= in_ext
->fragmentShadingRateWithShaderSampleMask
;
22875 out_ext
->fragmentShadingRateWithConservativeRasterization
= in_ext
->fragmentShadingRateWithConservativeRasterization
;
22876 out_ext
->fragmentShadingRateWithFragmentShaderInterlock
= in_ext
->fragmentShadingRateWithFragmentShaderInterlock
;
22877 out_ext
->fragmentShadingRateWithCustomSampleLocations
= in_ext
->fragmentShadingRateWithCustomSampleLocations
;
22878 out_ext
->fragmentShadingRateStrictMultiplyCombiner
= in_ext
->fragmentShadingRateStrictMultiplyCombiner
;
22879 out_header
= (void *)out_ext
;
22882 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
:
22884 VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
);
22885 const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
*in_ext
= (const VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV
*)in_header
;
22886 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
;
22887 out_ext
->maxFragmentShadingRateInvocationCount
= in_ext
->maxFragmentShadingRateInvocationCount
;
22888 out_header
= (void *)out_ext
;
22891 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
:
22893 VkPhysicalDeviceProvokingVertexPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
);
22894 const VkPhysicalDeviceProvokingVertexPropertiesEXT
*in_ext
= (const VkPhysicalDeviceProvokingVertexPropertiesEXT
*)in_header
;
22895 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT
;
22896 out_ext
->provokingVertexModePerPipeline
= in_ext
->provokingVertexModePerPipeline
;
22897 out_ext
->transformFeedbackPreservesTriangleFanProvokingVertex
= in_ext
->transformFeedbackPreservesTriangleFanProvokingVertex
;
22898 out_header
= (void *)out_ext
;
22901 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT
:
22903 VkPhysicalDeviceDescriptorBufferPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT
);
22904 const VkPhysicalDeviceDescriptorBufferPropertiesEXT
*in_ext
= (const VkPhysicalDeviceDescriptorBufferPropertiesEXT
*)in_header
;
22905 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT
;
22906 out_ext
->combinedImageSamplerDescriptorSingleArray
= in_ext
->combinedImageSamplerDescriptorSingleArray
;
22907 out_ext
->bufferlessPushDescriptors
= in_ext
->bufferlessPushDescriptors
;
22908 out_ext
->allowSamplerImageViewPostSubmitCreation
= in_ext
->allowSamplerImageViewPostSubmitCreation
;
22909 out_ext
->descriptorBufferOffsetAlignment
= in_ext
->descriptorBufferOffsetAlignment
;
22910 out_ext
->maxDescriptorBufferBindings
= in_ext
->maxDescriptorBufferBindings
;
22911 out_ext
->maxResourceDescriptorBufferBindings
= in_ext
->maxResourceDescriptorBufferBindings
;
22912 out_ext
->maxSamplerDescriptorBufferBindings
= in_ext
->maxSamplerDescriptorBufferBindings
;
22913 out_ext
->maxEmbeddedImmutableSamplerBindings
= in_ext
->maxEmbeddedImmutableSamplerBindings
;
22914 out_ext
->maxEmbeddedImmutableSamplers
= in_ext
->maxEmbeddedImmutableSamplers
;
22915 out_ext
->bufferCaptureReplayDescriptorDataSize
= in_ext
->bufferCaptureReplayDescriptorDataSize
;
22916 out_ext
->imageCaptureReplayDescriptorDataSize
= in_ext
->imageCaptureReplayDescriptorDataSize
;
22917 out_ext
->imageViewCaptureReplayDescriptorDataSize
= in_ext
->imageViewCaptureReplayDescriptorDataSize
;
22918 out_ext
->samplerCaptureReplayDescriptorDataSize
= in_ext
->samplerCaptureReplayDescriptorDataSize
;
22919 out_ext
->accelerationStructureCaptureReplayDescriptorDataSize
= in_ext
->accelerationStructureCaptureReplayDescriptorDataSize
;
22920 out_ext
->samplerDescriptorSize
= in_ext
->samplerDescriptorSize
;
22921 out_ext
->combinedImageSamplerDescriptorSize
= in_ext
->combinedImageSamplerDescriptorSize
;
22922 out_ext
->sampledImageDescriptorSize
= in_ext
->sampledImageDescriptorSize
;
22923 out_ext
->storageImageDescriptorSize
= in_ext
->storageImageDescriptorSize
;
22924 out_ext
->uniformTexelBufferDescriptorSize
= in_ext
->uniformTexelBufferDescriptorSize
;
22925 out_ext
->robustUniformTexelBufferDescriptorSize
= in_ext
->robustUniformTexelBufferDescriptorSize
;
22926 out_ext
->storageTexelBufferDescriptorSize
= in_ext
->storageTexelBufferDescriptorSize
;
22927 out_ext
->robustStorageTexelBufferDescriptorSize
= in_ext
->robustStorageTexelBufferDescriptorSize
;
22928 out_ext
->uniformBufferDescriptorSize
= in_ext
->uniformBufferDescriptorSize
;
22929 out_ext
->robustUniformBufferDescriptorSize
= in_ext
->robustUniformBufferDescriptorSize
;
22930 out_ext
->storageBufferDescriptorSize
= in_ext
->storageBufferDescriptorSize
;
22931 out_ext
->robustStorageBufferDescriptorSize
= in_ext
->robustStorageBufferDescriptorSize
;
22932 out_ext
->inputAttachmentDescriptorSize
= in_ext
->inputAttachmentDescriptorSize
;
22933 out_ext
->accelerationStructureDescriptorSize
= in_ext
->accelerationStructureDescriptorSize
;
22934 out_ext
->maxSamplerDescriptorBufferRange
= in_ext
->maxSamplerDescriptorBufferRange
;
22935 out_ext
->maxResourceDescriptorBufferRange
= in_ext
->maxResourceDescriptorBufferRange
;
22936 out_ext
->samplerDescriptorBufferAddressSpaceSize
= in_ext
->samplerDescriptorBufferAddressSpaceSize
;
22937 out_ext
->resourceDescriptorBufferAddressSpaceSize
= in_ext
->resourceDescriptorBufferAddressSpaceSize
;
22938 out_ext
->descriptorBufferAddressSpaceSize
= in_ext
->descriptorBufferAddressSpaceSize
;
22939 out_header
= (void *)out_ext
;
22942 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT
:
22944 VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT
);
22945 const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT
*in_ext
= (const VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT
*)in_header
;
22946 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT
;
22947 out_ext
->combinedImageSamplerDensityMapDescriptorSize
= in_ext
->combinedImageSamplerDensityMapDescriptorSize
;
22948 out_header
= (void *)out_ext
;
22951 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
:
22953 VkPhysicalDeviceShaderIntegerDotProductProperties32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
);
22954 const VkPhysicalDeviceShaderIntegerDotProductProperties
*in_ext
= (const VkPhysicalDeviceShaderIntegerDotProductProperties
*)in_header
;
22955 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES
;
22956 out_ext
->integerDotProduct8BitUnsignedAccelerated
= in_ext
->integerDotProduct8BitUnsignedAccelerated
;
22957 out_ext
->integerDotProduct8BitSignedAccelerated
= in_ext
->integerDotProduct8BitSignedAccelerated
;
22958 out_ext
->integerDotProduct8BitMixedSignednessAccelerated
= in_ext
->integerDotProduct8BitMixedSignednessAccelerated
;
22959 out_ext
->integerDotProduct4x8BitPackedUnsignedAccelerated
= in_ext
->integerDotProduct4x8BitPackedUnsignedAccelerated
;
22960 out_ext
->integerDotProduct4x8BitPackedSignedAccelerated
= in_ext
->integerDotProduct4x8BitPackedSignedAccelerated
;
22961 out_ext
->integerDotProduct4x8BitPackedMixedSignednessAccelerated
= in_ext
->integerDotProduct4x8BitPackedMixedSignednessAccelerated
;
22962 out_ext
->integerDotProduct16BitUnsignedAccelerated
= in_ext
->integerDotProduct16BitUnsignedAccelerated
;
22963 out_ext
->integerDotProduct16BitSignedAccelerated
= in_ext
->integerDotProduct16BitSignedAccelerated
;
22964 out_ext
->integerDotProduct16BitMixedSignednessAccelerated
= in_ext
->integerDotProduct16BitMixedSignednessAccelerated
;
22965 out_ext
->integerDotProduct32BitUnsignedAccelerated
= in_ext
->integerDotProduct32BitUnsignedAccelerated
;
22966 out_ext
->integerDotProduct32BitSignedAccelerated
= in_ext
->integerDotProduct32BitSignedAccelerated
;
22967 out_ext
->integerDotProduct32BitMixedSignednessAccelerated
= in_ext
->integerDotProduct32BitMixedSignednessAccelerated
;
22968 out_ext
->integerDotProduct64BitUnsignedAccelerated
= in_ext
->integerDotProduct64BitUnsignedAccelerated
;
22969 out_ext
->integerDotProduct64BitSignedAccelerated
= in_ext
->integerDotProduct64BitSignedAccelerated
;
22970 out_ext
->integerDotProduct64BitMixedSignednessAccelerated
= in_ext
->integerDotProduct64BitMixedSignednessAccelerated
;
22971 out_ext
->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitUnsignedAccelerated
;
22972 out_ext
->integerDotProductAccumulatingSaturating8BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitSignedAccelerated
;
22973 out_ext
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated
;
22974 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated
;
22975 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated
;
22976 out_ext
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated
;
22977 out_ext
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitUnsignedAccelerated
;
22978 out_ext
->integerDotProductAccumulatingSaturating16BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitSignedAccelerated
;
22979 out_ext
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated
;
22980 out_ext
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitUnsignedAccelerated
;
22981 out_ext
->integerDotProductAccumulatingSaturating32BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitSignedAccelerated
;
22982 out_ext
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated
;
22983 out_ext
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitUnsignedAccelerated
;
22984 out_ext
->integerDotProductAccumulatingSaturating64BitSignedAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitSignedAccelerated
;
22985 out_ext
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
= in_ext
->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated
;
22986 out_header
= (void *)out_ext
;
22989 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
:
22991 VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
);
22992 const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
*in_ext
= (const VkPhysicalDeviceFragmentShaderBarycentricPropertiesKHR
*)in_header
;
22993 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_BARYCENTRIC_PROPERTIES_KHR
;
22994 out_ext
->triStripVertexOrderIndependentOfProvokingVertex
= in_ext
->triStripVertexOrderIndependentOfProvokingVertex
;
22995 out_header
= (void *)out_ext
;
22998 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
:
23000 VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
);
23001 const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
*in_ext
= (const VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT
*)in_header
;
23002 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT
;
23003 out_ext
->graphicsPipelineLibraryFastLinking
= in_ext
->graphicsPipelineLibraryFastLinking
;
23004 out_ext
->graphicsPipelineLibraryIndependentInterpolationDecoration
= in_ext
->graphicsPipelineLibraryIndependentInterpolationDecoration
;
23005 out_header
= (void *)out_ext
;
23008 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
:
23010 VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
);
23011 const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
*in_ext
= (const VkPhysicalDeviceShaderModuleIdentifierPropertiesEXT
*)in_header
;
23012 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
;
23013 memcpy(out_ext
->shaderModuleIdentifierAlgorithmUUID
, in_ext
->shaderModuleIdentifierAlgorithmUUID
, VK_UUID_SIZE
* sizeof(uint8_t));
23014 out_header
= (void *)out_ext
;
23017 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
:
23019 VkPhysicalDeviceOpacityMicromapPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
);
23020 const VkPhysicalDeviceOpacityMicromapPropertiesEXT
*in_ext
= (const VkPhysicalDeviceOpacityMicromapPropertiesEXT
*)in_header
;
23021 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT
;
23022 out_ext
->maxOpacity2StateSubdivisionLevel
= in_ext
->maxOpacity2StateSubdivisionLevel
;
23023 out_ext
->maxOpacity4StateSubdivisionLevel
= in_ext
->maxOpacity4StateSubdivisionLevel
;
23024 out_header
= (void *)out_ext
;
23027 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
:
23029 VkPhysicalDevicePipelineRobustnessPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
);
23030 const VkPhysicalDevicePipelineRobustnessPropertiesEXT
*in_ext
= (const VkPhysicalDevicePipelineRobustnessPropertiesEXT
*)in_header
;
23031 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES_EXT
;
23032 out_ext
->defaultRobustnessStorageBuffers
= in_ext
->defaultRobustnessStorageBuffers
;
23033 out_ext
->defaultRobustnessUniformBuffers
= in_ext
->defaultRobustnessUniformBuffers
;
23034 out_ext
->defaultRobustnessVertexInputs
= in_ext
->defaultRobustnessVertexInputs
;
23035 out_ext
->defaultRobustnessImages
= in_ext
->defaultRobustnessImages
;
23036 out_header
= (void *)out_ext
;
23039 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
:
23041 VkPhysicalDeviceImageProcessingPropertiesQCOM32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
);
23042 const VkPhysicalDeviceImageProcessingPropertiesQCOM
*in_ext
= (const VkPhysicalDeviceImageProcessingPropertiesQCOM
*)in_header
;
23043 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
;
23044 out_ext
->maxWeightFilterPhases
= in_ext
->maxWeightFilterPhases
;
23045 out_ext
->maxWeightFilterDimension
= in_ext
->maxWeightFilterDimension
;
23046 out_ext
->maxBlockMatchRegion
= in_ext
->maxBlockMatchRegion
;
23047 out_ext
->maxBoxFilterBlockSize
= in_ext
->maxBoxFilterBlockSize
;
23048 out_header
= (void *)out_ext
;
23051 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
:
23053 VkPhysicalDeviceOpticalFlowPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
);
23054 const VkPhysicalDeviceOpticalFlowPropertiesNV
*in_ext
= (const VkPhysicalDeviceOpticalFlowPropertiesNV
*)in_header
;
23055 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
;
23056 out_ext
->supportedOutputGridSizes
= in_ext
->supportedOutputGridSizes
;
23057 out_ext
->supportedHintGridSizes
= in_ext
->supportedHintGridSizes
;
23058 out_ext
->hintSupported
= in_ext
->hintSupported
;
23059 out_ext
->costSupported
= in_ext
->costSupported
;
23060 out_ext
->bidirectionalFlowSupported
= in_ext
->bidirectionalFlowSupported
;
23061 out_ext
->globalFlowSupported
= in_ext
->globalFlowSupported
;
23062 out_ext
->minWidth
= in_ext
->minWidth
;
23063 out_ext
->minHeight
= in_ext
->minHeight
;
23064 out_ext
->maxWidth
= in_ext
->maxWidth
;
23065 out_ext
->maxHeight
= in_ext
->maxHeight
;
23066 out_ext
->maxNumRegionsOfInterest
= in_ext
->maxNumRegionsOfInterest
;
23067 out_header
= (void *)out_ext
;
23070 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
:
23072 VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
);
23073 const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM
*in_ext
= (const VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM
*)in_header
;
23074 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
;
23075 out_ext
->shaderCoreMask
= in_ext
->shaderCoreMask
;
23076 out_ext
->shaderCoreCount
= in_ext
->shaderCoreCount
;
23077 out_ext
->shaderWarpsPerCore
= in_ext
->shaderWarpsPerCore
;
23078 out_header
= (void *)out_ext
;
23081 case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
:
23083 VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
);
23084 const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV
*in_ext
= (const VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV
*)in_header
;
23085 out_ext
->sType
= VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
;
23086 out_ext
->rayTracingInvocationReorderReorderingHint
= in_ext
->rayTracingInvocationReorderReorderingHint
;
23087 out_header
= (void *)out_ext
;
23096 static inline void convert_VkQueryPoolPerformanceCreateInfoKHR_win32_to_host(const VkQueryPoolPerformanceCreateInfoKHR32
*in
, VkQueryPoolPerformanceCreateInfoKHR
*out
)
23100 out
->sType
= in
->sType
;
23102 out
->queueFamilyIndex
= in
->queueFamilyIndex
;
23103 out
->counterIndexCount
= in
->counterIndexCount
;
23104 out
->pCounterIndices
= (const uint32_t *)UlongToPtr(in
->pCounterIndices
);
23106 FIXME("Unexpected pNext\n");
23109 static inline void convert_VkQueueFamilyProperties2_win32_to_host(struct conversion_context
*ctx
, const VkQueueFamilyProperties232
*in
, VkQueueFamilyProperties2
*out
)
23111 const VkBaseInStructure32
*in_header
;
23112 VkBaseOutStructure
*out_header
= (void *)out
;
23116 out
->sType
= in
->sType
;
23119 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
23121 switch (in_header
->sType
)
23123 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
:
23125 VkQueueFamilyGlobalPriorityPropertiesKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
23126 const VkQueueFamilyGlobalPriorityPropertiesKHR32
*in_ext
= (const VkQueueFamilyGlobalPriorityPropertiesKHR32
*)in_header
;
23127 out_ext
->sType
= VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
;
23128 out_ext
->pNext
= NULL
;
23129 out_ext
->priorityCount
= in_ext
->priorityCount
;
23130 memcpy(out_ext
->priorities
, in_ext
->priorities
, VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
* sizeof(VkQueueGlobalPriorityKHR
));
23131 out_header
->pNext
= (void *)out_ext
;
23132 out_header
= (void *)out_ext
;
23135 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
:
23137 VkQueueFamilyCheckpointPropertiesNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
23138 out_ext
->sType
= VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
;
23139 out_ext
->pNext
= NULL
;
23140 out_header
->pNext
= (void *)out_ext
;
23141 out_header
= (void *)out_ext
;
23144 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
:
23146 VkQueueFamilyCheckpointProperties2NV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
23147 out_ext
->sType
= VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
;
23148 out_ext
->pNext
= NULL
;
23149 out_header
->pNext
= (void *)out_ext
;
23150 out_header
= (void *)out_ext
;
23154 FIXME("Unhandled sType %u.", in_header
->sType
);
23160 static inline void convert_VkQueueFamilyProperties2_host_to_win32(const VkQueueFamilyProperties2
*in
, VkQueueFamilyProperties232
*out
)
23162 const VkBaseInStructure
*in_header
;
23163 VkBaseOutStructure32
*out_header
= (void *)out
;
23167 out
->queueFamilyProperties
= in
->queueFamilyProperties
;
23169 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
23171 switch (in_header
->sType
)
23173 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
:
23175 VkQueueFamilyGlobalPriorityPropertiesKHR32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
);
23176 const VkQueueFamilyGlobalPriorityPropertiesKHR
*in_ext
= (const VkQueueFamilyGlobalPriorityPropertiesKHR
*)in_header
;
23177 out_ext
->sType
= VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR
;
23178 out_ext
->priorityCount
= in_ext
->priorityCount
;
23179 memcpy(out_ext
->priorities
, in_ext
->priorities
, VK_MAX_GLOBAL_PRIORITY_SIZE_KHR
* sizeof(VkQueueGlobalPriorityKHR
));
23180 out_header
= (void *)out_ext
;
23183 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
:
23185 VkQueueFamilyCheckpointPropertiesNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
);
23186 const VkQueueFamilyCheckpointPropertiesNV
*in_ext
= (const VkQueueFamilyCheckpointPropertiesNV
*)in_header
;
23187 out_ext
->sType
= VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
;
23188 out_ext
->checkpointExecutionStageMask
= in_ext
->checkpointExecutionStageMask
;
23189 out_header
= (void *)out_ext
;
23192 case VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
:
23194 VkQueueFamilyCheckpointProperties2NV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
);
23195 const VkQueueFamilyCheckpointProperties2NV
*in_ext
= (const VkQueueFamilyCheckpointProperties2NV
*)in_header
;
23196 out_ext
->sType
= VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
;
23197 out_ext
->checkpointExecutionStageMask
= in_ext
->checkpointExecutionStageMask
;
23198 out_header
= (void *)out_ext
;
23207 static inline VkQueueFamilyProperties2
*convert_VkQueueFamilyProperties2_array_win32_to_host(struct conversion_context
*ctx
, const VkQueueFamilyProperties232
*in
, uint32_t count
)
23209 VkQueueFamilyProperties2
*out
;
23212 if (!in
|| !count
) return NULL
;
23214 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23215 for (i
= 0; i
< count
; i
++)
23217 convert_VkQueueFamilyProperties2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
23223 static inline void convert_VkQueueFamilyProperties2_array_host_to_win32(const VkQueueFamilyProperties2
*in
, VkQueueFamilyProperties232
*out
, uint32_t count
)
23229 for (i
= 0; i
< count
; i
++)
23231 convert_VkQueueFamilyProperties2_host_to_win32(&in
[i
], &out
[i
]);
23235 static inline void convert_VkPhysicalDeviceSparseImageFormatInfo2_win32_to_host(const VkPhysicalDeviceSparseImageFormatInfo232
*in
, VkPhysicalDeviceSparseImageFormatInfo2
*out
)
23239 out
->sType
= in
->sType
;
23241 out
->format
= in
->format
;
23242 out
->type
= in
->type
;
23243 out
->samples
= in
->samples
;
23244 out
->usage
= in
->usage
;
23245 out
->tiling
= in
->tiling
;
23247 FIXME("Unexpected pNext\n");
23250 static inline void convert_VkSparseImageFormatProperties2_win32_to_host(const VkSparseImageFormatProperties232
*in
, VkSparseImageFormatProperties2
*out
)
23254 out
->sType
= in
->sType
;
23257 FIXME("Unexpected pNext\n");
23260 static inline void convert_VkSparseImageFormatProperties2_host_to_win32(const VkSparseImageFormatProperties2
*in
, VkSparseImageFormatProperties232
*out
)
23264 out
->properties
= in
->properties
;
23267 static inline VkSparseImageFormatProperties2
*convert_VkSparseImageFormatProperties2_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageFormatProperties232
*in
, uint32_t count
)
23269 VkSparseImageFormatProperties2
*out
;
23272 if (!in
|| !count
) return NULL
;
23274 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23275 for (i
= 0; i
< count
; i
++)
23277 convert_VkSparseImageFormatProperties2_win32_to_host(&in
[i
], &out
[i
]);
23283 static inline void convert_VkSparseImageFormatProperties2_array_host_to_win32(const VkSparseImageFormatProperties2
*in
, VkSparseImageFormatProperties232
*out
, uint32_t count
)
23289 for (i
= 0; i
< count
; i
++)
23291 convert_VkSparseImageFormatProperties2_host_to_win32(&in
[i
], &out
[i
]);
23295 static inline void convert_VkFramebufferMixedSamplesCombinationNV_win32_to_host(const VkFramebufferMixedSamplesCombinationNV32
*in
, VkFramebufferMixedSamplesCombinationNV
*out
)
23299 out
->sType
= in
->sType
;
23302 FIXME("Unexpected pNext\n");
23305 static inline void convert_VkFramebufferMixedSamplesCombinationNV_host_to_win32(const VkFramebufferMixedSamplesCombinationNV
*in
, VkFramebufferMixedSamplesCombinationNV32
*out
)
23309 out
->coverageReductionMode
= in
->coverageReductionMode
;
23310 out
->rasterizationSamples
= in
->rasterizationSamples
;
23311 out
->depthStencilSamples
= in
->depthStencilSamples
;
23312 out
->colorSamples
= in
->colorSamples
;
23315 static inline VkFramebufferMixedSamplesCombinationNV
*convert_VkFramebufferMixedSamplesCombinationNV_array_win32_to_host(struct conversion_context
*ctx
, const VkFramebufferMixedSamplesCombinationNV32
*in
, uint32_t count
)
23317 VkFramebufferMixedSamplesCombinationNV
*out
;
23320 if (!in
|| !count
) return NULL
;
23322 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23323 for (i
= 0; i
< count
; i
++)
23325 convert_VkFramebufferMixedSamplesCombinationNV_win32_to_host(&in
[i
], &out
[i
]);
23331 static inline void convert_VkFramebufferMixedSamplesCombinationNV_array_host_to_win32(const VkFramebufferMixedSamplesCombinationNV
*in
, VkFramebufferMixedSamplesCombinationNV32
*out
, uint32_t count
)
23337 for (i
= 0; i
< count
; i
++)
23339 convert_VkFramebufferMixedSamplesCombinationNV_host_to_win32(&in
[i
], &out
[i
]);
23343 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host(const VkPhysicalDeviceSurfaceInfo2KHR32
*in
, VkPhysicalDeviceSurfaceInfo2KHR
*out
)
23347 out
->sType
= in
->sType
;
23349 out
->surface
= in
->surface
;
23351 FIXME("Unexpected pNext\n");
23354 static inline void convert_VkSurfaceCapabilities2KHR_win32_to_host(struct conversion_context
*ctx
, const VkSurfaceCapabilities2KHR32
*in
, VkSurfaceCapabilities2KHR
*out
)
23356 const VkBaseInStructure32
*in_header
;
23357 VkBaseOutStructure
*out_header
= (void *)out
;
23361 out
->sType
= in
->sType
;
23364 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
23366 switch (in_header
->sType
)
23368 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV
:
23370 VkSurfaceCapabilitiesPresentBarrierNV
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
23371 out_ext
->sType
= VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV
;
23372 out_ext
->pNext
= NULL
;
23373 out_header
->pNext
= (void *)out_ext
;
23374 out_header
= (void *)out_ext
;
23378 FIXME("Unhandled sType %u.", in_header
->sType
);
23384 static inline void convert_VkSurfaceCapabilities2KHR_host_to_win32(const VkSurfaceCapabilities2KHR
*in
, VkSurfaceCapabilities2KHR32
*out
)
23386 const VkBaseInStructure
*in_header
;
23387 VkBaseOutStructure32
*out_header
= (void *)out
;
23391 out
->surfaceCapabilities
= in
->surfaceCapabilities
;
23393 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
23395 switch (in_header
->sType
)
23397 case VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV
:
23399 VkSurfaceCapabilitiesPresentBarrierNV32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV
);
23400 const VkSurfaceCapabilitiesPresentBarrierNV
*in_ext
= (const VkSurfaceCapabilitiesPresentBarrierNV
*)in_header
;
23401 out_ext
->sType
= VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV
;
23402 out_ext
->presentBarrierSupported
= in_ext
->presentBarrierSupported
;
23403 out_header
= (void *)out_ext
;
23413 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win64_to_host(const VkPhysicalDeviceSurfaceInfo2KHR
*in
, VkPhysicalDeviceSurfaceInfo2KHR
*out
)
23417 out
->sType
= in
->sType
;
23418 out
->pNext
= in
->pNext
;
23419 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
23421 #endif /* _WIN64 */
23423 static inline void convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host(const VkPhysicalDeviceSurfaceInfo2KHR32
*in
, VkPhysicalDeviceSurfaceInfo2KHR
*out
)
23427 out
->sType
= in
->sType
;
23429 out
->surface
= wine_surface_from_handle(in
->surface
)->driver_surface
;
23431 FIXME("Unexpected pNext\n");
23434 static inline void convert_VkSurfaceFormat2KHR_win32_to_host(struct conversion_context
*ctx
, const VkSurfaceFormat2KHR32
*in
, VkSurfaceFormat2KHR
*out
)
23436 const VkBaseInStructure32
*in_header
;
23437 VkBaseOutStructure
*out_header
= (void *)out
;
23441 out
->sType
= in
->sType
;
23444 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
23446 switch (in_header
->sType
)
23448 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
:
23450 VkImageCompressionPropertiesEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
23451 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
;
23452 out_ext
->pNext
= NULL
;
23453 out_header
->pNext
= (void *)out_ext
;
23454 out_header
= (void *)out_ext
;
23458 FIXME("Unhandled sType %u.", in_header
->sType
);
23464 static inline void convert_VkSurfaceFormat2KHR_host_to_win32(const VkSurfaceFormat2KHR
*in
, VkSurfaceFormat2KHR32
*out
)
23466 const VkBaseInStructure
*in_header
;
23467 VkBaseOutStructure32
*out_header
= (void *)out
;
23471 out
->surfaceFormat
= in
->surfaceFormat
;
23473 for (in_header
= (void *)in
->pNext
; in_header
; in_header
= (void *)in_header
->pNext
)
23475 switch (in_header
->sType
)
23477 case VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
:
23479 VkImageCompressionPropertiesEXT32
*out_ext
= find_next_struct32(out_header
, VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
);
23480 const VkImageCompressionPropertiesEXT
*in_ext
= (const VkImageCompressionPropertiesEXT
*)in_header
;
23481 out_ext
->sType
= VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT
;
23482 out_ext
->imageCompressionFlags
= in_ext
->imageCompressionFlags
;
23483 out_ext
->imageCompressionFixedRateFlags
= in_ext
->imageCompressionFixedRateFlags
;
23484 out_header
= (void *)out_ext
;
23493 static inline VkSurfaceFormat2KHR
*convert_VkSurfaceFormat2KHR_array_win32_to_host(struct conversion_context
*ctx
, const VkSurfaceFormat2KHR32
*in
, uint32_t count
)
23495 VkSurfaceFormat2KHR
*out
;
23498 if (!in
|| !count
) return NULL
;
23500 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23501 for (i
= 0; i
< count
; i
++)
23503 convert_VkSurfaceFormat2KHR_win32_to_host(ctx
, &in
[i
], &out
[i
]);
23509 static inline void convert_VkSurfaceFormat2KHR_array_host_to_win32(const VkSurfaceFormat2KHR
*in
, VkSurfaceFormat2KHR32
*out
, uint32_t count
)
23515 for (i
= 0; i
< count
; i
++)
23517 convert_VkSurfaceFormat2KHR_host_to_win32(&in
[i
], &out
[i
]);
23521 static inline void convert_VkPhysicalDeviceToolProperties_win32_to_host(const VkPhysicalDeviceToolProperties32
*in
, VkPhysicalDeviceToolProperties
*out
)
23525 out
->sType
= in
->sType
;
23528 FIXME("Unexpected pNext\n");
23531 static inline void convert_VkPhysicalDeviceToolProperties_host_to_win32(const VkPhysicalDeviceToolProperties
*in
, VkPhysicalDeviceToolProperties32
*out
)
23535 memcpy(out
->name
, in
->name
, VK_MAX_EXTENSION_NAME_SIZE
* sizeof(char));
23536 memcpy(out
->version
, in
->version
, VK_MAX_EXTENSION_NAME_SIZE
* sizeof(char));
23537 out
->purposes
= in
->purposes
;
23538 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
23539 memcpy(out
->layer
, in
->layer
, VK_MAX_EXTENSION_NAME_SIZE
* sizeof(char));
23542 static inline VkPhysicalDeviceToolProperties
*convert_VkPhysicalDeviceToolProperties_array_win32_to_host(struct conversion_context
*ctx
, const VkPhysicalDeviceToolProperties32
*in
, uint32_t count
)
23544 VkPhysicalDeviceToolProperties
*out
;
23547 if (!in
|| !count
) return NULL
;
23549 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23550 for (i
= 0; i
< count
; i
++)
23552 convert_VkPhysicalDeviceToolProperties_win32_to_host(&in
[i
], &out
[i
]);
23558 static inline void convert_VkPhysicalDeviceToolProperties_array_host_to_win32(const VkPhysicalDeviceToolProperties
*in
, VkPhysicalDeviceToolProperties32
*out
, uint32_t count
)
23564 for (i
= 0; i
< count
; i
++)
23566 convert_VkPhysicalDeviceToolProperties_host_to_win32(&in
[i
], &out
[i
]);
23570 static inline void convert_VkPipelineExecutableInfoKHR_win32_to_host(const VkPipelineExecutableInfoKHR32
*in
, VkPipelineExecutableInfoKHR
*out
)
23574 out
->sType
= in
->sType
;
23576 out
->pipeline
= in
->pipeline
;
23577 out
->executableIndex
= in
->executableIndex
;
23579 FIXME("Unexpected pNext\n");
23582 static inline void convert_VkPipelineExecutableInternalRepresentationKHR_win32_to_host(const VkPipelineExecutableInternalRepresentationKHR32
*in
, VkPipelineExecutableInternalRepresentationKHR
*out
)
23586 out
->sType
= in
->sType
;
23589 FIXME("Unexpected pNext\n");
23592 static inline void convert_VkPipelineExecutableInternalRepresentationKHR_host_to_win32(const VkPipelineExecutableInternalRepresentationKHR
*in
, VkPipelineExecutableInternalRepresentationKHR32
*out
)
23596 memcpy(out
->name
, in
->name
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
23597 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
23598 out
->isText
= in
->isText
;
23599 out
->dataSize
= in
->dataSize
;
23600 out
->pData
= PtrToUlong(in
->pData
);
23603 static inline VkPipelineExecutableInternalRepresentationKHR
*convert_VkPipelineExecutableInternalRepresentationKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineExecutableInternalRepresentationKHR32
*in
, uint32_t count
)
23605 VkPipelineExecutableInternalRepresentationKHR
*out
;
23608 if (!in
|| !count
) return NULL
;
23610 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23611 for (i
= 0; i
< count
; i
++)
23613 convert_VkPipelineExecutableInternalRepresentationKHR_win32_to_host(&in
[i
], &out
[i
]);
23619 static inline void convert_VkPipelineExecutableInternalRepresentationKHR_array_host_to_win32(const VkPipelineExecutableInternalRepresentationKHR
*in
, VkPipelineExecutableInternalRepresentationKHR32
*out
, uint32_t count
)
23625 for (i
= 0; i
< count
; i
++)
23627 convert_VkPipelineExecutableInternalRepresentationKHR_host_to_win32(&in
[i
], &out
[i
]);
23631 static inline void convert_VkPipelineInfoKHR_win32_to_host(const VkPipelineInfoKHR32
*in
, VkPipelineInfoKHR
*out
)
23635 out
->sType
= in
->sType
;
23637 out
->pipeline
= in
->pipeline
;
23639 FIXME("Unexpected pNext\n");
23642 static inline void convert_VkPipelineExecutablePropertiesKHR_win32_to_host(const VkPipelineExecutablePropertiesKHR32
*in
, VkPipelineExecutablePropertiesKHR
*out
)
23646 out
->sType
= in
->sType
;
23649 FIXME("Unexpected pNext\n");
23652 static inline void convert_VkPipelineExecutablePropertiesKHR_host_to_win32(const VkPipelineExecutablePropertiesKHR
*in
, VkPipelineExecutablePropertiesKHR32
*out
)
23656 out
->stages
= in
->stages
;
23657 memcpy(out
->name
, in
->name
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
23658 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
23659 out
->subgroupSize
= in
->subgroupSize
;
23662 static inline VkPipelineExecutablePropertiesKHR
*convert_VkPipelineExecutablePropertiesKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineExecutablePropertiesKHR32
*in
, uint32_t count
)
23664 VkPipelineExecutablePropertiesKHR
*out
;
23667 if (!in
|| !count
) return NULL
;
23669 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23670 for (i
= 0; i
< count
; i
++)
23672 convert_VkPipelineExecutablePropertiesKHR_win32_to_host(&in
[i
], &out
[i
]);
23678 static inline void convert_VkPipelineExecutablePropertiesKHR_array_host_to_win32(const VkPipelineExecutablePropertiesKHR
*in
, VkPipelineExecutablePropertiesKHR32
*out
, uint32_t count
)
23684 for (i
= 0; i
< count
; i
++)
23686 convert_VkPipelineExecutablePropertiesKHR_host_to_win32(&in
[i
], &out
[i
]);
23690 static inline void convert_VkPipelineExecutableStatisticValueKHR_host_to_win32(const VkPipelineExecutableStatisticValueKHR
*in
, VkPipelineExecutableStatisticValueKHR32
*out
, VkFlags selector
)
23694 if (selector
== VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_BOOL32_KHR
)
23695 out
->b32
= in
->b32
;
23696 if (selector
== VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_INT64_KHR
)
23697 out
->i64
= in
->i64
;
23698 if (selector
== VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_UINT64_KHR
)
23699 out
->u64
= in
->u64
;
23700 if (selector
== VK_PIPELINE_EXECUTABLE_STATISTIC_FORMAT_FLOAT64_KHR
)
23701 out
->f64
= in
->f64
;
23704 static inline void convert_VkPipelineExecutableStatisticKHR_win32_to_host(const VkPipelineExecutableStatisticKHR32
*in
, VkPipelineExecutableStatisticKHR
*out
)
23708 out
->sType
= in
->sType
;
23711 FIXME("Unexpected pNext\n");
23714 static inline void convert_VkPipelineExecutableStatisticKHR_host_to_win32(const VkPipelineExecutableStatisticKHR
*in
, VkPipelineExecutableStatisticKHR32
*out
)
23718 memcpy(out
->name
, in
->name
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
23719 memcpy(out
->description
, in
->description
, VK_MAX_DESCRIPTION_SIZE
* sizeof(char));
23720 out
->format
= in
->format
;
23721 convert_VkPipelineExecutableStatisticValueKHR_host_to_win32(&in
->value
, &out
->value
, in
->format
);
23724 static inline VkPipelineExecutableStatisticKHR
*convert_VkPipelineExecutableStatisticKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkPipelineExecutableStatisticKHR32
*in
, uint32_t count
)
23726 VkPipelineExecutableStatisticKHR
*out
;
23729 if (!in
|| !count
) return NULL
;
23731 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23732 for (i
= 0; i
< count
; i
++)
23734 convert_VkPipelineExecutableStatisticKHR_win32_to_host(&in
[i
], &out
[i
]);
23740 static inline void convert_VkPipelineExecutableStatisticKHR_array_host_to_win32(const VkPipelineExecutableStatisticKHR
*in
, VkPipelineExecutableStatisticKHR32
*out
, uint32_t count
)
23746 for (i
= 0; i
< count
; i
++)
23748 convert_VkPipelineExecutableStatisticKHR_host_to_win32(&in
[i
], &out
[i
]);
23752 static inline void convert_VkPipelineInfoEXT_win32_to_host(const VkPipelineInfoEXT32
*in
, VkPipelineInfoEXT
*out
)
23756 out
->sType
= in
->sType
;
23758 out
->pipeline
= in
->pipeline
;
23760 FIXME("Unexpected pNext\n");
23763 static inline void convert_VkCheckpointData2NV_win32_to_host(const VkCheckpointData2NV32
*in
, VkCheckpointData2NV
*out
)
23767 out
->sType
= in
->sType
;
23770 FIXME("Unexpected pNext\n");
23773 static inline void convert_VkCheckpointData2NV_host_to_win32(const VkCheckpointData2NV
*in
, VkCheckpointData2NV32
*out
)
23777 out
->stage
= in
->stage
;
23778 out
->pCheckpointMarker
= PtrToUlong(in
->pCheckpointMarker
);
23781 static inline VkCheckpointData2NV
*convert_VkCheckpointData2NV_array_win32_to_host(struct conversion_context
*ctx
, const VkCheckpointData2NV32
*in
, uint32_t count
)
23783 VkCheckpointData2NV
*out
;
23786 if (!in
|| !count
) return NULL
;
23788 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23789 for (i
= 0; i
< count
; i
++)
23791 convert_VkCheckpointData2NV_win32_to_host(&in
[i
], &out
[i
]);
23797 static inline void convert_VkCheckpointData2NV_array_host_to_win32(const VkCheckpointData2NV
*in
, VkCheckpointData2NV32
*out
, uint32_t count
)
23803 for (i
= 0; i
< count
; i
++)
23805 convert_VkCheckpointData2NV_host_to_win32(&in
[i
], &out
[i
]);
23809 static inline void convert_VkCheckpointDataNV_win32_to_host(const VkCheckpointDataNV32
*in
, VkCheckpointDataNV
*out
)
23813 out
->sType
= in
->sType
;
23816 FIXME("Unexpected pNext\n");
23819 static inline void convert_VkCheckpointDataNV_host_to_win32(const VkCheckpointDataNV
*in
, VkCheckpointDataNV32
*out
)
23823 out
->stage
= in
->stage
;
23824 out
->pCheckpointMarker
= PtrToUlong(in
->pCheckpointMarker
);
23827 static inline VkCheckpointDataNV
*convert_VkCheckpointDataNV_array_win32_to_host(struct conversion_context
*ctx
, const VkCheckpointDataNV32
*in
, uint32_t count
)
23829 VkCheckpointDataNV
*out
;
23832 if (!in
|| !count
) return NULL
;
23834 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23835 for (i
= 0; i
< count
; i
++)
23837 convert_VkCheckpointDataNV_win32_to_host(&in
[i
], &out
[i
]);
23843 static inline void convert_VkCheckpointDataNV_array_host_to_win32(const VkCheckpointDataNV
*in
, VkCheckpointDataNV32
*out
, uint32_t count
)
23849 for (i
= 0; i
< count
; i
++)
23851 convert_VkCheckpointDataNV_host_to_win32(&in
[i
], &out
[i
]);
23855 static inline void convert_VkSamplerCaptureDescriptorDataInfoEXT_win32_to_host(const VkSamplerCaptureDescriptorDataInfoEXT32
*in
, VkSamplerCaptureDescriptorDataInfoEXT
*out
)
23859 out
->sType
= in
->sType
;
23861 out
->sampler
= in
->sampler
;
23863 FIXME("Unexpected pNext\n");
23866 static inline void convert_VkShaderModuleIdentifierEXT_win32_to_host(const VkShaderModuleIdentifierEXT32
*in
, VkShaderModuleIdentifierEXT
*out
)
23870 out
->sType
= in
->sType
;
23873 FIXME("Unexpected pNext\n");
23876 static inline void convert_VkShaderModuleIdentifierEXT_host_to_win32(const VkShaderModuleIdentifierEXT
*in
, VkShaderModuleIdentifierEXT32
*out
)
23880 out
->identifierSize
= in
->identifierSize
;
23881 memcpy(out
->identifier
, in
->identifier
, VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT
* sizeof(uint8_t));
23884 static inline void convert_VkInitializePerformanceApiInfoINTEL_win32_to_host(const VkInitializePerformanceApiInfoINTEL32
*in
, VkInitializePerformanceApiInfoINTEL
*out
)
23888 out
->sType
= in
->sType
;
23890 out
->pUserData
= (void *)UlongToPtr(in
->pUserData
);
23892 FIXME("Unexpected pNext\n");
23895 static inline void convert_VkSparseMemoryBind_win32_to_host(const VkSparseMemoryBind32
*in
, VkSparseMemoryBind
*out
)
23899 out
->resourceOffset
= in
->resourceOffset
;
23900 out
->size
= in
->size
;
23901 out
->memory
= in
->memory
;
23902 out
->memoryOffset
= in
->memoryOffset
;
23903 out
->flags
= in
->flags
;
23906 static inline const VkSparseMemoryBind
*convert_VkSparseMemoryBind_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseMemoryBind32
*in
, uint32_t count
)
23908 VkSparseMemoryBind
*out
;
23911 if (!in
|| !count
) return NULL
;
23913 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23914 for (i
= 0; i
< count
; i
++)
23916 convert_VkSparseMemoryBind_win32_to_host(&in
[i
], &out
[i
]);
23922 static inline void convert_VkSparseBufferMemoryBindInfo_win32_to_host(struct conversion_context
*ctx
, const VkSparseBufferMemoryBindInfo32
*in
, VkSparseBufferMemoryBindInfo
*out
)
23926 out
->buffer
= in
->buffer
;
23927 out
->bindCount
= in
->bindCount
;
23928 out
->pBinds
= convert_VkSparseMemoryBind_array_win32_to_host(ctx
, (const VkSparseMemoryBind32
*)UlongToPtr(in
->pBinds
), in
->bindCount
);
23931 static inline const VkSparseBufferMemoryBindInfo
*convert_VkSparseBufferMemoryBindInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseBufferMemoryBindInfo32
*in
, uint32_t count
)
23933 VkSparseBufferMemoryBindInfo
*out
;
23936 if (!in
|| !count
) return NULL
;
23938 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23939 for (i
= 0; i
< count
; i
++)
23941 convert_VkSparseBufferMemoryBindInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
23947 static inline void convert_VkSparseImageOpaqueMemoryBindInfo_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageOpaqueMemoryBindInfo32
*in
, VkSparseImageOpaqueMemoryBindInfo
*out
)
23951 out
->image
= in
->image
;
23952 out
->bindCount
= in
->bindCount
;
23953 out
->pBinds
= convert_VkSparseMemoryBind_array_win32_to_host(ctx
, (const VkSparseMemoryBind32
*)UlongToPtr(in
->pBinds
), in
->bindCount
);
23956 static inline const VkSparseImageOpaqueMemoryBindInfo
*convert_VkSparseImageOpaqueMemoryBindInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageOpaqueMemoryBindInfo32
*in
, uint32_t count
)
23958 VkSparseImageOpaqueMemoryBindInfo
*out
;
23961 if (!in
|| !count
) return NULL
;
23963 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23964 for (i
= 0; i
< count
; i
++)
23966 convert_VkSparseImageOpaqueMemoryBindInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
23972 static inline void convert_VkSparseImageMemoryBind_win32_to_host(const VkSparseImageMemoryBind32
*in
, VkSparseImageMemoryBind
*out
)
23976 out
->subresource
= in
->subresource
;
23977 out
->offset
= in
->offset
;
23978 out
->extent
= in
->extent
;
23979 out
->memory
= in
->memory
;
23980 out
->memoryOffset
= in
->memoryOffset
;
23981 out
->flags
= in
->flags
;
23984 static inline const VkSparseImageMemoryBind
*convert_VkSparseImageMemoryBind_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageMemoryBind32
*in
, uint32_t count
)
23986 VkSparseImageMemoryBind
*out
;
23989 if (!in
|| !count
) return NULL
;
23991 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
23992 for (i
= 0; i
< count
; i
++)
23994 convert_VkSparseImageMemoryBind_win32_to_host(&in
[i
], &out
[i
]);
24000 static inline void convert_VkSparseImageMemoryBindInfo_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageMemoryBindInfo32
*in
, VkSparseImageMemoryBindInfo
*out
)
24004 out
->image
= in
->image
;
24005 out
->bindCount
= in
->bindCount
;
24006 out
->pBinds
= convert_VkSparseImageMemoryBind_array_win32_to_host(ctx
, (const VkSparseImageMemoryBind32
*)UlongToPtr(in
->pBinds
), in
->bindCount
);
24009 static inline const VkSparseImageMemoryBindInfo
*convert_VkSparseImageMemoryBindInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSparseImageMemoryBindInfo32
*in
, uint32_t count
)
24011 VkSparseImageMemoryBindInfo
*out
;
24014 if (!in
|| !count
) return NULL
;
24016 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24017 for (i
= 0; i
< count
; i
++)
24019 convert_VkSparseImageMemoryBindInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
24025 static inline void convert_VkBindSparseInfo_win32_to_host(struct conversion_context
*ctx
, const VkBindSparseInfo32
*in
, VkBindSparseInfo
*out
)
24027 const VkBaseInStructure32
*in_header
;
24028 VkBaseOutStructure
*out_header
= (void *)out
;
24032 out
->sType
= in
->sType
;
24034 out
->waitSemaphoreCount
= in
->waitSemaphoreCount
;
24035 out
->pWaitSemaphores
= (const VkSemaphore
*)UlongToPtr(in
->pWaitSemaphores
);
24036 out
->bufferBindCount
= in
->bufferBindCount
;
24037 out
->pBufferBinds
= convert_VkSparseBufferMemoryBindInfo_array_win32_to_host(ctx
, (const VkSparseBufferMemoryBindInfo32
*)UlongToPtr(in
->pBufferBinds
), in
->bufferBindCount
);
24038 out
->imageOpaqueBindCount
= in
->imageOpaqueBindCount
;
24039 out
->pImageOpaqueBinds
= convert_VkSparseImageOpaqueMemoryBindInfo_array_win32_to_host(ctx
, (const VkSparseImageOpaqueMemoryBindInfo32
*)UlongToPtr(in
->pImageOpaqueBinds
), in
->imageOpaqueBindCount
);
24040 out
->imageBindCount
= in
->imageBindCount
;
24041 out
->pImageBinds
= convert_VkSparseImageMemoryBindInfo_array_win32_to_host(ctx
, (const VkSparseImageMemoryBindInfo32
*)UlongToPtr(in
->pImageBinds
), in
->imageBindCount
);
24042 out
->signalSemaphoreCount
= in
->signalSemaphoreCount
;
24043 out
->pSignalSemaphores
= (const VkSemaphore
*)UlongToPtr(in
->pSignalSemaphores
);
24045 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
24047 switch (in_header
->sType
)
24049 case VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO
:
24051 VkDeviceGroupBindSparseInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24052 const VkDeviceGroupBindSparseInfo32
*in_ext
= (const VkDeviceGroupBindSparseInfo32
*)in_header
;
24053 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO
;
24054 out_ext
->pNext
= NULL
;
24055 out_ext
->resourceDeviceIndex
= in_ext
->resourceDeviceIndex
;
24056 out_ext
->memoryDeviceIndex
= in_ext
->memoryDeviceIndex
;
24057 out_header
->pNext
= (void *)out_ext
;
24058 out_header
= (void *)out_ext
;
24061 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO
:
24063 VkTimelineSemaphoreSubmitInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24064 const VkTimelineSemaphoreSubmitInfo32
*in_ext
= (const VkTimelineSemaphoreSubmitInfo32
*)in_header
;
24065 out_ext
->sType
= VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO
;
24066 out_ext
->pNext
= NULL
;
24067 out_ext
->waitSemaphoreValueCount
= in_ext
->waitSemaphoreValueCount
;
24068 out_ext
->pWaitSemaphoreValues
= (const uint64_t *)UlongToPtr(in_ext
->pWaitSemaphoreValues
);
24069 out_ext
->signalSemaphoreValueCount
= in_ext
->signalSemaphoreValueCount
;
24070 out_ext
->pSignalSemaphoreValues
= (const uint64_t *)UlongToPtr(in_ext
->pSignalSemaphoreValues
);
24071 out_header
->pNext
= (void *)out_ext
;
24072 out_header
= (void *)out_ext
;
24076 FIXME("Unhandled sType %u.", in_header
->sType
);
24082 static inline const VkBindSparseInfo
*convert_VkBindSparseInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkBindSparseInfo32
*in
, uint32_t count
)
24084 VkBindSparseInfo
*out
;
24087 if (!in
|| !count
) return NULL
;
24089 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24090 for (i
= 0; i
< count
; i
++)
24092 convert_VkBindSparseInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
24098 static inline void convert_VkPresentRegionKHR_win32_to_host(const VkPresentRegionKHR32
*in
, VkPresentRegionKHR
*out
)
24102 out
->rectangleCount
= in
->rectangleCount
;
24103 out
->pRectangles
= (const VkRectLayerKHR
*)UlongToPtr(in
->pRectangles
);
24106 static inline const VkPresentRegionKHR
*convert_VkPresentRegionKHR_array_win32_to_host(struct conversion_context
*ctx
, const VkPresentRegionKHR32
*in
, uint32_t count
)
24108 VkPresentRegionKHR
*out
;
24111 if (!in
|| !count
) return NULL
;
24113 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24114 for (i
= 0; i
< count
; i
++)
24116 convert_VkPresentRegionKHR_win32_to_host(&in
[i
], &out
[i
]);
24122 static inline void convert_VkPresentInfoKHR_win32_to_host(struct conversion_context
*ctx
, const VkPresentInfoKHR32
*in
, VkPresentInfoKHR
*out
)
24124 const VkBaseInStructure32
*in_header
;
24125 VkBaseOutStructure
*out_header
= (void *)out
;
24129 out
->sType
= in
->sType
;
24131 out
->waitSemaphoreCount
= in
->waitSemaphoreCount
;
24132 out
->pWaitSemaphores
= (const VkSemaphore
*)UlongToPtr(in
->pWaitSemaphores
);
24133 out
->swapchainCount
= in
->swapchainCount
;
24134 out
->pSwapchains
= (const VkSwapchainKHR
*)UlongToPtr(in
->pSwapchains
);
24135 out
->pImageIndices
= (const uint32_t *)UlongToPtr(in
->pImageIndices
);
24136 out
->pResults
= (VkResult
*)UlongToPtr(in
->pResults
);
24138 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
24140 switch (in_header
->sType
)
24142 case VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR
:
24144 VkPresentRegionsKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24145 const VkPresentRegionsKHR32
*in_ext
= (const VkPresentRegionsKHR32
*)in_header
;
24146 out_ext
->sType
= VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR
;
24147 out_ext
->pNext
= NULL
;
24148 out_ext
->swapchainCount
= in_ext
->swapchainCount
;
24149 out_ext
->pRegions
= convert_VkPresentRegionKHR_array_win32_to_host(ctx
, (const VkPresentRegionKHR32
*)UlongToPtr(in_ext
->pRegions
), in_ext
->swapchainCount
);
24150 out_header
->pNext
= (void *)out_ext
;
24151 out_header
= (void *)out_ext
;
24154 case VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR
:
24156 VkDeviceGroupPresentInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24157 const VkDeviceGroupPresentInfoKHR32
*in_ext
= (const VkDeviceGroupPresentInfoKHR32
*)in_header
;
24158 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_PRESENT_INFO_KHR
;
24159 out_ext
->pNext
= NULL
;
24160 out_ext
->swapchainCount
= in_ext
->swapchainCount
;
24161 out_ext
->pDeviceMasks
= (const uint32_t *)UlongToPtr(in_ext
->pDeviceMasks
);
24162 out_ext
->mode
= in_ext
->mode
;
24163 out_header
->pNext
= (void *)out_ext
;
24164 out_header
= (void *)out_ext
;
24167 case VK_STRUCTURE_TYPE_PRESENT_ID_KHR
:
24169 VkPresentIdKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24170 const VkPresentIdKHR32
*in_ext
= (const VkPresentIdKHR32
*)in_header
;
24171 out_ext
->sType
= VK_STRUCTURE_TYPE_PRESENT_ID_KHR
;
24172 out_ext
->pNext
= NULL
;
24173 out_ext
->swapchainCount
= in_ext
->swapchainCount
;
24174 out_ext
->pPresentIds
= (const uint64_t *)UlongToPtr(in_ext
->pPresentIds
);
24175 out_header
->pNext
= (void *)out_ext
;
24176 out_header
= (void *)out_ext
;
24180 FIXME("Unhandled sType %u.", in_header
->sType
);
24187 static inline void convert_VkSubmitInfo_win64_to_host(struct conversion_context
*ctx
, const VkSubmitInfo
*in
, VkSubmitInfo
*out
)
24191 out
->sType
= in
->sType
;
24192 out
->pNext
= in
->pNext
;
24193 out
->waitSemaphoreCount
= in
->waitSemaphoreCount
;
24194 out
->pWaitSemaphores
= in
->pWaitSemaphores
;
24195 out
->pWaitDstStageMask
= in
->pWaitDstStageMask
;
24196 out
->commandBufferCount
= in
->commandBufferCount
;
24197 out
->pCommandBuffers
= convert_VkCommandBuffer_array_win64_to_host(ctx
, in
->pCommandBuffers
, in
->commandBufferCount
);
24198 out
->signalSemaphoreCount
= in
->signalSemaphoreCount
;
24199 out
->pSignalSemaphores
= in
->pSignalSemaphores
;
24201 #endif /* _WIN64 */
24203 static inline void convert_VkSubmitInfo_win32_to_host(struct conversion_context
*ctx
, const VkSubmitInfo32
*in
, VkSubmitInfo
*out
)
24205 const VkBaseInStructure32
*in_header
;
24206 VkBaseOutStructure
*out_header
= (void *)out
;
24210 out
->sType
= in
->sType
;
24212 out
->waitSemaphoreCount
= in
->waitSemaphoreCount
;
24213 out
->pWaitSemaphores
= (const VkSemaphore
*)UlongToPtr(in
->pWaitSemaphores
);
24214 out
->pWaitDstStageMask
= (const VkPipelineStageFlags
*)UlongToPtr(in
->pWaitDstStageMask
);
24215 out
->commandBufferCount
= in
->commandBufferCount
;
24216 out
->pCommandBuffers
= convert_VkCommandBuffer_array_win32_to_host(ctx
, (const PTR32
*)UlongToPtr(in
->pCommandBuffers
), in
->commandBufferCount
);
24217 out
->signalSemaphoreCount
= in
->signalSemaphoreCount
;
24218 out
->pSignalSemaphores
= (const VkSemaphore
*)UlongToPtr(in
->pSignalSemaphores
);
24220 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
24222 switch (in_header
->sType
)
24224 case VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO
:
24226 VkDeviceGroupSubmitInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24227 const VkDeviceGroupSubmitInfo32
*in_ext
= (const VkDeviceGroupSubmitInfo32
*)in_header
;
24228 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO
;
24229 out_ext
->pNext
= NULL
;
24230 out_ext
->waitSemaphoreCount
= in_ext
->waitSemaphoreCount
;
24231 out_ext
->pWaitSemaphoreDeviceIndices
= (const uint32_t *)UlongToPtr(in_ext
->pWaitSemaphoreDeviceIndices
);
24232 out_ext
->commandBufferCount
= in_ext
->commandBufferCount
;
24233 out_ext
->pCommandBufferDeviceMasks
= (const uint32_t *)UlongToPtr(in_ext
->pCommandBufferDeviceMasks
);
24234 out_ext
->signalSemaphoreCount
= in_ext
->signalSemaphoreCount
;
24235 out_ext
->pSignalSemaphoreDeviceIndices
= (const uint32_t *)UlongToPtr(in_ext
->pSignalSemaphoreDeviceIndices
);
24236 out_header
->pNext
= (void *)out_ext
;
24237 out_header
= (void *)out_ext
;
24240 case VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO
:
24242 VkProtectedSubmitInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24243 const VkProtectedSubmitInfo32
*in_ext
= (const VkProtectedSubmitInfo32
*)in_header
;
24244 out_ext
->sType
= VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO
;
24245 out_ext
->pNext
= NULL
;
24246 out_ext
->protectedSubmit
= in_ext
->protectedSubmit
;
24247 out_header
->pNext
= (void *)out_ext
;
24248 out_header
= (void *)out_ext
;
24251 case VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO
:
24253 VkTimelineSemaphoreSubmitInfo
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24254 const VkTimelineSemaphoreSubmitInfo32
*in_ext
= (const VkTimelineSemaphoreSubmitInfo32
*)in_header
;
24255 out_ext
->sType
= VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO
;
24256 out_ext
->pNext
= NULL
;
24257 out_ext
->waitSemaphoreValueCount
= in_ext
->waitSemaphoreValueCount
;
24258 out_ext
->pWaitSemaphoreValues
= (const uint64_t *)UlongToPtr(in_ext
->pWaitSemaphoreValues
);
24259 out_ext
->signalSemaphoreValueCount
= in_ext
->signalSemaphoreValueCount
;
24260 out_ext
->pSignalSemaphoreValues
= (const uint64_t *)UlongToPtr(in_ext
->pSignalSemaphoreValues
);
24261 out_header
->pNext
= (void *)out_ext
;
24262 out_header
= (void *)out_ext
;
24265 case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR
:
24267 VkPerformanceQuerySubmitInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24268 const VkPerformanceQuerySubmitInfoKHR32
*in_ext
= (const VkPerformanceQuerySubmitInfoKHR32
*)in_header
;
24269 out_ext
->sType
= VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR
;
24270 out_ext
->pNext
= NULL
;
24271 out_ext
->counterPassIndex
= in_ext
->counterPassIndex
;
24272 out_header
->pNext
= (void *)out_ext
;
24273 out_header
= (void *)out_ext
;
24277 FIXME("Unhandled sType %u.", in_header
->sType
);
24284 static inline const VkSubmitInfo
*convert_VkSubmitInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkSubmitInfo
*in
, uint32_t count
)
24289 if (!in
|| !count
) return NULL
;
24291 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24292 for (i
= 0; i
< count
; i
++)
24294 convert_VkSubmitInfo_win64_to_host(ctx
, &in
[i
], &out
[i
]);
24299 #endif /* _WIN64 */
24301 static inline const VkSubmitInfo
*convert_VkSubmitInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSubmitInfo32
*in
, uint32_t count
)
24306 if (!in
|| !count
) return NULL
;
24308 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24309 for (i
= 0; i
< count
; i
++)
24311 convert_VkSubmitInfo_win32_to_host(ctx
, &in
[i
], &out
[i
]);
24317 static inline void convert_VkSemaphoreSubmitInfo_win32_to_host(const VkSemaphoreSubmitInfo32
*in
, VkSemaphoreSubmitInfo
*out
)
24321 out
->sType
= in
->sType
;
24323 out
->semaphore
= in
->semaphore
;
24324 out
->value
= in
->value
;
24325 out
->stageMask
= in
->stageMask
;
24326 out
->deviceIndex
= in
->deviceIndex
;
24328 FIXME("Unexpected pNext\n");
24331 static inline const VkSemaphoreSubmitInfo
*convert_VkSemaphoreSubmitInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkSemaphoreSubmitInfo32
*in
, uint32_t count
)
24333 VkSemaphoreSubmitInfo
*out
;
24336 if (!in
|| !count
) return NULL
;
24338 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24339 for (i
= 0; i
< count
; i
++)
24341 convert_VkSemaphoreSubmitInfo_win32_to_host(&in
[i
], &out
[i
]);
24348 static inline void convert_VkCommandBufferSubmitInfo_win64_to_host(const VkCommandBufferSubmitInfo
*in
, VkCommandBufferSubmitInfo
*out
)
24352 out
->sType
= in
->sType
;
24353 out
->pNext
= in
->pNext
;
24354 out
->commandBuffer
= wine_cmd_buffer_from_handle(in
->commandBuffer
)->command_buffer
;
24355 out
->deviceMask
= in
->deviceMask
;
24357 #endif /* _WIN64 */
24359 static inline void convert_VkCommandBufferSubmitInfo_win32_to_host(const VkCommandBufferSubmitInfo32
*in
, VkCommandBufferSubmitInfo
*out
)
24363 out
->sType
= in
->sType
;
24365 out
->commandBuffer
= wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(in
->commandBuffer
))->command_buffer
;
24366 out
->deviceMask
= in
->deviceMask
;
24368 FIXME("Unexpected pNext\n");
24372 static inline const VkCommandBufferSubmitInfo
*convert_VkCommandBufferSubmitInfo_array_win64_to_host(struct conversion_context
*ctx
, const VkCommandBufferSubmitInfo
*in
, uint32_t count
)
24374 VkCommandBufferSubmitInfo
*out
;
24377 if (!in
|| !count
) return NULL
;
24379 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24380 for (i
= 0; i
< count
; i
++)
24382 convert_VkCommandBufferSubmitInfo_win64_to_host(&in
[i
], &out
[i
]);
24387 #endif /* _WIN64 */
24389 static inline const VkCommandBufferSubmitInfo
*convert_VkCommandBufferSubmitInfo_array_win32_to_host(struct conversion_context
*ctx
, const VkCommandBufferSubmitInfo32
*in
, uint32_t count
)
24391 VkCommandBufferSubmitInfo
*out
;
24394 if (!in
|| !count
) return NULL
;
24396 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24397 for (i
= 0; i
< count
; i
++)
24399 convert_VkCommandBufferSubmitInfo_win32_to_host(&in
[i
], &out
[i
]);
24406 static inline void convert_VkSubmitInfo2_win64_to_host(struct conversion_context
*ctx
, const VkSubmitInfo2
*in
, VkSubmitInfo2
*out
)
24410 out
->sType
= in
->sType
;
24411 out
->pNext
= in
->pNext
;
24412 out
->flags
= in
->flags
;
24413 out
->waitSemaphoreInfoCount
= in
->waitSemaphoreInfoCount
;
24414 out
->pWaitSemaphoreInfos
= in
->pWaitSemaphoreInfos
;
24415 out
->commandBufferInfoCount
= in
->commandBufferInfoCount
;
24416 out
->pCommandBufferInfos
= convert_VkCommandBufferSubmitInfo_array_win64_to_host(ctx
, in
->pCommandBufferInfos
, in
->commandBufferInfoCount
);
24417 out
->signalSemaphoreInfoCount
= in
->signalSemaphoreInfoCount
;
24418 out
->pSignalSemaphoreInfos
= in
->pSignalSemaphoreInfos
;
24420 #endif /* _WIN64 */
24422 static inline void convert_VkSubmitInfo2_win32_to_host(struct conversion_context
*ctx
, const VkSubmitInfo232
*in
, VkSubmitInfo2
*out
)
24424 const VkBaseInStructure32
*in_header
;
24425 VkBaseOutStructure
*out_header
= (void *)out
;
24429 out
->sType
= in
->sType
;
24431 out
->flags
= in
->flags
;
24432 out
->waitSemaphoreInfoCount
= in
->waitSemaphoreInfoCount
;
24433 out
->pWaitSemaphoreInfos
= convert_VkSemaphoreSubmitInfo_array_win32_to_host(ctx
, (const VkSemaphoreSubmitInfo32
*)UlongToPtr(in
->pWaitSemaphoreInfos
), in
->waitSemaphoreInfoCount
);
24434 out
->commandBufferInfoCount
= in
->commandBufferInfoCount
;
24435 out
->pCommandBufferInfos
= convert_VkCommandBufferSubmitInfo_array_win32_to_host(ctx
, (const VkCommandBufferSubmitInfo32
*)UlongToPtr(in
->pCommandBufferInfos
), in
->commandBufferInfoCount
);
24436 out
->signalSemaphoreInfoCount
= in
->signalSemaphoreInfoCount
;
24437 out
->pSignalSemaphoreInfos
= convert_VkSemaphoreSubmitInfo_array_win32_to_host(ctx
, (const VkSemaphoreSubmitInfo32
*)UlongToPtr(in
->pSignalSemaphoreInfos
), in
->signalSemaphoreInfoCount
);
24439 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
24441 switch (in_header
->sType
)
24443 case VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR
:
24445 VkPerformanceQuerySubmitInfoKHR
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24446 const VkPerformanceQuerySubmitInfoKHR32
*in_ext
= (const VkPerformanceQuerySubmitInfoKHR32
*)in_header
;
24447 out_ext
->sType
= VK_STRUCTURE_TYPE_PERFORMANCE_QUERY_SUBMIT_INFO_KHR
;
24448 out_ext
->pNext
= NULL
;
24449 out_ext
->counterPassIndex
= in_ext
->counterPassIndex
;
24450 out_header
->pNext
= (void *)out_ext
;
24451 out_header
= (void *)out_ext
;
24455 FIXME("Unhandled sType %u.", in_header
->sType
);
24462 static inline const VkSubmitInfo2
*convert_VkSubmitInfo2_array_win64_to_host(struct conversion_context
*ctx
, const VkSubmitInfo2
*in
, uint32_t count
)
24464 VkSubmitInfo2
*out
;
24467 if (!in
|| !count
) return NULL
;
24469 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24470 for (i
= 0; i
< count
; i
++)
24472 convert_VkSubmitInfo2_win64_to_host(ctx
, &in
[i
], &out
[i
]);
24477 #endif /* _WIN64 */
24479 static inline const VkSubmitInfo2
*convert_VkSubmitInfo2_array_win32_to_host(struct conversion_context
*ctx
, const VkSubmitInfo232
*in
, uint32_t count
)
24481 VkSubmitInfo2
*out
;
24484 if (!in
|| !count
) return NULL
;
24486 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24487 for (i
= 0; i
< count
; i
++)
24489 convert_VkSubmitInfo2_win32_to_host(ctx
, &in
[i
], &out
[i
]);
24496 static inline void convert_VkDebugUtilsObjectNameInfoEXT_win64_to_host(const VkDebugUtilsObjectNameInfoEXT
*in
, VkDebugUtilsObjectNameInfoEXT
*out
)
24500 out
->sType
= in
->sType
;
24501 out
->pNext
= in
->pNext
;
24502 out
->objectType
= in
->objectType
;
24503 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
24504 out
->pObjectName
= in
->pObjectName
;
24506 #endif /* _WIN64 */
24508 static inline void convert_VkDebugUtilsObjectNameInfoEXT_win32_to_host(const VkDebugUtilsObjectNameInfoEXT32
*in
, VkDebugUtilsObjectNameInfoEXT
*out
)
24512 out
->sType
= in
->sType
;
24514 out
->objectType
= in
->objectType
;
24515 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
24516 out
->pObjectName
= (const char *)UlongToPtr(in
->pObjectName
);
24518 FIXME("Unexpected pNext\n");
24522 static inline void convert_VkDebugUtilsObjectTagInfoEXT_win64_to_host(const VkDebugUtilsObjectTagInfoEXT
*in
, VkDebugUtilsObjectTagInfoEXT
*out
)
24526 out
->sType
= in
->sType
;
24527 out
->pNext
= in
->pNext
;
24528 out
->objectType
= in
->objectType
;
24529 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
24530 out
->tagName
= in
->tagName
;
24531 out
->tagSize
= in
->tagSize
;
24532 out
->pTag
= in
->pTag
;
24534 #endif /* _WIN64 */
24536 static inline void convert_VkDebugUtilsObjectTagInfoEXT_win32_to_host(const VkDebugUtilsObjectTagInfoEXT32
*in
, VkDebugUtilsObjectTagInfoEXT
*out
)
24540 out
->sType
= in
->sType
;
24542 out
->objectType
= in
->objectType
;
24543 out
->objectHandle
= wine_vk_unwrap_handle(in
->objectType
, in
->objectHandle
);
24544 out
->tagName
= in
->tagName
;
24545 out
->tagSize
= in
->tagSize
;
24546 out
->pTag
= (const void *)UlongToPtr(in
->pTag
);
24548 FIXME("Unexpected pNext\n");
24551 static inline void convert_VkSemaphoreSignalInfo_win32_to_host(const VkSemaphoreSignalInfo32
*in
, VkSemaphoreSignalInfo
*out
)
24555 out
->sType
= in
->sType
;
24557 out
->semaphore
= in
->semaphore
;
24558 out
->value
= in
->value
;
24560 FIXME("Unexpected pNext\n");
24563 static inline const VkDebugUtilsLabelEXT
*convert_VkDebugUtilsLabelEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkDebugUtilsLabelEXT32
*in
, uint32_t count
)
24565 VkDebugUtilsLabelEXT
*out
;
24568 if (!in
|| !count
) return NULL
;
24570 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24571 for (i
= 0; i
< count
; i
++)
24573 convert_VkDebugUtilsLabelEXT_win32_to_host(&in
[i
], &out
[i
]);
24580 static inline const VkDebugUtilsObjectNameInfoEXT
*convert_VkDebugUtilsObjectNameInfoEXT_array_win64_to_host(struct conversion_context
*ctx
, const VkDebugUtilsObjectNameInfoEXT
*in
, uint32_t count
)
24582 VkDebugUtilsObjectNameInfoEXT
*out
;
24585 if (!in
|| !count
) return NULL
;
24587 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24588 for (i
= 0; i
< count
; i
++)
24590 convert_VkDebugUtilsObjectNameInfoEXT_win64_to_host(&in
[i
], &out
[i
]);
24595 #endif /* _WIN64 */
24597 static inline const VkDebugUtilsObjectNameInfoEXT
*convert_VkDebugUtilsObjectNameInfoEXT_array_win32_to_host(struct conversion_context
*ctx
, const VkDebugUtilsObjectNameInfoEXT32
*in
, uint32_t count
)
24599 VkDebugUtilsObjectNameInfoEXT
*out
;
24602 if (!in
|| !count
) return NULL
;
24604 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24605 for (i
= 0; i
< count
; i
++)
24607 convert_VkDebugUtilsObjectNameInfoEXT_win32_to_host(&in
[i
], &out
[i
]);
24614 static inline void convert_VkDebugUtilsMessengerCallbackDataEXT_win64_to_host(struct conversion_context
*ctx
, const VkDebugUtilsMessengerCallbackDataEXT
*in
, VkDebugUtilsMessengerCallbackDataEXT
*out
)
24618 out
->sType
= in
->sType
;
24619 out
->pNext
= in
->pNext
;
24620 out
->flags
= in
->flags
;
24621 out
->pMessageIdName
= in
->pMessageIdName
;
24622 out
->messageIdNumber
= in
->messageIdNumber
;
24623 out
->pMessage
= in
->pMessage
;
24624 out
->queueLabelCount
= in
->queueLabelCount
;
24625 out
->pQueueLabels
= in
->pQueueLabels
;
24626 out
->cmdBufLabelCount
= in
->cmdBufLabelCount
;
24627 out
->pCmdBufLabels
= in
->pCmdBufLabels
;
24628 out
->objectCount
= in
->objectCount
;
24629 out
->pObjects
= convert_VkDebugUtilsObjectNameInfoEXT_array_win64_to_host(ctx
, in
->pObjects
, in
->objectCount
);
24631 #endif /* _WIN64 */
24633 static inline void convert_VkDebugUtilsMessengerCallbackDataEXT_win32_to_host(struct conversion_context
*ctx
, const VkDebugUtilsMessengerCallbackDataEXT32
*in
, VkDebugUtilsMessengerCallbackDataEXT
*out
)
24635 const VkBaseInStructure32
*in_header
;
24636 VkBaseOutStructure
*out_header
= (void *)out
;
24640 out
->sType
= in
->sType
;
24642 out
->flags
= in
->flags
;
24643 out
->pMessageIdName
= (const char *)UlongToPtr(in
->pMessageIdName
);
24644 out
->messageIdNumber
= in
->messageIdNumber
;
24645 out
->pMessage
= (const char *)UlongToPtr(in
->pMessage
);
24646 out
->queueLabelCount
= in
->queueLabelCount
;
24647 out
->pQueueLabels
= convert_VkDebugUtilsLabelEXT_array_win32_to_host(ctx
, (const VkDebugUtilsLabelEXT32
*)UlongToPtr(in
->pQueueLabels
), in
->queueLabelCount
);
24648 out
->cmdBufLabelCount
= in
->cmdBufLabelCount
;
24649 out
->pCmdBufLabels
= convert_VkDebugUtilsLabelEXT_array_win32_to_host(ctx
, (const VkDebugUtilsLabelEXT32
*)UlongToPtr(in
->pCmdBufLabels
), in
->cmdBufLabelCount
);
24650 out
->objectCount
= in
->objectCount
;
24651 out
->pObjects
= convert_VkDebugUtilsObjectNameInfoEXT_array_win32_to_host(ctx
, (const VkDebugUtilsObjectNameInfoEXT32
*)UlongToPtr(in
->pObjects
), in
->objectCount
);
24653 for (in_header
= UlongToPtr(in
->pNext
); in_header
; in_header
= UlongToPtr(in_header
->pNext
))
24655 switch (in_header
->sType
)
24657 case VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT
:
24659 VkDeviceAddressBindingCallbackDataEXT
*out_ext
= conversion_context_alloc(ctx
, sizeof(*out_ext
));
24660 const VkDeviceAddressBindingCallbackDataEXT32
*in_ext
= (const VkDeviceAddressBindingCallbackDataEXT32
*)in_header
;
24661 out_ext
->sType
= VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT
;
24662 out_ext
->pNext
= NULL
;
24663 out_ext
->flags
= in_ext
->flags
;
24664 out_ext
->baseAddress
= in_ext
->baseAddress
;
24665 out_ext
->size
= in_ext
->size
;
24666 out_ext
->bindingType
= in_ext
->bindingType
;
24667 out_header
->pNext
= (void *)out_ext
;
24668 out_header
= (void *)out_ext
;
24672 FIXME("Unhandled sType %u.", in_header
->sType
);
24678 static inline void convert_VkCopyDescriptorSet_win32_to_host(const VkCopyDescriptorSet32
*in
, VkCopyDescriptorSet
*out
)
24682 out
->sType
= in
->sType
;
24684 out
->srcSet
= in
->srcSet
;
24685 out
->srcBinding
= in
->srcBinding
;
24686 out
->srcArrayElement
= in
->srcArrayElement
;
24687 out
->dstSet
= in
->dstSet
;
24688 out
->dstBinding
= in
->dstBinding
;
24689 out
->dstArrayElement
= in
->dstArrayElement
;
24690 out
->descriptorCount
= in
->descriptorCount
;
24692 FIXME("Unexpected pNext\n");
24695 static inline const VkCopyDescriptorSet
*convert_VkCopyDescriptorSet_array_win32_to_host(struct conversion_context
*ctx
, const VkCopyDescriptorSet32
*in
, uint32_t count
)
24697 VkCopyDescriptorSet
*out
;
24700 if (!in
|| !count
) return NULL
;
24702 out
= conversion_context_alloc(ctx
, count
* sizeof(*out
));
24703 for (i
= 0; i
< count
; i
++)
24705 convert_VkCopyDescriptorSet_win32_to_host(&in
[i
], &out
[i
]);
24711 static inline void convert_VkSemaphoreWaitInfo_win32_to_host(const VkSemaphoreWaitInfo32
*in
, VkSemaphoreWaitInfo
*out
)
24715 out
->sType
= in
->sType
;
24717 out
->flags
= in
->flags
;
24718 out
->semaphoreCount
= in
->semaphoreCount
;
24719 out
->pSemaphores
= (const VkSemaphore
*)UlongToPtr(in
->pSemaphores
);
24720 out
->pValues
= (const uint64_t *)UlongToPtr(in
->pValues
);
24722 FIXME("Unexpected pNext\n");
24726 static NTSTATUS
thunk64_vkAcquireNextImage2KHR(void *args
)
24728 struct vkAcquireNextImage2KHR_params
*params
= args
;
24730 TRACE("%p, %p, %p\n", params
->device
, params
->pAcquireInfo
, params
->pImageIndex
);
24732 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquireNextImage2KHR(wine_device_from_handle(params
->device
)->device
, params
->pAcquireInfo
, params
->pImageIndex
);
24733 return STATUS_SUCCESS
;
24735 #endif /* _WIN64 */
24737 static NTSTATUS
thunk32_vkAcquireNextImage2KHR(void *args
)
24742 PTR32 pAcquireInfo
;
24746 VkAcquireNextImageInfoKHR pAcquireInfo_host
;
24748 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pAcquireInfo
, params
->pImageIndex
);
24750 convert_VkAcquireNextImageInfoKHR_win32_to_host((const VkAcquireNextImageInfoKHR32
*)UlongToPtr(params
->pAcquireInfo
), &pAcquireInfo_host
);
24751 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkAcquireNextImage2KHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pAcquireInfo_host
, (uint32_t *)UlongToPtr(params
->pImageIndex
));
24752 return STATUS_SUCCESS
;
24756 static NTSTATUS
thunk64_vkAcquireNextImageKHR(void *args
)
24758 struct vkAcquireNextImageKHR_params
*params
= args
;
24760 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
);
24762 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
);
24763 return STATUS_SUCCESS
;
24765 #endif /* _WIN64 */
24767 static NTSTATUS
thunk32_vkAcquireNextImageKHR(void *args
)
24772 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
24773 uint64_t DECLSPEC_ALIGN(8) timeout
;
24774 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
24775 VkFence
DECLSPEC_ALIGN(8) fence
;
24780 TRACE("%#x, 0x%s, 0x%s, 0x%s, 0x%s, %#x\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
);
24782 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkAcquireNextImageKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->swapchain
, params
->timeout
, params
->semaphore
, params
->fence
, (uint32_t *)UlongToPtr(params
->pImageIndex
));
24783 return STATUS_SUCCESS
;
24787 static NTSTATUS
thunk64_vkAcquirePerformanceConfigurationINTEL(void *args
)
24789 struct vkAcquirePerformanceConfigurationINTEL_params
*params
= args
;
24791 TRACE("%p, %p, %p\n", params
->device
, params
->pAcquireInfo
, params
->pConfiguration
);
24793 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquirePerformanceConfigurationINTEL(wine_device_from_handle(params
->device
)->device
, params
->pAcquireInfo
, params
->pConfiguration
);
24794 return STATUS_SUCCESS
;
24796 #endif /* _WIN64 */
24798 static NTSTATUS
thunk32_vkAcquirePerformanceConfigurationINTEL(void *args
)
24803 PTR32 pAcquireInfo
;
24804 PTR32 pConfiguration
;
24807 VkPerformanceConfigurationAcquireInfoINTEL pAcquireInfo_host
;
24809 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pAcquireInfo
, params
->pConfiguration
);
24811 convert_VkPerformanceConfigurationAcquireInfoINTEL_win32_to_host((const VkPerformanceConfigurationAcquireInfoINTEL32
*)UlongToPtr(params
->pAcquireInfo
), &pAcquireInfo_host
);
24812 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkAcquirePerformanceConfigurationINTEL(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pAcquireInfo_host
, (VkPerformanceConfigurationINTEL
*)UlongToPtr(params
->pConfiguration
));
24813 return STATUS_SUCCESS
;
24817 static NTSTATUS
thunk64_vkAcquireProfilingLockKHR(void *args
)
24819 struct vkAcquireProfilingLockKHR_params
*params
= args
;
24821 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
24823 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAcquireProfilingLockKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
24824 return STATUS_SUCCESS
;
24826 #endif /* _WIN64 */
24828 static NTSTATUS
thunk32_vkAcquireProfilingLockKHR(void *args
)
24836 VkAcquireProfilingLockInfoKHR pInfo_host
;
24838 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
24840 convert_VkAcquireProfilingLockInfoKHR_win32_to_host((const VkAcquireProfilingLockInfoKHR32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
24841 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkAcquireProfilingLockKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
24842 return STATUS_SUCCESS
;
24846 static NTSTATUS
thunk64_vkAllocateCommandBuffers(void *args
)
24848 struct vkAllocateCommandBuffers_params
*params
= args
;
24850 TRACE("%p, %p, %p\n", params
->device
, params
->pAllocateInfo
, params
->pCommandBuffers
);
24852 params
->result
= wine_vkAllocateCommandBuffers(params
->device
, params
->pAllocateInfo
, params
->pCommandBuffers
);
24853 return STATUS_SUCCESS
;
24855 #endif /* _WIN64 */
24857 static NTSTATUS
thunk32_vkAllocateCommandBuffers(void *args
)
24862 PTR32 pAllocateInfo
;
24863 PTR32 pCommandBuffers
;
24866 VkCommandBufferAllocateInfo pAllocateInfo_host
;
24867 VkCommandBuffer
*pCommandBuffers_host
;
24868 struct conversion_context ctx
;
24870 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pAllocateInfo
, params
->pCommandBuffers
);
24872 init_conversion_context(&ctx
);
24873 convert_VkCommandBufferAllocateInfo_win32_to_unwrapped_host((const VkCommandBufferAllocateInfo32
*)UlongToPtr(params
->pAllocateInfo
), &pAllocateInfo_host
);
24874 pCommandBuffers_host
= convert_VkCommandBuffer_array_win32_to_unwrapped_host(&ctx
, (PTR32
*)UlongToPtr(params
->pCommandBuffers
), ((const VkCommandBufferAllocateInfo32
*)UlongToPtr(params
->pAllocateInfo
))->commandBufferCount
);
24875 params
->result
= wine_vkAllocateCommandBuffers((VkDevice
)UlongToPtr(params
->device
), &pAllocateInfo_host
, pCommandBuffers_host
);
24876 free_conversion_context(&ctx
);
24877 return STATUS_SUCCESS
;
24881 static NTSTATUS
thunk64_vkAllocateDescriptorSets(void *args
)
24883 struct vkAllocateDescriptorSets_params
*params
= args
;
24885 TRACE("%p, %p, %p\n", params
->device
, params
->pAllocateInfo
, params
->pDescriptorSets
);
24887 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAllocateDescriptorSets(wine_device_from_handle(params
->device
)->device
, params
->pAllocateInfo
, params
->pDescriptorSets
);
24888 return STATUS_SUCCESS
;
24890 #endif /* _WIN64 */
24892 static NTSTATUS
thunk32_vkAllocateDescriptorSets(void *args
)
24897 PTR32 pAllocateInfo
;
24898 PTR32 pDescriptorSets
;
24901 VkDescriptorSetAllocateInfo pAllocateInfo_host
;
24902 struct conversion_context ctx
;
24904 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pAllocateInfo
, params
->pDescriptorSets
);
24906 init_conversion_context(&ctx
);
24907 convert_VkDescriptorSetAllocateInfo_win32_to_host(&ctx
, (const VkDescriptorSetAllocateInfo32
*)UlongToPtr(params
->pAllocateInfo
), &pAllocateInfo_host
);
24908 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkAllocateDescriptorSets(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pAllocateInfo_host
, (VkDescriptorSet
*)UlongToPtr(params
->pDescriptorSets
));
24909 free_conversion_context(&ctx
);
24910 return STATUS_SUCCESS
;
24914 static NTSTATUS
thunk64_vkAllocateMemory(void *args
)
24916 struct vkAllocateMemory_params
*params
= args
;
24918 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pAllocateInfo
, params
->pAllocator
, params
->pMemory
);
24920 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkAllocateMemory(wine_device_from_handle(params
->device
)->device
, params
->pAllocateInfo
, NULL
, params
->pMemory
);
24921 return STATUS_SUCCESS
;
24923 #endif /* _WIN64 */
24925 static NTSTATUS
thunk32_vkAllocateMemory(void *args
)
24930 PTR32 pAllocateInfo
;
24935 VkMemoryAllocateInfo pAllocateInfo_host
;
24936 struct conversion_context ctx
;
24938 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pAllocateInfo
, params
->pAllocator
, params
->pMemory
);
24940 init_conversion_context(&ctx
);
24941 convert_VkMemoryAllocateInfo_win32_to_host(&ctx
, (const VkMemoryAllocateInfo32
*)UlongToPtr(params
->pAllocateInfo
), &pAllocateInfo_host
);
24942 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkAllocateMemory(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pAllocateInfo_host
, NULL
, (VkDeviceMemory
*)UlongToPtr(params
->pMemory
));
24943 free_conversion_context(&ctx
);
24944 return STATUS_SUCCESS
;
24948 static NTSTATUS
thunk64_vkBeginCommandBuffer(void *args
)
24950 struct vkBeginCommandBuffer_params
*params
= args
;
24952 TRACE("%p, %p\n", params
->commandBuffer
, params
->pBeginInfo
);
24954 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkBeginCommandBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pBeginInfo
);
24955 return STATUS_SUCCESS
;
24957 #endif /* _WIN64 */
24959 static NTSTATUS
thunk32_vkBeginCommandBuffer(void *args
)
24963 PTR32 commandBuffer
;
24967 VkCommandBufferBeginInfo pBeginInfo_host
;
24968 struct conversion_context ctx
;
24970 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pBeginInfo
);
24972 init_conversion_context(&ctx
);
24973 convert_VkCommandBufferBeginInfo_win32_to_host(&ctx
, (const VkCommandBufferBeginInfo32
*)UlongToPtr(params
->pBeginInfo
), &pBeginInfo_host
);
24974 params
->result
= wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkBeginCommandBuffer(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pBeginInfo_host
);
24975 free_conversion_context(&ctx
);
24976 return STATUS_SUCCESS
;
24980 static NTSTATUS
thunk64_vkBindAccelerationStructureMemoryNV(void *args
)
24982 struct vkBindAccelerationStructureMemoryNV_params
*params
= args
;
24984 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
24986 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindAccelerationStructureMemoryNV(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
24987 return STATUS_SUCCESS
;
24989 #endif /* _WIN64 */
24991 static NTSTATUS
thunk32_vkBindAccelerationStructureMemoryNV(void *args
)
24996 uint32_t bindInfoCount
;
25000 const VkBindAccelerationStructureMemoryInfoNV
*pBindInfos_host
;
25001 struct conversion_context ctx
;
25003 TRACE("%#x, %u, %#x\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
25005 init_conversion_context(&ctx
);
25006 pBindInfos_host
= convert_VkBindAccelerationStructureMemoryInfoNV_array_win32_to_host(&ctx
, (const VkBindAccelerationStructureMemoryInfoNV32
*)UlongToPtr(params
->pBindInfos
), params
->bindInfoCount
);
25007 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBindAccelerationStructureMemoryNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->bindInfoCount
, pBindInfos_host
);
25008 free_conversion_context(&ctx
);
25009 return STATUS_SUCCESS
;
25013 static NTSTATUS
thunk64_vkBindBufferMemory(void *args
)
25015 struct vkBindBufferMemory_params
*params
= args
;
25017 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
));
25019 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindBufferMemory(wine_device_from_handle(params
->device
)->device
, params
->buffer
, params
->memory
, params
->memoryOffset
);
25020 return STATUS_SUCCESS
;
25022 #endif /* _WIN64 */
25024 static NTSTATUS
thunk32_vkBindBufferMemory(void *args
)
25029 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
25030 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
25031 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
25035 TRACE("%#x, 0x%s, 0x%s, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->memory
), wine_dbgstr_longlong(params
->memoryOffset
));
25037 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBindBufferMemory(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->buffer
, params
->memory
, params
->memoryOffset
);
25038 return STATUS_SUCCESS
;
25042 static NTSTATUS
thunk64_vkBindBufferMemory2(void *args
)
25044 struct vkBindBufferMemory2_params
*params
= args
;
25046 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
25048 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindBufferMemory2(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
25049 return STATUS_SUCCESS
;
25051 #endif /* _WIN64 */
25053 static NTSTATUS
thunk32_vkBindBufferMemory2(void *args
)
25058 uint32_t bindInfoCount
;
25062 const VkBindBufferMemoryInfo
*pBindInfos_host
;
25063 struct conversion_context ctx
;
25065 TRACE("%#x, %u, %#x\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
25067 init_conversion_context(&ctx
);
25068 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win32_to_host(&ctx
, (const VkBindBufferMemoryInfo32
*)UlongToPtr(params
->pBindInfos
), params
->bindInfoCount
);
25069 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBindBufferMemory2(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->bindInfoCount
, pBindInfos_host
);
25070 free_conversion_context(&ctx
);
25071 return STATUS_SUCCESS
;
25075 static NTSTATUS
thunk64_vkBindBufferMemory2KHR(void *args
)
25077 struct vkBindBufferMemory2KHR_params
*params
= args
;
25079 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
25081 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindBufferMemory2KHR(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
25082 return STATUS_SUCCESS
;
25084 #endif /* _WIN64 */
25086 static NTSTATUS
thunk32_vkBindBufferMemory2KHR(void *args
)
25091 uint32_t bindInfoCount
;
25095 const VkBindBufferMemoryInfo
*pBindInfos_host
;
25096 struct conversion_context ctx
;
25098 TRACE("%#x, %u, %#x\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
25100 init_conversion_context(&ctx
);
25101 pBindInfos_host
= convert_VkBindBufferMemoryInfo_array_win32_to_host(&ctx
, (const VkBindBufferMemoryInfo32
*)UlongToPtr(params
->pBindInfos
), params
->bindInfoCount
);
25102 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBindBufferMemory2KHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->bindInfoCount
, pBindInfos_host
);
25103 free_conversion_context(&ctx
);
25104 return STATUS_SUCCESS
;
25108 static NTSTATUS
thunk64_vkBindImageMemory(void *args
)
25110 struct vkBindImageMemory_params
*params
= args
;
25112 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
));
25114 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindImageMemory(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->memory
, params
->memoryOffset
);
25115 return STATUS_SUCCESS
;
25117 #endif /* _WIN64 */
25119 static NTSTATUS
thunk32_vkBindImageMemory(void *args
)
25124 VkImage
DECLSPEC_ALIGN(8) image
;
25125 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
25126 VkDeviceSize
DECLSPEC_ALIGN(8) memoryOffset
;
25130 TRACE("%#x, 0x%s, 0x%s, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->image
), wine_dbgstr_longlong(params
->memory
), wine_dbgstr_longlong(params
->memoryOffset
));
25132 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBindImageMemory(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->image
, params
->memory
, params
->memoryOffset
);
25133 return STATUS_SUCCESS
;
25137 static NTSTATUS
thunk64_vkBindImageMemory2(void *args
)
25139 struct vkBindImageMemory2_params
*params
= args
;
25141 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
25143 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindImageMemory2(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
25144 return STATUS_SUCCESS
;
25146 #endif /* _WIN64 */
25148 static NTSTATUS
thunk32_vkBindImageMemory2(void *args
)
25153 uint32_t bindInfoCount
;
25157 const VkBindImageMemoryInfo
*pBindInfos_host
;
25158 struct conversion_context ctx
;
25160 TRACE("%#x, %u, %#x\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
25162 init_conversion_context(&ctx
);
25163 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win32_to_host(&ctx
, (const VkBindImageMemoryInfo32
*)UlongToPtr(params
->pBindInfos
), params
->bindInfoCount
);
25164 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBindImageMemory2(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->bindInfoCount
, pBindInfos_host
);
25165 free_conversion_context(&ctx
);
25166 return STATUS_SUCCESS
;
25170 static NTSTATUS
thunk64_vkBindImageMemory2KHR(void *args
)
25172 struct vkBindImageMemory2KHR_params
*params
= args
;
25174 TRACE("%p, %u, %p\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
25176 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBindImageMemory2KHR(wine_device_from_handle(params
->device
)->device
, params
->bindInfoCount
, params
->pBindInfos
);
25177 return STATUS_SUCCESS
;
25179 #endif /* _WIN64 */
25181 static NTSTATUS
thunk32_vkBindImageMemory2KHR(void *args
)
25186 uint32_t bindInfoCount
;
25190 const VkBindImageMemoryInfo
*pBindInfos_host
;
25191 struct conversion_context ctx
;
25193 TRACE("%#x, %u, %#x\n", params
->device
, params
->bindInfoCount
, params
->pBindInfos
);
25195 init_conversion_context(&ctx
);
25196 pBindInfos_host
= convert_VkBindImageMemoryInfo_array_win32_to_host(&ctx
, (const VkBindImageMemoryInfo32
*)UlongToPtr(params
->pBindInfos
), params
->bindInfoCount
);
25197 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBindImageMemory2KHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->bindInfoCount
, pBindInfos_host
);
25198 free_conversion_context(&ctx
);
25199 return STATUS_SUCCESS
;
25203 static NTSTATUS
thunk64_vkBindOpticalFlowSessionImageNV(void *args
)
25205 struct vkBindOpticalFlowSessionImageNV_params
*params
= args
;
25207 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
);
25209 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
);
25210 return STATUS_SUCCESS
;
25212 #endif /* _WIN64 */
25214 static NTSTATUS
thunk32_vkBindOpticalFlowSessionImageNV(void *args
)
25219 VkOpticalFlowSessionNV
DECLSPEC_ALIGN(8) session
;
25220 VkOpticalFlowSessionBindingPointNV bindingPoint
;
25221 VkImageView
DECLSPEC_ALIGN(8) view
;
25222 VkImageLayout layout
;
25226 TRACE("%#x, 0x%s, %#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->session
), params
->bindingPoint
, wine_dbgstr_longlong(params
->view
), params
->layout
);
25228 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBindOpticalFlowSessionImageNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->session
, params
->bindingPoint
, params
->view
, params
->layout
);
25229 return STATUS_SUCCESS
;
25233 static NTSTATUS
thunk64_vkBuildAccelerationStructuresKHR(void *args
)
25235 struct vkBuildAccelerationStructuresKHR_params
*params
= args
;
25237 TRACE("%p, 0x%s, %u, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
25239 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
);
25240 return STATUS_SUCCESS
;
25242 #endif /* _WIN64 */
25244 static NTSTATUS
thunk32_vkBuildAccelerationStructuresKHR(void *args
)
25249 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
25250 uint32_t infoCount
;
25252 PTR32 ppBuildRangeInfos
;
25255 const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos_host
;
25256 struct conversion_context ctx
;
25258 TRACE("%#x, 0x%s, %u, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
25260 init_conversion_context(&ctx
);
25261 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win32_to_host(&ctx
, (const VkAccelerationStructureBuildGeometryInfoKHR32
*)UlongToPtr(params
->pInfos
), params
->infoCount
);
25262 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBuildAccelerationStructuresKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->deferredOperation
, params
->infoCount
, pInfos_host
, (const VkAccelerationStructureBuildRangeInfoKHR
* const*)UlongToPtr(params
->ppBuildRangeInfos
));
25263 free_conversion_context(&ctx
);
25264 return STATUS_SUCCESS
;
25268 static NTSTATUS
thunk64_vkBuildMicromapsEXT(void *args
)
25270 struct vkBuildMicromapsEXT_params
*params
= args
;
25272 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->infoCount
, params
->pInfos
);
25274 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkBuildMicromapsEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->infoCount
, params
->pInfos
);
25275 return STATUS_SUCCESS
;
25277 #endif /* _WIN64 */
25279 static NTSTATUS
thunk32_vkBuildMicromapsEXT(void *args
)
25284 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
25285 uint32_t infoCount
;
25289 const VkMicromapBuildInfoEXT
*pInfos_host
;
25290 struct conversion_context ctx
;
25292 TRACE("%#x, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->infoCount
, params
->pInfos
);
25294 init_conversion_context(&ctx
);
25295 pInfos_host
= convert_VkMicromapBuildInfoEXT_array_win32_to_host(&ctx
, (const VkMicromapBuildInfoEXT32
*)UlongToPtr(params
->pInfos
), params
->infoCount
);
25296 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkBuildMicromapsEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->deferredOperation
, params
->infoCount
, pInfos_host
);
25297 free_conversion_context(&ctx
);
25298 return STATUS_SUCCESS
;
25302 static NTSTATUS
thunk64_vkCmdBeginConditionalRenderingEXT(void *args
)
25304 struct vkCmdBeginConditionalRenderingEXT_params
*params
= args
;
25306 TRACE("%p, %p\n", params
->commandBuffer
, params
->pConditionalRenderingBegin
);
25308 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pConditionalRenderingBegin
);
25309 return STATUS_SUCCESS
;
25311 #endif /* _WIN64 */
25313 static NTSTATUS
thunk32_vkCmdBeginConditionalRenderingEXT(void *args
)
25317 PTR32 commandBuffer
;
25318 PTR32 pConditionalRenderingBegin
;
25320 VkConditionalRenderingBeginInfoEXT pConditionalRenderingBegin_host
;
25322 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pConditionalRenderingBegin
);
25324 convert_VkConditionalRenderingBeginInfoEXT_win32_to_host((const VkConditionalRenderingBeginInfoEXT32
*)UlongToPtr(params
->pConditionalRenderingBegin
), &pConditionalRenderingBegin_host
);
25325 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginConditionalRenderingEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pConditionalRenderingBegin_host
);
25326 return STATUS_SUCCESS
;
25330 static NTSTATUS
thunk64_vkCmdBeginDebugUtilsLabelEXT(void *args
)
25332 struct vkCmdBeginDebugUtilsLabelEXT_params
*params
= args
;
25334 TRACE("%p, %p\n", params
->commandBuffer
, params
->pLabelInfo
);
25336 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginDebugUtilsLabelEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pLabelInfo
);
25337 return STATUS_SUCCESS
;
25339 #endif /* _WIN64 */
25341 static NTSTATUS
thunk32_vkCmdBeginDebugUtilsLabelEXT(void *args
)
25345 PTR32 commandBuffer
;
25348 VkDebugUtilsLabelEXT pLabelInfo_host
;
25350 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pLabelInfo
);
25352 convert_VkDebugUtilsLabelEXT_win32_to_host((const VkDebugUtilsLabelEXT32
*)UlongToPtr(params
->pLabelInfo
), &pLabelInfo_host
);
25353 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginDebugUtilsLabelEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pLabelInfo_host
);
25354 return STATUS_SUCCESS
;
25358 static NTSTATUS
thunk64_vkCmdBeginQuery(void *args
)
25360 struct vkCmdBeginQuery_params
*params
= args
;
25362 TRACE("%p, 0x%s, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->flags
);
25364 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
);
25365 return STATUS_SUCCESS
;
25367 #endif /* _WIN64 */
25369 static NTSTATUS
thunk32_vkCmdBeginQuery(void *args
)
25373 PTR32 commandBuffer
;
25374 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
25376 VkQueryControlFlags flags
;
25379 TRACE("%#x, 0x%s, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->flags
);
25381 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginQuery(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->queryPool
, params
->query
, params
->flags
);
25382 return STATUS_SUCCESS
;
25386 static NTSTATUS
thunk64_vkCmdBeginQueryIndexedEXT(void *args
)
25388 struct vkCmdBeginQueryIndexedEXT_params
*params
= args
;
25390 TRACE("%p, 0x%s, %u, %#x, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->flags
, params
->index
);
25392 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
);
25393 return STATUS_SUCCESS
;
25395 #endif /* _WIN64 */
25397 static NTSTATUS
thunk32_vkCmdBeginQueryIndexedEXT(void *args
)
25401 PTR32 commandBuffer
;
25402 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
25404 VkQueryControlFlags flags
;
25408 TRACE("%#x, 0x%s, %u, %#x, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->flags
, params
->index
);
25410 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginQueryIndexedEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->queryPool
, params
->query
, params
->flags
, params
->index
);
25411 return STATUS_SUCCESS
;
25415 static NTSTATUS
thunk64_vkCmdBeginRenderPass(void *args
)
25417 struct vkCmdBeginRenderPass_params
*params
= args
;
25419 TRACE("%p, %p, %#x\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->contents
);
25421 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderPass(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderPassBegin
, params
->contents
);
25422 return STATUS_SUCCESS
;
25424 #endif /* _WIN64 */
25426 static NTSTATUS
thunk32_vkCmdBeginRenderPass(void *args
)
25430 PTR32 commandBuffer
;
25431 PTR32 pRenderPassBegin
;
25432 VkSubpassContents contents
;
25434 VkRenderPassBeginInfo pRenderPassBegin_host
;
25435 struct conversion_context ctx
;
25437 TRACE("%#x, %#x, %#x\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->contents
);
25439 init_conversion_context(&ctx
);
25440 convert_VkRenderPassBeginInfo_win32_to_host(&ctx
, (const VkRenderPassBeginInfo32
*)UlongToPtr(params
->pRenderPassBegin
), &pRenderPassBegin_host
);
25441 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginRenderPass(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pRenderPassBegin_host
, params
->contents
);
25442 free_conversion_context(&ctx
);
25443 return STATUS_SUCCESS
;
25447 static NTSTATUS
thunk64_vkCmdBeginRenderPass2(void *args
)
25449 struct vkCmdBeginRenderPass2_params
*params
= args
;
25451 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
25453 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderPass2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
25454 return STATUS_SUCCESS
;
25456 #endif /* _WIN64 */
25458 static NTSTATUS
thunk32_vkCmdBeginRenderPass2(void *args
)
25462 PTR32 commandBuffer
;
25463 PTR32 pRenderPassBegin
;
25464 PTR32 pSubpassBeginInfo
;
25466 VkRenderPassBeginInfo pRenderPassBegin_host
;
25467 VkSubpassBeginInfo pSubpassBeginInfo_host
;
25468 struct conversion_context ctx
;
25470 TRACE("%#x, %#x, %#x\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
25472 init_conversion_context(&ctx
);
25473 convert_VkRenderPassBeginInfo_win32_to_host(&ctx
, (const VkRenderPassBeginInfo32
*)UlongToPtr(params
->pRenderPassBegin
), &pRenderPassBegin_host
);
25474 convert_VkSubpassBeginInfo_win32_to_host((const VkSubpassBeginInfo32
*)UlongToPtr(params
->pSubpassBeginInfo
), &pSubpassBeginInfo_host
);
25475 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginRenderPass2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pRenderPassBegin_host
, &pSubpassBeginInfo_host
);
25476 free_conversion_context(&ctx
);
25477 return STATUS_SUCCESS
;
25481 static NTSTATUS
thunk64_vkCmdBeginRenderPass2KHR(void *args
)
25483 struct vkCmdBeginRenderPass2KHR_params
*params
= args
;
25485 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
25487 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderPass2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
25488 return STATUS_SUCCESS
;
25490 #endif /* _WIN64 */
25492 static NTSTATUS
thunk32_vkCmdBeginRenderPass2KHR(void *args
)
25496 PTR32 commandBuffer
;
25497 PTR32 pRenderPassBegin
;
25498 PTR32 pSubpassBeginInfo
;
25500 VkRenderPassBeginInfo pRenderPassBegin_host
;
25501 VkSubpassBeginInfo pSubpassBeginInfo_host
;
25502 struct conversion_context ctx
;
25504 TRACE("%#x, %#x, %#x\n", params
->commandBuffer
, params
->pRenderPassBegin
, params
->pSubpassBeginInfo
);
25506 init_conversion_context(&ctx
);
25507 convert_VkRenderPassBeginInfo_win32_to_host(&ctx
, (const VkRenderPassBeginInfo32
*)UlongToPtr(params
->pRenderPassBegin
), &pRenderPassBegin_host
);
25508 convert_VkSubpassBeginInfo_win32_to_host((const VkSubpassBeginInfo32
*)UlongToPtr(params
->pSubpassBeginInfo
), &pSubpassBeginInfo_host
);
25509 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginRenderPass2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pRenderPassBegin_host
, &pSubpassBeginInfo_host
);
25510 free_conversion_context(&ctx
);
25511 return STATUS_SUCCESS
;
25515 static NTSTATUS
thunk64_vkCmdBeginRendering(void *args
)
25517 struct vkCmdBeginRendering_params
*params
= args
;
25519 TRACE("%p, %p\n", params
->commandBuffer
, params
->pRenderingInfo
);
25521 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRendering(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderingInfo
);
25522 return STATUS_SUCCESS
;
25524 #endif /* _WIN64 */
25526 static NTSTATUS
thunk32_vkCmdBeginRendering(void *args
)
25530 PTR32 commandBuffer
;
25531 PTR32 pRenderingInfo
;
25533 VkRenderingInfo pRenderingInfo_host
;
25534 struct conversion_context ctx
;
25536 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pRenderingInfo
);
25538 init_conversion_context(&ctx
);
25539 convert_VkRenderingInfo_win32_to_host(&ctx
, (const VkRenderingInfo32
*)UlongToPtr(params
->pRenderingInfo
), &pRenderingInfo_host
);
25540 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginRendering(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pRenderingInfo_host
);
25541 free_conversion_context(&ctx
);
25542 return STATUS_SUCCESS
;
25546 static NTSTATUS
thunk64_vkCmdBeginRenderingKHR(void *args
)
25548 struct vkCmdBeginRenderingKHR_params
*params
= args
;
25550 TRACE("%p, %p\n", params
->commandBuffer
, params
->pRenderingInfo
);
25552 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBeginRenderingKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pRenderingInfo
);
25553 return STATUS_SUCCESS
;
25555 #endif /* _WIN64 */
25557 static NTSTATUS
thunk32_vkCmdBeginRenderingKHR(void *args
)
25561 PTR32 commandBuffer
;
25562 PTR32 pRenderingInfo
;
25564 VkRenderingInfo pRenderingInfo_host
;
25565 struct conversion_context ctx
;
25567 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pRenderingInfo
);
25569 init_conversion_context(&ctx
);
25570 convert_VkRenderingInfo_win32_to_host(&ctx
, (const VkRenderingInfo32
*)UlongToPtr(params
->pRenderingInfo
), &pRenderingInfo_host
);
25571 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginRenderingKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pRenderingInfo_host
);
25572 free_conversion_context(&ctx
);
25573 return STATUS_SUCCESS
;
25577 static NTSTATUS
thunk64_vkCmdBeginTransformFeedbackEXT(void *args
)
25579 struct vkCmdBeginTransformFeedbackEXT_params
*params
= args
;
25581 TRACE("%p, %u, %u, %p, %p\n", params
->commandBuffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
25583 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
);
25584 return STATUS_SUCCESS
;
25586 #endif /* _WIN64 */
25588 static NTSTATUS
thunk32_vkCmdBeginTransformFeedbackEXT(void *args
)
25592 PTR32 commandBuffer
;
25593 uint32_t firstCounterBuffer
;
25594 uint32_t counterBufferCount
;
25595 PTR32 pCounterBuffers
;
25596 PTR32 pCounterBufferOffsets
;
25599 TRACE("%#x, %u, %u, %#x, %#x\n", params
->commandBuffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
25601 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBeginTransformFeedbackEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, (const VkBuffer
*)UlongToPtr(params
->pCounterBuffers
), (const VkDeviceSize
*)UlongToPtr(params
->pCounterBufferOffsets
));
25602 return STATUS_SUCCESS
;
25606 static NTSTATUS
thunk64_vkCmdBindDescriptorBufferEmbeddedSamplersEXT(void *args
)
25608 struct vkCmdBindDescriptorBufferEmbeddedSamplersEXT_params
*params
= args
;
25610 TRACE("%p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->set
);
25612 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindDescriptorBufferEmbeddedSamplersEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->set
);
25613 return STATUS_SUCCESS
;
25615 #endif /* _WIN64 */
25617 static NTSTATUS
thunk32_vkCmdBindDescriptorBufferEmbeddedSamplersEXT(void *args
)
25621 PTR32 commandBuffer
;
25622 VkPipelineBindPoint pipelineBindPoint
;
25623 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
25627 TRACE("%#x, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->set
);
25629 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindDescriptorBufferEmbeddedSamplersEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->set
);
25630 return STATUS_SUCCESS
;
25634 static NTSTATUS
thunk64_vkCmdBindDescriptorBuffersEXT(void *args
)
25636 struct vkCmdBindDescriptorBuffersEXT_params
*params
= args
;
25638 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->bufferCount
, params
->pBindingInfos
);
25640 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindDescriptorBuffersEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->bufferCount
, params
->pBindingInfos
);
25641 return STATUS_SUCCESS
;
25643 #endif /* _WIN64 */
25645 static NTSTATUS
thunk32_vkCmdBindDescriptorBuffersEXT(void *args
)
25649 PTR32 commandBuffer
;
25650 uint32_t bufferCount
;
25651 PTR32 pBindingInfos
;
25653 const VkDescriptorBufferBindingInfoEXT
*pBindingInfos_host
;
25654 struct conversion_context ctx
;
25656 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->bufferCount
, params
->pBindingInfos
);
25658 init_conversion_context(&ctx
);
25659 pBindingInfos_host
= convert_VkDescriptorBufferBindingInfoEXT_array_win32_to_host(&ctx
, (const VkDescriptorBufferBindingInfoEXT32
*)UlongToPtr(params
->pBindingInfos
), params
->bufferCount
);
25660 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindDescriptorBuffersEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->bufferCount
, pBindingInfos_host
);
25661 free_conversion_context(&ctx
);
25662 return STATUS_SUCCESS
;
25666 static NTSTATUS
thunk64_vkCmdBindDescriptorSets(void *args
)
25668 struct vkCmdBindDescriptorSets_params
*params
= args
;
25670 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
);
25672 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
);
25673 return STATUS_SUCCESS
;
25675 #endif /* _WIN64 */
25677 static NTSTATUS
thunk32_vkCmdBindDescriptorSets(void *args
)
25681 PTR32 commandBuffer
;
25682 VkPipelineBindPoint pipelineBindPoint
;
25683 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
25685 uint32_t descriptorSetCount
;
25686 PTR32 pDescriptorSets
;
25687 uint32_t dynamicOffsetCount
;
25688 PTR32 pDynamicOffsets
;
25691 TRACE("%#x, %#x, 0x%s, %u, %u, %#x, %u, %#x\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->firstSet
, params
->descriptorSetCount
, params
->pDescriptorSets
, params
->dynamicOffsetCount
, params
->pDynamicOffsets
);
25693 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindDescriptorSets(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->firstSet
, params
->descriptorSetCount
, (const VkDescriptorSet
*)UlongToPtr(params
->pDescriptorSets
), params
->dynamicOffsetCount
, (const uint32_t *)UlongToPtr(params
->pDynamicOffsets
));
25694 return STATUS_SUCCESS
;
25698 static NTSTATUS
thunk64_vkCmdBindIndexBuffer(void *args
)
25700 struct vkCmdBindIndexBuffer_params
*params
= args
;
25702 TRACE("%p, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->indexType
);
25704 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
);
25705 return STATUS_SUCCESS
;
25707 #endif /* _WIN64 */
25709 static NTSTATUS
thunk32_vkCmdBindIndexBuffer(void *args
)
25713 PTR32 commandBuffer
;
25714 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
25715 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
25716 VkIndexType indexType
;
25719 TRACE("%#x, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->indexType
);
25721 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindIndexBuffer(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->indexType
);
25722 return STATUS_SUCCESS
;
25726 static NTSTATUS
thunk64_vkCmdBindInvocationMaskHUAWEI(void *args
)
25728 struct vkCmdBindInvocationMaskHUAWEI_params
*params
= args
;
25730 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->imageView
), params
->imageLayout
);
25732 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindInvocationMaskHUAWEI(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->imageView
, params
->imageLayout
);
25733 return STATUS_SUCCESS
;
25735 #endif /* _WIN64 */
25737 static NTSTATUS
thunk32_vkCmdBindInvocationMaskHUAWEI(void *args
)
25741 PTR32 commandBuffer
;
25742 VkImageView
DECLSPEC_ALIGN(8) imageView
;
25743 VkImageLayout imageLayout
;
25746 TRACE("%#x, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->imageView
), params
->imageLayout
);
25748 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindInvocationMaskHUAWEI(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->imageView
, params
->imageLayout
);
25749 return STATUS_SUCCESS
;
25753 static NTSTATUS
thunk64_vkCmdBindPipeline(void *args
)
25755 struct vkCmdBindPipeline_params
*params
= args
;
25757 TRACE("%p, %#x, 0x%s\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->pipeline
));
25759 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindPipeline(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->pipeline
);
25760 return STATUS_SUCCESS
;
25762 #endif /* _WIN64 */
25764 static NTSTATUS
thunk32_vkCmdBindPipeline(void *args
)
25768 PTR32 commandBuffer
;
25769 VkPipelineBindPoint pipelineBindPoint
;
25770 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
25773 TRACE("%#x, %#x, 0x%s\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->pipeline
));
25775 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindPipeline(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->pipelineBindPoint
, params
->pipeline
);
25776 return STATUS_SUCCESS
;
25780 static NTSTATUS
thunk64_vkCmdBindPipelineShaderGroupNV(void *args
)
25782 struct vkCmdBindPipelineShaderGroupNV_params
*params
= args
;
25784 TRACE("%p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->pipeline
), params
->groupIndex
);
25786 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
);
25787 return STATUS_SUCCESS
;
25789 #endif /* _WIN64 */
25791 static NTSTATUS
thunk32_vkCmdBindPipelineShaderGroupNV(void *args
)
25795 PTR32 commandBuffer
;
25796 VkPipelineBindPoint pipelineBindPoint
;
25797 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
25798 uint32_t groupIndex
;
25801 TRACE("%#x, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->pipeline
), params
->groupIndex
);
25803 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindPipelineShaderGroupNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->pipelineBindPoint
, params
->pipeline
, params
->groupIndex
);
25804 return STATUS_SUCCESS
;
25808 static NTSTATUS
thunk64_vkCmdBindShadingRateImageNV(void *args
)
25810 struct vkCmdBindShadingRateImageNV_params
*params
= args
;
25812 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->imageView
), params
->imageLayout
);
25814 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBindShadingRateImageNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->imageView
, params
->imageLayout
);
25815 return STATUS_SUCCESS
;
25817 #endif /* _WIN64 */
25819 static NTSTATUS
thunk32_vkCmdBindShadingRateImageNV(void *args
)
25823 PTR32 commandBuffer
;
25824 VkImageView
DECLSPEC_ALIGN(8) imageView
;
25825 VkImageLayout imageLayout
;
25828 TRACE("%#x, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->imageView
), params
->imageLayout
);
25830 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindShadingRateImageNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->imageView
, params
->imageLayout
);
25831 return STATUS_SUCCESS
;
25835 static NTSTATUS
thunk64_vkCmdBindTransformFeedbackBuffersEXT(void *args
)
25837 struct vkCmdBindTransformFeedbackBuffersEXT_params
*params
= args
;
25839 TRACE("%p, %u, %u, %p, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
);
25841 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
);
25842 return STATUS_SUCCESS
;
25844 #endif /* _WIN64 */
25846 static NTSTATUS
thunk32_vkCmdBindTransformFeedbackBuffersEXT(void *args
)
25850 PTR32 commandBuffer
;
25851 uint32_t firstBinding
;
25852 uint32_t bindingCount
;
25858 TRACE("%#x, %u, %u, %#x, %#x, %#x\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
);
25860 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindTransformFeedbackBuffersEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstBinding
, params
->bindingCount
, (const VkBuffer
*)UlongToPtr(params
->pBuffers
), (const VkDeviceSize
*)UlongToPtr(params
->pOffsets
), (const VkDeviceSize
*)UlongToPtr(params
->pSizes
));
25861 return STATUS_SUCCESS
;
25865 static NTSTATUS
thunk64_vkCmdBindVertexBuffers(void *args
)
25867 struct vkCmdBindVertexBuffers_params
*params
= args
;
25869 TRACE("%p, %u, %u, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
);
25871 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
);
25872 return STATUS_SUCCESS
;
25874 #endif /* _WIN64 */
25876 static NTSTATUS
thunk32_vkCmdBindVertexBuffers(void *args
)
25880 PTR32 commandBuffer
;
25881 uint32_t firstBinding
;
25882 uint32_t bindingCount
;
25887 TRACE("%#x, %u, %u, %#x, %#x\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
);
25889 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindVertexBuffers(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstBinding
, params
->bindingCount
, (const VkBuffer
*)UlongToPtr(params
->pBuffers
), (const VkDeviceSize
*)UlongToPtr(params
->pOffsets
));
25890 return STATUS_SUCCESS
;
25894 static NTSTATUS
thunk64_vkCmdBindVertexBuffers2(void *args
)
25896 struct vkCmdBindVertexBuffers2_params
*params
= args
;
25898 TRACE("%p, %u, %u, %p, %p, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
25900 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
);
25901 return STATUS_SUCCESS
;
25903 #endif /* _WIN64 */
25905 static NTSTATUS
thunk32_vkCmdBindVertexBuffers2(void *args
)
25909 PTR32 commandBuffer
;
25910 uint32_t firstBinding
;
25911 uint32_t bindingCount
;
25918 TRACE("%#x, %u, %u, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
25920 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindVertexBuffers2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstBinding
, params
->bindingCount
, (const VkBuffer
*)UlongToPtr(params
->pBuffers
), (const VkDeviceSize
*)UlongToPtr(params
->pOffsets
), (const VkDeviceSize
*)UlongToPtr(params
->pSizes
), (const VkDeviceSize
*)UlongToPtr(params
->pStrides
));
25921 return STATUS_SUCCESS
;
25925 static NTSTATUS
thunk64_vkCmdBindVertexBuffers2EXT(void *args
)
25927 struct vkCmdBindVertexBuffers2EXT_params
*params
= args
;
25929 TRACE("%p, %u, %u, %p, %p, %p, %p\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
25931 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
);
25932 return STATUS_SUCCESS
;
25934 #endif /* _WIN64 */
25936 static NTSTATUS
thunk32_vkCmdBindVertexBuffers2EXT(void *args
)
25940 PTR32 commandBuffer
;
25941 uint32_t firstBinding
;
25942 uint32_t bindingCount
;
25949 TRACE("%#x, %u, %u, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->firstBinding
, params
->bindingCount
, params
->pBuffers
, params
->pOffsets
, params
->pSizes
, params
->pStrides
);
25951 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBindVertexBuffers2EXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstBinding
, params
->bindingCount
, (const VkBuffer
*)UlongToPtr(params
->pBuffers
), (const VkDeviceSize
*)UlongToPtr(params
->pOffsets
), (const VkDeviceSize
*)UlongToPtr(params
->pSizes
), (const VkDeviceSize
*)UlongToPtr(params
->pStrides
));
25952 return STATUS_SUCCESS
;
25956 static NTSTATUS
thunk64_vkCmdBlitImage(void *args
)
25958 struct vkCmdBlitImage_params
*params
= args
;
25960 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
);
25962 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
);
25963 return STATUS_SUCCESS
;
25965 #endif /* _WIN64 */
25967 static NTSTATUS
thunk32_vkCmdBlitImage(void *args
)
25971 PTR32 commandBuffer
;
25972 VkImage
DECLSPEC_ALIGN(8) srcImage
;
25973 VkImageLayout srcImageLayout
;
25974 VkImage
DECLSPEC_ALIGN(8) dstImage
;
25975 VkImageLayout dstImageLayout
;
25976 uint32_t regionCount
;
25981 TRACE("%#x, 0x%s, %#x, 0x%s, %#x, %u, %#x, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
, params
->filter
);
25983 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBlitImage(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, (const VkImageBlit
*)UlongToPtr(params
->pRegions
), params
->filter
);
25984 return STATUS_SUCCESS
;
25988 static NTSTATUS
thunk64_vkCmdBlitImage2(void *args
)
25990 struct vkCmdBlitImage2_params
*params
= args
;
25992 TRACE("%p, %p\n", params
->commandBuffer
, params
->pBlitImageInfo
);
25994 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBlitImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pBlitImageInfo
);
25995 return STATUS_SUCCESS
;
25997 #endif /* _WIN64 */
25999 static NTSTATUS
thunk32_vkCmdBlitImage2(void *args
)
26003 PTR32 commandBuffer
;
26004 PTR32 pBlitImageInfo
;
26006 VkBlitImageInfo2 pBlitImageInfo_host
;
26007 struct conversion_context ctx
;
26009 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pBlitImageInfo
);
26011 init_conversion_context(&ctx
);
26012 convert_VkBlitImageInfo2_win32_to_host(&ctx
, (const VkBlitImageInfo232
*)UlongToPtr(params
->pBlitImageInfo
), &pBlitImageInfo_host
);
26013 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBlitImage2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pBlitImageInfo_host
);
26014 free_conversion_context(&ctx
);
26015 return STATUS_SUCCESS
;
26019 static NTSTATUS
thunk64_vkCmdBlitImage2KHR(void *args
)
26021 struct vkCmdBlitImage2KHR_params
*params
= args
;
26023 TRACE("%p, %p\n", params
->commandBuffer
, params
->pBlitImageInfo
);
26025 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBlitImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pBlitImageInfo
);
26026 return STATUS_SUCCESS
;
26028 #endif /* _WIN64 */
26030 static NTSTATUS
thunk32_vkCmdBlitImage2KHR(void *args
)
26034 PTR32 commandBuffer
;
26035 PTR32 pBlitImageInfo
;
26037 VkBlitImageInfo2 pBlitImageInfo_host
;
26038 struct conversion_context ctx
;
26040 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pBlitImageInfo
);
26042 init_conversion_context(&ctx
);
26043 convert_VkBlitImageInfo2_win32_to_host(&ctx
, (const VkBlitImageInfo232
*)UlongToPtr(params
->pBlitImageInfo
), &pBlitImageInfo_host
);
26044 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBlitImage2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pBlitImageInfo_host
);
26045 free_conversion_context(&ctx
);
26046 return STATUS_SUCCESS
;
26050 static NTSTATUS
thunk64_vkCmdBuildAccelerationStructureNV(void *args
)
26052 struct vkCmdBuildAccelerationStructureNV_params
*params
= args
;
26054 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
));
26056 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
);
26057 return STATUS_SUCCESS
;
26059 #endif /* _WIN64 */
26061 static NTSTATUS
thunk32_vkCmdBuildAccelerationStructureNV(void *args
)
26065 PTR32 commandBuffer
;
26067 VkBuffer
DECLSPEC_ALIGN(8) instanceData
;
26068 VkDeviceSize
DECLSPEC_ALIGN(8) instanceOffset
;
26070 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) dst
;
26071 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) src
;
26072 VkBuffer
DECLSPEC_ALIGN(8) scratch
;
26073 VkDeviceSize
DECLSPEC_ALIGN(8) scratchOffset
;
26075 VkAccelerationStructureInfoNV pInfo_host
;
26076 struct conversion_context ctx
;
26078 TRACE("%#x, %#x, 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
));
26080 init_conversion_context(&ctx
);
26081 convert_VkAccelerationStructureInfoNV_win32_to_host(&ctx
, (const VkAccelerationStructureInfoNV32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
26082 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBuildAccelerationStructureNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pInfo_host
, params
->instanceData
, params
->instanceOffset
, params
->update
, params
->dst
, params
->src
, params
->scratch
, params
->scratchOffset
);
26083 free_conversion_context(&ctx
);
26084 return STATUS_SUCCESS
;
26088 static NTSTATUS
thunk64_vkCmdBuildAccelerationStructuresIndirectKHR(void *args
)
26090 struct vkCmdBuildAccelerationStructuresIndirectKHR_params
*params
= args
;
26092 TRACE("%p, %u, %p, %p, %p, %p\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
, params
->pIndirectDeviceAddresses
, params
->pIndirectStrides
, params
->ppMaxPrimitiveCounts
);
26094 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
);
26095 return STATUS_SUCCESS
;
26097 #endif /* _WIN64 */
26099 static NTSTATUS
thunk32_vkCmdBuildAccelerationStructuresIndirectKHR(void *args
)
26103 PTR32 commandBuffer
;
26104 uint32_t infoCount
;
26106 PTR32 pIndirectDeviceAddresses
;
26107 PTR32 pIndirectStrides
;
26108 PTR32 ppMaxPrimitiveCounts
;
26110 const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos_host
;
26111 struct conversion_context ctx
;
26113 TRACE("%#x, %u, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
, params
->pIndirectDeviceAddresses
, params
->pIndirectStrides
, params
->ppMaxPrimitiveCounts
);
26115 init_conversion_context(&ctx
);
26116 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win32_to_host(&ctx
, (const VkAccelerationStructureBuildGeometryInfoKHR32
*)UlongToPtr(params
->pInfos
), params
->infoCount
);
26117 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBuildAccelerationStructuresIndirectKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->infoCount
, pInfos_host
, (const VkDeviceAddress
*)UlongToPtr(params
->pIndirectDeviceAddresses
), (const uint32_t *)UlongToPtr(params
->pIndirectStrides
), (const uint32_t * const*)UlongToPtr(params
->ppMaxPrimitiveCounts
));
26118 free_conversion_context(&ctx
);
26119 return STATUS_SUCCESS
;
26123 static NTSTATUS
thunk64_vkCmdBuildAccelerationStructuresKHR(void *args
)
26125 struct vkCmdBuildAccelerationStructuresKHR_params
*params
= args
;
26127 TRACE("%p, %u, %p, %p\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
26129 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
);
26130 return STATUS_SUCCESS
;
26132 #endif /* _WIN64 */
26134 static NTSTATUS
thunk32_vkCmdBuildAccelerationStructuresKHR(void *args
)
26138 PTR32 commandBuffer
;
26139 uint32_t infoCount
;
26141 PTR32 ppBuildRangeInfos
;
26143 const VkAccelerationStructureBuildGeometryInfoKHR
*pInfos_host
;
26144 struct conversion_context ctx
;
26146 TRACE("%#x, %u, %#x, %#x\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
, params
->ppBuildRangeInfos
);
26148 init_conversion_context(&ctx
);
26149 pInfos_host
= convert_VkAccelerationStructureBuildGeometryInfoKHR_array_win32_to_host(&ctx
, (const VkAccelerationStructureBuildGeometryInfoKHR32
*)UlongToPtr(params
->pInfos
), params
->infoCount
);
26150 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBuildAccelerationStructuresKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->infoCount
, pInfos_host
, (const VkAccelerationStructureBuildRangeInfoKHR
* const*)UlongToPtr(params
->ppBuildRangeInfos
));
26151 free_conversion_context(&ctx
);
26152 return STATUS_SUCCESS
;
26156 static NTSTATUS
thunk64_vkCmdBuildMicromapsEXT(void *args
)
26158 struct vkCmdBuildMicromapsEXT_params
*params
= args
;
26160 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
);
26162 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdBuildMicromapsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->infoCount
, params
->pInfos
);
26163 return STATUS_SUCCESS
;
26165 #endif /* _WIN64 */
26167 static NTSTATUS
thunk32_vkCmdBuildMicromapsEXT(void *args
)
26171 PTR32 commandBuffer
;
26172 uint32_t infoCount
;
26175 const VkMicromapBuildInfoEXT
*pInfos_host
;
26176 struct conversion_context ctx
;
26178 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->infoCount
, params
->pInfos
);
26180 init_conversion_context(&ctx
);
26181 pInfos_host
= convert_VkMicromapBuildInfoEXT_array_win32_to_host(&ctx
, (const VkMicromapBuildInfoEXT32
*)UlongToPtr(params
->pInfos
), params
->infoCount
);
26182 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdBuildMicromapsEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->infoCount
, pInfos_host
);
26183 free_conversion_context(&ctx
);
26184 return STATUS_SUCCESS
;
26188 static NTSTATUS
thunk64_vkCmdClearAttachments(void *args
)
26190 struct vkCmdClearAttachments_params
*params
= args
;
26192 TRACE("%p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->attachmentCount
, params
->pAttachments
, params
->rectCount
, params
->pRects
);
26194 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
);
26195 return STATUS_SUCCESS
;
26197 #endif /* _WIN64 */
26199 static NTSTATUS
thunk32_vkCmdClearAttachments(void *args
)
26203 PTR32 commandBuffer
;
26204 uint32_t attachmentCount
;
26205 PTR32 pAttachments
;
26206 uint32_t rectCount
;
26210 TRACE("%#x, %u, %#x, %u, %#x\n", params
->commandBuffer
, params
->attachmentCount
, params
->pAttachments
, params
->rectCount
, params
->pRects
);
26212 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdClearAttachments(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->attachmentCount
, (const VkClearAttachment
*)UlongToPtr(params
->pAttachments
), params
->rectCount
, (const VkClearRect
*)UlongToPtr(params
->pRects
));
26213 return STATUS_SUCCESS
;
26217 static NTSTATUS
thunk64_vkCmdClearColorImage(void *args
)
26219 struct vkCmdClearColorImage_params
*params
= args
;
26221 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->image
), params
->imageLayout
, params
->pColor
, params
->rangeCount
, params
->pRanges
);
26223 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
);
26224 return STATUS_SUCCESS
;
26226 #endif /* _WIN64 */
26228 static NTSTATUS
thunk32_vkCmdClearColorImage(void *args
)
26232 PTR32 commandBuffer
;
26233 VkImage
DECLSPEC_ALIGN(8) image
;
26234 VkImageLayout imageLayout
;
26236 uint32_t rangeCount
;
26240 TRACE("%#x, 0x%s, %#x, %#x, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->image
), params
->imageLayout
, params
->pColor
, params
->rangeCount
, params
->pRanges
);
26242 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdClearColorImage(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->image
, params
->imageLayout
, (const VkClearColorValue
*)UlongToPtr(params
->pColor
), params
->rangeCount
, (const VkImageSubresourceRange
*)UlongToPtr(params
->pRanges
));
26243 return STATUS_SUCCESS
;
26247 static NTSTATUS
thunk64_vkCmdClearDepthStencilImage(void *args
)
26249 struct vkCmdClearDepthStencilImage_params
*params
= args
;
26251 TRACE("%p, 0x%s, %#x, %p, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->image
), params
->imageLayout
, params
->pDepthStencil
, params
->rangeCount
, params
->pRanges
);
26253 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
);
26254 return STATUS_SUCCESS
;
26256 #endif /* _WIN64 */
26258 static NTSTATUS
thunk32_vkCmdClearDepthStencilImage(void *args
)
26262 PTR32 commandBuffer
;
26263 VkImage
DECLSPEC_ALIGN(8) image
;
26264 VkImageLayout imageLayout
;
26265 PTR32 pDepthStencil
;
26266 uint32_t rangeCount
;
26270 TRACE("%#x, 0x%s, %#x, %#x, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->image
), params
->imageLayout
, params
->pDepthStencil
, params
->rangeCount
, params
->pRanges
);
26272 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdClearDepthStencilImage(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->image
, params
->imageLayout
, (const VkClearDepthStencilValue
*)UlongToPtr(params
->pDepthStencil
), params
->rangeCount
, (const VkImageSubresourceRange
*)UlongToPtr(params
->pRanges
));
26273 return STATUS_SUCCESS
;
26277 static NTSTATUS
thunk64_vkCmdCopyAccelerationStructureKHR(void *args
)
26279 struct vkCmdCopyAccelerationStructureKHR_params
*params
= args
;
26281 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
26283 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyAccelerationStructureKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
26284 return STATUS_SUCCESS
;
26286 #endif /* _WIN64 */
26288 static NTSTATUS
thunk32_vkCmdCopyAccelerationStructureKHR(void *args
)
26292 PTR32 commandBuffer
;
26295 VkCopyAccelerationStructureInfoKHR pInfo_host
;
26297 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pInfo
);
26299 convert_VkCopyAccelerationStructureInfoKHR_win32_to_host((const VkCopyAccelerationStructureInfoKHR32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
26300 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyAccelerationStructureKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pInfo_host
);
26301 return STATUS_SUCCESS
;
26305 static NTSTATUS
thunk64_vkCmdCopyAccelerationStructureNV(void *args
)
26307 struct vkCmdCopyAccelerationStructureNV_params
*params
= args
;
26309 TRACE("%p, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->dst
), wine_dbgstr_longlong(params
->src
), params
->mode
);
26311 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
);
26312 return STATUS_SUCCESS
;
26314 #endif /* _WIN64 */
26316 static NTSTATUS
thunk32_vkCmdCopyAccelerationStructureNV(void *args
)
26320 PTR32 commandBuffer
;
26321 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) dst
;
26322 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) src
;
26323 VkCopyAccelerationStructureModeKHR mode
;
26326 TRACE("%#x, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->dst
), wine_dbgstr_longlong(params
->src
), params
->mode
);
26328 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyAccelerationStructureNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->dst
, params
->src
, params
->mode
);
26329 return STATUS_SUCCESS
;
26333 static NTSTATUS
thunk64_vkCmdCopyAccelerationStructureToMemoryKHR(void *args
)
26335 struct vkCmdCopyAccelerationStructureToMemoryKHR_params
*params
= args
;
26337 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
26339 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyAccelerationStructureToMemoryKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
26340 return STATUS_SUCCESS
;
26342 #endif /* _WIN64 */
26344 static NTSTATUS
thunk32_vkCmdCopyAccelerationStructureToMemoryKHR(void *args
)
26348 PTR32 commandBuffer
;
26351 VkCopyAccelerationStructureToMemoryInfoKHR pInfo_host
;
26353 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pInfo
);
26355 convert_VkCopyAccelerationStructureToMemoryInfoKHR_win32_to_host((const VkCopyAccelerationStructureToMemoryInfoKHR32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
26356 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyAccelerationStructureToMemoryKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pInfo_host
);
26357 return STATUS_SUCCESS
;
26361 static NTSTATUS
thunk64_vkCmdCopyBuffer(void *args
)
26363 struct vkCmdCopyBuffer_params
*params
= args
;
26365 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
);
26367 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
);
26368 return STATUS_SUCCESS
;
26370 #endif /* _WIN64 */
26372 static NTSTATUS
thunk32_vkCmdCopyBuffer(void *args
)
26376 PTR32 commandBuffer
;
26377 VkBuffer
DECLSPEC_ALIGN(8) srcBuffer
;
26378 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
26379 uint32_t regionCount
;
26382 const VkBufferCopy
*pRegions_host
;
26383 struct conversion_context ctx
;
26385 TRACE("%#x, 0x%s, 0x%s, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcBuffer
), wine_dbgstr_longlong(params
->dstBuffer
), params
->regionCount
, params
->pRegions
);
26387 init_conversion_context(&ctx
);
26388 pRegions_host
= convert_VkBufferCopy_array_win32_to_host(&ctx
, (const VkBufferCopy32
*)UlongToPtr(params
->pRegions
), params
->regionCount
);
26389 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyBuffer(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->srcBuffer
, params
->dstBuffer
, params
->regionCount
, pRegions_host
);
26390 free_conversion_context(&ctx
);
26391 return STATUS_SUCCESS
;
26395 static NTSTATUS
thunk64_vkCmdCopyBuffer2(void *args
)
26397 struct vkCmdCopyBuffer2_params
*params
= args
;
26399 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferInfo
);
26401 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBuffer2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyBufferInfo
);
26402 return STATUS_SUCCESS
;
26404 #endif /* _WIN64 */
26406 static NTSTATUS
thunk32_vkCmdCopyBuffer2(void *args
)
26410 PTR32 commandBuffer
;
26411 PTR32 pCopyBufferInfo
;
26413 VkCopyBufferInfo2 pCopyBufferInfo_host
;
26414 struct conversion_context ctx
;
26416 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pCopyBufferInfo
);
26418 init_conversion_context(&ctx
);
26419 convert_VkCopyBufferInfo2_win32_to_host(&ctx
, (const VkCopyBufferInfo232
*)UlongToPtr(params
->pCopyBufferInfo
), &pCopyBufferInfo_host
);
26420 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyBuffer2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pCopyBufferInfo_host
);
26421 free_conversion_context(&ctx
);
26422 return STATUS_SUCCESS
;
26426 static NTSTATUS
thunk64_vkCmdCopyBuffer2KHR(void *args
)
26428 struct vkCmdCopyBuffer2KHR_params
*params
= args
;
26430 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferInfo
);
26432 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBuffer2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyBufferInfo
);
26433 return STATUS_SUCCESS
;
26435 #endif /* _WIN64 */
26437 static NTSTATUS
thunk32_vkCmdCopyBuffer2KHR(void *args
)
26441 PTR32 commandBuffer
;
26442 PTR32 pCopyBufferInfo
;
26444 VkCopyBufferInfo2 pCopyBufferInfo_host
;
26445 struct conversion_context ctx
;
26447 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pCopyBufferInfo
);
26449 init_conversion_context(&ctx
);
26450 convert_VkCopyBufferInfo2_win32_to_host(&ctx
, (const VkCopyBufferInfo232
*)UlongToPtr(params
->pCopyBufferInfo
), &pCopyBufferInfo_host
);
26451 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyBuffer2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pCopyBufferInfo_host
);
26452 free_conversion_context(&ctx
);
26453 return STATUS_SUCCESS
;
26457 static NTSTATUS
thunk64_vkCmdCopyBufferToImage(void *args
)
26459 struct vkCmdCopyBufferToImage_params
*params
= args
;
26461 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
);
26463 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
);
26464 return STATUS_SUCCESS
;
26466 #endif /* _WIN64 */
26468 static NTSTATUS
thunk32_vkCmdCopyBufferToImage(void *args
)
26472 PTR32 commandBuffer
;
26473 VkBuffer
DECLSPEC_ALIGN(8) srcBuffer
;
26474 VkImage
DECLSPEC_ALIGN(8) dstImage
;
26475 VkImageLayout dstImageLayout
;
26476 uint32_t regionCount
;
26479 const VkBufferImageCopy
*pRegions_host
;
26480 struct conversion_context ctx
;
26482 TRACE("%#x, 0x%s, 0x%s, %#x, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcBuffer
), wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
26484 init_conversion_context(&ctx
);
26485 pRegions_host
= convert_VkBufferImageCopy_array_win32_to_host(&ctx
, (const VkBufferImageCopy32
*)UlongToPtr(params
->pRegions
), params
->regionCount
);
26486 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyBufferToImage(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->srcBuffer
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, pRegions_host
);
26487 free_conversion_context(&ctx
);
26488 return STATUS_SUCCESS
;
26492 static NTSTATUS
thunk64_vkCmdCopyBufferToImage2(void *args
)
26494 struct vkCmdCopyBufferToImage2_params
*params
= args
;
26496 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferToImageInfo
);
26498 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBufferToImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyBufferToImageInfo
);
26499 return STATUS_SUCCESS
;
26501 #endif /* _WIN64 */
26503 static NTSTATUS
thunk32_vkCmdCopyBufferToImage2(void *args
)
26507 PTR32 commandBuffer
;
26508 PTR32 pCopyBufferToImageInfo
;
26510 VkCopyBufferToImageInfo2 pCopyBufferToImageInfo_host
;
26511 struct conversion_context ctx
;
26513 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pCopyBufferToImageInfo
);
26515 init_conversion_context(&ctx
);
26516 convert_VkCopyBufferToImageInfo2_win32_to_host(&ctx
, (const VkCopyBufferToImageInfo232
*)UlongToPtr(params
->pCopyBufferToImageInfo
), &pCopyBufferToImageInfo_host
);
26517 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyBufferToImage2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pCopyBufferToImageInfo_host
);
26518 free_conversion_context(&ctx
);
26519 return STATUS_SUCCESS
;
26523 static NTSTATUS
thunk64_vkCmdCopyBufferToImage2KHR(void *args
)
26525 struct vkCmdCopyBufferToImage2KHR_params
*params
= args
;
26527 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyBufferToImageInfo
);
26529 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyBufferToImageInfo
);
26530 return STATUS_SUCCESS
;
26532 #endif /* _WIN64 */
26534 static NTSTATUS
thunk32_vkCmdCopyBufferToImage2KHR(void *args
)
26538 PTR32 commandBuffer
;
26539 PTR32 pCopyBufferToImageInfo
;
26541 VkCopyBufferToImageInfo2 pCopyBufferToImageInfo_host
;
26542 struct conversion_context ctx
;
26544 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pCopyBufferToImageInfo
);
26546 init_conversion_context(&ctx
);
26547 convert_VkCopyBufferToImageInfo2_win32_to_host(&ctx
, (const VkCopyBufferToImageInfo232
*)UlongToPtr(params
->pCopyBufferToImageInfo
), &pCopyBufferToImageInfo_host
);
26548 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyBufferToImage2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pCopyBufferToImageInfo_host
);
26549 free_conversion_context(&ctx
);
26550 return STATUS_SUCCESS
;
26554 static NTSTATUS
thunk64_vkCmdCopyImage(void *args
)
26556 struct vkCmdCopyImage_params
*params
= args
;
26558 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
);
26560 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
);
26561 return STATUS_SUCCESS
;
26563 #endif /* _WIN64 */
26565 static NTSTATUS
thunk32_vkCmdCopyImage(void *args
)
26569 PTR32 commandBuffer
;
26570 VkImage
DECLSPEC_ALIGN(8) srcImage
;
26571 VkImageLayout srcImageLayout
;
26572 VkImage
DECLSPEC_ALIGN(8) dstImage
;
26573 VkImageLayout dstImageLayout
;
26574 uint32_t regionCount
;
26578 TRACE("%#x, 0x%s, %#x, 0x%s, %#x, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
26580 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyImage(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, (const VkImageCopy
*)UlongToPtr(params
->pRegions
));
26581 return STATUS_SUCCESS
;
26585 static NTSTATUS
thunk64_vkCmdCopyImage2(void *args
)
26587 struct vkCmdCopyImage2_params
*params
= args
;
26589 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageInfo
);
26591 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyImageInfo
);
26592 return STATUS_SUCCESS
;
26594 #endif /* _WIN64 */
26596 static NTSTATUS
thunk32_vkCmdCopyImage2(void *args
)
26600 PTR32 commandBuffer
;
26601 PTR32 pCopyImageInfo
;
26603 VkCopyImageInfo2 pCopyImageInfo_host
;
26604 struct conversion_context ctx
;
26606 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pCopyImageInfo
);
26608 init_conversion_context(&ctx
);
26609 convert_VkCopyImageInfo2_win32_to_host(&ctx
, (const VkCopyImageInfo232
*)UlongToPtr(params
->pCopyImageInfo
), &pCopyImageInfo_host
);
26610 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyImage2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pCopyImageInfo_host
);
26611 free_conversion_context(&ctx
);
26612 return STATUS_SUCCESS
;
26616 static NTSTATUS
thunk64_vkCmdCopyImage2KHR(void *args
)
26618 struct vkCmdCopyImage2KHR_params
*params
= args
;
26620 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageInfo
);
26622 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyImageInfo
);
26623 return STATUS_SUCCESS
;
26625 #endif /* _WIN64 */
26627 static NTSTATUS
thunk32_vkCmdCopyImage2KHR(void *args
)
26631 PTR32 commandBuffer
;
26632 PTR32 pCopyImageInfo
;
26634 VkCopyImageInfo2 pCopyImageInfo_host
;
26635 struct conversion_context ctx
;
26637 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pCopyImageInfo
);
26639 init_conversion_context(&ctx
);
26640 convert_VkCopyImageInfo2_win32_to_host(&ctx
, (const VkCopyImageInfo232
*)UlongToPtr(params
->pCopyImageInfo
), &pCopyImageInfo_host
);
26641 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyImage2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pCopyImageInfo_host
);
26642 free_conversion_context(&ctx
);
26643 return STATUS_SUCCESS
;
26647 static NTSTATUS
thunk64_vkCmdCopyImageToBuffer(void *args
)
26649 struct vkCmdCopyImageToBuffer_params
*params
= args
;
26651 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
);
26653 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
);
26654 return STATUS_SUCCESS
;
26656 #endif /* _WIN64 */
26658 static NTSTATUS
thunk32_vkCmdCopyImageToBuffer(void *args
)
26662 PTR32 commandBuffer
;
26663 VkImage
DECLSPEC_ALIGN(8) srcImage
;
26664 VkImageLayout srcImageLayout
;
26665 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
26666 uint32_t regionCount
;
26669 const VkBufferImageCopy
*pRegions_host
;
26670 struct conversion_context ctx
;
26672 TRACE("%#x, 0x%s, %#x, 0x%s, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstBuffer
), params
->regionCount
, params
->pRegions
);
26674 init_conversion_context(&ctx
);
26675 pRegions_host
= convert_VkBufferImageCopy_array_win32_to_host(&ctx
, (const VkBufferImageCopy32
*)UlongToPtr(params
->pRegions
), params
->regionCount
);
26676 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyImageToBuffer(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstBuffer
, params
->regionCount
, pRegions_host
);
26677 free_conversion_context(&ctx
);
26678 return STATUS_SUCCESS
;
26682 static NTSTATUS
thunk64_vkCmdCopyImageToBuffer2(void *args
)
26684 struct vkCmdCopyImageToBuffer2_params
*params
= args
;
26686 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageToBufferInfo
);
26688 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImageToBuffer2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyImageToBufferInfo
);
26689 return STATUS_SUCCESS
;
26691 #endif /* _WIN64 */
26693 static NTSTATUS
thunk32_vkCmdCopyImageToBuffer2(void *args
)
26697 PTR32 commandBuffer
;
26698 PTR32 pCopyImageToBufferInfo
;
26700 VkCopyImageToBufferInfo2 pCopyImageToBufferInfo_host
;
26701 struct conversion_context ctx
;
26703 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pCopyImageToBufferInfo
);
26705 init_conversion_context(&ctx
);
26706 convert_VkCopyImageToBufferInfo2_win32_to_host(&ctx
, (const VkCopyImageToBufferInfo232
*)UlongToPtr(params
->pCopyImageToBufferInfo
), &pCopyImageToBufferInfo_host
);
26707 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyImageToBuffer2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pCopyImageToBufferInfo_host
);
26708 free_conversion_context(&ctx
);
26709 return STATUS_SUCCESS
;
26713 static NTSTATUS
thunk64_vkCmdCopyImageToBuffer2KHR(void *args
)
26715 struct vkCmdCopyImageToBuffer2KHR_params
*params
= args
;
26717 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCopyImageToBufferInfo
);
26719 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCopyImageToBufferInfo
);
26720 return STATUS_SUCCESS
;
26722 #endif /* _WIN64 */
26724 static NTSTATUS
thunk32_vkCmdCopyImageToBuffer2KHR(void *args
)
26728 PTR32 commandBuffer
;
26729 PTR32 pCopyImageToBufferInfo
;
26731 VkCopyImageToBufferInfo2 pCopyImageToBufferInfo_host
;
26732 struct conversion_context ctx
;
26734 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pCopyImageToBufferInfo
);
26736 init_conversion_context(&ctx
);
26737 convert_VkCopyImageToBufferInfo2_win32_to_host(&ctx
, (const VkCopyImageToBufferInfo232
*)UlongToPtr(params
->pCopyImageToBufferInfo
), &pCopyImageToBufferInfo_host
);
26738 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyImageToBuffer2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pCopyImageToBufferInfo_host
);
26739 free_conversion_context(&ctx
);
26740 return STATUS_SUCCESS
;
26744 static NTSTATUS
thunk64_vkCmdCopyMemoryIndirectNV(void *args
)
26746 struct vkCmdCopyMemoryIndirectNV_params
*params
= args
;
26748 TRACE("%p, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->copyBufferAddress
), params
->copyCount
, params
->stride
);
26750 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
);
26751 return STATUS_SUCCESS
;
26753 #endif /* _WIN64 */
26755 static NTSTATUS
thunk32_vkCmdCopyMemoryIndirectNV(void *args
)
26759 PTR32 commandBuffer
;
26760 VkDeviceAddress
DECLSPEC_ALIGN(8) copyBufferAddress
;
26761 uint32_t copyCount
;
26765 TRACE("%#x, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->copyBufferAddress
), params
->copyCount
, params
->stride
);
26767 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyMemoryIndirectNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->copyBufferAddress
, params
->copyCount
, params
->stride
);
26768 return STATUS_SUCCESS
;
26772 static NTSTATUS
thunk64_vkCmdCopyMemoryToAccelerationStructureKHR(void *args
)
26774 struct vkCmdCopyMemoryToAccelerationStructureKHR_params
*params
= args
;
26776 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
26778 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryToAccelerationStructureKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
26779 return STATUS_SUCCESS
;
26781 #endif /* _WIN64 */
26783 static NTSTATUS
thunk32_vkCmdCopyMemoryToAccelerationStructureKHR(void *args
)
26787 PTR32 commandBuffer
;
26790 VkCopyMemoryToAccelerationStructureInfoKHR pInfo_host
;
26792 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pInfo
);
26794 convert_VkCopyMemoryToAccelerationStructureInfoKHR_win32_to_host((const VkCopyMemoryToAccelerationStructureInfoKHR32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
26795 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyMemoryToAccelerationStructureKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pInfo_host
);
26796 return STATUS_SUCCESS
;
26800 static NTSTATUS
thunk64_vkCmdCopyMemoryToImageIndirectNV(void *args
)
26802 struct vkCmdCopyMemoryToImageIndirectNV_params
*params
= args
;
26804 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
);
26806 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
);
26807 return STATUS_SUCCESS
;
26809 #endif /* _WIN64 */
26811 static NTSTATUS
thunk32_vkCmdCopyMemoryToImageIndirectNV(void *args
)
26815 PTR32 commandBuffer
;
26816 VkDeviceAddress
DECLSPEC_ALIGN(8) copyBufferAddress
;
26817 uint32_t copyCount
;
26819 VkImage
DECLSPEC_ALIGN(8) dstImage
;
26820 VkImageLayout dstImageLayout
;
26821 PTR32 pImageSubresources
;
26824 TRACE("%#x, 0x%s, %u, %u, 0x%s, %#x, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->copyBufferAddress
), params
->copyCount
, params
->stride
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->pImageSubresources
);
26826 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyMemoryToImageIndirectNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->copyBufferAddress
, params
->copyCount
, params
->stride
, params
->dstImage
, params
->dstImageLayout
, (const VkImageSubresourceLayers
*)UlongToPtr(params
->pImageSubresources
));
26827 return STATUS_SUCCESS
;
26831 static NTSTATUS
thunk64_vkCmdCopyMemoryToMicromapEXT(void *args
)
26833 struct vkCmdCopyMemoryToMicromapEXT_params
*params
= args
;
26835 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
26837 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMemoryToMicromapEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
26838 return STATUS_SUCCESS
;
26840 #endif /* _WIN64 */
26842 static NTSTATUS
thunk32_vkCmdCopyMemoryToMicromapEXT(void *args
)
26846 PTR32 commandBuffer
;
26849 VkCopyMemoryToMicromapInfoEXT pInfo_host
;
26851 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pInfo
);
26853 convert_VkCopyMemoryToMicromapInfoEXT_win32_to_host((const VkCopyMemoryToMicromapInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
26854 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyMemoryToMicromapEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pInfo_host
);
26855 return STATUS_SUCCESS
;
26859 static NTSTATUS
thunk64_vkCmdCopyMicromapEXT(void *args
)
26861 struct vkCmdCopyMicromapEXT_params
*params
= args
;
26863 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
26865 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMicromapEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
26866 return STATUS_SUCCESS
;
26868 #endif /* _WIN64 */
26870 static NTSTATUS
thunk32_vkCmdCopyMicromapEXT(void *args
)
26874 PTR32 commandBuffer
;
26877 VkCopyMicromapInfoEXT pInfo_host
;
26879 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pInfo
);
26881 convert_VkCopyMicromapInfoEXT_win32_to_host((const VkCopyMicromapInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
26882 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyMicromapEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pInfo_host
);
26883 return STATUS_SUCCESS
;
26887 static NTSTATUS
thunk64_vkCmdCopyMicromapToMemoryEXT(void *args
)
26889 struct vkCmdCopyMicromapToMemoryEXT_params
*params
= args
;
26891 TRACE("%p, %p\n", params
->commandBuffer
, params
->pInfo
);
26893 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCopyMicromapToMemoryEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pInfo
);
26894 return STATUS_SUCCESS
;
26896 #endif /* _WIN64 */
26898 static NTSTATUS
thunk32_vkCmdCopyMicromapToMemoryEXT(void *args
)
26902 PTR32 commandBuffer
;
26905 VkCopyMicromapToMemoryInfoEXT pInfo_host
;
26907 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pInfo
);
26909 convert_VkCopyMicromapToMemoryInfoEXT_win32_to_host((const VkCopyMicromapToMemoryInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
26910 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyMicromapToMemoryEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pInfo_host
);
26911 return STATUS_SUCCESS
;
26915 static NTSTATUS
thunk64_vkCmdCopyQueryPoolResults(void *args
)
26917 struct vkCmdCopyQueryPoolResults_params
*params
= args
;
26919 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
);
26921 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
);
26922 return STATUS_SUCCESS
;
26924 #endif /* _WIN64 */
26926 static NTSTATUS
thunk32_vkCmdCopyQueryPoolResults(void *args
)
26930 PTR32 commandBuffer
;
26931 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
26932 uint32_t firstQuery
;
26933 uint32_t queryCount
;
26934 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
26935 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
26936 VkDeviceSize
DECLSPEC_ALIGN(8) stride
;
26937 VkQueryResultFlags flags
;
26940 TRACE("%#x, 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
);
26942 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCopyQueryPoolResults(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->queryPool
, params
->firstQuery
, params
->queryCount
, params
->dstBuffer
, params
->dstOffset
, params
->stride
, params
->flags
);
26943 return STATUS_SUCCESS
;
26947 static NTSTATUS
thunk64_vkCmdCuLaunchKernelNVX(void *args
)
26949 struct vkCmdCuLaunchKernelNVX_params
*params
= args
;
26951 TRACE("%p, %p\n", params
->commandBuffer
, params
->pLaunchInfo
);
26953 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdCuLaunchKernelNVX(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pLaunchInfo
);
26954 return STATUS_SUCCESS
;
26956 #endif /* _WIN64 */
26958 static NTSTATUS
thunk32_vkCmdCuLaunchKernelNVX(void *args
)
26962 PTR32 commandBuffer
;
26965 VkCuLaunchInfoNVX pLaunchInfo_host
;
26967 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pLaunchInfo
);
26969 convert_VkCuLaunchInfoNVX_win32_to_host((const VkCuLaunchInfoNVX32
*)UlongToPtr(params
->pLaunchInfo
), &pLaunchInfo_host
);
26970 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdCuLaunchKernelNVX(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pLaunchInfo_host
);
26971 return STATUS_SUCCESS
;
26975 static NTSTATUS
thunk64_vkCmdDebugMarkerBeginEXT(void *args
)
26977 struct vkCmdDebugMarkerBeginEXT_params
*params
= args
;
26979 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
26981 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDebugMarkerBeginEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
26982 return STATUS_SUCCESS
;
26984 #endif /* _WIN64 */
26986 static NTSTATUS
thunk32_vkCmdDebugMarkerBeginEXT(void *args
)
26990 PTR32 commandBuffer
;
26993 VkDebugMarkerMarkerInfoEXT pMarkerInfo_host
;
26995 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pMarkerInfo
);
26997 convert_VkDebugMarkerMarkerInfoEXT_win32_to_host((const VkDebugMarkerMarkerInfoEXT32
*)UlongToPtr(params
->pMarkerInfo
), &pMarkerInfo_host
);
26998 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDebugMarkerBeginEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pMarkerInfo_host
);
26999 return STATUS_SUCCESS
;
27003 static NTSTATUS
thunk64_vkCmdDebugMarkerEndEXT(void *args
)
27005 struct vkCmdDebugMarkerEndEXT_params
*params
= args
;
27007 TRACE("%p\n", params
->commandBuffer
);
27009 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDebugMarkerEndEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
27010 return STATUS_SUCCESS
;
27012 #endif /* _WIN64 */
27014 static NTSTATUS
thunk32_vkCmdDebugMarkerEndEXT(void *args
)
27018 PTR32 commandBuffer
;
27021 TRACE("%#x\n", params
->commandBuffer
);
27023 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDebugMarkerEndEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
);
27024 return STATUS_SUCCESS
;
27028 static NTSTATUS
thunk64_vkCmdDebugMarkerInsertEXT(void *args
)
27030 struct vkCmdDebugMarkerInsertEXT_params
*params
= args
;
27032 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
27034 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDebugMarkerInsertEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
27035 return STATUS_SUCCESS
;
27037 #endif /* _WIN64 */
27039 static NTSTATUS
thunk32_vkCmdDebugMarkerInsertEXT(void *args
)
27043 PTR32 commandBuffer
;
27046 VkDebugMarkerMarkerInfoEXT pMarkerInfo_host
;
27048 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pMarkerInfo
);
27050 convert_VkDebugMarkerMarkerInfoEXT_win32_to_host((const VkDebugMarkerMarkerInfoEXT32
*)UlongToPtr(params
->pMarkerInfo
), &pMarkerInfo_host
);
27051 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDebugMarkerInsertEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pMarkerInfo_host
);
27052 return STATUS_SUCCESS
;
27056 static NTSTATUS
thunk64_vkCmdDecompressMemoryIndirectCountNV(void *args
)
27058 struct vkCmdDecompressMemoryIndirectCountNV_params
*params
= args
;
27060 TRACE("%p, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->indirectCommandsAddress
), wine_dbgstr_longlong(params
->indirectCommandsCountAddress
), params
->stride
);
27062 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
);
27063 return STATUS_SUCCESS
;
27065 #endif /* _WIN64 */
27067 static NTSTATUS
thunk32_vkCmdDecompressMemoryIndirectCountNV(void *args
)
27071 PTR32 commandBuffer
;
27072 VkDeviceAddress
DECLSPEC_ALIGN(8) indirectCommandsAddress
;
27073 VkDeviceAddress
DECLSPEC_ALIGN(8) indirectCommandsCountAddress
;
27077 TRACE("%#x, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->indirectCommandsAddress
), wine_dbgstr_longlong(params
->indirectCommandsCountAddress
), params
->stride
);
27079 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDecompressMemoryIndirectCountNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->indirectCommandsAddress
, params
->indirectCommandsCountAddress
, params
->stride
);
27080 return STATUS_SUCCESS
;
27084 static NTSTATUS
thunk64_vkCmdDecompressMemoryNV(void *args
)
27086 struct vkCmdDecompressMemoryNV_params
*params
= args
;
27088 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->decompressRegionCount
, params
->pDecompressMemoryRegions
);
27090 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDecompressMemoryNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->decompressRegionCount
, params
->pDecompressMemoryRegions
);
27091 return STATUS_SUCCESS
;
27093 #endif /* _WIN64 */
27095 static NTSTATUS
thunk32_vkCmdDecompressMemoryNV(void *args
)
27099 PTR32 commandBuffer
;
27100 uint32_t decompressRegionCount
;
27101 PTR32 pDecompressMemoryRegions
;
27103 const VkDecompressMemoryRegionNV
*pDecompressMemoryRegions_host
;
27104 struct conversion_context ctx
;
27106 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->decompressRegionCount
, params
->pDecompressMemoryRegions
);
27108 init_conversion_context(&ctx
);
27109 pDecompressMemoryRegions_host
= convert_VkDecompressMemoryRegionNV_array_win32_to_host(&ctx
, (const VkDecompressMemoryRegionNV32
*)UlongToPtr(params
->pDecompressMemoryRegions
), params
->decompressRegionCount
);
27110 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDecompressMemoryNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->decompressRegionCount
, pDecompressMemoryRegions_host
);
27111 free_conversion_context(&ctx
);
27112 return STATUS_SUCCESS
;
27116 static NTSTATUS
thunk64_vkCmdDispatch(void *args
)
27118 struct vkCmdDispatch_params
*params
= args
;
27120 TRACE("%p, %u, %u, %u\n", params
->commandBuffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27122 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
);
27123 return STATUS_SUCCESS
;
27125 #endif /* _WIN64 */
27127 static NTSTATUS
thunk32_vkCmdDispatch(void *args
)
27131 PTR32 commandBuffer
;
27132 uint32_t groupCountX
;
27133 uint32_t groupCountY
;
27134 uint32_t groupCountZ
;
27137 TRACE("%#x, %u, %u, %u\n", params
->commandBuffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27139 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDispatch(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27140 return STATUS_SUCCESS
;
27144 static NTSTATUS
thunk64_vkCmdDispatchBase(void *args
)
27146 struct vkCmdDispatchBase_params
*params
= args
;
27148 TRACE("%p, %u, %u, %u, %u, %u, %u\n", params
->commandBuffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27150 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
);
27151 return STATUS_SUCCESS
;
27153 #endif /* _WIN64 */
27155 static NTSTATUS
thunk32_vkCmdDispatchBase(void *args
)
27159 PTR32 commandBuffer
;
27160 uint32_t baseGroupX
;
27161 uint32_t baseGroupY
;
27162 uint32_t baseGroupZ
;
27163 uint32_t groupCountX
;
27164 uint32_t groupCountY
;
27165 uint32_t groupCountZ
;
27168 TRACE("%#x, %u, %u, %u, %u, %u, %u\n", params
->commandBuffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27170 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDispatchBase(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27171 return STATUS_SUCCESS
;
27175 static NTSTATUS
thunk64_vkCmdDispatchBaseKHR(void *args
)
27177 struct vkCmdDispatchBaseKHR_params
*params
= args
;
27179 TRACE("%p, %u, %u, %u, %u, %u, %u\n", params
->commandBuffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27181 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
);
27182 return STATUS_SUCCESS
;
27184 #endif /* _WIN64 */
27186 static NTSTATUS
thunk32_vkCmdDispatchBaseKHR(void *args
)
27190 PTR32 commandBuffer
;
27191 uint32_t baseGroupX
;
27192 uint32_t baseGroupY
;
27193 uint32_t baseGroupZ
;
27194 uint32_t groupCountX
;
27195 uint32_t groupCountY
;
27196 uint32_t groupCountZ
;
27199 TRACE("%#x, %u, %u, %u, %u, %u, %u\n", params
->commandBuffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27201 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDispatchBaseKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->baseGroupX
, params
->baseGroupY
, params
->baseGroupZ
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27202 return STATUS_SUCCESS
;
27206 static NTSTATUS
thunk64_vkCmdDispatchIndirect(void *args
)
27208 struct vkCmdDispatchIndirect_params
*params
= args
;
27210 TRACE("%p, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
));
27212 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDispatchIndirect(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->buffer
, params
->offset
);
27213 return STATUS_SUCCESS
;
27215 #endif /* _WIN64 */
27217 static NTSTATUS
thunk32_vkCmdDispatchIndirect(void *args
)
27221 PTR32 commandBuffer
;
27222 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27223 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27226 TRACE("%#x, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
));
27228 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDispatchIndirect(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
);
27229 return STATUS_SUCCESS
;
27233 static NTSTATUS
thunk64_vkCmdDraw(void *args
)
27235 struct vkCmdDraw_params
*params
= args
;
27237 TRACE("%p, %u, %u, %u, %u\n", params
->commandBuffer
, params
->vertexCount
, params
->instanceCount
, params
->firstVertex
, params
->firstInstance
);
27239 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
);
27240 return STATUS_SUCCESS
;
27242 #endif /* _WIN64 */
27244 static NTSTATUS
thunk32_vkCmdDraw(void *args
)
27248 PTR32 commandBuffer
;
27249 uint32_t vertexCount
;
27250 uint32_t instanceCount
;
27251 uint32_t firstVertex
;
27252 uint32_t firstInstance
;
27255 TRACE("%#x, %u, %u, %u, %u\n", params
->commandBuffer
, params
->vertexCount
, params
->instanceCount
, params
->firstVertex
, params
->firstInstance
);
27257 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDraw(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->vertexCount
, params
->instanceCount
, params
->firstVertex
, params
->firstInstance
);
27258 return STATUS_SUCCESS
;
27262 static NTSTATUS
thunk64_vkCmdDrawIndexed(void *args
)
27264 struct vkCmdDrawIndexed_params
*params
= args
;
27266 TRACE("%p, %u, %u, %u, %d, %u\n", params
->commandBuffer
, params
->indexCount
, params
->instanceCount
, params
->firstIndex
, params
->vertexOffset
, params
->firstInstance
);
27268 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
);
27269 return STATUS_SUCCESS
;
27271 #endif /* _WIN64 */
27273 static NTSTATUS
thunk32_vkCmdDrawIndexed(void *args
)
27277 PTR32 commandBuffer
;
27278 uint32_t indexCount
;
27279 uint32_t instanceCount
;
27280 uint32_t firstIndex
;
27281 int32_t vertexOffset
;
27282 uint32_t firstInstance
;
27285 TRACE("%#x, %u, %u, %u, %d, %u\n", params
->commandBuffer
, params
->indexCount
, params
->instanceCount
, params
->firstIndex
, params
->vertexOffset
, params
->firstInstance
);
27287 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndexed(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->indexCount
, params
->instanceCount
, params
->firstIndex
, params
->vertexOffset
, params
->firstInstance
);
27288 return STATUS_SUCCESS
;
27292 static NTSTATUS
thunk64_vkCmdDrawIndexedIndirect(void *args
)
27294 struct vkCmdDrawIndexedIndirect_params
*params
= args
;
27296 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
);
27298 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
);
27299 return STATUS_SUCCESS
;
27301 #endif /* _WIN64 */
27303 static NTSTATUS
thunk32_vkCmdDrawIndexedIndirect(void *args
)
27307 PTR32 commandBuffer
;
27308 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27309 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27310 uint32_t drawCount
;
27314 TRACE("%#x, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
27316 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndexedIndirect(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
27317 return STATUS_SUCCESS
;
27321 static NTSTATUS
thunk64_vkCmdDrawIndexedIndirectCount(void *args
)
27323 struct vkCmdDrawIndexedIndirectCount_params
*params
= args
;
27325 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
);
27327 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
);
27328 return STATUS_SUCCESS
;
27330 #endif /* _WIN64 */
27332 static NTSTATUS
thunk32_vkCmdDrawIndexedIndirectCount(void *args
)
27336 PTR32 commandBuffer
;
27337 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27338 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27339 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
27340 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
27341 uint32_t maxDrawCount
;
27345 TRACE("%#x, 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
);
27347 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndexedIndirectCount(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
27348 return STATUS_SUCCESS
;
27352 static NTSTATUS
thunk64_vkCmdDrawIndexedIndirectCountAMD(void *args
)
27354 struct vkCmdDrawIndexedIndirectCountAMD_params
*params
= args
;
27356 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
);
27358 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
);
27359 return STATUS_SUCCESS
;
27361 #endif /* _WIN64 */
27363 static NTSTATUS
thunk32_vkCmdDrawIndexedIndirectCountAMD(void *args
)
27367 PTR32 commandBuffer
;
27368 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27369 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27370 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
27371 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
27372 uint32_t maxDrawCount
;
27376 TRACE("%#x, 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
);
27378 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndexedIndirectCountAMD(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
27379 return STATUS_SUCCESS
;
27383 static NTSTATUS
thunk64_vkCmdDrawIndexedIndirectCountKHR(void *args
)
27385 struct vkCmdDrawIndexedIndirectCountKHR_params
*params
= args
;
27387 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
);
27389 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
);
27390 return STATUS_SUCCESS
;
27392 #endif /* _WIN64 */
27394 static NTSTATUS
thunk32_vkCmdDrawIndexedIndirectCountKHR(void *args
)
27398 PTR32 commandBuffer
;
27399 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27400 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27401 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
27402 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
27403 uint32_t maxDrawCount
;
27407 TRACE("%#x, 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
);
27409 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndexedIndirectCountKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
27410 return STATUS_SUCCESS
;
27414 static NTSTATUS
thunk64_vkCmdDrawIndirect(void *args
)
27416 struct vkCmdDrawIndirect_params
*params
= args
;
27418 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
);
27420 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
);
27421 return STATUS_SUCCESS
;
27423 #endif /* _WIN64 */
27425 static NTSTATUS
thunk32_vkCmdDrawIndirect(void *args
)
27429 PTR32 commandBuffer
;
27430 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27431 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27432 uint32_t drawCount
;
27436 TRACE("%#x, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
27438 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndirect(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
27439 return STATUS_SUCCESS
;
27443 static NTSTATUS
thunk64_vkCmdDrawIndirectByteCountEXT(void *args
)
27445 struct vkCmdDrawIndirectByteCountEXT_params
*params
= args
;
27447 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
);
27449 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
);
27450 return STATUS_SUCCESS
;
27452 #endif /* _WIN64 */
27454 static NTSTATUS
thunk32_vkCmdDrawIndirectByteCountEXT(void *args
)
27458 PTR32 commandBuffer
;
27459 uint32_t instanceCount
;
27460 uint32_t firstInstance
;
27461 VkBuffer
DECLSPEC_ALIGN(8) counterBuffer
;
27462 VkDeviceSize
DECLSPEC_ALIGN(8) counterBufferOffset
;
27463 uint32_t counterOffset
;
27464 uint32_t vertexStride
;
27467 TRACE("%#x, %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
);
27469 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndirectByteCountEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->instanceCount
, params
->firstInstance
, params
->counterBuffer
, params
->counterBufferOffset
, params
->counterOffset
, params
->vertexStride
);
27470 return STATUS_SUCCESS
;
27474 static NTSTATUS
thunk64_vkCmdDrawIndirectCount(void *args
)
27476 struct vkCmdDrawIndirectCount_params
*params
= args
;
27478 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
);
27480 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
);
27481 return STATUS_SUCCESS
;
27483 #endif /* _WIN64 */
27485 static NTSTATUS
thunk32_vkCmdDrawIndirectCount(void *args
)
27489 PTR32 commandBuffer
;
27490 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27491 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27492 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
27493 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
27494 uint32_t maxDrawCount
;
27498 TRACE("%#x, 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
);
27500 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndirectCount(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
27501 return STATUS_SUCCESS
;
27505 static NTSTATUS
thunk64_vkCmdDrawIndirectCountAMD(void *args
)
27507 struct vkCmdDrawIndirectCountAMD_params
*params
= args
;
27509 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
);
27511 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
);
27512 return STATUS_SUCCESS
;
27514 #endif /* _WIN64 */
27516 static NTSTATUS
thunk32_vkCmdDrawIndirectCountAMD(void *args
)
27520 PTR32 commandBuffer
;
27521 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27522 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27523 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
27524 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
27525 uint32_t maxDrawCount
;
27529 TRACE("%#x, 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
);
27531 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndirectCountAMD(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
27532 return STATUS_SUCCESS
;
27536 static NTSTATUS
thunk64_vkCmdDrawIndirectCountKHR(void *args
)
27538 struct vkCmdDrawIndirectCountKHR_params
*params
= args
;
27540 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
);
27542 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
);
27543 return STATUS_SUCCESS
;
27545 #endif /* _WIN64 */
27547 static NTSTATUS
thunk32_vkCmdDrawIndirectCountKHR(void *args
)
27551 PTR32 commandBuffer
;
27552 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27553 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27554 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
27555 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
27556 uint32_t maxDrawCount
;
27560 TRACE("%#x, 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
);
27562 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawIndirectCountKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
27563 return STATUS_SUCCESS
;
27567 static NTSTATUS
thunk64_vkCmdDrawMeshTasksEXT(void *args
)
27569 struct vkCmdDrawMeshTasksEXT_params
*params
= args
;
27571 TRACE("%p, %u, %u, %u\n", params
->commandBuffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27573 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
);
27574 return STATUS_SUCCESS
;
27576 #endif /* _WIN64 */
27578 static NTSTATUS
thunk32_vkCmdDrawMeshTasksEXT(void *args
)
27582 PTR32 commandBuffer
;
27583 uint32_t groupCountX
;
27584 uint32_t groupCountY
;
27585 uint32_t groupCountZ
;
27588 TRACE("%#x, %u, %u, %u\n", params
->commandBuffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27590 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawMeshTasksEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->groupCountX
, params
->groupCountY
, params
->groupCountZ
);
27591 return STATUS_SUCCESS
;
27595 static NTSTATUS
thunk64_vkCmdDrawMeshTasksIndirectCountEXT(void *args
)
27597 struct vkCmdDrawMeshTasksIndirectCountEXT_params
*params
= args
;
27599 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
);
27601 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
);
27602 return STATUS_SUCCESS
;
27604 #endif /* _WIN64 */
27606 static NTSTATUS
thunk32_vkCmdDrawMeshTasksIndirectCountEXT(void *args
)
27610 PTR32 commandBuffer
;
27611 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27612 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27613 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
27614 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
27615 uint32_t maxDrawCount
;
27619 TRACE("%#x, 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
);
27621 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawMeshTasksIndirectCountEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
27622 return STATUS_SUCCESS
;
27626 static NTSTATUS
thunk64_vkCmdDrawMeshTasksIndirectCountNV(void *args
)
27628 struct vkCmdDrawMeshTasksIndirectCountNV_params
*params
= args
;
27630 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
);
27632 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
);
27633 return STATUS_SUCCESS
;
27635 #endif /* _WIN64 */
27637 static NTSTATUS
thunk32_vkCmdDrawMeshTasksIndirectCountNV(void *args
)
27641 PTR32 commandBuffer
;
27642 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27643 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27644 VkBuffer
DECLSPEC_ALIGN(8) countBuffer
;
27645 VkDeviceSize
DECLSPEC_ALIGN(8) countBufferOffset
;
27646 uint32_t maxDrawCount
;
27650 TRACE("%#x, 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
);
27652 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawMeshTasksIndirectCountNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->countBuffer
, params
->countBufferOffset
, params
->maxDrawCount
, params
->stride
);
27653 return STATUS_SUCCESS
;
27657 static NTSTATUS
thunk64_vkCmdDrawMeshTasksIndirectEXT(void *args
)
27659 struct vkCmdDrawMeshTasksIndirectEXT_params
*params
= args
;
27661 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
);
27663 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
);
27664 return STATUS_SUCCESS
;
27666 #endif /* _WIN64 */
27668 static NTSTATUS
thunk32_vkCmdDrawMeshTasksIndirectEXT(void *args
)
27672 PTR32 commandBuffer
;
27673 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27674 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27675 uint32_t drawCount
;
27679 TRACE("%#x, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
27681 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawMeshTasksIndirectEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
27682 return STATUS_SUCCESS
;
27686 static NTSTATUS
thunk64_vkCmdDrawMeshTasksIndirectNV(void *args
)
27688 struct vkCmdDrawMeshTasksIndirectNV_params
*params
= args
;
27690 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
);
27692 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
);
27693 return STATUS_SUCCESS
;
27695 #endif /* _WIN64 */
27697 static NTSTATUS
thunk32_vkCmdDrawMeshTasksIndirectNV(void *args
)
27701 PTR32 commandBuffer
;
27702 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
27703 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
27704 uint32_t drawCount
;
27708 TRACE("%#x, 0x%s, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->buffer
), wine_dbgstr_longlong(params
->offset
), params
->drawCount
, params
->stride
);
27710 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawMeshTasksIndirectNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->buffer
, params
->offset
, params
->drawCount
, params
->stride
);
27711 return STATUS_SUCCESS
;
27715 static NTSTATUS
thunk64_vkCmdDrawMeshTasksNV(void *args
)
27717 struct vkCmdDrawMeshTasksNV_params
*params
= args
;
27719 TRACE("%p, %u, %u\n", params
->commandBuffer
, params
->taskCount
, params
->firstTask
);
27721 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdDrawMeshTasksNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->taskCount
, params
->firstTask
);
27722 return STATUS_SUCCESS
;
27724 #endif /* _WIN64 */
27726 static NTSTATUS
thunk32_vkCmdDrawMeshTasksNV(void *args
)
27730 PTR32 commandBuffer
;
27731 uint32_t taskCount
;
27732 uint32_t firstTask
;
27735 TRACE("%#x, %u, %u\n", params
->commandBuffer
, params
->taskCount
, params
->firstTask
);
27737 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawMeshTasksNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->taskCount
, params
->firstTask
);
27738 return STATUS_SUCCESS
;
27742 static NTSTATUS
thunk64_vkCmdDrawMultiEXT(void *args
)
27744 struct vkCmdDrawMultiEXT_params
*params
= args
;
27746 TRACE("%p, %u, %p, %u, %u, %u\n", params
->commandBuffer
, params
->drawCount
, params
->pVertexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
);
27748 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
);
27749 return STATUS_SUCCESS
;
27751 #endif /* _WIN64 */
27753 static NTSTATUS
thunk32_vkCmdDrawMultiEXT(void *args
)
27757 PTR32 commandBuffer
;
27758 uint32_t drawCount
;
27760 uint32_t instanceCount
;
27761 uint32_t firstInstance
;
27765 TRACE("%#x, %u, %#x, %u, %u, %u\n", params
->commandBuffer
, params
->drawCount
, params
->pVertexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
);
27767 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawMultiEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->drawCount
, (const VkMultiDrawInfoEXT
*)UlongToPtr(params
->pVertexInfo
), params
->instanceCount
, params
->firstInstance
, params
->stride
);
27768 return STATUS_SUCCESS
;
27772 static NTSTATUS
thunk64_vkCmdDrawMultiIndexedEXT(void *args
)
27774 struct vkCmdDrawMultiIndexedEXT_params
*params
= args
;
27776 TRACE("%p, %u, %p, %u, %u, %u, %p\n", params
->commandBuffer
, params
->drawCount
, params
->pIndexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
, params
->pVertexOffset
);
27778 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
);
27779 return STATUS_SUCCESS
;
27781 #endif /* _WIN64 */
27783 static NTSTATUS
thunk32_vkCmdDrawMultiIndexedEXT(void *args
)
27787 PTR32 commandBuffer
;
27788 uint32_t drawCount
;
27790 uint32_t instanceCount
;
27791 uint32_t firstInstance
;
27793 PTR32 pVertexOffset
;
27796 TRACE("%#x, %u, %#x, %u, %u, %u, %#x\n", params
->commandBuffer
, params
->drawCount
, params
->pIndexInfo
, params
->instanceCount
, params
->firstInstance
, params
->stride
, params
->pVertexOffset
);
27798 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdDrawMultiIndexedEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->drawCount
, (const VkMultiDrawIndexedInfoEXT
*)UlongToPtr(params
->pIndexInfo
), params
->instanceCount
, params
->firstInstance
, params
->stride
, (const int32_t *)UlongToPtr(params
->pVertexOffset
));
27799 return STATUS_SUCCESS
;
27803 static NTSTATUS
thunk64_vkCmdEndConditionalRenderingEXT(void *args
)
27805 struct vkCmdEndConditionalRenderingEXT_params
*params
= args
;
27807 TRACE("%p\n", params
->commandBuffer
);
27809 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndConditionalRenderingEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
27810 return STATUS_SUCCESS
;
27812 #endif /* _WIN64 */
27814 static NTSTATUS
thunk32_vkCmdEndConditionalRenderingEXT(void *args
)
27818 PTR32 commandBuffer
;
27821 TRACE("%#x\n", params
->commandBuffer
);
27823 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndConditionalRenderingEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
);
27824 return STATUS_SUCCESS
;
27828 static NTSTATUS
thunk64_vkCmdEndDebugUtilsLabelEXT(void *args
)
27830 struct vkCmdEndDebugUtilsLabelEXT_params
*params
= args
;
27832 TRACE("%p\n", params
->commandBuffer
);
27834 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndDebugUtilsLabelEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
27835 return STATUS_SUCCESS
;
27837 #endif /* _WIN64 */
27839 static NTSTATUS
thunk32_vkCmdEndDebugUtilsLabelEXT(void *args
)
27843 PTR32 commandBuffer
;
27846 TRACE("%#x\n", params
->commandBuffer
);
27848 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndDebugUtilsLabelEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
);
27849 return STATUS_SUCCESS
;
27853 static NTSTATUS
thunk64_vkCmdEndQuery(void *args
)
27855 struct vkCmdEndQuery_params
*params
= args
;
27857 TRACE("%p, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
);
27859 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndQuery(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->queryPool
, params
->query
);
27860 return STATUS_SUCCESS
;
27862 #endif /* _WIN64 */
27864 static NTSTATUS
thunk32_vkCmdEndQuery(void *args
)
27868 PTR32 commandBuffer
;
27869 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
27873 TRACE("%#x, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
);
27875 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndQuery(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->queryPool
, params
->query
);
27876 return STATUS_SUCCESS
;
27880 static NTSTATUS
thunk64_vkCmdEndQueryIndexedEXT(void *args
)
27882 struct vkCmdEndQueryIndexedEXT_params
*params
= args
;
27884 TRACE("%p, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->index
);
27886 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
);
27887 return STATUS_SUCCESS
;
27889 #endif /* _WIN64 */
27891 static NTSTATUS
thunk32_vkCmdEndQueryIndexedEXT(void *args
)
27895 PTR32 commandBuffer
;
27896 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
27901 TRACE("%#x, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->query
, params
->index
);
27903 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndQueryIndexedEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->queryPool
, params
->query
, params
->index
);
27904 return STATUS_SUCCESS
;
27908 static NTSTATUS
thunk64_vkCmdEndRenderPass(void *args
)
27910 struct vkCmdEndRenderPass_params
*params
= args
;
27912 TRACE("%p\n", params
->commandBuffer
);
27914 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderPass(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
27915 return STATUS_SUCCESS
;
27917 #endif /* _WIN64 */
27919 static NTSTATUS
thunk32_vkCmdEndRenderPass(void *args
)
27923 PTR32 commandBuffer
;
27926 TRACE("%#x\n", params
->commandBuffer
);
27928 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndRenderPass(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
);
27929 return STATUS_SUCCESS
;
27933 static NTSTATUS
thunk64_vkCmdEndRenderPass2(void *args
)
27935 struct vkCmdEndRenderPass2_params
*params
= args
;
27937 TRACE("%p, %p\n", params
->commandBuffer
, params
->pSubpassEndInfo
);
27939 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderPass2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassEndInfo
);
27940 return STATUS_SUCCESS
;
27942 #endif /* _WIN64 */
27944 static NTSTATUS
thunk32_vkCmdEndRenderPass2(void *args
)
27948 PTR32 commandBuffer
;
27949 PTR32 pSubpassEndInfo
;
27951 VkSubpassEndInfo pSubpassEndInfo_host
;
27952 struct conversion_context ctx
;
27954 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pSubpassEndInfo
);
27956 init_conversion_context(&ctx
);
27957 convert_VkSubpassEndInfo_win32_to_host(&ctx
, (const VkSubpassEndInfo32
*)UlongToPtr(params
->pSubpassEndInfo
), &pSubpassEndInfo_host
);
27958 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndRenderPass2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pSubpassEndInfo_host
);
27959 free_conversion_context(&ctx
);
27960 return STATUS_SUCCESS
;
27964 static NTSTATUS
thunk64_vkCmdEndRenderPass2KHR(void *args
)
27966 struct vkCmdEndRenderPass2KHR_params
*params
= args
;
27968 TRACE("%p, %p\n", params
->commandBuffer
, params
->pSubpassEndInfo
);
27970 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderPass2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassEndInfo
);
27971 return STATUS_SUCCESS
;
27973 #endif /* _WIN64 */
27975 static NTSTATUS
thunk32_vkCmdEndRenderPass2KHR(void *args
)
27979 PTR32 commandBuffer
;
27980 PTR32 pSubpassEndInfo
;
27982 VkSubpassEndInfo pSubpassEndInfo_host
;
27983 struct conversion_context ctx
;
27985 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pSubpassEndInfo
);
27987 init_conversion_context(&ctx
);
27988 convert_VkSubpassEndInfo_win32_to_host(&ctx
, (const VkSubpassEndInfo32
*)UlongToPtr(params
->pSubpassEndInfo
), &pSubpassEndInfo_host
);
27989 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndRenderPass2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pSubpassEndInfo_host
);
27990 free_conversion_context(&ctx
);
27991 return STATUS_SUCCESS
;
27995 static NTSTATUS
thunk64_vkCmdEndRendering(void *args
)
27997 struct vkCmdEndRendering_params
*params
= args
;
27999 TRACE("%p\n", params
->commandBuffer
);
28001 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRendering(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
28002 return STATUS_SUCCESS
;
28004 #endif /* _WIN64 */
28006 static NTSTATUS
thunk32_vkCmdEndRendering(void *args
)
28010 PTR32 commandBuffer
;
28013 TRACE("%#x\n", params
->commandBuffer
);
28015 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndRendering(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
);
28016 return STATUS_SUCCESS
;
28020 static NTSTATUS
thunk64_vkCmdEndRenderingKHR(void *args
)
28022 struct vkCmdEndRenderingKHR_params
*params
= args
;
28024 TRACE("%p\n", params
->commandBuffer
);
28026 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdEndRenderingKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
28027 return STATUS_SUCCESS
;
28029 #endif /* _WIN64 */
28031 static NTSTATUS
thunk32_vkCmdEndRenderingKHR(void *args
)
28035 PTR32 commandBuffer
;
28038 TRACE("%#x\n", params
->commandBuffer
);
28040 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndRenderingKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
);
28041 return STATUS_SUCCESS
;
28045 static NTSTATUS
thunk64_vkCmdEndTransformFeedbackEXT(void *args
)
28047 struct vkCmdEndTransformFeedbackEXT_params
*params
= args
;
28049 TRACE("%p, %u, %u, %p, %p\n", params
->commandBuffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
28051 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
);
28052 return STATUS_SUCCESS
;
28054 #endif /* _WIN64 */
28056 static NTSTATUS
thunk32_vkCmdEndTransformFeedbackEXT(void *args
)
28060 PTR32 commandBuffer
;
28061 uint32_t firstCounterBuffer
;
28062 uint32_t counterBufferCount
;
28063 PTR32 pCounterBuffers
;
28064 PTR32 pCounterBufferOffsets
;
28067 TRACE("%#x, %u, %u, %#x, %#x\n", params
->commandBuffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, params
->pCounterBuffers
, params
->pCounterBufferOffsets
);
28069 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdEndTransformFeedbackEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstCounterBuffer
, params
->counterBufferCount
, (const VkBuffer
*)UlongToPtr(params
->pCounterBuffers
), (const VkDeviceSize
*)UlongToPtr(params
->pCounterBufferOffsets
));
28070 return STATUS_SUCCESS
;
28074 static NTSTATUS
thunk64_vkCmdExecuteCommands(void *args
)
28076 struct vkCmdExecuteCommands_params
*params
= args
;
28077 const VkCommandBuffer
*pCommandBuffers_host
;
28078 struct conversion_context ctx
;
28080 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->commandBufferCount
, params
->pCommandBuffers
);
28082 init_conversion_context(&ctx
);
28083 pCommandBuffers_host
= convert_VkCommandBuffer_array_win64_to_host(&ctx
, params
->pCommandBuffers
, params
->commandBufferCount
);
28084 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdExecuteCommands(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->commandBufferCount
, pCommandBuffers_host
);
28085 free_conversion_context(&ctx
);
28086 return STATUS_SUCCESS
;
28088 #endif /* _WIN64 */
28090 static NTSTATUS
thunk32_vkCmdExecuteCommands(void *args
)
28094 PTR32 commandBuffer
;
28095 uint32_t commandBufferCount
;
28096 PTR32 pCommandBuffers
;
28098 const VkCommandBuffer
*pCommandBuffers_host
;
28099 struct conversion_context ctx
;
28101 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->commandBufferCount
, params
->pCommandBuffers
);
28103 init_conversion_context(&ctx
);
28104 pCommandBuffers_host
= convert_VkCommandBuffer_array_win32_to_host(&ctx
, (const PTR32
*)UlongToPtr(params
->pCommandBuffers
), params
->commandBufferCount
);
28105 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdExecuteCommands(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->commandBufferCount
, pCommandBuffers_host
);
28106 free_conversion_context(&ctx
);
28107 return STATUS_SUCCESS
;
28111 static NTSTATUS
thunk64_vkCmdExecuteGeneratedCommandsNV(void *args
)
28113 struct vkCmdExecuteGeneratedCommandsNV_params
*params
= args
;
28115 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->isPreprocessed
, params
->pGeneratedCommandsInfo
);
28117 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->isPreprocessed
, params
->pGeneratedCommandsInfo
);
28118 return STATUS_SUCCESS
;
28120 #endif /* _WIN64 */
28122 static NTSTATUS
thunk32_vkCmdExecuteGeneratedCommandsNV(void *args
)
28126 PTR32 commandBuffer
;
28127 VkBool32 isPreprocessed
;
28128 PTR32 pGeneratedCommandsInfo
;
28130 VkGeneratedCommandsInfoNV pGeneratedCommandsInfo_host
;
28131 struct conversion_context ctx
;
28133 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->isPreprocessed
, params
->pGeneratedCommandsInfo
);
28135 init_conversion_context(&ctx
);
28136 convert_VkGeneratedCommandsInfoNV_win32_to_host(&ctx
, (const VkGeneratedCommandsInfoNV32
*)UlongToPtr(params
->pGeneratedCommandsInfo
), &pGeneratedCommandsInfo_host
);
28137 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdExecuteGeneratedCommandsNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->isPreprocessed
, &pGeneratedCommandsInfo_host
);
28138 free_conversion_context(&ctx
);
28139 return STATUS_SUCCESS
;
28143 static NTSTATUS
thunk64_vkCmdFillBuffer(void *args
)
28145 struct vkCmdFillBuffer_params
*params
= args
;
28147 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
);
28149 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
);
28150 return STATUS_SUCCESS
;
28152 #endif /* _WIN64 */
28154 static NTSTATUS
thunk32_vkCmdFillBuffer(void *args
)
28158 PTR32 commandBuffer
;
28159 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
28160 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
28161 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
28165 TRACE("%#x, 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
);
28167 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdFillBuffer(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->dstBuffer
, params
->dstOffset
, params
->size
, params
->data
);
28168 return STATUS_SUCCESS
;
28172 static NTSTATUS
thunk64_vkCmdInsertDebugUtilsLabelEXT(void *args
)
28174 struct vkCmdInsertDebugUtilsLabelEXT_params
*params
= args
;
28176 TRACE("%p, %p\n", params
->commandBuffer
, params
->pLabelInfo
);
28178 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdInsertDebugUtilsLabelEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pLabelInfo
);
28179 return STATUS_SUCCESS
;
28181 #endif /* _WIN64 */
28183 static NTSTATUS
thunk32_vkCmdInsertDebugUtilsLabelEXT(void *args
)
28187 PTR32 commandBuffer
;
28190 VkDebugUtilsLabelEXT pLabelInfo_host
;
28192 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pLabelInfo
);
28194 convert_VkDebugUtilsLabelEXT_win32_to_host((const VkDebugUtilsLabelEXT32
*)UlongToPtr(params
->pLabelInfo
), &pLabelInfo_host
);
28195 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdInsertDebugUtilsLabelEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pLabelInfo_host
);
28196 return STATUS_SUCCESS
;
28200 static NTSTATUS
thunk64_vkCmdNextSubpass(void *args
)
28202 struct vkCmdNextSubpass_params
*params
= args
;
28204 TRACE("%p, %#x\n", params
->commandBuffer
, params
->contents
);
28206 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdNextSubpass(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->contents
);
28207 return STATUS_SUCCESS
;
28209 #endif /* _WIN64 */
28211 static NTSTATUS
thunk32_vkCmdNextSubpass(void *args
)
28215 PTR32 commandBuffer
;
28216 VkSubpassContents contents
;
28219 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->contents
);
28221 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdNextSubpass(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->contents
);
28222 return STATUS_SUCCESS
;
28226 static NTSTATUS
thunk64_vkCmdNextSubpass2(void *args
)
28228 struct vkCmdNextSubpass2_params
*params
= args
;
28230 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
28232 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdNextSubpass2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
28233 return STATUS_SUCCESS
;
28235 #endif /* _WIN64 */
28237 static NTSTATUS
thunk32_vkCmdNextSubpass2(void *args
)
28241 PTR32 commandBuffer
;
28242 PTR32 pSubpassBeginInfo
;
28243 PTR32 pSubpassEndInfo
;
28245 VkSubpassBeginInfo pSubpassBeginInfo_host
;
28246 VkSubpassEndInfo pSubpassEndInfo_host
;
28247 struct conversion_context ctx
;
28249 TRACE("%#x, %#x, %#x\n", params
->commandBuffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
28251 init_conversion_context(&ctx
);
28252 convert_VkSubpassBeginInfo_win32_to_host((const VkSubpassBeginInfo32
*)UlongToPtr(params
->pSubpassBeginInfo
), &pSubpassBeginInfo_host
);
28253 convert_VkSubpassEndInfo_win32_to_host(&ctx
, (const VkSubpassEndInfo32
*)UlongToPtr(params
->pSubpassEndInfo
), &pSubpassEndInfo_host
);
28254 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdNextSubpass2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pSubpassBeginInfo_host
, &pSubpassEndInfo_host
);
28255 free_conversion_context(&ctx
);
28256 return STATUS_SUCCESS
;
28260 static NTSTATUS
thunk64_vkCmdNextSubpass2KHR(void *args
)
28262 struct vkCmdNextSubpass2KHR_params
*params
= args
;
28264 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
28266 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdNextSubpass2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
28267 return STATUS_SUCCESS
;
28269 #endif /* _WIN64 */
28271 static NTSTATUS
thunk32_vkCmdNextSubpass2KHR(void *args
)
28275 PTR32 commandBuffer
;
28276 PTR32 pSubpassBeginInfo
;
28277 PTR32 pSubpassEndInfo
;
28279 VkSubpassBeginInfo pSubpassBeginInfo_host
;
28280 VkSubpassEndInfo pSubpassEndInfo_host
;
28281 struct conversion_context ctx
;
28283 TRACE("%#x, %#x, %#x\n", params
->commandBuffer
, params
->pSubpassBeginInfo
, params
->pSubpassEndInfo
);
28285 init_conversion_context(&ctx
);
28286 convert_VkSubpassBeginInfo_win32_to_host((const VkSubpassBeginInfo32
*)UlongToPtr(params
->pSubpassBeginInfo
), &pSubpassBeginInfo_host
);
28287 convert_VkSubpassEndInfo_win32_to_host(&ctx
, (const VkSubpassEndInfo32
*)UlongToPtr(params
->pSubpassEndInfo
), &pSubpassEndInfo_host
);
28288 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdNextSubpass2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pSubpassBeginInfo_host
, &pSubpassEndInfo_host
);
28289 free_conversion_context(&ctx
);
28290 return STATUS_SUCCESS
;
28294 static NTSTATUS
thunk64_vkCmdOpticalFlowExecuteNV(void *args
)
28296 struct vkCmdOpticalFlowExecuteNV_params
*params
= args
;
28298 TRACE("%p, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->session
), params
->pExecuteInfo
);
28300 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdOpticalFlowExecuteNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->session
, params
->pExecuteInfo
);
28301 return STATUS_SUCCESS
;
28303 #endif /* _WIN64 */
28305 static NTSTATUS
thunk32_vkCmdOpticalFlowExecuteNV(void *args
)
28309 PTR32 commandBuffer
;
28310 VkOpticalFlowSessionNV
DECLSPEC_ALIGN(8) session
;
28311 PTR32 pExecuteInfo
;
28313 VkOpticalFlowExecuteInfoNV pExecuteInfo_host
;
28315 TRACE("%#x, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->session
), params
->pExecuteInfo
);
28317 convert_VkOpticalFlowExecuteInfoNV_win32_to_host((const VkOpticalFlowExecuteInfoNV32
*)UlongToPtr(params
->pExecuteInfo
), &pExecuteInfo_host
);
28318 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdOpticalFlowExecuteNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->session
, &pExecuteInfo_host
);
28319 return STATUS_SUCCESS
;
28323 static NTSTATUS
thunk64_vkCmdPipelineBarrier(void *args
)
28325 struct vkCmdPipelineBarrier_params
*params
= args
;
28327 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
);
28329 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
);
28330 return STATUS_SUCCESS
;
28332 #endif /* _WIN64 */
28334 static NTSTATUS
thunk32_vkCmdPipelineBarrier(void *args
)
28338 PTR32 commandBuffer
;
28339 VkPipelineStageFlags srcStageMask
;
28340 VkPipelineStageFlags dstStageMask
;
28341 VkDependencyFlags dependencyFlags
;
28342 uint32_t memoryBarrierCount
;
28343 PTR32 pMemoryBarriers
;
28344 uint32_t bufferMemoryBarrierCount
;
28345 PTR32 pBufferMemoryBarriers
;
28346 uint32_t imageMemoryBarrierCount
;
28347 PTR32 pImageMemoryBarriers
;
28349 const VkMemoryBarrier
*pMemoryBarriers_host
;
28350 const VkBufferMemoryBarrier
*pBufferMemoryBarriers_host
;
28351 const VkImageMemoryBarrier
*pImageMemoryBarriers_host
;
28352 struct conversion_context ctx
;
28354 TRACE("%#x, %#x, %#x, %#x, %u, %#x, %u, %#x, %u, %#x\n", params
->commandBuffer
, params
->srcStageMask
, params
->dstStageMask
, params
->dependencyFlags
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, params
->pBufferMemoryBarriers
, params
->imageMemoryBarrierCount
, params
->pImageMemoryBarriers
);
28356 init_conversion_context(&ctx
);
28357 pMemoryBarriers_host
= convert_VkMemoryBarrier_array_win32_to_host(&ctx
, (const VkMemoryBarrier32
*)UlongToPtr(params
->pMemoryBarriers
), params
->memoryBarrierCount
);
28358 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win32_to_host(&ctx
, (const VkBufferMemoryBarrier32
*)UlongToPtr(params
->pBufferMemoryBarriers
), params
->bufferMemoryBarrierCount
);
28359 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win32_to_host(&ctx
, (const VkImageMemoryBarrier32
*)UlongToPtr(params
->pImageMemoryBarriers
), params
->imageMemoryBarrierCount
);
28360 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdPipelineBarrier(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->srcStageMask
, params
->dstStageMask
, params
->dependencyFlags
, params
->memoryBarrierCount
, pMemoryBarriers_host
, params
->bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, params
->imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
28361 free_conversion_context(&ctx
);
28362 return STATUS_SUCCESS
;
28366 static NTSTATUS
thunk64_vkCmdPipelineBarrier2(void *args
)
28368 struct vkCmdPipelineBarrier2_params
*params
= args
;
28370 TRACE("%p, %p\n", params
->commandBuffer
, params
->pDependencyInfo
);
28372 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPipelineBarrier2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pDependencyInfo
);
28373 return STATUS_SUCCESS
;
28375 #endif /* _WIN64 */
28377 static NTSTATUS
thunk32_vkCmdPipelineBarrier2(void *args
)
28381 PTR32 commandBuffer
;
28382 PTR32 pDependencyInfo
;
28384 VkDependencyInfo pDependencyInfo_host
;
28385 struct conversion_context ctx
;
28387 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pDependencyInfo
);
28389 init_conversion_context(&ctx
);
28390 convert_VkDependencyInfo_win32_to_host(&ctx
, (const VkDependencyInfo32
*)UlongToPtr(params
->pDependencyInfo
), &pDependencyInfo_host
);
28391 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdPipelineBarrier2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pDependencyInfo_host
);
28392 free_conversion_context(&ctx
);
28393 return STATUS_SUCCESS
;
28397 static NTSTATUS
thunk64_vkCmdPipelineBarrier2KHR(void *args
)
28399 struct vkCmdPipelineBarrier2KHR_params
*params
= args
;
28401 TRACE("%p, %p\n", params
->commandBuffer
, params
->pDependencyInfo
);
28403 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPipelineBarrier2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pDependencyInfo
);
28404 return STATUS_SUCCESS
;
28406 #endif /* _WIN64 */
28408 static NTSTATUS
thunk32_vkCmdPipelineBarrier2KHR(void *args
)
28412 PTR32 commandBuffer
;
28413 PTR32 pDependencyInfo
;
28415 VkDependencyInfo pDependencyInfo_host
;
28416 struct conversion_context ctx
;
28418 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pDependencyInfo
);
28420 init_conversion_context(&ctx
);
28421 convert_VkDependencyInfo_win32_to_host(&ctx
, (const VkDependencyInfo32
*)UlongToPtr(params
->pDependencyInfo
), &pDependencyInfo_host
);
28422 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdPipelineBarrier2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pDependencyInfo_host
);
28423 free_conversion_context(&ctx
);
28424 return STATUS_SUCCESS
;
28428 static NTSTATUS
thunk64_vkCmdPreprocessGeneratedCommandsNV(void *args
)
28430 struct vkCmdPreprocessGeneratedCommandsNV_params
*params
= args
;
28432 TRACE("%p, %p\n", params
->commandBuffer
, params
->pGeneratedCommandsInfo
);
28434 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pGeneratedCommandsInfo
);
28435 return STATUS_SUCCESS
;
28437 #endif /* _WIN64 */
28439 static NTSTATUS
thunk32_vkCmdPreprocessGeneratedCommandsNV(void *args
)
28443 PTR32 commandBuffer
;
28444 PTR32 pGeneratedCommandsInfo
;
28446 VkGeneratedCommandsInfoNV pGeneratedCommandsInfo_host
;
28447 struct conversion_context ctx
;
28449 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pGeneratedCommandsInfo
);
28451 init_conversion_context(&ctx
);
28452 convert_VkGeneratedCommandsInfoNV_win32_to_host(&ctx
, (const VkGeneratedCommandsInfoNV32
*)UlongToPtr(params
->pGeneratedCommandsInfo
), &pGeneratedCommandsInfo_host
);
28453 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdPreprocessGeneratedCommandsNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pGeneratedCommandsInfo_host
);
28454 free_conversion_context(&ctx
);
28455 return STATUS_SUCCESS
;
28459 static NTSTATUS
thunk64_vkCmdPushConstants(void *args
)
28461 struct vkCmdPushConstants_params
*params
= args
;
28463 TRACE("%p, 0x%s, %#x, %u, %u, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->layout
), params
->stageFlags
, params
->offset
, params
->size
, params
->pValues
);
28465 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
);
28466 return STATUS_SUCCESS
;
28468 #endif /* _WIN64 */
28470 static NTSTATUS
thunk32_vkCmdPushConstants(void *args
)
28474 PTR32 commandBuffer
;
28475 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
28476 VkShaderStageFlags stageFlags
;
28482 TRACE("%#x, 0x%s, %#x, %u, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->layout
), params
->stageFlags
, params
->offset
, params
->size
, params
->pValues
);
28484 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdPushConstants(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->layout
, params
->stageFlags
, params
->offset
, params
->size
, (const void *)UlongToPtr(params
->pValues
));
28485 return STATUS_SUCCESS
;
28489 static NTSTATUS
thunk64_vkCmdPushDescriptorSetKHR(void *args
)
28491 struct vkCmdPushDescriptorSetKHR_params
*params
= args
;
28493 TRACE("%p, %#x, 0x%s, %u, %u, %p\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->set
, params
->descriptorWriteCount
, params
->pDescriptorWrites
);
28495 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
);
28496 return STATUS_SUCCESS
;
28498 #endif /* _WIN64 */
28500 static NTSTATUS
thunk32_vkCmdPushDescriptorSetKHR(void *args
)
28504 PTR32 commandBuffer
;
28505 VkPipelineBindPoint pipelineBindPoint
;
28506 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
28508 uint32_t descriptorWriteCount
;
28509 PTR32 pDescriptorWrites
;
28511 const VkWriteDescriptorSet
*pDescriptorWrites_host
;
28512 struct conversion_context ctx
;
28514 TRACE("%#x, %#x, 0x%s, %u, %u, %#x\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->set
, params
->descriptorWriteCount
, params
->pDescriptorWrites
);
28516 init_conversion_context(&ctx
);
28517 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win32_to_host(&ctx
, (const VkWriteDescriptorSet32
*)UlongToPtr(params
->pDescriptorWrites
), params
->descriptorWriteCount
);
28518 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdPushDescriptorSetKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->set
, params
->descriptorWriteCount
, pDescriptorWrites_host
);
28519 free_conversion_context(&ctx
);
28520 return STATUS_SUCCESS
;
28524 static NTSTATUS
thunk64_vkCmdPushDescriptorSetWithTemplateKHR(void *args
)
28526 struct vkCmdPushDescriptorSetWithTemplateKHR_params
*params
= args
;
28528 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
);
28530 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
);
28531 return STATUS_SUCCESS
;
28533 #endif /* _WIN64 */
28535 static NTSTATUS
thunk32_vkCmdPushDescriptorSetWithTemplateKHR(void *args
)
28539 PTR32 commandBuffer
;
28540 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
28541 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
28546 TRACE("%#x, 0x%s, 0x%s, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), wine_dbgstr_longlong(params
->layout
), params
->set
, params
->pData
);
28548 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdPushDescriptorSetWithTemplateKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->descriptorUpdateTemplate
, params
->layout
, params
->set
, (const void *)UlongToPtr(params
->pData
));
28549 return STATUS_SUCCESS
;
28553 static NTSTATUS
thunk64_vkCmdResetEvent(void *args
)
28555 struct vkCmdResetEvent_params
*params
= args
;
28557 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->stageMask
);
28559 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetEvent(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
28560 return STATUS_SUCCESS
;
28562 #endif /* _WIN64 */
28564 static NTSTATUS
thunk32_vkCmdResetEvent(void *args
)
28568 PTR32 commandBuffer
;
28569 VkEvent
DECLSPEC_ALIGN(8) event
;
28570 VkPipelineStageFlags stageMask
;
28573 TRACE("%#x, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->stageMask
);
28575 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdResetEvent(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->event
, params
->stageMask
);
28576 return STATUS_SUCCESS
;
28580 static NTSTATUS
thunk64_vkCmdResetEvent2(void *args
)
28582 struct vkCmdResetEvent2_params
*params
= args
;
28584 TRACE("%p, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), wine_dbgstr_longlong(params
->stageMask
));
28586 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetEvent2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
28587 return STATUS_SUCCESS
;
28589 #endif /* _WIN64 */
28591 static NTSTATUS
thunk32_vkCmdResetEvent2(void *args
)
28595 PTR32 commandBuffer
;
28596 VkEvent
DECLSPEC_ALIGN(8) event
;
28597 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) stageMask
;
28600 TRACE("%#x, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), wine_dbgstr_longlong(params
->stageMask
));
28602 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdResetEvent2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->event
, params
->stageMask
);
28603 return STATUS_SUCCESS
;
28607 static NTSTATUS
thunk64_vkCmdResetEvent2KHR(void *args
)
28609 struct vkCmdResetEvent2KHR_params
*params
= args
;
28611 TRACE("%p, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), wine_dbgstr_longlong(params
->stageMask
));
28613 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResetEvent2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
28614 return STATUS_SUCCESS
;
28616 #endif /* _WIN64 */
28618 static NTSTATUS
thunk32_vkCmdResetEvent2KHR(void *args
)
28622 PTR32 commandBuffer
;
28623 VkEvent
DECLSPEC_ALIGN(8) event
;
28624 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) stageMask
;
28627 TRACE("%#x, 0x%s, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), wine_dbgstr_longlong(params
->stageMask
));
28629 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdResetEvent2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->event
, params
->stageMask
);
28630 return STATUS_SUCCESS
;
28634 static NTSTATUS
thunk64_vkCmdResetQueryPool(void *args
)
28636 struct vkCmdResetQueryPool_params
*params
= args
;
28638 TRACE("%p, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
28640 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
);
28641 return STATUS_SUCCESS
;
28643 #endif /* _WIN64 */
28645 static NTSTATUS
thunk32_vkCmdResetQueryPool(void *args
)
28649 PTR32 commandBuffer
;
28650 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
28651 uint32_t firstQuery
;
28652 uint32_t queryCount
;
28655 TRACE("%#x, 0x%s, %u, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
28657 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdResetQueryPool(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
28658 return STATUS_SUCCESS
;
28662 static NTSTATUS
thunk64_vkCmdResolveImage(void *args
)
28664 struct vkCmdResolveImage_params
*params
= args
;
28666 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
);
28668 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
);
28669 return STATUS_SUCCESS
;
28671 #endif /* _WIN64 */
28673 static NTSTATUS
thunk32_vkCmdResolveImage(void *args
)
28677 PTR32 commandBuffer
;
28678 VkImage
DECLSPEC_ALIGN(8) srcImage
;
28679 VkImageLayout srcImageLayout
;
28680 VkImage
DECLSPEC_ALIGN(8) dstImage
;
28681 VkImageLayout dstImageLayout
;
28682 uint32_t regionCount
;
28686 TRACE("%#x, 0x%s, %#x, 0x%s, %#x, %u, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->srcImage
), params
->srcImageLayout
, wine_dbgstr_longlong(params
->dstImage
), params
->dstImageLayout
, params
->regionCount
, params
->pRegions
);
28688 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdResolveImage(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->srcImage
, params
->srcImageLayout
, params
->dstImage
, params
->dstImageLayout
, params
->regionCount
, (const VkImageResolve
*)UlongToPtr(params
->pRegions
));
28689 return STATUS_SUCCESS
;
28693 static NTSTATUS
thunk64_vkCmdResolveImage2(void *args
)
28695 struct vkCmdResolveImage2_params
*params
= args
;
28697 TRACE("%p, %p\n", params
->commandBuffer
, params
->pResolveImageInfo
);
28699 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResolveImage2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pResolveImageInfo
);
28700 return STATUS_SUCCESS
;
28702 #endif /* _WIN64 */
28704 static NTSTATUS
thunk32_vkCmdResolveImage2(void *args
)
28708 PTR32 commandBuffer
;
28709 PTR32 pResolveImageInfo
;
28711 VkResolveImageInfo2 pResolveImageInfo_host
;
28712 struct conversion_context ctx
;
28714 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pResolveImageInfo
);
28716 init_conversion_context(&ctx
);
28717 convert_VkResolveImageInfo2_win32_to_host(&ctx
, (const VkResolveImageInfo232
*)UlongToPtr(params
->pResolveImageInfo
), &pResolveImageInfo_host
);
28718 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdResolveImage2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pResolveImageInfo_host
);
28719 free_conversion_context(&ctx
);
28720 return STATUS_SUCCESS
;
28724 static NTSTATUS
thunk64_vkCmdResolveImage2KHR(void *args
)
28726 struct vkCmdResolveImage2KHR_params
*params
= args
;
28728 TRACE("%p, %p\n", params
->commandBuffer
, params
->pResolveImageInfo
);
28730 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdResolveImage2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pResolveImageInfo
);
28731 return STATUS_SUCCESS
;
28733 #endif /* _WIN64 */
28735 static NTSTATUS
thunk32_vkCmdResolveImage2KHR(void *args
)
28739 PTR32 commandBuffer
;
28740 PTR32 pResolveImageInfo
;
28742 VkResolveImageInfo2 pResolveImageInfo_host
;
28743 struct conversion_context ctx
;
28745 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pResolveImageInfo
);
28747 init_conversion_context(&ctx
);
28748 convert_VkResolveImageInfo2_win32_to_host(&ctx
, (const VkResolveImageInfo232
*)UlongToPtr(params
->pResolveImageInfo
), &pResolveImageInfo_host
);
28749 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdResolveImage2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pResolveImageInfo_host
);
28750 free_conversion_context(&ctx
);
28751 return STATUS_SUCCESS
;
28755 static NTSTATUS
thunk64_vkCmdSetAlphaToCoverageEnableEXT(void *args
)
28757 struct vkCmdSetAlphaToCoverageEnableEXT_params
*params
= args
;
28759 TRACE("%p, %u\n", params
->commandBuffer
, params
->alphaToCoverageEnable
);
28761 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetAlphaToCoverageEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->alphaToCoverageEnable
);
28762 return STATUS_SUCCESS
;
28764 #endif /* _WIN64 */
28766 static NTSTATUS
thunk32_vkCmdSetAlphaToCoverageEnableEXT(void *args
)
28770 PTR32 commandBuffer
;
28771 VkBool32 alphaToCoverageEnable
;
28774 TRACE("%#x, %u\n", params
->commandBuffer
, params
->alphaToCoverageEnable
);
28776 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetAlphaToCoverageEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->alphaToCoverageEnable
);
28777 return STATUS_SUCCESS
;
28781 static NTSTATUS
thunk64_vkCmdSetAlphaToOneEnableEXT(void *args
)
28783 struct vkCmdSetAlphaToOneEnableEXT_params
*params
= args
;
28785 TRACE("%p, %u\n", params
->commandBuffer
, params
->alphaToOneEnable
);
28787 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetAlphaToOneEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->alphaToOneEnable
);
28788 return STATUS_SUCCESS
;
28790 #endif /* _WIN64 */
28792 static NTSTATUS
thunk32_vkCmdSetAlphaToOneEnableEXT(void *args
)
28796 PTR32 commandBuffer
;
28797 VkBool32 alphaToOneEnable
;
28800 TRACE("%#x, %u\n", params
->commandBuffer
, params
->alphaToOneEnable
);
28802 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetAlphaToOneEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->alphaToOneEnable
);
28803 return STATUS_SUCCESS
;
28807 static NTSTATUS
thunk64_vkCmdSetBlendConstants(void *args
)
28809 struct vkCmdSetBlendConstants_params
*params
= args
;
28811 TRACE("%p, %p\n", params
->commandBuffer
, params
->blendConstants
);
28813 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetBlendConstants(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->blendConstants
);
28814 return STATUS_SUCCESS
;
28816 #endif /* _WIN64 */
28818 static NTSTATUS
thunk32_vkCmdSetBlendConstants(void *args
)
28822 PTR32 commandBuffer
;
28823 PTR32 blendConstants
;
28826 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->blendConstants
);
28828 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetBlendConstants(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, (const float *)UlongToPtr(params
->blendConstants
));
28829 return STATUS_SUCCESS
;
28833 static NTSTATUS
thunk64_vkCmdSetCheckpointNV(void *args
)
28835 struct vkCmdSetCheckpointNV_params
*params
= args
;
28837 TRACE("%p, %p\n", params
->commandBuffer
, params
->pCheckpointMarker
);
28839 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCheckpointNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pCheckpointMarker
);
28840 return STATUS_SUCCESS
;
28842 #endif /* _WIN64 */
28844 static NTSTATUS
thunk32_vkCmdSetCheckpointNV(void *args
)
28848 PTR32 commandBuffer
;
28849 PTR32 pCheckpointMarker
;
28852 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pCheckpointMarker
);
28854 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCheckpointNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, (const void *)UlongToPtr(params
->pCheckpointMarker
));
28855 return STATUS_SUCCESS
;
28859 static NTSTATUS
thunk64_vkCmdSetCoarseSampleOrderNV(void *args
)
28861 struct vkCmdSetCoarseSampleOrderNV_params
*params
= args
;
28863 TRACE("%p, %#x, %u, %p\n", params
->commandBuffer
, params
->sampleOrderType
, params
->customSampleOrderCount
, params
->pCustomSampleOrders
);
28865 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
);
28866 return STATUS_SUCCESS
;
28868 #endif /* _WIN64 */
28870 static NTSTATUS
thunk32_vkCmdSetCoarseSampleOrderNV(void *args
)
28874 PTR32 commandBuffer
;
28875 VkCoarseSampleOrderTypeNV sampleOrderType
;
28876 uint32_t customSampleOrderCount
;
28877 PTR32 pCustomSampleOrders
;
28879 const VkCoarseSampleOrderCustomNV
*pCustomSampleOrders_host
;
28880 struct conversion_context ctx
;
28882 TRACE("%#x, %#x, %u, %#x\n", params
->commandBuffer
, params
->sampleOrderType
, params
->customSampleOrderCount
, params
->pCustomSampleOrders
);
28884 init_conversion_context(&ctx
);
28885 pCustomSampleOrders_host
= convert_VkCoarseSampleOrderCustomNV_array_win32_to_host(&ctx
, (const VkCoarseSampleOrderCustomNV32
*)UlongToPtr(params
->pCustomSampleOrders
), params
->customSampleOrderCount
);
28886 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCoarseSampleOrderNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->sampleOrderType
, params
->customSampleOrderCount
, pCustomSampleOrders_host
);
28887 free_conversion_context(&ctx
);
28888 return STATUS_SUCCESS
;
28892 static NTSTATUS
thunk64_vkCmdSetColorBlendAdvancedEXT(void *args
)
28894 struct vkCmdSetColorBlendAdvancedEXT_params
*params
= args
;
28896 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendAdvanced
);
28898 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
);
28899 return STATUS_SUCCESS
;
28901 #endif /* _WIN64 */
28903 static NTSTATUS
thunk32_vkCmdSetColorBlendAdvancedEXT(void *args
)
28907 PTR32 commandBuffer
;
28908 uint32_t firstAttachment
;
28909 uint32_t attachmentCount
;
28910 PTR32 pColorBlendAdvanced
;
28913 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendAdvanced
);
28915 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetColorBlendAdvancedEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, (const VkColorBlendAdvancedEXT
*)UlongToPtr(params
->pColorBlendAdvanced
));
28916 return STATUS_SUCCESS
;
28920 static NTSTATUS
thunk64_vkCmdSetColorBlendEnableEXT(void *args
)
28922 struct vkCmdSetColorBlendEnableEXT_params
*params
= args
;
28924 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEnables
);
28926 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
);
28927 return STATUS_SUCCESS
;
28929 #endif /* _WIN64 */
28931 static NTSTATUS
thunk32_vkCmdSetColorBlendEnableEXT(void *args
)
28935 PTR32 commandBuffer
;
28936 uint32_t firstAttachment
;
28937 uint32_t attachmentCount
;
28938 PTR32 pColorBlendEnables
;
28941 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEnables
);
28943 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetColorBlendEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, (const VkBool32
*)UlongToPtr(params
->pColorBlendEnables
));
28944 return STATUS_SUCCESS
;
28948 static NTSTATUS
thunk64_vkCmdSetColorBlendEquationEXT(void *args
)
28950 struct vkCmdSetColorBlendEquationEXT_params
*params
= args
;
28952 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEquations
);
28954 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
);
28955 return STATUS_SUCCESS
;
28957 #endif /* _WIN64 */
28959 static NTSTATUS
thunk32_vkCmdSetColorBlendEquationEXT(void *args
)
28963 PTR32 commandBuffer
;
28964 uint32_t firstAttachment
;
28965 uint32_t attachmentCount
;
28966 PTR32 pColorBlendEquations
;
28969 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorBlendEquations
);
28971 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetColorBlendEquationEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, (const VkColorBlendEquationEXT
*)UlongToPtr(params
->pColorBlendEquations
));
28972 return STATUS_SUCCESS
;
28976 static NTSTATUS
thunk64_vkCmdSetColorWriteEnableEXT(void *args
)
28978 struct vkCmdSetColorWriteEnableEXT_params
*params
= args
;
28980 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->attachmentCount
, params
->pColorWriteEnables
);
28982 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetColorWriteEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->attachmentCount
, params
->pColorWriteEnables
);
28983 return STATUS_SUCCESS
;
28985 #endif /* _WIN64 */
28987 static NTSTATUS
thunk32_vkCmdSetColorWriteEnableEXT(void *args
)
28991 PTR32 commandBuffer
;
28992 uint32_t attachmentCount
;
28993 PTR32 pColorWriteEnables
;
28996 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->attachmentCount
, params
->pColorWriteEnables
);
28998 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetColorWriteEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->attachmentCount
, (const VkBool32
*)UlongToPtr(params
->pColorWriteEnables
));
28999 return STATUS_SUCCESS
;
29003 static NTSTATUS
thunk64_vkCmdSetColorWriteMaskEXT(void *args
)
29005 struct vkCmdSetColorWriteMaskEXT_params
*params
= args
;
29007 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorWriteMasks
);
29009 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
);
29010 return STATUS_SUCCESS
;
29012 #endif /* _WIN64 */
29014 static NTSTATUS
thunk32_vkCmdSetColorWriteMaskEXT(void *args
)
29018 PTR32 commandBuffer
;
29019 uint32_t firstAttachment
;
29020 uint32_t attachmentCount
;
29021 PTR32 pColorWriteMasks
;
29024 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstAttachment
, params
->attachmentCount
, params
->pColorWriteMasks
);
29026 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetColorWriteMaskEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstAttachment
, params
->attachmentCount
, (const VkColorComponentFlags
*)UlongToPtr(params
->pColorWriteMasks
));
29027 return STATUS_SUCCESS
;
29031 static NTSTATUS
thunk64_vkCmdSetConservativeRasterizationModeEXT(void *args
)
29033 struct vkCmdSetConservativeRasterizationModeEXT_params
*params
= args
;
29035 TRACE("%p, %#x\n", params
->commandBuffer
, params
->conservativeRasterizationMode
);
29037 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetConservativeRasterizationModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->conservativeRasterizationMode
);
29038 return STATUS_SUCCESS
;
29040 #endif /* _WIN64 */
29042 static NTSTATUS
thunk32_vkCmdSetConservativeRasterizationModeEXT(void *args
)
29046 PTR32 commandBuffer
;
29047 VkConservativeRasterizationModeEXT conservativeRasterizationMode
;
29050 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->conservativeRasterizationMode
);
29052 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetConservativeRasterizationModeEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->conservativeRasterizationMode
);
29053 return STATUS_SUCCESS
;
29057 static NTSTATUS
thunk64_vkCmdSetCoverageModulationModeNV(void *args
)
29059 struct vkCmdSetCoverageModulationModeNV_params
*params
= args
;
29061 TRACE("%p, %#x\n", params
->commandBuffer
, params
->coverageModulationMode
);
29063 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageModulationModeNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageModulationMode
);
29064 return STATUS_SUCCESS
;
29066 #endif /* _WIN64 */
29068 static NTSTATUS
thunk32_vkCmdSetCoverageModulationModeNV(void *args
)
29072 PTR32 commandBuffer
;
29073 VkCoverageModulationModeNV coverageModulationMode
;
29076 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->coverageModulationMode
);
29078 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCoverageModulationModeNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->coverageModulationMode
);
29079 return STATUS_SUCCESS
;
29083 static NTSTATUS
thunk64_vkCmdSetCoverageModulationTableEnableNV(void *args
)
29085 struct vkCmdSetCoverageModulationTableEnableNV_params
*params
= args
;
29087 TRACE("%p, %u\n", params
->commandBuffer
, params
->coverageModulationTableEnable
);
29089 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageModulationTableEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageModulationTableEnable
);
29090 return STATUS_SUCCESS
;
29092 #endif /* _WIN64 */
29094 static NTSTATUS
thunk32_vkCmdSetCoverageModulationTableEnableNV(void *args
)
29098 PTR32 commandBuffer
;
29099 VkBool32 coverageModulationTableEnable
;
29102 TRACE("%#x, %u\n", params
->commandBuffer
, params
->coverageModulationTableEnable
);
29104 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCoverageModulationTableEnableNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->coverageModulationTableEnable
);
29105 return STATUS_SUCCESS
;
29109 static NTSTATUS
thunk64_vkCmdSetCoverageModulationTableNV(void *args
)
29111 struct vkCmdSetCoverageModulationTableNV_params
*params
= args
;
29113 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->coverageModulationTableCount
, params
->pCoverageModulationTable
);
29115 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageModulationTableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageModulationTableCount
, params
->pCoverageModulationTable
);
29116 return STATUS_SUCCESS
;
29118 #endif /* _WIN64 */
29120 static NTSTATUS
thunk32_vkCmdSetCoverageModulationTableNV(void *args
)
29124 PTR32 commandBuffer
;
29125 uint32_t coverageModulationTableCount
;
29126 PTR32 pCoverageModulationTable
;
29129 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->coverageModulationTableCount
, params
->pCoverageModulationTable
);
29131 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCoverageModulationTableNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->coverageModulationTableCount
, (const float *)UlongToPtr(params
->pCoverageModulationTable
));
29132 return STATUS_SUCCESS
;
29136 static NTSTATUS
thunk64_vkCmdSetCoverageReductionModeNV(void *args
)
29138 struct vkCmdSetCoverageReductionModeNV_params
*params
= args
;
29140 TRACE("%p, %#x\n", params
->commandBuffer
, params
->coverageReductionMode
);
29142 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageReductionModeNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageReductionMode
);
29143 return STATUS_SUCCESS
;
29145 #endif /* _WIN64 */
29147 static NTSTATUS
thunk32_vkCmdSetCoverageReductionModeNV(void *args
)
29151 PTR32 commandBuffer
;
29152 VkCoverageReductionModeNV coverageReductionMode
;
29155 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->coverageReductionMode
);
29157 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCoverageReductionModeNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->coverageReductionMode
);
29158 return STATUS_SUCCESS
;
29162 static NTSTATUS
thunk64_vkCmdSetCoverageToColorEnableNV(void *args
)
29164 struct vkCmdSetCoverageToColorEnableNV_params
*params
= args
;
29166 TRACE("%p, %u\n", params
->commandBuffer
, params
->coverageToColorEnable
);
29168 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageToColorEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageToColorEnable
);
29169 return STATUS_SUCCESS
;
29171 #endif /* _WIN64 */
29173 static NTSTATUS
thunk32_vkCmdSetCoverageToColorEnableNV(void *args
)
29177 PTR32 commandBuffer
;
29178 VkBool32 coverageToColorEnable
;
29181 TRACE("%#x, %u\n", params
->commandBuffer
, params
->coverageToColorEnable
);
29183 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCoverageToColorEnableNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->coverageToColorEnable
);
29184 return STATUS_SUCCESS
;
29188 static NTSTATUS
thunk64_vkCmdSetCoverageToColorLocationNV(void *args
)
29190 struct vkCmdSetCoverageToColorLocationNV_params
*params
= args
;
29192 TRACE("%p, %u\n", params
->commandBuffer
, params
->coverageToColorLocation
);
29194 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCoverageToColorLocationNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->coverageToColorLocation
);
29195 return STATUS_SUCCESS
;
29197 #endif /* _WIN64 */
29199 static NTSTATUS
thunk32_vkCmdSetCoverageToColorLocationNV(void *args
)
29203 PTR32 commandBuffer
;
29204 uint32_t coverageToColorLocation
;
29207 TRACE("%#x, %u\n", params
->commandBuffer
, params
->coverageToColorLocation
);
29209 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCoverageToColorLocationNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->coverageToColorLocation
);
29210 return STATUS_SUCCESS
;
29214 static NTSTATUS
thunk64_vkCmdSetCullMode(void *args
)
29216 struct vkCmdSetCullMode_params
*params
= args
;
29218 TRACE("%p, %#x\n", params
->commandBuffer
, params
->cullMode
);
29220 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCullMode(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->cullMode
);
29221 return STATUS_SUCCESS
;
29223 #endif /* _WIN64 */
29225 static NTSTATUS
thunk32_vkCmdSetCullMode(void *args
)
29229 PTR32 commandBuffer
;
29230 VkCullModeFlags cullMode
;
29233 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->cullMode
);
29235 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCullMode(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->cullMode
);
29236 return STATUS_SUCCESS
;
29240 static NTSTATUS
thunk64_vkCmdSetCullModeEXT(void *args
)
29242 struct vkCmdSetCullModeEXT_params
*params
= args
;
29244 TRACE("%p, %#x\n", params
->commandBuffer
, params
->cullMode
);
29246 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetCullModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->cullMode
);
29247 return STATUS_SUCCESS
;
29249 #endif /* _WIN64 */
29251 static NTSTATUS
thunk32_vkCmdSetCullModeEXT(void *args
)
29255 PTR32 commandBuffer
;
29256 VkCullModeFlags cullMode
;
29259 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->cullMode
);
29261 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetCullModeEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->cullMode
);
29262 return STATUS_SUCCESS
;
29266 static NTSTATUS
thunk64_vkCmdSetDepthBias(void *args
)
29268 struct vkCmdSetDepthBias_params
*params
= args
;
29270 TRACE("%p, %f, %f, %f\n", params
->commandBuffer
, params
->depthBiasConstantFactor
, params
->depthBiasClamp
, params
->depthBiasSlopeFactor
);
29272 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
);
29273 return STATUS_SUCCESS
;
29275 #endif /* _WIN64 */
29277 static NTSTATUS
thunk32_vkCmdSetDepthBias(void *args
)
29281 PTR32 commandBuffer
;
29282 float depthBiasConstantFactor
;
29283 float depthBiasClamp
;
29284 float depthBiasSlopeFactor
;
29287 TRACE("%#x, %f, %f, %f\n", params
->commandBuffer
, params
->depthBiasConstantFactor
, params
->depthBiasClamp
, params
->depthBiasSlopeFactor
);
29289 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthBias(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthBiasConstantFactor
, params
->depthBiasClamp
, params
->depthBiasSlopeFactor
);
29290 return STATUS_SUCCESS
;
29294 static NTSTATUS
thunk64_vkCmdSetDepthBiasEnable(void *args
)
29296 struct vkCmdSetDepthBiasEnable_params
*params
= args
;
29298 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBiasEnable
);
29300 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBiasEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBiasEnable
);
29301 return STATUS_SUCCESS
;
29303 #endif /* _WIN64 */
29305 static NTSTATUS
thunk32_vkCmdSetDepthBiasEnable(void *args
)
29309 PTR32 commandBuffer
;
29310 VkBool32 depthBiasEnable
;
29313 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthBiasEnable
);
29315 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthBiasEnable(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthBiasEnable
);
29316 return STATUS_SUCCESS
;
29320 static NTSTATUS
thunk64_vkCmdSetDepthBiasEnableEXT(void *args
)
29322 struct vkCmdSetDepthBiasEnableEXT_params
*params
= args
;
29324 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBiasEnable
);
29326 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBiasEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBiasEnable
);
29327 return STATUS_SUCCESS
;
29329 #endif /* _WIN64 */
29331 static NTSTATUS
thunk32_vkCmdSetDepthBiasEnableEXT(void *args
)
29335 PTR32 commandBuffer
;
29336 VkBool32 depthBiasEnable
;
29339 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthBiasEnable
);
29341 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthBiasEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthBiasEnable
);
29342 return STATUS_SUCCESS
;
29346 static NTSTATUS
thunk64_vkCmdSetDepthBounds(void *args
)
29348 struct vkCmdSetDepthBounds_params
*params
= args
;
29350 TRACE("%p, %f, %f\n", params
->commandBuffer
, params
->minDepthBounds
, params
->maxDepthBounds
);
29352 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBounds(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->minDepthBounds
, params
->maxDepthBounds
);
29353 return STATUS_SUCCESS
;
29355 #endif /* _WIN64 */
29357 static NTSTATUS
thunk32_vkCmdSetDepthBounds(void *args
)
29361 PTR32 commandBuffer
;
29362 float minDepthBounds
;
29363 float maxDepthBounds
;
29366 TRACE("%#x, %f, %f\n", params
->commandBuffer
, params
->minDepthBounds
, params
->maxDepthBounds
);
29368 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthBounds(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->minDepthBounds
, params
->maxDepthBounds
);
29369 return STATUS_SUCCESS
;
29373 static NTSTATUS
thunk64_vkCmdSetDepthBoundsTestEnable(void *args
)
29375 struct vkCmdSetDepthBoundsTestEnable_params
*params
= args
;
29377 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBoundsTestEnable
);
29379 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBoundsTestEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBoundsTestEnable
);
29380 return STATUS_SUCCESS
;
29382 #endif /* _WIN64 */
29384 static NTSTATUS
thunk32_vkCmdSetDepthBoundsTestEnable(void *args
)
29388 PTR32 commandBuffer
;
29389 VkBool32 depthBoundsTestEnable
;
29392 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthBoundsTestEnable
);
29394 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthBoundsTestEnable(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthBoundsTestEnable
);
29395 return STATUS_SUCCESS
;
29399 static NTSTATUS
thunk64_vkCmdSetDepthBoundsTestEnableEXT(void *args
)
29401 struct vkCmdSetDepthBoundsTestEnableEXT_params
*params
= args
;
29403 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthBoundsTestEnable
);
29405 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthBoundsTestEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthBoundsTestEnable
);
29406 return STATUS_SUCCESS
;
29408 #endif /* _WIN64 */
29410 static NTSTATUS
thunk32_vkCmdSetDepthBoundsTestEnableEXT(void *args
)
29414 PTR32 commandBuffer
;
29415 VkBool32 depthBoundsTestEnable
;
29418 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthBoundsTestEnable
);
29420 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthBoundsTestEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthBoundsTestEnable
);
29421 return STATUS_SUCCESS
;
29425 static NTSTATUS
thunk64_vkCmdSetDepthClampEnableEXT(void *args
)
29427 struct vkCmdSetDepthClampEnableEXT_params
*params
= args
;
29429 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthClampEnable
);
29431 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthClampEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthClampEnable
);
29432 return STATUS_SUCCESS
;
29434 #endif /* _WIN64 */
29436 static NTSTATUS
thunk32_vkCmdSetDepthClampEnableEXT(void *args
)
29440 PTR32 commandBuffer
;
29441 VkBool32 depthClampEnable
;
29444 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthClampEnable
);
29446 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthClampEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthClampEnable
);
29447 return STATUS_SUCCESS
;
29451 static NTSTATUS
thunk64_vkCmdSetDepthClipEnableEXT(void *args
)
29453 struct vkCmdSetDepthClipEnableEXT_params
*params
= args
;
29455 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthClipEnable
);
29457 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthClipEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthClipEnable
);
29458 return STATUS_SUCCESS
;
29460 #endif /* _WIN64 */
29462 static NTSTATUS
thunk32_vkCmdSetDepthClipEnableEXT(void *args
)
29466 PTR32 commandBuffer
;
29467 VkBool32 depthClipEnable
;
29470 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthClipEnable
);
29472 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthClipEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthClipEnable
);
29473 return STATUS_SUCCESS
;
29477 static NTSTATUS
thunk64_vkCmdSetDepthClipNegativeOneToOneEXT(void *args
)
29479 struct vkCmdSetDepthClipNegativeOneToOneEXT_params
*params
= args
;
29481 TRACE("%p, %u\n", params
->commandBuffer
, params
->negativeOneToOne
);
29483 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthClipNegativeOneToOneEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->negativeOneToOne
);
29484 return STATUS_SUCCESS
;
29486 #endif /* _WIN64 */
29488 static NTSTATUS
thunk32_vkCmdSetDepthClipNegativeOneToOneEXT(void *args
)
29492 PTR32 commandBuffer
;
29493 VkBool32 negativeOneToOne
;
29496 TRACE("%#x, %u\n", params
->commandBuffer
, params
->negativeOneToOne
);
29498 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthClipNegativeOneToOneEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->negativeOneToOne
);
29499 return STATUS_SUCCESS
;
29503 static NTSTATUS
thunk64_vkCmdSetDepthCompareOp(void *args
)
29505 struct vkCmdSetDepthCompareOp_params
*params
= args
;
29507 TRACE("%p, %#x\n", params
->commandBuffer
, params
->depthCompareOp
);
29509 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthCompareOp(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthCompareOp
);
29510 return STATUS_SUCCESS
;
29512 #endif /* _WIN64 */
29514 static NTSTATUS
thunk32_vkCmdSetDepthCompareOp(void *args
)
29518 PTR32 commandBuffer
;
29519 VkCompareOp depthCompareOp
;
29522 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->depthCompareOp
);
29524 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthCompareOp(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthCompareOp
);
29525 return STATUS_SUCCESS
;
29529 static NTSTATUS
thunk64_vkCmdSetDepthCompareOpEXT(void *args
)
29531 struct vkCmdSetDepthCompareOpEXT_params
*params
= args
;
29533 TRACE("%p, %#x\n", params
->commandBuffer
, params
->depthCompareOp
);
29535 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthCompareOpEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthCompareOp
);
29536 return STATUS_SUCCESS
;
29538 #endif /* _WIN64 */
29540 static NTSTATUS
thunk32_vkCmdSetDepthCompareOpEXT(void *args
)
29544 PTR32 commandBuffer
;
29545 VkCompareOp depthCompareOp
;
29548 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->depthCompareOp
);
29550 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthCompareOpEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthCompareOp
);
29551 return STATUS_SUCCESS
;
29555 static NTSTATUS
thunk64_vkCmdSetDepthTestEnable(void *args
)
29557 struct vkCmdSetDepthTestEnable_params
*params
= args
;
29559 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthTestEnable
);
29561 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthTestEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthTestEnable
);
29562 return STATUS_SUCCESS
;
29564 #endif /* _WIN64 */
29566 static NTSTATUS
thunk32_vkCmdSetDepthTestEnable(void *args
)
29570 PTR32 commandBuffer
;
29571 VkBool32 depthTestEnable
;
29574 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthTestEnable
);
29576 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthTestEnable(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthTestEnable
);
29577 return STATUS_SUCCESS
;
29581 static NTSTATUS
thunk64_vkCmdSetDepthTestEnableEXT(void *args
)
29583 struct vkCmdSetDepthTestEnableEXT_params
*params
= args
;
29585 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthTestEnable
);
29587 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthTestEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthTestEnable
);
29588 return STATUS_SUCCESS
;
29590 #endif /* _WIN64 */
29592 static NTSTATUS
thunk32_vkCmdSetDepthTestEnableEXT(void *args
)
29596 PTR32 commandBuffer
;
29597 VkBool32 depthTestEnable
;
29600 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthTestEnable
);
29602 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthTestEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthTestEnable
);
29603 return STATUS_SUCCESS
;
29607 static NTSTATUS
thunk64_vkCmdSetDepthWriteEnable(void *args
)
29609 struct vkCmdSetDepthWriteEnable_params
*params
= args
;
29611 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthWriteEnable
);
29613 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthWriteEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthWriteEnable
);
29614 return STATUS_SUCCESS
;
29616 #endif /* _WIN64 */
29618 static NTSTATUS
thunk32_vkCmdSetDepthWriteEnable(void *args
)
29622 PTR32 commandBuffer
;
29623 VkBool32 depthWriteEnable
;
29626 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthWriteEnable
);
29628 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthWriteEnable(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthWriteEnable
);
29629 return STATUS_SUCCESS
;
29633 static NTSTATUS
thunk64_vkCmdSetDepthWriteEnableEXT(void *args
)
29635 struct vkCmdSetDepthWriteEnableEXT_params
*params
= args
;
29637 TRACE("%p, %u\n", params
->commandBuffer
, params
->depthWriteEnable
);
29639 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDepthWriteEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->depthWriteEnable
);
29640 return STATUS_SUCCESS
;
29642 #endif /* _WIN64 */
29644 static NTSTATUS
thunk32_vkCmdSetDepthWriteEnableEXT(void *args
)
29648 PTR32 commandBuffer
;
29649 VkBool32 depthWriteEnable
;
29652 TRACE("%#x, %u\n", params
->commandBuffer
, params
->depthWriteEnable
);
29654 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDepthWriteEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->depthWriteEnable
);
29655 return STATUS_SUCCESS
;
29659 static NTSTATUS
thunk64_vkCmdSetDescriptorBufferOffsetsEXT(void *args
)
29661 struct vkCmdSetDescriptorBufferOffsetsEXT_params
*params
= args
;
29663 TRACE("%p, %#x, 0x%s, %u, %u, %p, %p\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->firstSet
, params
->setCount
, params
->pBufferIndices
, params
->pOffsets
);
29665 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDescriptorBufferOffsetsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->firstSet
, params
->setCount
, params
->pBufferIndices
, params
->pOffsets
);
29666 return STATUS_SUCCESS
;
29668 #endif /* _WIN64 */
29670 static NTSTATUS
thunk32_vkCmdSetDescriptorBufferOffsetsEXT(void *args
)
29674 PTR32 commandBuffer
;
29675 VkPipelineBindPoint pipelineBindPoint
;
29676 VkPipelineLayout
DECLSPEC_ALIGN(8) layout
;
29679 PTR32 pBufferIndices
;
29683 TRACE("%#x, %#x, 0x%s, %u, %u, %#x, %#x\n", params
->commandBuffer
, params
->pipelineBindPoint
, wine_dbgstr_longlong(params
->layout
), params
->firstSet
, params
->setCount
, params
->pBufferIndices
, params
->pOffsets
);
29685 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDescriptorBufferOffsetsEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->pipelineBindPoint
, params
->layout
, params
->firstSet
, params
->setCount
, (const uint32_t *)UlongToPtr(params
->pBufferIndices
), (const VkDeviceSize
*)UlongToPtr(params
->pOffsets
));
29686 return STATUS_SUCCESS
;
29690 static NTSTATUS
thunk64_vkCmdSetDeviceMask(void *args
)
29692 struct vkCmdSetDeviceMask_params
*params
= args
;
29694 TRACE("%p, %u\n", params
->commandBuffer
, params
->deviceMask
);
29696 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDeviceMask(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->deviceMask
);
29697 return STATUS_SUCCESS
;
29699 #endif /* _WIN64 */
29701 static NTSTATUS
thunk32_vkCmdSetDeviceMask(void *args
)
29705 PTR32 commandBuffer
;
29706 uint32_t deviceMask
;
29709 TRACE("%#x, %u\n", params
->commandBuffer
, params
->deviceMask
);
29711 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDeviceMask(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->deviceMask
);
29712 return STATUS_SUCCESS
;
29716 static NTSTATUS
thunk64_vkCmdSetDeviceMaskKHR(void *args
)
29718 struct vkCmdSetDeviceMaskKHR_params
*params
= args
;
29720 TRACE("%p, %u\n", params
->commandBuffer
, params
->deviceMask
);
29722 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetDeviceMaskKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->deviceMask
);
29723 return STATUS_SUCCESS
;
29725 #endif /* _WIN64 */
29727 static NTSTATUS
thunk32_vkCmdSetDeviceMaskKHR(void *args
)
29731 PTR32 commandBuffer
;
29732 uint32_t deviceMask
;
29735 TRACE("%#x, %u\n", params
->commandBuffer
, params
->deviceMask
);
29737 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDeviceMaskKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->deviceMask
);
29738 return STATUS_SUCCESS
;
29742 static NTSTATUS
thunk64_vkCmdSetDiscardRectangleEXT(void *args
)
29744 struct vkCmdSetDiscardRectangleEXT_params
*params
= args
;
29746 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstDiscardRectangle
, params
->discardRectangleCount
, params
->pDiscardRectangles
);
29748 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
);
29749 return STATUS_SUCCESS
;
29751 #endif /* _WIN64 */
29753 static NTSTATUS
thunk32_vkCmdSetDiscardRectangleEXT(void *args
)
29757 PTR32 commandBuffer
;
29758 uint32_t firstDiscardRectangle
;
29759 uint32_t discardRectangleCount
;
29760 PTR32 pDiscardRectangles
;
29763 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstDiscardRectangle
, params
->discardRectangleCount
, params
->pDiscardRectangles
);
29765 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetDiscardRectangleEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstDiscardRectangle
, params
->discardRectangleCount
, (const VkRect2D
*)UlongToPtr(params
->pDiscardRectangles
));
29766 return STATUS_SUCCESS
;
29770 static NTSTATUS
thunk64_vkCmdSetEvent(void *args
)
29772 struct vkCmdSetEvent_params
*params
= args
;
29774 TRACE("%p, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->stageMask
);
29776 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetEvent(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->stageMask
);
29777 return STATUS_SUCCESS
;
29779 #endif /* _WIN64 */
29781 static NTSTATUS
thunk32_vkCmdSetEvent(void *args
)
29785 PTR32 commandBuffer
;
29786 VkEvent
DECLSPEC_ALIGN(8) event
;
29787 VkPipelineStageFlags stageMask
;
29790 TRACE("%#x, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->stageMask
);
29792 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetEvent(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->event
, params
->stageMask
);
29793 return STATUS_SUCCESS
;
29797 static NTSTATUS
thunk64_vkCmdSetEvent2(void *args
)
29799 struct vkCmdSetEvent2_params
*params
= args
;
29801 TRACE("%p, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->pDependencyInfo
);
29803 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetEvent2(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->pDependencyInfo
);
29804 return STATUS_SUCCESS
;
29806 #endif /* _WIN64 */
29808 static NTSTATUS
thunk32_vkCmdSetEvent2(void *args
)
29812 PTR32 commandBuffer
;
29813 VkEvent
DECLSPEC_ALIGN(8) event
;
29814 PTR32 pDependencyInfo
;
29816 VkDependencyInfo pDependencyInfo_host
;
29817 struct conversion_context ctx
;
29819 TRACE("%#x, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->pDependencyInfo
);
29821 init_conversion_context(&ctx
);
29822 convert_VkDependencyInfo_win32_to_host(&ctx
, (const VkDependencyInfo32
*)UlongToPtr(params
->pDependencyInfo
), &pDependencyInfo_host
);
29823 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetEvent2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->event
, &pDependencyInfo_host
);
29824 free_conversion_context(&ctx
);
29825 return STATUS_SUCCESS
;
29829 static NTSTATUS
thunk64_vkCmdSetEvent2KHR(void *args
)
29831 struct vkCmdSetEvent2KHR_params
*params
= args
;
29833 TRACE("%p, 0x%s, %p\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->pDependencyInfo
);
29835 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetEvent2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->event
, params
->pDependencyInfo
);
29836 return STATUS_SUCCESS
;
29838 #endif /* _WIN64 */
29840 static NTSTATUS
thunk32_vkCmdSetEvent2KHR(void *args
)
29844 PTR32 commandBuffer
;
29845 VkEvent
DECLSPEC_ALIGN(8) event
;
29846 PTR32 pDependencyInfo
;
29848 VkDependencyInfo pDependencyInfo_host
;
29849 struct conversion_context ctx
;
29851 TRACE("%#x, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->event
), params
->pDependencyInfo
);
29853 init_conversion_context(&ctx
);
29854 convert_VkDependencyInfo_win32_to_host(&ctx
, (const VkDependencyInfo32
*)UlongToPtr(params
->pDependencyInfo
), &pDependencyInfo_host
);
29855 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetEvent2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->event
, &pDependencyInfo_host
);
29856 free_conversion_context(&ctx
);
29857 return STATUS_SUCCESS
;
29861 static NTSTATUS
thunk64_vkCmdSetExclusiveScissorNV(void *args
)
29863 struct vkCmdSetExclusiveScissorNV_params
*params
= args
;
29865 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstExclusiveScissor
, params
->exclusiveScissorCount
, params
->pExclusiveScissors
);
29867 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
);
29868 return STATUS_SUCCESS
;
29870 #endif /* _WIN64 */
29872 static NTSTATUS
thunk32_vkCmdSetExclusiveScissorNV(void *args
)
29876 PTR32 commandBuffer
;
29877 uint32_t firstExclusiveScissor
;
29878 uint32_t exclusiveScissorCount
;
29879 PTR32 pExclusiveScissors
;
29882 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstExclusiveScissor
, params
->exclusiveScissorCount
, params
->pExclusiveScissors
);
29884 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetExclusiveScissorNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstExclusiveScissor
, params
->exclusiveScissorCount
, (const VkRect2D
*)UlongToPtr(params
->pExclusiveScissors
));
29885 return STATUS_SUCCESS
;
29889 static NTSTATUS
thunk64_vkCmdSetExtraPrimitiveOverestimationSizeEXT(void *args
)
29891 struct vkCmdSetExtraPrimitiveOverestimationSizeEXT_params
*params
= args
;
29893 TRACE("%p, %f\n", params
->commandBuffer
, params
->extraPrimitiveOverestimationSize
);
29895 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetExtraPrimitiveOverestimationSizeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->extraPrimitiveOverestimationSize
);
29896 return STATUS_SUCCESS
;
29898 #endif /* _WIN64 */
29900 static NTSTATUS
thunk32_vkCmdSetExtraPrimitiveOverestimationSizeEXT(void *args
)
29904 PTR32 commandBuffer
;
29905 float extraPrimitiveOverestimationSize
;
29908 TRACE("%#x, %f\n", params
->commandBuffer
, params
->extraPrimitiveOverestimationSize
);
29910 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetExtraPrimitiveOverestimationSizeEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->extraPrimitiveOverestimationSize
);
29911 return STATUS_SUCCESS
;
29915 static NTSTATUS
thunk64_vkCmdSetFragmentShadingRateEnumNV(void *args
)
29917 struct vkCmdSetFragmentShadingRateEnumNV_params
*params
= args
;
29919 TRACE("%p, %#x, %p\n", params
->commandBuffer
, params
->shadingRate
, params
->combinerOps
);
29921 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFragmentShadingRateEnumNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->shadingRate
, params
->combinerOps
);
29922 return STATUS_SUCCESS
;
29924 #endif /* _WIN64 */
29926 static NTSTATUS
thunk32_vkCmdSetFragmentShadingRateEnumNV(void *args
)
29930 PTR32 commandBuffer
;
29931 VkFragmentShadingRateNV shadingRate
;
29935 TRACE("%#x, %#x, %#x\n", params
->commandBuffer
, params
->shadingRate
, params
->combinerOps
);
29937 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetFragmentShadingRateEnumNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->shadingRate
, (const VkFragmentShadingRateCombinerOpKHR
*)UlongToPtr(params
->combinerOps
));
29938 return STATUS_SUCCESS
;
29942 static NTSTATUS
thunk64_vkCmdSetFragmentShadingRateKHR(void *args
)
29944 struct vkCmdSetFragmentShadingRateKHR_params
*params
= args
;
29946 TRACE("%p, %p, %p\n", params
->commandBuffer
, params
->pFragmentSize
, params
->combinerOps
);
29948 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFragmentShadingRateKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pFragmentSize
, params
->combinerOps
);
29949 return STATUS_SUCCESS
;
29951 #endif /* _WIN64 */
29953 static NTSTATUS
thunk32_vkCmdSetFragmentShadingRateKHR(void *args
)
29957 PTR32 commandBuffer
;
29958 PTR32 pFragmentSize
;
29962 TRACE("%#x, %#x, %#x\n", params
->commandBuffer
, params
->pFragmentSize
, params
->combinerOps
);
29964 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetFragmentShadingRateKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, (const VkExtent2D
*)UlongToPtr(params
->pFragmentSize
), (const VkFragmentShadingRateCombinerOpKHR
*)UlongToPtr(params
->combinerOps
));
29965 return STATUS_SUCCESS
;
29969 static NTSTATUS
thunk64_vkCmdSetFrontFace(void *args
)
29971 struct vkCmdSetFrontFace_params
*params
= args
;
29973 TRACE("%p, %#x\n", params
->commandBuffer
, params
->frontFace
);
29975 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFrontFace(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->frontFace
);
29976 return STATUS_SUCCESS
;
29978 #endif /* _WIN64 */
29980 static NTSTATUS
thunk32_vkCmdSetFrontFace(void *args
)
29984 PTR32 commandBuffer
;
29985 VkFrontFace frontFace
;
29988 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->frontFace
);
29990 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetFrontFace(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->frontFace
);
29991 return STATUS_SUCCESS
;
29995 static NTSTATUS
thunk64_vkCmdSetFrontFaceEXT(void *args
)
29997 struct vkCmdSetFrontFaceEXT_params
*params
= args
;
29999 TRACE("%p, %#x\n", params
->commandBuffer
, params
->frontFace
);
30001 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetFrontFaceEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->frontFace
);
30002 return STATUS_SUCCESS
;
30004 #endif /* _WIN64 */
30006 static NTSTATUS
thunk32_vkCmdSetFrontFaceEXT(void *args
)
30010 PTR32 commandBuffer
;
30011 VkFrontFace frontFace
;
30014 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->frontFace
);
30016 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetFrontFaceEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->frontFace
);
30017 return STATUS_SUCCESS
;
30021 static NTSTATUS
thunk64_vkCmdSetLineRasterizationModeEXT(void *args
)
30023 struct vkCmdSetLineRasterizationModeEXT_params
*params
= args
;
30025 TRACE("%p, %#x\n", params
->commandBuffer
, params
->lineRasterizationMode
);
30027 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineRasterizationModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->lineRasterizationMode
);
30028 return STATUS_SUCCESS
;
30030 #endif /* _WIN64 */
30032 static NTSTATUS
thunk32_vkCmdSetLineRasterizationModeEXT(void *args
)
30036 PTR32 commandBuffer
;
30037 VkLineRasterizationModeEXT lineRasterizationMode
;
30040 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->lineRasterizationMode
);
30042 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetLineRasterizationModeEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->lineRasterizationMode
);
30043 return STATUS_SUCCESS
;
30047 static NTSTATUS
thunk64_vkCmdSetLineStippleEXT(void *args
)
30049 struct vkCmdSetLineStippleEXT_params
*params
= args
;
30051 TRACE("%p, %u, %u\n", params
->commandBuffer
, params
->lineStippleFactor
, params
->lineStipplePattern
);
30053 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineStippleEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->lineStippleFactor
, params
->lineStipplePattern
);
30054 return STATUS_SUCCESS
;
30056 #endif /* _WIN64 */
30058 static NTSTATUS
thunk32_vkCmdSetLineStippleEXT(void *args
)
30062 PTR32 commandBuffer
;
30063 uint32_t lineStippleFactor
;
30064 uint16_t lineStipplePattern
;
30067 TRACE("%#x, %u, %u\n", params
->commandBuffer
, params
->lineStippleFactor
, params
->lineStipplePattern
);
30069 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetLineStippleEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->lineStippleFactor
, params
->lineStipplePattern
);
30070 return STATUS_SUCCESS
;
30074 static NTSTATUS
thunk64_vkCmdSetLineStippleEnableEXT(void *args
)
30076 struct vkCmdSetLineStippleEnableEXT_params
*params
= args
;
30078 TRACE("%p, %u\n", params
->commandBuffer
, params
->stippledLineEnable
);
30080 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineStippleEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stippledLineEnable
);
30081 return STATUS_SUCCESS
;
30083 #endif /* _WIN64 */
30085 static NTSTATUS
thunk32_vkCmdSetLineStippleEnableEXT(void *args
)
30089 PTR32 commandBuffer
;
30090 VkBool32 stippledLineEnable
;
30093 TRACE("%#x, %u\n", params
->commandBuffer
, params
->stippledLineEnable
);
30095 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetLineStippleEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->stippledLineEnable
);
30096 return STATUS_SUCCESS
;
30100 static NTSTATUS
thunk64_vkCmdSetLineWidth(void *args
)
30102 struct vkCmdSetLineWidth_params
*params
= args
;
30104 TRACE("%p, %f\n", params
->commandBuffer
, params
->lineWidth
);
30106 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLineWidth(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->lineWidth
);
30107 return STATUS_SUCCESS
;
30109 #endif /* _WIN64 */
30111 static NTSTATUS
thunk32_vkCmdSetLineWidth(void *args
)
30115 PTR32 commandBuffer
;
30119 TRACE("%#x, %f\n", params
->commandBuffer
, params
->lineWidth
);
30121 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetLineWidth(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->lineWidth
);
30122 return STATUS_SUCCESS
;
30126 static NTSTATUS
thunk64_vkCmdSetLogicOpEXT(void *args
)
30128 struct vkCmdSetLogicOpEXT_params
*params
= args
;
30130 TRACE("%p, %#x\n", params
->commandBuffer
, params
->logicOp
);
30132 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLogicOpEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->logicOp
);
30133 return STATUS_SUCCESS
;
30135 #endif /* _WIN64 */
30137 static NTSTATUS
thunk32_vkCmdSetLogicOpEXT(void *args
)
30141 PTR32 commandBuffer
;
30145 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->logicOp
);
30147 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetLogicOpEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->logicOp
);
30148 return STATUS_SUCCESS
;
30152 static NTSTATUS
thunk64_vkCmdSetLogicOpEnableEXT(void *args
)
30154 struct vkCmdSetLogicOpEnableEXT_params
*params
= args
;
30156 TRACE("%p, %u\n", params
->commandBuffer
, params
->logicOpEnable
);
30158 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetLogicOpEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->logicOpEnable
);
30159 return STATUS_SUCCESS
;
30161 #endif /* _WIN64 */
30163 static NTSTATUS
thunk32_vkCmdSetLogicOpEnableEXT(void *args
)
30167 PTR32 commandBuffer
;
30168 VkBool32 logicOpEnable
;
30171 TRACE("%#x, %u\n", params
->commandBuffer
, params
->logicOpEnable
);
30173 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetLogicOpEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->logicOpEnable
);
30174 return STATUS_SUCCESS
;
30178 static NTSTATUS
thunk64_vkCmdSetPatchControlPointsEXT(void *args
)
30180 struct vkCmdSetPatchControlPointsEXT_params
*params
= args
;
30182 TRACE("%p, %u\n", params
->commandBuffer
, params
->patchControlPoints
);
30184 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPatchControlPointsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->patchControlPoints
);
30185 return STATUS_SUCCESS
;
30187 #endif /* _WIN64 */
30189 static NTSTATUS
thunk32_vkCmdSetPatchControlPointsEXT(void *args
)
30193 PTR32 commandBuffer
;
30194 uint32_t patchControlPoints
;
30197 TRACE("%#x, %u\n", params
->commandBuffer
, params
->patchControlPoints
);
30199 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetPatchControlPointsEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->patchControlPoints
);
30200 return STATUS_SUCCESS
;
30204 static NTSTATUS
thunk64_vkCmdSetPerformanceMarkerINTEL(void *args
)
30206 struct vkCmdSetPerformanceMarkerINTEL_params
*params
= args
;
30208 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
30210 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
30211 return STATUS_SUCCESS
;
30213 #endif /* _WIN64 */
30215 static NTSTATUS
thunk32_vkCmdSetPerformanceMarkerINTEL(void *args
)
30219 PTR32 commandBuffer
;
30223 VkPerformanceMarkerInfoINTEL pMarkerInfo_host
;
30225 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pMarkerInfo
);
30227 convert_VkPerformanceMarkerInfoINTEL_win32_to_host((const VkPerformanceMarkerInfoINTEL32
*)UlongToPtr(params
->pMarkerInfo
), &pMarkerInfo_host
);
30228 params
->result
= wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetPerformanceMarkerINTEL(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pMarkerInfo_host
);
30229 return STATUS_SUCCESS
;
30233 static NTSTATUS
thunk64_vkCmdSetPerformanceOverrideINTEL(void *args
)
30235 struct vkCmdSetPerformanceOverrideINTEL_params
*params
= args
;
30237 TRACE("%p, %p\n", params
->commandBuffer
, params
->pOverrideInfo
);
30239 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pOverrideInfo
);
30240 return STATUS_SUCCESS
;
30242 #endif /* _WIN64 */
30244 static NTSTATUS
thunk32_vkCmdSetPerformanceOverrideINTEL(void *args
)
30248 PTR32 commandBuffer
;
30249 PTR32 pOverrideInfo
;
30252 VkPerformanceOverrideInfoINTEL pOverrideInfo_host
;
30254 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pOverrideInfo
);
30256 convert_VkPerformanceOverrideInfoINTEL_win32_to_host((const VkPerformanceOverrideInfoINTEL32
*)UlongToPtr(params
->pOverrideInfo
), &pOverrideInfo_host
);
30257 params
->result
= wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetPerformanceOverrideINTEL(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pOverrideInfo_host
);
30258 return STATUS_SUCCESS
;
30262 static NTSTATUS
thunk64_vkCmdSetPerformanceStreamMarkerINTEL(void *args
)
30264 struct vkCmdSetPerformanceStreamMarkerINTEL_params
*params
= args
;
30266 TRACE("%p, %p\n", params
->commandBuffer
, params
->pMarkerInfo
);
30268 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPerformanceStreamMarkerINTEL(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pMarkerInfo
);
30269 return STATUS_SUCCESS
;
30271 #endif /* _WIN64 */
30273 static NTSTATUS
thunk32_vkCmdSetPerformanceStreamMarkerINTEL(void *args
)
30277 PTR32 commandBuffer
;
30281 VkPerformanceStreamMarkerInfoINTEL pMarkerInfo_host
;
30283 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pMarkerInfo
);
30285 convert_VkPerformanceStreamMarkerInfoINTEL_win32_to_host((const VkPerformanceStreamMarkerInfoINTEL32
*)UlongToPtr(params
->pMarkerInfo
), &pMarkerInfo_host
);
30286 params
->result
= wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetPerformanceStreamMarkerINTEL(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pMarkerInfo_host
);
30287 return STATUS_SUCCESS
;
30291 static NTSTATUS
thunk64_vkCmdSetPolygonModeEXT(void *args
)
30293 struct vkCmdSetPolygonModeEXT_params
*params
= args
;
30295 TRACE("%p, %#x\n", params
->commandBuffer
, params
->polygonMode
);
30297 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPolygonModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->polygonMode
);
30298 return STATUS_SUCCESS
;
30300 #endif /* _WIN64 */
30302 static NTSTATUS
thunk32_vkCmdSetPolygonModeEXT(void *args
)
30306 PTR32 commandBuffer
;
30307 VkPolygonMode polygonMode
;
30310 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->polygonMode
);
30312 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetPolygonModeEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->polygonMode
);
30313 return STATUS_SUCCESS
;
30317 static NTSTATUS
thunk64_vkCmdSetPrimitiveRestartEnable(void *args
)
30319 struct vkCmdSetPrimitiveRestartEnable_params
*params
= args
;
30321 TRACE("%p, %u\n", params
->commandBuffer
, params
->primitiveRestartEnable
);
30323 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveRestartEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveRestartEnable
);
30324 return STATUS_SUCCESS
;
30326 #endif /* _WIN64 */
30328 static NTSTATUS
thunk32_vkCmdSetPrimitiveRestartEnable(void *args
)
30332 PTR32 commandBuffer
;
30333 VkBool32 primitiveRestartEnable
;
30336 TRACE("%#x, %u\n", params
->commandBuffer
, params
->primitiveRestartEnable
);
30338 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetPrimitiveRestartEnable(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->primitiveRestartEnable
);
30339 return STATUS_SUCCESS
;
30343 static NTSTATUS
thunk64_vkCmdSetPrimitiveRestartEnableEXT(void *args
)
30345 struct vkCmdSetPrimitiveRestartEnableEXT_params
*params
= args
;
30347 TRACE("%p, %u\n", params
->commandBuffer
, params
->primitiveRestartEnable
);
30349 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveRestartEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveRestartEnable
);
30350 return STATUS_SUCCESS
;
30352 #endif /* _WIN64 */
30354 static NTSTATUS
thunk32_vkCmdSetPrimitiveRestartEnableEXT(void *args
)
30358 PTR32 commandBuffer
;
30359 VkBool32 primitiveRestartEnable
;
30362 TRACE("%#x, %u\n", params
->commandBuffer
, params
->primitiveRestartEnable
);
30364 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetPrimitiveRestartEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->primitiveRestartEnable
);
30365 return STATUS_SUCCESS
;
30369 static NTSTATUS
thunk64_vkCmdSetPrimitiveTopology(void *args
)
30371 struct vkCmdSetPrimitiveTopology_params
*params
= args
;
30373 TRACE("%p, %#x\n", params
->commandBuffer
, params
->primitiveTopology
);
30375 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveTopology(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveTopology
);
30376 return STATUS_SUCCESS
;
30378 #endif /* _WIN64 */
30380 static NTSTATUS
thunk32_vkCmdSetPrimitiveTopology(void *args
)
30384 PTR32 commandBuffer
;
30385 VkPrimitiveTopology primitiveTopology
;
30388 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->primitiveTopology
);
30390 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetPrimitiveTopology(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->primitiveTopology
);
30391 return STATUS_SUCCESS
;
30395 static NTSTATUS
thunk64_vkCmdSetPrimitiveTopologyEXT(void *args
)
30397 struct vkCmdSetPrimitiveTopologyEXT_params
*params
= args
;
30399 TRACE("%p, %#x\n", params
->commandBuffer
, params
->primitiveTopology
);
30401 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetPrimitiveTopologyEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->primitiveTopology
);
30402 return STATUS_SUCCESS
;
30404 #endif /* _WIN64 */
30406 static NTSTATUS
thunk32_vkCmdSetPrimitiveTopologyEXT(void *args
)
30410 PTR32 commandBuffer
;
30411 VkPrimitiveTopology primitiveTopology
;
30414 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->primitiveTopology
);
30416 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetPrimitiveTopologyEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->primitiveTopology
);
30417 return STATUS_SUCCESS
;
30421 static NTSTATUS
thunk64_vkCmdSetProvokingVertexModeEXT(void *args
)
30423 struct vkCmdSetProvokingVertexModeEXT_params
*params
= args
;
30425 TRACE("%p, %#x\n", params
->commandBuffer
, params
->provokingVertexMode
);
30427 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetProvokingVertexModeEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->provokingVertexMode
);
30428 return STATUS_SUCCESS
;
30430 #endif /* _WIN64 */
30432 static NTSTATUS
thunk32_vkCmdSetProvokingVertexModeEXT(void *args
)
30436 PTR32 commandBuffer
;
30437 VkProvokingVertexModeEXT provokingVertexMode
;
30440 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->provokingVertexMode
);
30442 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetProvokingVertexModeEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->provokingVertexMode
);
30443 return STATUS_SUCCESS
;
30447 static NTSTATUS
thunk64_vkCmdSetRasterizationSamplesEXT(void *args
)
30449 struct vkCmdSetRasterizationSamplesEXT_params
*params
= args
;
30451 TRACE("%p, %#x\n", params
->commandBuffer
, params
->rasterizationSamples
);
30453 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizationSamplesEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizationSamples
);
30454 return STATUS_SUCCESS
;
30456 #endif /* _WIN64 */
30458 static NTSTATUS
thunk32_vkCmdSetRasterizationSamplesEXT(void *args
)
30462 PTR32 commandBuffer
;
30463 VkSampleCountFlagBits rasterizationSamples
;
30466 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->rasterizationSamples
);
30468 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetRasterizationSamplesEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->rasterizationSamples
);
30469 return STATUS_SUCCESS
;
30473 static NTSTATUS
thunk64_vkCmdSetRasterizationStreamEXT(void *args
)
30475 struct vkCmdSetRasterizationStreamEXT_params
*params
= args
;
30477 TRACE("%p, %u\n", params
->commandBuffer
, params
->rasterizationStream
);
30479 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizationStreamEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizationStream
);
30480 return STATUS_SUCCESS
;
30482 #endif /* _WIN64 */
30484 static NTSTATUS
thunk32_vkCmdSetRasterizationStreamEXT(void *args
)
30488 PTR32 commandBuffer
;
30489 uint32_t rasterizationStream
;
30492 TRACE("%#x, %u\n", params
->commandBuffer
, params
->rasterizationStream
);
30494 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetRasterizationStreamEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->rasterizationStream
);
30495 return STATUS_SUCCESS
;
30499 static NTSTATUS
thunk64_vkCmdSetRasterizerDiscardEnable(void *args
)
30501 struct vkCmdSetRasterizerDiscardEnable_params
*params
= args
;
30503 TRACE("%p, %u\n", params
->commandBuffer
, params
->rasterizerDiscardEnable
);
30505 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizerDiscardEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizerDiscardEnable
);
30506 return STATUS_SUCCESS
;
30508 #endif /* _WIN64 */
30510 static NTSTATUS
thunk32_vkCmdSetRasterizerDiscardEnable(void *args
)
30514 PTR32 commandBuffer
;
30515 VkBool32 rasterizerDiscardEnable
;
30518 TRACE("%#x, %u\n", params
->commandBuffer
, params
->rasterizerDiscardEnable
);
30520 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetRasterizerDiscardEnable(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->rasterizerDiscardEnable
);
30521 return STATUS_SUCCESS
;
30525 static NTSTATUS
thunk64_vkCmdSetRasterizerDiscardEnableEXT(void *args
)
30527 struct vkCmdSetRasterizerDiscardEnableEXT_params
*params
= args
;
30529 TRACE("%p, %u\n", params
->commandBuffer
, params
->rasterizerDiscardEnable
);
30531 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRasterizerDiscardEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->rasterizerDiscardEnable
);
30532 return STATUS_SUCCESS
;
30534 #endif /* _WIN64 */
30536 static NTSTATUS
thunk32_vkCmdSetRasterizerDiscardEnableEXT(void *args
)
30540 PTR32 commandBuffer
;
30541 VkBool32 rasterizerDiscardEnable
;
30544 TRACE("%#x, %u\n", params
->commandBuffer
, params
->rasterizerDiscardEnable
);
30546 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetRasterizerDiscardEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->rasterizerDiscardEnable
);
30547 return STATUS_SUCCESS
;
30551 static NTSTATUS
thunk64_vkCmdSetRayTracingPipelineStackSizeKHR(void *args
)
30553 struct vkCmdSetRayTracingPipelineStackSizeKHR_params
*params
= args
;
30555 TRACE("%p, %u\n", params
->commandBuffer
, params
->pipelineStackSize
);
30557 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRayTracingPipelineStackSizeKHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pipelineStackSize
);
30558 return STATUS_SUCCESS
;
30560 #endif /* _WIN64 */
30562 static NTSTATUS
thunk32_vkCmdSetRayTracingPipelineStackSizeKHR(void *args
)
30566 PTR32 commandBuffer
;
30567 uint32_t pipelineStackSize
;
30570 TRACE("%#x, %u\n", params
->commandBuffer
, params
->pipelineStackSize
);
30572 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetRayTracingPipelineStackSizeKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->pipelineStackSize
);
30573 return STATUS_SUCCESS
;
30577 static NTSTATUS
thunk64_vkCmdSetRepresentativeFragmentTestEnableNV(void *args
)
30579 struct vkCmdSetRepresentativeFragmentTestEnableNV_params
*params
= args
;
30581 TRACE("%p, %u\n", params
->commandBuffer
, params
->representativeFragmentTestEnable
);
30583 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetRepresentativeFragmentTestEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->representativeFragmentTestEnable
);
30584 return STATUS_SUCCESS
;
30586 #endif /* _WIN64 */
30588 static NTSTATUS
thunk32_vkCmdSetRepresentativeFragmentTestEnableNV(void *args
)
30592 PTR32 commandBuffer
;
30593 VkBool32 representativeFragmentTestEnable
;
30596 TRACE("%#x, %u\n", params
->commandBuffer
, params
->representativeFragmentTestEnable
);
30598 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetRepresentativeFragmentTestEnableNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->representativeFragmentTestEnable
);
30599 return STATUS_SUCCESS
;
30603 static NTSTATUS
thunk64_vkCmdSetSampleLocationsEXT(void *args
)
30605 struct vkCmdSetSampleLocationsEXT_params
*params
= args
;
30607 TRACE("%p, %p\n", params
->commandBuffer
, params
->pSampleLocationsInfo
);
30609 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetSampleLocationsEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->pSampleLocationsInfo
);
30610 return STATUS_SUCCESS
;
30612 #endif /* _WIN64 */
30614 static NTSTATUS
thunk32_vkCmdSetSampleLocationsEXT(void *args
)
30618 PTR32 commandBuffer
;
30619 PTR32 pSampleLocationsInfo
;
30621 VkSampleLocationsInfoEXT pSampleLocationsInfo_host
;
30623 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->pSampleLocationsInfo
);
30625 convert_VkSampleLocationsInfoEXT_win32_to_host((const VkSampleLocationsInfoEXT32
*)UlongToPtr(params
->pSampleLocationsInfo
), &pSampleLocationsInfo_host
);
30626 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetSampleLocationsEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pSampleLocationsInfo_host
);
30627 return STATUS_SUCCESS
;
30631 static NTSTATUS
thunk64_vkCmdSetSampleLocationsEnableEXT(void *args
)
30633 struct vkCmdSetSampleLocationsEnableEXT_params
*params
= args
;
30635 TRACE("%p, %u\n", params
->commandBuffer
, params
->sampleLocationsEnable
);
30637 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetSampleLocationsEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->sampleLocationsEnable
);
30638 return STATUS_SUCCESS
;
30640 #endif /* _WIN64 */
30642 static NTSTATUS
thunk32_vkCmdSetSampleLocationsEnableEXT(void *args
)
30646 PTR32 commandBuffer
;
30647 VkBool32 sampleLocationsEnable
;
30650 TRACE("%#x, %u\n", params
->commandBuffer
, params
->sampleLocationsEnable
);
30652 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetSampleLocationsEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->sampleLocationsEnable
);
30653 return STATUS_SUCCESS
;
30657 static NTSTATUS
thunk64_vkCmdSetSampleMaskEXT(void *args
)
30659 struct vkCmdSetSampleMaskEXT_params
*params
= args
;
30661 TRACE("%p, %#x, %p\n", params
->commandBuffer
, params
->samples
, params
->pSampleMask
);
30663 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetSampleMaskEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->samples
, params
->pSampleMask
);
30664 return STATUS_SUCCESS
;
30666 #endif /* _WIN64 */
30668 static NTSTATUS
thunk32_vkCmdSetSampleMaskEXT(void *args
)
30672 PTR32 commandBuffer
;
30673 VkSampleCountFlagBits samples
;
30677 TRACE("%#x, %#x, %#x\n", params
->commandBuffer
, params
->samples
, params
->pSampleMask
);
30679 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetSampleMaskEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->samples
, (const VkSampleMask
*)UlongToPtr(params
->pSampleMask
));
30680 return STATUS_SUCCESS
;
30684 static NTSTATUS
thunk64_vkCmdSetScissor(void *args
)
30686 struct vkCmdSetScissor_params
*params
= args
;
30688 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstScissor
, params
->scissorCount
, params
->pScissors
);
30690 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
);
30691 return STATUS_SUCCESS
;
30693 #endif /* _WIN64 */
30695 static NTSTATUS
thunk32_vkCmdSetScissor(void *args
)
30699 PTR32 commandBuffer
;
30700 uint32_t firstScissor
;
30701 uint32_t scissorCount
;
30705 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstScissor
, params
->scissorCount
, params
->pScissors
);
30707 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetScissor(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstScissor
, params
->scissorCount
, (const VkRect2D
*)UlongToPtr(params
->pScissors
));
30708 return STATUS_SUCCESS
;
30712 static NTSTATUS
thunk64_vkCmdSetScissorWithCount(void *args
)
30714 struct vkCmdSetScissorWithCount_params
*params
= args
;
30716 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->scissorCount
, params
->pScissors
);
30718 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetScissorWithCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->scissorCount
, params
->pScissors
);
30719 return STATUS_SUCCESS
;
30721 #endif /* _WIN64 */
30723 static NTSTATUS
thunk32_vkCmdSetScissorWithCount(void *args
)
30727 PTR32 commandBuffer
;
30728 uint32_t scissorCount
;
30732 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->scissorCount
, params
->pScissors
);
30734 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetScissorWithCount(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->scissorCount
, (const VkRect2D
*)UlongToPtr(params
->pScissors
));
30735 return STATUS_SUCCESS
;
30739 static NTSTATUS
thunk64_vkCmdSetScissorWithCountEXT(void *args
)
30741 struct vkCmdSetScissorWithCountEXT_params
*params
= args
;
30743 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->scissorCount
, params
->pScissors
);
30745 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetScissorWithCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->scissorCount
, params
->pScissors
);
30746 return STATUS_SUCCESS
;
30748 #endif /* _WIN64 */
30750 static NTSTATUS
thunk32_vkCmdSetScissorWithCountEXT(void *args
)
30754 PTR32 commandBuffer
;
30755 uint32_t scissorCount
;
30759 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->scissorCount
, params
->pScissors
);
30761 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetScissorWithCountEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->scissorCount
, (const VkRect2D
*)UlongToPtr(params
->pScissors
));
30762 return STATUS_SUCCESS
;
30766 static NTSTATUS
thunk64_vkCmdSetShadingRateImageEnableNV(void *args
)
30768 struct vkCmdSetShadingRateImageEnableNV_params
*params
= args
;
30770 TRACE("%p, %u\n", params
->commandBuffer
, params
->shadingRateImageEnable
);
30772 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetShadingRateImageEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->shadingRateImageEnable
);
30773 return STATUS_SUCCESS
;
30775 #endif /* _WIN64 */
30777 static NTSTATUS
thunk32_vkCmdSetShadingRateImageEnableNV(void *args
)
30781 PTR32 commandBuffer
;
30782 VkBool32 shadingRateImageEnable
;
30785 TRACE("%#x, %u\n", params
->commandBuffer
, params
->shadingRateImageEnable
);
30787 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetShadingRateImageEnableNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->shadingRateImageEnable
);
30788 return STATUS_SUCCESS
;
30792 static NTSTATUS
thunk64_vkCmdSetStencilCompareMask(void *args
)
30794 struct vkCmdSetStencilCompareMask_params
*params
= args
;
30796 TRACE("%p, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->compareMask
);
30798 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilCompareMask(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->compareMask
);
30799 return STATUS_SUCCESS
;
30801 #endif /* _WIN64 */
30803 static NTSTATUS
thunk32_vkCmdSetStencilCompareMask(void *args
)
30807 PTR32 commandBuffer
;
30808 VkStencilFaceFlags faceMask
;
30809 uint32_t compareMask
;
30812 TRACE("%#x, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->compareMask
);
30814 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetStencilCompareMask(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->faceMask
, params
->compareMask
);
30815 return STATUS_SUCCESS
;
30819 static NTSTATUS
thunk64_vkCmdSetStencilOp(void *args
)
30821 struct vkCmdSetStencilOp_params
*params
= args
;
30823 TRACE("%p, %#x, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
30825 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
);
30826 return STATUS_SUCCESS
;
30828 #endif /* _WIN64 */
30830 static NTSTATUS
thunk32_vkCmdSetStencilOp(void *args
)
30834 PTR32 commandBuffer
;
30835 VkStencilFaceFlags faceMask
;
30836 VkStencilOp failOp
;
30837 VkStencilOp passOp
;
30838 VkStencilOp depthFailOp
;
30839 VkCompareOp compareOp
;
30842 TRACE("%#x, %#x, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
30844 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetStencilOp(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
30845 return STATUS_SUCCESS
;
30849 static NTSTATUS
thunk64_vkCmdSetStencilOpEXT(void *args
)
30851 struct vkCmdSetStencilOpEXT_params
*params
= args
;
30853 TRACE("%p, %#x, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
30855 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
);
30856 return STATUS_SUCCESS
;
30858 #endif /* _WIN64 */
30860 static NTSTATUS
thunk32_vkCmdSetStencilOpEXT(void *args
)
30864 PTR32 commandBuffer
;
30865 VkStencilFaceFlags faceMask
;
30866 VkStencilOp failOp
;
30867 VkStencilOp passOp
;
30868 VkStencilOp depthFailOp
;
30869 VkCompareOp compareOp
;
30872 TRACE("%#x, %#x, %#x, %#x, %#x, %#x\n", params
->commandBuffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
30874 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetStencilOpEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->faceMask
, params
->failOp
, params
->passOp
, params
->depthFailOp
, params
->compareOp
);
30875 return STATUS_SUCCESS
;
30879 static NTSTATUS
thunk64_vkCmdSetStencilReference(void *args
)
30881 struct vkCmdSetStencilReference_params
*params
= args
;
30883 TRACE("%p, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->reference
);
30885 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilReference(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->reference
);
30886 return STATUS_SUCCESS
;
30888 #endif /* _WIN64 */
30890 static NTSTATUS
thunk32_vkCmdSetStencilReference(void *args
)
30894 PTR32 commandBuffer
;
30895 VkStencilFaceFlags faceMask
;
30896 uint32_t reference
;
30899 TRACE("%#x, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->reference
);
30901 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetStencilReference(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->faceMask
, params
->reference
);
30902 return STATUS_SUCCESS
;
30906 static NTSTATUS
thunk64_vkCmdSetStencilTestEnable(void *args
)
30908 struct vkCmdSetStencilTestEnable_params
*params
= args
;
30910 TRACE("%p, %u\n", params
->commandBuffer
, params
->stencilTestEnable
);
30912 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilTestEnable(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stencilTestEnable
);
30913 return STATUS_SUCCESS
;
30915 #endif /* _WIN64 */
30917 static NTSTATUS
thunk32_vkCmdSetStencilTestEnable(void *args
)
30921 PTR32 commandBuffer
;
30922 VkBool32 stencilTestEnable
;
30925 TRACE("%#x, %u\n", params
->commandBuffer
, params
->stencilTestEnable
);
30927 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetStencilTestEnable(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->stencilTestEnable
);
30928 return STATUS_SUCCESS
;
30932 static NTSTATUS
thunk64_vkCmdSetStencilTestEnableEXT(void *args
)
30934 struct vkCmdSetStencilTestEnableEXT_params
*params
= args
;
30936 TRACE("%p, %u\n", params
->commandBuffer
, params
->stencilTestEnable
);
30938 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilTestEnableEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->stencilTestEnable
);
30939 return STATUS_SUCCESS
;
30941 #endif /* _WIN64 */
30943 static NTSTATUS
thunk32_vkCmdSetStencilTestEnableEXT(void *args
)
30947 PTR32 commandBuffer
;
30948 VkBool32 stencilTestEnable
;
30951 TRACE("%#x, %u\n", params
->commandBuffer
, params
->stencilTestEnable
);
30953 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetStencilTestEnableEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->stencilTestEnable
);
30954 return STATUS_SUCCESS
;
30958 static NTSTATUS
thunk64_vkCmdSetStencilWriteMask(void *args
)
30960 struct vkCmdSetStencilWriteMask_params
*params
= args
;
30962 TRACE("%p, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->writeMask
);
30964 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetStencilWriteMask(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->faceMask
, params
->writeMask
);
30965 return STATUS_SUCCESS
;
30967 #endif /* _WIN64 */
30969 static NTSTATUS
thunk32_vkCmdSetStencilWriteMask(void *args
)
30973 PTR32 commandBuffer
;
30974 VkStencilFaceFlags faceMask
;
30975 uint32_t writeMask
;
30978 TRACE("%#x, %#x, %u\n", params
->commandBuffer
, params
->faceMask
, params
->writeMask
);
30980 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetStencilWriteMask(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->faceMask
, params
->writeMask
);
30981 return STATUS_SUCCESS
;
30985 static NTSTATUS
thunk64_vkCmdSetTessellationDomainOriginEXT(void *args
)
30987 struct vkCmdSetTessellationDomainOriginEXT_params
*params
= args
;
30989 TRACE("%p, %#x\n", params
->commandBuffer
, params
->domainOrigin
);
30991 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetTessellationDomainOriginEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->domainOrigin
);
30992 return STATUS_SUCCESS
;
30994 #endif /* _WIN64 */
30996 static NTSTATUS
thunk32_vkCmdSetTessellationDomainOriginEXT(void *args
)
31000 PTR32 commandBuffer
;
31001 VkTessellationDomainOrigin domainOrigin
;
31004 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->domainOrigin
);
31006 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetTessellationDomainOriginEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->domainOrigin
);
31007 return STATUS_SUCCESS
;
31011 static NTSTATUS
thunk64_vkCmdSetVertexInputEXT(void *args
)
31013 struct vkCmdSetVertexInputEXT_params
*params
= args
;
31015 TRACE("%p, %u, %p, %u, %p\n", params
->commandBuffer
, params
->vertexBindingDescriptionCount
, params
->pVertexBindingDescriptions
, params
->vertexAttributeDescriptionCount
, params
->pVertexAttributeDescriptions
);
31017 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
);
31018 return STATUS_SUCCESS
;
31020 #endif /* _WIN64 */
31022 static NTSTATUS
thunk32_vkCmdSetVertexInputEXT(void *args
)
31026 PTR32 commandBuffer
;
31027 uint32_t vertexBindingDescriptionCount
;
31028 PTR32 pVertexBindingDescriptions
;
31029 uint32_t vertexAttributeDescriptionCount
;
31030 PTR32 pVertexAttributeDescriptions
;
31032 const VkVertexInputBindingDescription2EXT
*pVertexBindingDescriptions_host
;
31033 const VkVertexInputAttributeDescription2EXT
*pVertexAttributeDescriptions_host
;
31034 struct conversion_context ctx
;
31036 TRACE("%#x, %u, %#x, %u, %#x\n", params
->commandBuffer
, params
->vertexBindingDescriptionCount
, params
->pVertexBindingDescriptions
, params
->vertexAttributeDescriptionCount
, params
->pVertexAttributeDescriptions
);
31038 init_conversion_context(&ctx
);
31039 pVertexBindingDescriptions_host
= convert_VkVertexInputBindingDescription2EXT_array_win32_to_host(&ctx
, (const VkVertexInputBindingDescription2EXT32
*)UlongToPtr(params
->pVertexBindingDescriptions
), params
->vertexBindingDescriptionCount
);
31040 pVertexAttributeDescriptions_host
= convert_VkVertexInputAttributeDescription2EXT_array_win32_to_host(&ctx
, (const VkVertexInputAttributeDescription2EXT32
*)UlongToPtr(params
->pVertexAttributeDescriptions
), params
->vertexAttributeDescriptionCount
);
31041 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetVertexInputEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->vertexBindingDescriptionCount
, pVertexBindingDescriptions_host
, params
->vertexAttributeDescriptionCount
, pVertexAttributeDescriptions_host
);
31042 free_conversion_context(&ctx
);
31043 return STATUS_SUCCESS
;
31047 static NTSTATUS
thunk64_vkCmdSetViewport(void *args
)
31049 struct vkCmdSetViewport_params
*params
= args
;
31051 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewports
);
31053 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
);
31054 return STATUS_SUCCESS
;
31056 #endif /* _WIN64 */
31058 static NTSTATUS
thunk32_vkCmdSetViewport(void *args
)
31062 PTR32 commandBuffer
;
31063 uint32_t firstViewport
;
31064 uint32_t viewportCount
;
31068 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewports
);
31070 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetViewport(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstViewport
, params
->viewportCount
, (const VkViewport
*)UlongToPtr(params
->pViewports
));
31071 return STATUS_SUCCESS
;
31075 static NTSTATUS
thunk64_vkCmdSetViewportShadingRatePaletteNV(void *args
)
31077 struct vkCmdSetViewportShadingRatePaletteNV_params
*params
= args
;
31079 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pShadingRatePalettes
);
31081 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
);
31082 return STATUS_SUCCESS
;
31084 #endif /* _WIN64 */
31086 static NTSTATUS
thunk32_vkCmdSetViewportShadingRatePaletteNV(void *args
)
31090 PTR32 commandBuffer
;
31091 uint32_t firstViewport
;
31092 uint32_t viewportCount
;
31093 PTR32 pShadingRatePalettes
;
31095 const VkShadingRatePaletteNV
*pShadingRatePalettes_host
;
31096 struct conversion_context ctx
;
31098 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pShadingRatePalettes
);
31100 init_conversion_context(&ctx
);
31101 pShadingRatePalettes_host
= convert_VkShadingRatePaletteNV_array_win32_to_host(&ctx
, (const VkShadingRatePaletteNV32
*)UlongToPtr(params
->pShadingRatePalettes
), params
->viewportCount
);
31102 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetViewportShadingRatePaletteNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstViewport
, params
->viewportCount
, pShadingRatePalettes_host
);
31103 free_conversion_context(&ctx
);
31104 return STATUS_SUCCESS
;
31108 static NTSTATUS
thunk64_vkCmdSetViewportSwizzleNV(void *args
)
31110 struct vkCmdSetViewportSwizzleNV_params
*params
= args
;
31112 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportSwizzles
);
31114 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
);
31115 return STATUS_SUCCESS
;
31117 #endif /* _WIN64 */
31119 static NTSTATUS
thunk32_vkCmdSetViewportSwizzleNV(void *args
)
31123 PTR32 commandBuffer
;
31124 uint32_t firstViewport
;
31125 uint32_t viewportCount
;
31126 PTR32 pViewportSwizzles
;
31129 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportSwizzles
);
31131 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetViewportSwizzleNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstViewport
, params
->viewportCount
, (const VkViewportSwizzleNV
*)UlongToPtr(params
->pViewportSwizzles
));
31132 return STATUS_SUCCESS
;
31136 static NTSTATUS
thunk64_vkCmdSetViewportWScalingEnableNV(void *args
)
31138 struct vkCmdSetViewportWScalingEnableNV_params
*params
= args
;
31140 TRACE("%p, %u\n", params
->commandBuffer
, params
->viewportWScalingEnable
);
31142 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWScalingEnableNV(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->viewportWScalingEnable
);
31143 return STATUS_SUCCESS
;
31145 #endif /* _WIN64 */
31147 static NTSTATUS
thunk32_vkCmdSetViewportWScalingEnableNV(void *args
)
31151 PTR32 commandBuffer
;
31152 VkBool32 viewportWScalingEnable
;
31155 TRACE("%#x, %u\n", params
->commandBuffer
, params
->viewportWScalingEnable
);
31157 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetViewportWScalingEnableNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->viewportWScalingEnable
);
31158 return STATUS_SUCCESS
;
31162 static NTSTATUS
thunk64_vkCmdSetViewportWScalingNV(void *args
)
31164 struct vkCmdSetViewportWScalingNV_params
*params
= args
;
31166 TRACE("%p, %u, %u, %p\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportWScalings
);
31168 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
);
31169 return STATUS_SUCCESS
;
31171 #endif /* _WIN64 */
31173 static NTSTATUS
thunk32_vkCmdSetViewportWScalingNV(void *args
)
31177 PTR32 commandBuffer
;
31178 uint32_t firstViewport
;
31179 uint32_t viewportCount
;
31180 PTR32 pViewportWScalings
;
31183 TRACE("%#x, %u, %u, %#x\n", params
->commandBuffer
, params
->firstViewport
, params
->viewportCount
, params
->pViewportWScalings
);
31185 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetViewportWScalingNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->firstViewport
, params
->viewportCount
, (const VkViewportWScalingNV
*)UlongToPtr(params
->pViewportWScalings
));
31186 return STATUS_SUCCESS
;
31190 static NTSTATUS
thunk64_vkCmdSetViewportWithCount(void *args
)
31192 struct vkCmdSetViewportWithCount_params
*params
= args
;
31194 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->viewportCount
, params
->pViewports
);
31196 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWithCount(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->viewportCount
, params
->pViewports
);
31197 return STATUS_SUCCESS
;
31199 #endif /* _WIN64 */
31201 static NTSTATUS
thunk32_vkCmdSetViewportWithCount(void *args
)
31205 PTR32 commandBuffer
;
31206 uint32_t viewportCount
;
31210 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->viewportCount
, params
->pViewports
);
31212 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetViewportWithCount(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->viewportCount
, (const VkViewport
*)UlongToPtr(params
->pViewports
));
31213 return STATUS_SUCCESS
;
31217 static NTSTATUS
thunk64_vkCmdSetViewportWithCountEXT(void *args
)
31219 struct vkCmdSetViewportWithCountEXT_params
*params
= args
;
31221 TRACE("%p, %u, %p\n", params
->commandBuffer
, params
->viewportCount
, params
->pViewports
);
31223 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSetViewportWithCountEXT(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->viewportCount
, params
->pViewports
);
31224 return STATUS_SUCCESS
;
31226 #endif /* _WIN64 */
31228 static NTSTATUS
thunk32_vkCmdSetViewportWithCountEXT(void *args
)
31232 PTR32 commandBuffer
;
31233 uint32_t viewportCount
;
31237 TRACE("%#x, %u, %#x\n", params
->commandBuffer
, params
->viewportCount
, params
->pViewports
);
31239 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSetViewportWithCountEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->viewportCount
, (const VkViewport
*)UlongToPtr(params
->pViewports
));
31240 return STATUS_SUCCESS
;
31244 static NTSTATUS
thunk64_vkCmdSubpassShadingHUAWEI(void *args
)
31246 struct vkCmdSubpassShadingHUAWEI_params
*params
= args
;
31248 TRACE("%p\n", params
->commandBuffer
);
31250 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdSubpassShadingHUAWEI(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
31251 return STATUS_SUCCESS
;
31253 #endif /* _WIN64 */
31255 static NTSTATUS
thunk32_vkCmdSubpassShadingHUAWEI(void *args
)
31259 PTR32 commandBuffer
;
31262 TRACE("%#x\n", params
->commandBuffer
);
31264 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdSubpassShadingHUAWEI(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
);
31265 return STATUS_SUCCESS
;
31269 static NTSTATUS
thunk64_vkCmdTraceRaysIndirect2KHR(void *args
)
31271 struct vkCmdTraceRaysIndirect2KHR_params
*params
= args
;
31273 TRACE("%p, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->indirectDeviceAddress
));
31275 wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkCmdTraceRaysIndirect2KHR(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->indirectDeviceAddress
);
31276 return STATUS_SUCCESS
;
31278 #endif /* _WIN64 */
31280 static NTSTATUS
thunk32_vkCmdTraceRaysIndirect2KHR(void *args
)
31284 PTR32 commandBuffer
;
31285 VkDeviceAddress
DECLSPEC_ALIGN(8) indirectDeviceAddress
;
31288 TRACE("%#x, 0x%s\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->indirectDeviceAddress
));
31290 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdTraceRaysIndirect2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->indirectDeviceAddress
);
31291 return STATUS_SUCCESS
;
31295 static NTSTATUS
thunk64_vkCmdTraceRaysIndirectKHR(void *args
)
31297 struct vkCmdTraceRaysIndirectKHR_params
*params
= args
;
31299 TRACE("%p, %p, %p, %p, %p, 0x%s\n", params
->commandBuffer
, params
->pRaygenShaderBindingTable
, params
->pMissShaderBindingTable
, params
->pHitShaderBindingTable
, params
->pCallableShaderBindingTable
, wine_dbgstr_longlong(params
->indirectDeviceAddress
));
31301 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
);
31302 return STATUS_SUCCESS
;
31304 #endif /* _WIN64 */
31306 static NTSTATUS
thunk32_vkCmdTraceRaysIndirectKHR(void *args
)
31310 PTR32 commandBuffer
;
31311 PTR32 pRaygenShaderBindingTable
;
31312 PTR32 pMissShaderBindingTable
;
31313 PTR32 pHitShaderBindingTable
;
31314 PTR32 pCallableShaderBindingTable
;
31315 VkDeviceAddress
DECLSPEC_ALIGN(8) indirectDeviceAddress
;
31317 VkStridedDeviceAddressRegionKHR pRaygenShaderBindingTable_host
;
31318 VkStridedDeviceAddressRegionKHR pMissShaderBindingTable_host
;
31319 VkStridedDeviceAddressRegionKHR pHitShaderBindingTable_host
;
31320 VkStridedDeviceAddressRegionKHR pCallableShaderBindingTable_host
;
31322 TRACE("%#x, %#x, %#x, %#x, %#x, 0x%s\n", params
->commandBuffer
, params
->pRaygenShaderBindingTable
, params
->pMissShaderBindingTable
, params
->pHitShaderBindingTable
, params
->pCallableShaderBindingTable
, wine_dbgstr_longlong(params
->indirectDeviceAddress
));
31324 convert_VkStridedDeviceAddressRegionKHR_win32_to_host((const VkStridedDeviceAddressRegionKHR32
*)UlongToPtr(params
->pRaygenShaderBindingTable
), &pRaygenShaderBindingTable_host
);
31325 convert_VkStridedDeviceAddressRegionKHR_win32_to_host((const VkStridedDeviceAddressRegionKHR32
*)UlongToPtr(params
->pMissShaderBindingTable
), &pMissShaderBindingTable_host
);
31326 convert_VkStridedDeviceAddressRegionKHR_win32_to_host((const VkStridedDeviceAddressRegionKHR32
*)UlongToPtr(params
->pHitShaderBindingTable
), &pHitShaderBindingTable_host
);
31327 convert_VkStridedDeviceAddressRegionKHR_win32_to_host((const VkStridedDeviceAddressRegionKHR32
*)UlongToPtr(params
->pCallableShaderBindingTable
), &pCallableShaderBindingTable_host
);
31328 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdTraceRaysIndirectKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pRaygenShaderBindingTable_host
, &pMissShaderBindingTable_host
, &pHitShaderBindingTable_host
, &pCallableShaderBindingTable_host
, params
->indirectDeviceAddress
);
31329 return STATUS_SUCCESS
;
31333 static NTSTATUS
thunk64_vkCmdTraceRaysKHR(void *args
)
31335 struct vkCmdTraceRaysKHR_params
*params
= args
;
31337 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
);
31339 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
);
31340 return STATUS_SUCCESS
;
31342 #endif /* _WIN64 */
31344 static NTSTATUS
thunk32_vkCmdTraceRaysKHR(void *args
)
31348 PTR32 commandBuffer
;
31349 PTR32 pRaygenShaderBindingTable
;
31350 PTR32 pMissShaderBindingTable
;
31351 PTR32 pHitShaderBindingTable
;
31352 PTR32 pCallableShaderBindingTable
;
31357 VkStridedDeviceAddressRegionKHR pRaygenShaderBindingTable_host
;
31358 VkStridedDeviceAddressRegionKHR pMissShaderBindingTable_host
;
31359 VkStridedDeviceAddressRegionKHR pHitShaderBindingTable_host
;
31360 VkStridedDeviceAddressRegionKHR pCallableShaderBindingTable_host
;
31362 TRACE("%#x, %#x, %#x, %#x, %#x, %u, %u, %u\n", params
->commandBuffer
, params
->pRaygenShaderBindingTable
, params
->pMissShaderBindingTable
, params
->pHitShaderBindingTable
, params
->pCallableShaderBindingTable
, params
->width
, params
->height
, params
->depth
);
31364 convert_VkStridedDeviceAddressRegionKHR_win32_to_host((const VkStridedDeviceAddressRegionKHR32
*)UlongToPtr(params
->pRaygenShaderBindingTable
), &pRaygenShaderBindingTable_host
);
31365 convert_VkStridedDeviceAddressRegionKHR_win32_to_host((const VkStridedDeviceAddressRegionKHR32
*)UlongToPtr(params
->pMissShaderBindingTable
), &pMissShaderBindingTable_host
);
31366 convert_VkStridedDeviceAddressRegionKHR_win32_to_host((const VkStridedDeviceAddressRegionKHR32
*)UlongToPtr(params
->pHitShaderBindingTable
), &pHitShaderBindingTable_host
);
31367 convert_VkStridedDeviceAddressRegionKHR_win32_to_host((const VkStridedDeviceAddressRegionKHR32
*)UlongToPtr(params
->pCallableShaderBindingTable
), &pCallableShaderBindingTable_host
);
31368 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdTraceRaysKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, &pRaygenShaderBindingTable_host
, &pMissShaderBindingTable_host
, &pHitShaderBindingTable_host
, &pCallableShaderBindingTable_host
, params
->width
, params
->height
, params
->depth
);
31369 return STATUS_SUCCESS
;
31373 static NTSTATUS
thunk64_vkCmdTraceRaysNV(void *args
)
31375 struct vkCmdTraceRaysNV_params
*params
= args
;
31377 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
);
31379 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
);
31380 return STATUS_SUCCESS
;
31382 #endif /* _WIN64 */
31384 static NTSTATUS
thunk32_vkCmdTraceRaysNV(void *args
)
31388 PTR32 commandBuffer
;
31389 VkBuffer
DECLSPEC_ALIGN(8) raygenShaderBindingTableBuffer
;
31390 VkDeviceSize
DECLSPEC_ALIGN(8) raygenShaderBindingOffset
;
31391 VkBuffer
DECLSPEC_ALIGN(8) missShaderBindingTableBuffer
;
31392 VkDeviceSize
DECLSPEC_ALIGN(8) missShaderBindingOffset
;
31393 VkDeviceSize
DECLSPEC_ALIGN(8) missShaderBindingStride
;
31394 VkBuffer
DECLSPEC_ALIGN(8) hitShaderBindingTableBuffer
;
31395 VkDeviceSize
DECLSPEC_ALIGN(8) hitShaderBindingOffset
;
31396 VkDeviceSize
DECLSPEC_ALIGN(8) hitShaderBindingStride
;
31397 VkBuffer
DECLSPEC_ALIGN(8) callableShaderBindingTableBuffer
;
31398 VkDeviceSize
DECLSPEC_ALIGN(8) callableShaderBindingOffset
;
31399 VkDeviceSize
DECLSPEC_ALIGN(8) callableShaderBindingStride
;
31405 TRACE("%#x, 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
);
31407 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdTraceRaysNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(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
);
31408 return STATUS_SUCCESS
;
31412 static NTSTATUS
thunk64_vkCmdUpdateBuffer(void *args
)
31414 struct vkCmdUpdateBuffer_params
*params
= args
;
31416 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
);
31418 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
);
31419 return STATUS_SUCCESS
;
31421 #endif /* _WIN64 */
31423 static NTSTATUS
thunk32_vkCmdUpdateBuffer(void *args
)
31427 PTR32 commandBuffer
;
31428 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
31429 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
31430 VkDeviceSize
DECLSPEC_ALIGN(8) dataSize
;
31434 TRACE("%#x, 0x%s, 0x%s, 0x%s, %#x\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
31436 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdUpdateBuffer(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->dstBuffer
, params
->dstOffset
, params
->dataSize
, (const void *)UlongToPtr(params
->pData
));
31437 return STATUS_SUCCESS
;
31441 static NTSTATUS
thunk64_vkCmdWaitEvents(void *args
)
31443 struct vkCmdWaitEvents_params
*params
= args
;
31445 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
);
31447 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
);
31448 return STATUS_SUCCESS
;
31450 #endif /* _WIN64 */
31452 static NTSTATUS
thunk32_vkCmdWaitEvents(void *args
)
31456 PTR32 commandBuffer
;
31457 uint32_t eventCount
;
31459 VkPipelineStageFlags srcStageMask
;
31460 VkPipelineStageFlags dstStageMask
;
31461 uint32_t memoryBarrierCount
;
31462 PTR32 pMemoryBarriers
;
31463 uint32_t bufferMemoryBarrierCount
;
31464 PTR32 pBufferMemoryBarriers
;
31465 uint32_t imageMemoryBarrierCount
;
31466 PTR32 pImageMemoryBarriers
;
31468 const VkMemoryBarrier
*pMemoryBarriers_host
;
31469 const VkBufferMemoryBarrier
*pBufferMemoryBarriers_host
;
31470 const VkImageMemoryBarrier
*pImageMemoryBarriers_host
;
31471 struct conversion_context ctx
;
31473 TRACE("%#x, %u, %#x, %#x, %#x, %u, %#x, %u, %#x, %u, %#x\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->srcStageMask
, params
->dstStageMask
, params
->memoryBarrierCount
, params
->pMemoryBarriers
, params
->bufferMemoryBarrierCount
, params
->pBufferMemoryBarriers
, params
->imageMemoryBarrierCount
, params
->pImageMemoryBarriers
);
31475 init_conversion_context(&ctx
);
31476 pMemoryBarriers_host
= convert_VkMemoryBarrier_array_win32_to_host(&ctx
, (const VkMemoryBarrier32
*)UlongToPtr(params
->pMemoryBarriers
), params
->memoryBarrierCount
);
31477 pBufferMemoryBarriers_host
= convert_VkBufferMemoryBarrier_array_win32_to_host(&ctx
, (const VkBufferMemoryBarrier32
*)UlongToPtr(params
->pBufferMemoryBarriers
), params
->bufferMemoryBarrierCount
);
31478 pImageMemoryBarriers_host
= convert_VkImageMemoryBarrier_array_win32_to_host(&ctx
, (const VkImageMemoryBarrier32
*)UlongToPtr(params
->pImageMemoryBarriers
), params
->imageMemoryBarrierCount
);
31479 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWaitEvents(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->eventCount
, (const VkEvent
*)UlongToPtr(params
->pEvents
), params
->srcStageMask
, params
->dstStageMask
, params
->memoryBarrierCount
, pMemoryBarriers_host
, params
->bufferMemoryBarrierCount
, pBufferMemoryBarriers_host
, params
->imageMemoryBarrierCount
, pImageMemoryBarriers_host
);
31480 free_conversion_context(&ctx
);
31481 return STATUS_SUCCESS
;
31485 static NTSTATUS
thunk64_vkCmdWaitEvents2(void *args
)
31487 struct vkCmdWaitEvents2_params
*params
= args
;
31489 TRACE("%p, %u, %p, %p\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
31491 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
);
31492 return STATUS_SUCCESS
;
31494 #endif /* _WIN64 */
31496 static NTSTATUS
thunk32_vkCmdWaitEvents2(void *args
)
31500 PTR32 commandBuffer
;
31501 uint32_t eventCount
;
31503 PTR32 pDependencyInfos
;
31505 const VkDependencyInfo
*pDependencyInfos_host
;
31506 struct conversion_context ctx
;
31508 TRACE("%#x, %u, %#x, %#x\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
31510 init_conversion_context(&ctx
);
31511 pDependencyInfos_host
= convert_VkDependencyInfo_array_win32_to_host(&ctx
, (const VkDependencyInfo32
*)UlongToPtr(params
->pDependencyInfos
), params
->eventCount
);
31512 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWaitEvents2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->eventCount
, (const VkEvent
*)UlongToPtr(params
->pEvents
), pDependencyInfos_host
);
31513 free_conversion_context(&ctx
);
31514 return STATUS_SUCCESS
;
31518 static NTSTATUS
thunk64_vkCmdWaitEvents2KHR(void *args
)
31520 struct vkCmdWaitEvents2KHR_params
*params
= args
;
31522 TRACE("%p, %u, %p, %p\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
31524 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
);
31525 return STATUS_SUCCESS
;
31527 #endif /* _WIN64 */
31529 static NTSTATUS
thunk32_vkCmdWaitEvents2KHR(void *args
)
31533 PTR32 commandBuffer
;
31534 uint32_t eventCount
;
31536 PTR32 pDependencyInfos
;
31538 const VkDependencyInfo
*pDependencyInfos_host
;
31539 struct conversion_context ctx
;
31541 TRACE("%#x, %u, %#x, %#x\n", params
->commandBuffer
, params
->eventCount
, params
->pEvents
, params
->pDependencyInfos
);
31543 init_conversion_context(&ctx
);
31544 pDependencyInfos_host
= convert_VkDependencyInfo_array_win32_to_host(&ctx
, (const VkDependencyInfo32
*)UlongToPtr(params
->pDependencyInfos
), params
->eventCount
);
31545 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWaitEvents2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->eventCount
, (const VkEvent
*)UlongToPtr(params
->pEvents
), pDependencyInfos_host
);
31546 free_conversion_context(&ctx
);
31547 return STATUS_SUCCESS
;
31551 static NTSTATUS
thunk64_vkCmdWriteAccelerationStructuresPropertiesKHR(void *args
)
31553 struct vkCmdWriteAccelerationStructuresPropertiesKHR_params
*params
= args
;
31555 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
31557 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
);
31558 return STATUS_SUCCESS
;
31560 #endif /* _WIN64 */
31562 static NTSTATUS
thunk32_vkCmdWriteAccelerationStructuresPropertiesKHR(void *args
)
31566 PTR32 commandBuffer
;
31567 uint32_t accelerationStructureCount
;
31568 PTR32 pAccelerationStructures
;
31569 VkQueryType queryType
;
31570 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
31571 uint32_t firstQuery
;
31574 TRACE("%#x, %u, %#x, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
31576 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesKHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->accelerationStructureCount
, (const VkAccelerationStructureKHR
*)UlongToPtr(params
->pAccelerationStructures
), params
->queryType
, params
->queryPool
, params
->firstQuery
);
31577 return STATUS_SUCCESS
;
31581 static NTSTATUS
thunk64_vkCmdWriteAccelerationStructuresPropertiesNV(void *args
)
31583 struct vkCmdWriteAccelerationStructuresPropertiesNV_params
*params
= args
;
31585 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
31587 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
);
31588 return STATUS_SUCCESS
;
31590 #endif /* _WIN64 */
31592 static NTSTATUS
thunk32_vkCmdWriteAccelerationStructuresPropertiesNV(void *args
)
31596 PTR32 commandBuffer
;
31597 uint32_t accelerationStructureCount
;
31598 PTR32 pAccelerationStructures
;
31599 VkQueryType queryType
;
31600 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
31601 uint32_t firstQuery
;
31604 TRACE("%#x, %u, %#x, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
31606 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWriteAccelerationStructuresPropertiesNV(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->accelerationStructureCount
, (const VkAccelerationStructureNV
*)UlongToPtr(params
->pAccelerationStructures
), params
->queryType
, params
->queryPool
, params
->firstQuery
);
31607 return STATUS_SUCCESS
;
31611 static NTSTATUS
thunk64_vkCmdWriteBufferMarker2AMD(void *args
)
31613 struct vkCmdWriteBufferMarker2AMD_params
*params
= args
;
31615 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
);
31617 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
);
31618 return STATUS_SUCCESS
;
31620 #endif /* _WIN64 */
31622 static NTSTATUS
thunk32_vkCmdWriteBufferMarker2AMD(void *args
)
31626 PTR32 commandBuffer
;
31627 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) stage
;
31628 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
31629 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
31633 TRACE("%#x, 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
);
31635 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWriteBufferMarker2AMD(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->stage
, params
->dstBuffer
, params
->dstOffset
, params
->marker
);
31636 return STATUS_SUCCESS
;
31640 static NTSTATUS
thunk64_vkCmdWriteBufferMarkerAMD(void *args
)
31642 struct vkCmdWriteBufferMarkerAMD_params
*params
= args
;
31644 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
);
31646 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
);
31647 return STATUS_SUCCESS
;
31649 #endif /* _WIN64 */
31651 static NTSTATUS
thunk32_vkCmdWriteBufferMarkerAMD(void *args
)
31655 PTR32 commandBuffer
;
31656 VkPipelineStageFlagBits pipelineStage
;
31657 VkBuffer
DECLSPEC_ALIGN(8) dstBuffer
;
31658 VkDeviceSize
DECLSPEC_ALIGN(8) dstOffset
;
31662 TRACE("%#x, %#x, 0x%s, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineStage
, wine_dbgstr_longlong(params
->dstBuffer
), wine_dbgstr_longlong(params
->dstOffset
), params
->marker
);
31664 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWriteBufferMarkerAMD(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->pipelineStage
, params
->dstBuffer
, params
->dstOffset
, params
->marker
);
31665 return STATUS_SUCCESS
;
31669 static NTSTATUS
thunk64_vkCmdWriteMicromapsPropertiesEXT(void *args
)
31671 struct vkCmdWriteMicromapsPropertiesEXT_params
*params
= args
;
31673 TRACE("%p, %u, %p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
31675 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
);
31676 return STATUS_SUCCESS
;
31678 #endif /* _WIN64 */
31680 static NTSTATUS
thunk32_vkCmdWriteMicromapsPropertiesEXT(void *args
)
31684 PTR32 commandBuffer
;
31685 uint32_t micromapCount
;
31687 VkQueryType queryType
;
31688 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
31689 uint32_t firstQuery
;
31692 TRACE("%#x, %u, %#x, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
);
31694 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWriteMicromapsPropertiesEXT(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->micromapCount
, (const VkMicromapEXT
*)UlongToPtr(params
->pMicromaps
), params
->queryType
, params
->queryPool
, params
->firstQuery
);
31695 return STATUS_SUCCESS
;
31699 static NTSTATUS
thunk64_vkCmdWriteTimestamp(void *args
)
31701 struct vkCmdWriteTimestamp_params
*params
= args
;
31703 TRACE("%p, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineStage
, wine_dbgstr_longlong(params
->queryPool
), params
->query
);
31705 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
);
31706 return STATUS_SUCCESS
;
31708 #endif /* _WIN64 */
31710 static NTSTATUS
thunk32_vkCmdWriteTimestamp(void *args
)
31714 PTR32 commandBuffer
;
31715 VkPipelineStageFlagBits pipelineStage
;
31716 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
31720 TRACE("%#x, %#x, 0x%s, %u\n", params
->commandBuffer
, params
->pipelineStage
, wine_dbgstr_longlong(params
->queryPool
), params
->query
);
31722 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWriteTimestamp(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->pipelineStage
, params
->queryPool
, params
->query
);
31723 return STATUS_SUCCESS
;
31727 static NTSTATUS
thunk64_vkCmdWriteTimestamp2(void *args
)
31729 struct vkCmdWriteTimestamp2_params
*params
= args
;
31731 TRACE("%p, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->queryPool
), params
->query
);
31733 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
);
31734 return STATUS_SUCCESS
;
31736 #endif /* _WIN64 */
31738 static NTSTATUS
thunk32_vkCmdWriteTimestamp2(void *args
)
31742 PTR32 commandBuffer
;
31743 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) stage
;
31744 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
31748 TRACE("%#x, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->queryPool
), params
->query
);
31750 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWriteTimestamp2(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->stage
, params
->queryPool
, params
->query
);
31751 return STATUS_SUCCESS
;
31755 static NTSTATUS
thunk64_vkCmdWriteTimestamp2KHR(void *args
)
31757 struct vkCmdWriteTimestamp2KHR_params
*params
= args
;
31759 TRACE("%p, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->queryPool
), params
->query
);
31761 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
);
31762 return STATUS_SUCCESS
;
31764 #endif /* _WIN64 */
31766 static NTSTATUS
thunk32_vkCmdWriteTimestamp2KHR(void *args
)
31770 PTR32 commandBuffer
;
31771 VkPipelineStageFlags2
DECLSPEC_ALIGN(8) stage
;
31772 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
31776 TRACE("%#x, 0x%s, 0x%s, %u\n", params
->commandBuffer
, wine_dbgstr_longlong(params
->stage
), wine_dbgstr_longlong(params
->queryPool
), params
->query
);
31778 wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkCmdWriteTimestamp2KHR(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->stage
, params
->queryPool
, params
->query
);
31779 return STATUS_SUCCESS
;
31783 static NTSTATUS
thunk64_vkCompileDeferredNV(void *args
)
31785 struct vkCompileDeferredNV_params
*params
= args
;
31787 TRACE("%p, 0x%s, %u\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->shader
);
31789 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCompileDeferredNV(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->shader
);
31790 return STATUS_SUCCESS
;
31792 #endif /* _WIN64 */
31794 static NTSTATUS
thunk32_vkCompileDeferredNV(void *args
)
31799 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
31804 TRACE("%#x, 0x%s, %u\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->shader
);
31806 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCompileDeferredNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipeline
, params
->shader
);
31807 return STATUS_SUCCESS
;
31811 static NTSTATUS
thunk64_vkCopyAccelerationStructureKHR(void *args
)
31813 struct vkCopyAccelerationStructureKHR_params
*params
= args
;
31815 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31817 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
31818 return STATUS_SUCCESS
;
31820 #endif /* _WIN64 */
31822 static NTSTATUS
thunk32_vkCopyAccelerationStructureKHR(void *args
)
31827 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
31831 VkCopyAccelerationStructureInfoKHR pInfo_host
;
31833 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31835 convert_VkCopyAccelerationStructureInfoKHR_win32_to_host((const VkCopyAccelerationStructureInfoKHR32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
31836 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCopyAccelerationStructureKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->deferredOperation
, &pInfo_host
);
31837 return STATUS_SUCCESS
;
31841 static NTSTATUS
thunk64_vkCopyAccelerationStructureToMemoryKHR(void *args
)
31843 struct vkCopyAccelerationStructureToMemoryKHR_params
*params
= args
;
31845 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31847 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyAccelerationStructureToMemoryKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
31848 return STATUS_SUCCESS
;
31850 #endif /* _WIN64 */
31852 static NTSTATUS
thunk32_vkCopyAccelerationStructureToMemoryKHR(void *args
)
31857 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
31861 VkCopyAccelerationStructureToMemoryInfoKHR pInfo_host
;
31863 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31865 convert_VkCopyAccelerationStructureToMemoryInfoKHR_win32_to_host((const VkCopyAccelerationStructureToMemoryInfoKHR32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
31866 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCopyAccelerationStructureToMemoryKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->deferredOperation
, &pInfo_host
);
31867 return STATUS_SUCCESS
;
31871 static NTSTATUS
thunk64_vkCopyMemoryToAccelerationStructureKHR(void *args
)
31873 struct vkCopyMemoryToAccelerationStructureKHR_params
*params
= args
;
31875 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31877 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMemoryToAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
31878 return STATUS_SUCCESS
;
31880 #endif /* _WIN64 */
31882 static NTSTATUS
thunk32_vkCopyMemoryToAccelerationStructureKHR(void *args
)
31887 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
31891 VkCopyMemoryToAccelerationStructureInfoKHR pInfo_host
;
31893 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31895 convert_VkCopyMemoryToAccelerationStructureInfoKHR_win32_to_host((const VkCopyMemoryToAccelerationStructureInfoKHR32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
31896 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCopyMemoryToAccelerationStructureKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->deferredOperation
, &pInfo_host
);
31897 return STATUS_SUCCESS
;
31901 static NTSTATUS
thunk64_vkCopyMemoryToMicromapEXT(void *args
)
31903 struct vkCopyMemoryToMicromapEXT_params
*params
= args
;
31905 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31907 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMemoryToMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
31908 return STATUS_SUCCESS
;
31910 #endif /* _WIN64 */
31912 static NTSTATUS
thunk32_vkCopyMemoryToMicromapEXT(void *args
)
31917 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
31921 VkCopyMemoryToMicromapInfoEXT pInfo_host
;
31923 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31925 convert_VkCopyMemoryToMicromapInfoEXT_win32_to_host((const VkCopyMemoryToMicromapInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
31926 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCopyMemoryToMicromapEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->deferredOperation
, &pInfo_host
);
31927 return STATUS_SUCCESS
;
31931 static NTSTATUS
thunk64_vkCopyMicromapEXT(void *args
)
31933 struct vkCopyMicromapEXT_params
*params
= args
;
31935 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31937 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
31938 return STATUS_SUCCESS
;
31940 #endif /* _WIN64 */
31942 static NTSTATUS
thunk32_vkCopyMicromapEXT(void *args
)
31947 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
31951 VkCopyMicromapInfoEXT pInfo_host
;
31953 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31955 convert_VkCopyMicromapInfoEXT_win32_to_host((const VkCopyMicromapInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
31956 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCopyMicromapEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->deferredOperation
, &pInfo_host
);
31957 return STATUS_SUCCESS
;
31961 static NTSTATUS
thunk64_vkCopyMicromapToMemoryEXT(void *args
)
31963 struct vkCopyMicromapToMemoryEXT_params
*params
= args
;
31965 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31967 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCopyMicromapToMemoryEXT(wine_device_from_handle(params
->device
)->device
, params
->deferredOperation
, params
->pInfo
);
31968 return STATUS_SUCCESS
;
31970 #endif /* _WIN64 */
31972 static NTSTATUS
thunk32_vkCopyMicromapToMemoryEXT(void *args
)
31977 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
31981 VkCopyMicromapToMemoryInfoEXT pInfo_host
;
31983 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), params
->pInfo
);
31985 convert_VkCopyMicromapToMemoryInfoEXT_win32_to_host((const VkCopyMicromapToMemoryInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
31986 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCopyMicromapToMemoryEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->deferredOperation
, &pInfo_host
);
31987 return STATUS_SUCCESS
;
31991 static NTSTATUS
thunk64_vkCreateAccelerationStructureKHR(void *args
)
31993 struct vkCreateAccelerationStructureKHR_params
*params
= args
;
31995 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pAccelerationStructure
);
31997 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pAccelerationStructure
);
31998 return STATUS_SUCCESS
;
32000 #endif /* _WIN64 */
32002 static NTSTATUS
thunk32_vkCreateAccelerationStructureKHR(void *args
)
32009 PTR32 pAccelerationStructure
;
32012 VkAccelerationStructureCreateInfoKHR pCreateInfo_host
;
32013 struct conversion_context ctx
;
32015 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pAccelerationStructure
);
32017 init_conversion_context(&ctx
);
32018 convert_VkAccelerationStructureCreateInfoKHR_win32_to_host(&ctx
, (const VkAccelerationStructureCreateInfoKHR32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32019 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateAccelerationStructureKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkAccelerationStructureKHR
*)UlongToPtr(params
->pAccelerationStructure
));
32020 free_conversion_context(&ctx
);
32021 return STATUS_SUCCESS
;
32025 static NTSTATUS
thunk64_vkCreateAccelerationStructureNV(void *args
)
32027 struct vkCreateAccelerationStructureNV_params
*params
= args
;
32029 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pAccelerationStructure
);
32031 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateAccelerationStructureNV(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pAccelerationStructure
);
32032 return STATUS_SUCCESS
;
32034 #endif /* _WIN64 */
32036 static NTSTATUS
thunk32_vkCreateAccelerationStructureNV(void *args
)
32043 PTR32 pAccelerationStructure
;
32046 VkAccelerationStructureCreateInfoNV pCreateInfo_host
;
32047 struct conversion_context ctx
;
32049 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pAccelerationStructure
);
32051 init_conversion_context(&ctx
);
32052 convert_VkAccelerationStructureCreateInfoNV_win32_to_host(&ctx
, (const VkAccelerationStructureCreateInfoNV32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32053 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateAccelerationStructureNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkAccelerationStructureNV
*)UlongToPtr(params
->pAccelerationStructure
));
32054 free_conversion_context(&ctx
);
32055 return STATUS_SUCCESS
;
32059 static NTSTATUS
thunk64_vkCreateBuffer(void *args
)
32061 struct vkCreateBuffer_params
*params
= args
;
32063 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pBuffer
);
32065 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateBuffer(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pBuffer
);
32066 return STATUS_SUCCESS
;
32068 #endif /* _WIN64 */
32070 static NTSTATUS
thunk32_vkCreateBuffer(void *args
)
32080 VkBufferCreateInfo pCreateInfo_host
;
32081 struct conversion_context ctx
;
32083 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pBuffer
);
32085 init_conversion_context(&ctx
);
32086 convert_VkBufferCreateInfo_win32_to_host(&ctx
, (const VkBufferCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32087 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateBuffer(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkBuffer
*)UlongToPtr(params
->pBuffer
));
32088 free_conversion_context(&ctx
);
32089 return STATUS_SUCCESS
;
32093 static NTSTATUS
thunk64_vkCreateBufferView(void *args
)
32095 struct vkCreateBufferView_params
*params
= args
;
32097 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pView
);
32099 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateBufferView(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pView
);
32100 return STATUS_SUCCESS
;
32102 #endif /* _WIN64 */
32104 static NTSTATUS
thunk32_vkCreateBufferView(void *args
)
32114 VkBufferViewCreateInfo pCreateInfo_host
;
32116 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pView
);
32118 convert_VkBufferViewCreateInfo_win32_to_host((const VkBufferViewCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32119 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateBufferView(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkBufferView
*)UlongToPtr(params
->pView
));
32120 return STATUS_SUCCESS
;
32124 static NTSTATUS
thunk64_vkCreateCommandPool(void *args
)
32126 struct vkCreateCommandPool_params
*params
= args
;
32128 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pCommandPool
);
32130 params
->result
= wine_vkCreateCommandPool(params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pCommandPool
, params
->client_ptr
);
32131 return STATUS_SUCCESS
;
32133 #endif /* _WIN64 */
32135 static NTSTATUS
thunk32_vkCreateCommandPool(void *args
)
32142 PTR32 pCommandPool
;
32146 VkCommandPoolCreateInfo pCreateInfo_host
;
32148 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pCommandPool
);
32150 convert_VkCommandPoolCreateInfo_win32_to_host((const VkCommandPoolCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32151 params
->result
= wine_vkCreateCommandPool((VkDevice
)UlongToPtr(params
->device
), &pCreateInfo_host
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
), (VkCommandPool
*)UlongToPtr(params
->pCommandPool
), UlongToPtr(params
->client_ptr
));
32152 return STATUS_SUCCESS
;
32156 static NTSTATUS
thunk64_vkCreateComputePipelines(void *args
)
32158 struct vkCreateComputePipelines_params
*params
= args
;
32159 const VkComputePipelineCreateInfo
*pCreateInfos_host
;
32160 struct conversion_context ctx
;
32162 TRACE("%p, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
32164 init_conversion_context(&ctx
);
32165 pCreateInfos_host
= convert_VkComputePipelineCreateInfo_array_win64_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
32166 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
);
32167 free_conversion_context(&ctx
);
32168 return STATUS_SUCCESS
;
32170 #endif /* _WIN64 */
32172 static NTSTATUS
thunk32_vkCreateComputePipelines(void *args
)
32177 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
32178 uint32_t createInfoCount
;
32179 PTR32 pCreateInfos
;
32184 const VkComputePipelineCreateInfo
*pCreateInfos_host
;
32185 struct conversion_context ctx
;
32187 TRACE("%#x, 0x%s, %u, %#x, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
32189 init_conversion_context(&ctx
);
32190 pCreateInfos_host
= convert_VkComputePipelineCreateInfo_array_win32_to_host(&ctx
, (const VkComputePipelineCreateInfo32
*)UlongToPtr(params
->pCreateInfos
), params
->createInfoCount
);
32191 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateComputePipelines(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, (VkPipeline
*)UlongToPtr(params
->pPipelines
));
32192 convert_VkComputePipelineCreateInfo_array_host_to_win32(pCreateInfos_host
, (const VkComputePipelineCreateInfo32
*)UlongToPtr(params
->pCreateInfos
), params
->createInfoCount
);
32193 free_conversion_context(&ctx
);
32194 return STATUS_SUCCESS
;
32198 static NTSTATUS
thunk64_vkCreateCuFunctionNVX(void *args
)
32200 struct vkCreateCuFunctionNVX_params
*params
= args
;
32202 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFunction
);
32204 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateCuFunctionNVX(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pFunction
);
32205 return STATUS_SUCCESS
;
32207 #endif /* _WIN64 */
32209 static NTSTATUS
thunk32_vkCreateCuFunctionNVX(void *args
)
32219 VkCuFunctionCreateInfoNVX pCreateInfo_host
;
32221 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFunction
);
32223 convert_VkCuFunctionCreateInfoNVX_win32_to_host((const VkCuFunctionCreateInfoNVX32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32224 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateCuFunctionNVX(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkCuFunctionNVX
*)UlongToPtr(params
->pFunction
));
32225 return STATUS_SUCCESS
;
32229 static NTSTATUS
thunk64_vkCreateCuModuleNVX(void *args
)
32231 struct vkCreateCuModuleNVX_params
*params
= args
;
32233 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pModule
);
32235 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateCuModuleNVX(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pModule
);
32236 return STATUS_SUCCESS
;
32238 #endif /* _WIN64 */
32240 static NTSTATUS
thunk32_vkCreateCuModuleNVX(void *args
)
32250 VkCuModuleCreateInfoNVX pCreateInfo_host
;
32252 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pModule
);
32254 convert_VkCuModuleCreateInfoNVX_win32_to_host((const VkCuModuleCreateInfoNVX32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32255 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateCuModuleNVX(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkCuModuleNVX
*)UlongToPtr(params
->pModule
));
32256 return STATUS_SUCCESS
;
32260 static NTSTATUS
thunk64_vkCreateDebugReportCallbackEXT(void *args
)
32262 struct vkCreateDebugReportCallbackEXT_params
*params
= args
;
32264 TRACE("%p, %p, %p, %p\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pCallback
);
32266 params
->result
= wine_vkCreateDebugReportCallbackEXT(params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pCallback
);
32267 return STATUS_SUCCESS
;
32269 #endif /* _WIN64 */
32271 static NTSTATUS
thunk32_vkCreateDebugReportCallbackEXT(void *args
)
32281 VkDebugReportCallbackCreateInfoEXT pCreateInfo_host
;
32283 TRACE("%#x, %#x, %#x, %#x\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pCallback
);
32285 convert_VkDebugReportCallbackCreateInfoEXT_win32_to_host((const VkDebugReportCallbackCreateInfoEXT32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32286 params
->result
= wine_vkCreateDebugReportCallbackEXT((VkInstance
)UlongToPtr(params
->instance
), &pCreateInfo_host
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
), (VkDebugReportCallbackEXT
*)UlongToPtr(params
->pCallback
));
32287 return STATUS_SUCCESS
;
32291 static NTSTATUS
thunk64_vkCreateDebugUtilsMessengerEXT(void *args
)
32293 struct vkCreateDebugUtilsMessengerEXT_params
*params
= args
;
32295 TRACE("%p, %p, %p, %p\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pMessenger
);
32297 params
->result
= wine_vkCreateDebugUtilsMessengerEXT(params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pMessenger
);
32298 return STATUS_SUCCESS
;
32300 #endif /* _WIN64 */
32302 static NTSTATUS
thunk32_vkCreateDebugUtilsMessengerEXT(void *args
)
32312 VkDebugUtilsMessengerCreateInfoEXT pCreateInfo_host
;
32314 TRACE("%#x, %#x, %#x, %#x\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pMessenger
);
32316 convert_VkDebugUtilsMessengerCreateInfoEXT_win32_to_host((const VkDebugUtilsMessengerCreateInfoEXT32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32317 params
->result
= wine_vkCreateDebugUtilsMessengerEXT((VkInstance
)UlongToPtr(params
->instance
), &pCreateInfo_host
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
), (VkDebugUtilsMessengerEXT
*)UlongToPtr(params
->pMessenger
));
32318 return STATUS_SUCCESS
;
32322 static NTSTATUS
thunk64_vkCreateDeferredOperationKHR(void *args
)
32324 struct vkCreateDeferredOperationKHR_params
*params
= args
;
32326 TRACE("%p, %p, %p\n", params
->device
, params
->pAllocator
, params
->pDeferredOperation
);
32328 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDeferredOperationKHR(wine_device_from_handle(params
->device
)->device
, NULL
, params
->pDeferredOperation
);
32329 return STATUS_SUCCESS
;
32331 #endif /* _WIN64 */
32333 static NTSTATUS
thunk32_vkCreateDeferredOperationKHR(void *args
)
32339 PTR32 pDeferredOperation
;
32343 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pAllocator
, params
->pDeferredOperation
);
32345 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateDeferredOperationKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, NULL
, (VkDeferredOperationKHR
*)UlongToPtr(params
->pDeferredOperation
));
32346 return STATUS_SUCCESS
;
32350 static NTSTATUS
thunk64_vkCreateDescriptorPool(void *args
)
32352 struct vkCreateDescriptorPool_params
*params
= args
;
32354 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorPool
);
32356 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorPool(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pDescriptorPool
);
32357 return STATUS_SUCCESS
;
32359 #endif /* _WIN64 */
32361 static NTSTATUS
thunk32_vkCreateDescriptorPool(void *args
)
32368 PTR32 pDescriptorPool
;
32371 VkDescriptorPoolCreateInfo pCreateInfo_host
;
32372 struct conversion_context ctx
;
32374 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorPool
);
32376 init_conversion_context(&ctx
);
32377 convert_VkDescriptorPoolCreateInfo_win32_to_host(&ctx
, (const VkDescriptorPoolCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32378 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateDescriptorPool(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkDescriptorPool
*)UlongToPtr(params
->pDescriptorPool
));
32379 free_conversion_context(&ctx
);
32380 return STATUS_SUCCESS
;
32384 static NTSTATUS
thunk64_vkCreateDescriptorSetLayout(void *args
)
32386 struct vkCreateDescriptorSetLayout_params
*params
= args
;
32388 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSetLayout
);
32390 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorSetLayout(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSetLayout
);
32391 return STATUS_SUCCESS
;
32393 #endif /* _WIN64 */
32395 static NTSTATUS
thunk32_vkCreateDescriptorSetLayout(void *args
)
32405 VkDescriptorSetLayoutCreateInfo pCreateInfo_host
;
32406 struct conversion_context ctx
;
32408 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSetLayout
);
32410 init_conversion_context(&ctx
);
32411 convert_VkDescriptorSetLayoutCreateInfo_win32_to_host(&ctx
, (const VkDescriptorSetLayoutCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32412 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateDescriptorSetLayout(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkDescriptorSetLayout
*)UlongToPtr(params
->pSetLayout
));
32413 free_conversion_context(&ctx
);
32414 return STATUS_SUCCESS
;
32418 static NTSTATUS
thunk64_vkCreateDescriptorUpdateTemplate(void *args
)
32420 struct vkCreateDescriptorUpdateTemplate_params
*params
= args
;
32422 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorUpdateTemplate
);
32424 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorUpdateTemplate(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pDescriptorUpdateTemplate
);
32425 return STATUS_SUCCESS
;
32427 #endif /* _WIN64 */
32429 static NTSTATUS
thunk32_vkCreateDescriptorUpdateTemplate(void *args
)
32436 PTR32 pDescriptorUpdateTemplate
;
32439 VkDescriptorUpdateTemplateCreateInfo pCreateInfo_host
;
32440 struct conversion_context ctx
;
32442 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorUpdateTemplate
);
32444 init_conversion_context(&ctx
);
32445 convert_VkDescriptorUpdateTemplateCreateInfo_win32_to_host(&ctx
, (const VkDescriptorUpdateTemplateCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32446 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateDescriptorUpdateTemplate(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkDescriptorUpdateTemplate
*)UlongToPtr(params
->pDescriptorUpdateTemplate
));
32447 free_conversion_context(&ctx
);
32448 return STATUS_SUCCESS
;
32452 static NTSTATUS
thunk64_vkCreateDescriptorUpdateTemplateKHR(void *args
)
32454 struct vkCreateDescriptorUpdateTemplateKHR_params
*params
= args
;
32456 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorUpdateTemplate
);
32458 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pDescriptorUpdateTemplate
);
32459 return STATUS_SUCCESS
;
32461 #endif /* _WIN64 */
32463 static NTSTATUS
thunk32_vkCreateDescriptorUpdateTemplateKHR(void *args
)
32470 PTR32 pDescriptorUpdateTemplate
;
32473 VkDescriptorUpdateTemplateCreateInfo pCreateInfo_host
;
32474 struct conversion_context ctx
;
32476 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pDescriptorUpdateTemplate
);
32478 init_conversion_context(&ctx
);
32479 convert_VkDescriptorUpdateTemplateCreateInfo_win32_to_host(&ctx
, (const VkDescriptorUpdateTemplateCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32480 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateDescriptorUpdateTemplateKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkDescriptorUpdateTemplate
*)UlongToPtr(params
->pDescriptorUpdateTemplate
));
32481 free_conversion_context(&ctx
);
32482 return STATUS_SUCCESS
;
32486 static NTSTATUS
thunk64_vkCreateDevice(void *args
)
32488 struct vkCreateDevice_params
*params
= args
;
32489 VkDeviceCreateInfo pCreateInfo_host
;
32490 struct conversion_context ctx
;
32492 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pCreateInfo
, params
->pAllocator
, params
->pDevice
);
32494 init_conversion_context(&ctx
);
32495 convert_VkDeviceCreateInfo_win64_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
32496 params
->result
= wine_vkCreateDevice(params
->physicalDevice
, &pCreateInfo_host
, params
->pAllocator
, params
->pDevice
, params
->client_ptr
);
32497 free_conversion_context(&ctx
);
32498 return STATUS_SUCCESS
;
32500 #endif /* _WIN64 */
32502 static NTSTATUS
thunk32_vkCreateDevice(void *args
)
32506 PTR32 physicalDevice
;
32513 VkDeviceCreateInfo pCreateInfo_host
;
32514 VkDevice pDevice_host
;
32515 struct conversion_context ctx
;
32517 TRACE("%#x, %#x, %#x, %#x\n", params
->physicalDevice
, params
->pCreateInfo
, params
->pAllocator
, params
->pDevice
);
32519 init_conversion_context(&ctx
);
32520 convert_VkDeviceCreateInfo_win32_to_host(&ctx
, (const VkDeviceCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32521 pDevice_host
= *(VkDevice
*)UlongToPtr(params
->pDevice
);
32522 params
->result
= wine_vkCreateDevice((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pCreateInfo_host
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
), &pDevice_host
, UlongToPtr(params
->client_ptr
));
32523 *(VkDevice
*)UlongToPtr(params
->pDevice
) = pDevice_host
;
32524 free_conversion_context(&ctx
);
32525 return STATUS_SUCCESS
;
32529 static NTSTATUS
thunk64_vkCreateEvent(void *args
)
32531 struct vkCreateEvent_params
*params
= args
;
32533 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pEvent
);
32535 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateEvent(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pEvent
);
32536 return STATUS_SUCCESS
;
32538 #endif /* _WIN64 */
32540 static NTSTATUS
thunk32_vkCreateEvent(void *args
)
32550 VkEventCreateInfo pCreateInfo_host
;
32552 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pEvent
);
32554 convert_VkEventCreateInfo_win32_to_host((const VkEventCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32555 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateEvent(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkEvent
*)UlongToPtr(params
->pEvent
));
32556 return STATUS_SUCCESS
;
32560 static NTSTATUS
thunk64_vkCreateFence(void *args
)
32562 struct vkCreateFence_params
*params
= args
;
32564 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFence
);
32566 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateFence(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pFence
);
32567 return STATUS_SUCCESS
;
32569 #endif /* _WIN64 */
32571 static NTSTATUS
thunk32_vkCreateFence(void *args
)
32581 VkFenceCreateInfo pCreateInfo_host
;
32582 struct conversion_context ctx
;
32584 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFence
);
32586 init_conversion_context(&ctx
);
32587 convert_VkFenceCreateInfo_win32_to_host(&ctx
, (const VkFenceCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32588 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateFence(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkFence
*)UlongToPtr(params
->pFence
));
32589 free_conversion_context(&ctx
);
32590 return STATUS_SUCCESS
;
32594 static NTSTATUS
thunk64_vkCreateFramebuffer(void *args
)
32596 struct vkCreateFramebuffer_params
*params
= args
;
32598 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFramebuffer
);
32600 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateFramebuffer(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pFramebuffer
);
32601 return STATUS_SUCCESS
;
32603 #endif /* _WIN64 */
32605 static NTSTATUS
thunk32_vkCreateFramebuffer(void *args
)
32612 PTR32 pFramebuffer
;
32615 VkFramebufferCreateInfo pCreateInfo_host
;
32616 struct conversion_context ctx
;
32618 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pFramebuffer
);
32620 init_conversion_context(&ctx
);
32621 convert_VkFramebufferCreateInfo_win32_to_host(&ctx
, (const VkFramebufferCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32622 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateFramebuffer(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkFramebuffer
*)UlongToPtr(params
->pFramebuffer
));
32623 free_conversion_context(&ctx
);
32624 return STATUS_SUCCESS
;
32628 static NTSTATUS
thunk64_vkCreateGraphicsPipelines(void *args
)
32630 struct vkCreateGraphicsPipelines_params
*params
= args
;
32631 const VkGraphicsPipelineCreateInfo
*pCreateInfos_host
;
32632 struct conversion_context ctx
;
32634 TRACE("%p, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
32636 init_conversion_context(&ctx
);
32637 pCreateInfos_host
= convert_VkGraphicsPipelineCreateInfo_array_win64_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
32638 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
);
32639 free_conversion_context(&ctx
);
32640 return STATUS_SUCCESS
;
32642 #endif /* _WIN64 */
32644 static NTSTATUS
thunk32_vkCreateGraphicsPipelines(void *args
)
32649 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
32650 uint32_t createInfoCount
;
32651 PTR32 pCreateInfos
;
32656 const VkGraphicsPipelineCreateInfo
*pCreateInfos_host
;
32657 struct conversion_context ctx
;
32659 TRACE("%#x, 0x%s, %u, %#x, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
32661 init_conversion_context(&ctx
);
32662 pCreateInfos_host
= convert_VkGraphicsPipelineCreateInfo_array_win32_to_host(&ctx
, (const VkGraphicsPipelineCreateInfo32
*)UlongToPtr(params
->pCreateInfos
), params
->createInfoCount
);
32663 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateGraphicsPipelines(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, (VkPipeline
*)UlongToPtr(params
->pPipelines
));
32664 convert_VkGraphicsPipelineCreateInfo_array_host_to_win32(pCreateInfos_host
, (const VkGraphicsPipelineCreateInfo32
*)UlongToPtr(params
->pCreateInfos
), params
->createInfoCount
);
32665 free_conversion_context(&ctx
);
32666 return STATUS_SUCCESS
;
32670 static NTSTATUS
thunk64_vkCreateImage(void *args
)
32672 struct vkCreateImage_params
*params
= args
;
32674 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pImage
);
32676 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateImage(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pImage
);
32677 return STATUS_SUCCESS
;
32679 #endif /* _WIN64 */
32681 static NTSTATUS
thunk32_vkCreateImage(void *args
)
32691 VkImageCreateInfo pCreateInfo_host
;
32692 struct conversion_context ctx
;
32694 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pImage
);
32696 init_conversion_context(&ctx
);
32697 convert_VkImageCreateInfo_win32_to_host(&ctx
, (const VkImageCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32698 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateImage(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkImage
*)UlongToPtr(params
->pImage
));
32699 free_conversion_context(&ctx
);
32700 return STATUS_SUCCESS
;
32704 static NTSTATUS
thunk64_vkCreateImageView(void *args
)
32706 struct vkCreateImageView_params
*params
= args
;
32708 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pView
);
32710 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateImageView(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pView
);
32711 return STATUS_SUCCESS
;
32713 #endif /* _WIN64 */
32715 static NTSTATUS
thunk32_vkCreateImageView(void *args
)
32725 VkImageViewCreateInfo pCreateInfo_host
;
32726 struct conversion_context ctx
;
32728 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pView
);
32730 init_conversion_context(&ctx
);
32731 convert_VkImageViewCreateInfo_win32_to_host(&ctx
, (const VkImageViewCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32732 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateImageView(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkImageView
*)UlongToPtr(params
->pView
));
32733 free_conversion_context(&ctx
);
32734 return STATUS_SUCCESS
;
32738 static NTSTATUS
thunk64_vkCreateIndirectCommandsLayoutNV(void *args
)
32740 struct vkCreateIndirectCommandsLayoutNV_params
*params
= args
;
32742 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pIndirectCommandsLayout
);
32744 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateIndirectCommandsLayoutNV(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pIndirectCommandsLayout
);
32745 return STATUS_SUCCESS
;
32747 #endif /* _WIN64 */
32749 static NTSTATUS
thunk32_vkCreateIndirectCommandsLayoutNV(void *args
)
32756 PTR32 pIndirectCommandsLayout
;
32759 VkIndirectCommandsLayoutCreateInfoNV pCreateInfo_host
;
32760 struct conversion_context ctx
;
32762 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pIndirectCommandsLayout
);
32764 init_conversion_context(&ctx
);
32765 convert_VkIndirectCommandsLayoutCreateInfoNV_win32_to_host(&ctx
, (const VkIndirectCommandsLayoutCreateInfoNV32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32766 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateIndirectCommandsLayoutNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkIndirectCommandsLayoutNV
*)UlongToPtr(params
->pIndirectCommandsLayout
));
32767 free_conversion_context(&ctx
);
32768 return STATUS_SUCCESS
;
32772 static NTSTATUS
thunk64_vkCreateInstance(void *args
)
32774 struct vkCreateInstance_params
*params
= args
;
32775 VkInstanceCreateInfo pCreateInfo_host
;
32776 struct conversion_context ctx
;
32778 TRACE("%p, %p, %p\n", params
->pCreateInfo
, params
->pAllocator
, params
->pInstance
);
32780 init_conversion_context(&ctx
);
32781 convert_VkInstanceCreateInfo_win64_to_host(&ctx
, params
->pCreateInfo
, &pCreateInfo_host
);
32782 params
->result
= wine_vkCreateInstance(&pCreateInfo_host
, params
->pAllocator
, params
->pInstance
, params
->client_ptr
);
32783 free_conversion_context(&ctx
);
32784 return STATUS_SUCCESS
;
32786 #endif /* _WIN64 */
32788 static NTSTATUS
thunk32_vkCreateInstance(void *args
)
32798 VkInstanceCreateInfo pCreateInfo_host
;
32799 VkInstance pInstance_host
;
32800 struct conversion_context ctx
;
32802 TRACE("%#x, %#x, %#x\n", params
->pCreateInfo
, params
->pAllocator
, params
->pInstance
);
32804 init_conversion_context(&ctx
);
32805 convert_VkInstanceCreateInfo_win32_to_host(&ctx
, (const VkInstanceCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32806 pInstance_host
= *(VkInstance
*)UlongToPtr(params
->pInstance
);
32807 params
->result
= wine_vkCreateInstance(&pCreateInfo_host
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
), &pInstance_host
, UlongToPtr(params
->client_ptr
));
32808 *(VkInstance
*)UlongToPtr(params
->pInstance
) = pInstance_host
;
32809 free_conversion_context(&ctx
);
32810 return STATUS_SUCCESS
;
32814 static NTSTATUS
thunk64_vkCreateMicromapEXT(void *args
)
32816 struct vkCreateMicromapEXT_params
*params
= args
;
32818 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pMicromap
);
32820 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pMicromap
);
32821 return STATUS_SUCCESS
;
32823 #endif /* _WIN64 */
32825 static NTSTATUS
thunk32_vkCreateMicromapEXT(void *args
)
32835 VkMicromapCreateInfoEXT pCreateInfo_host
;
32837 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pMicromap
);
32839 convert_VkMicromapCreateInfoEXT_win32_to_host((const VkMicromapCreateInfoEXT32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32840 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateMicromapEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkMicromapEXT
*)UlongToPtr(params
->pMicromap
));
32841 return STATUS_SUCCESS
;
32845 static NTSTATUS
thunk64_vkCreateOpticalFlowSessionNV(void *args
)
32847 struct vkCreateOpticalFlowSessionNV_params
*params
= args
;
32849 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSession
);
32851 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateOpticalFlowSessionNV(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSession
);
32852 return STATUS_SUCCESS
;
32854 #endif /* _WIN64 */
32856 static NTSTATUS
thunk32_vkCreateOpticalFlowSessionNV(void *args
)
32866 VkOpticalFlowSessionCreateInfoNV pCreateInfo_host
;
32867 struct conversion_context ctx
;
32869 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSession
);
32871 init_conversion_context(&ctx
);
32872 convert_VkOpticalFlowSessionCreateInfoNV_win32_to_host(&ctx
, (const VkOpticalFlowSessionCreateInfoNV32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32873 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateOpticalFlowSessionNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkOpticalFlowSessionNV
*)UlongToPtr(params
->pSession
));
32874 free_conversion_context(&ctx
);
32875 return STATUS_SUCCESS
;
32879 static NTSTATUS
thunk64_vkCreatePipelineCache(void *args
)
32881 struct vkCreatePipelineCache_params
*params
= args
;
32883 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPipelineCache
);
32885 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePipelineCache(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPipelineCache
);
32886 return STATUS_SUCCESS
;
32888 #endif /* _WIN64 */
32890 static NTSTATUS
thunk32_vkCreatePipelineCache(void *args
)
32897 PTR32 pPipelineCache
;
32900 VkPipelineCacheCreateInfo pCreateInfo_host
;
32902 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPipelineCache
);
32904 convert_VkPipelineCacheCreateInfo_win32_to_host((const VkPipelineCacheCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32905 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreatePipelineCache(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkPipelineCache
*)UlongToPtr(params
->pPipelineCache
));
32906 return STATUS_SUCCESS
;
32910 static NTSTATUS
thunk64_vkCreatePipelineLayout(void *args
)
32912 struct vkCreatePipelineLayout_params
*params
= args
;
32914 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPipelineLayout
);
32916 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePipelineLayout(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPipelineLayout
);
32917 return STATUS_SUCCESS
;
32919 #endif /* _WIN64 */
32921 static NTSTATUS
thunk32_vkCreatePipelineLayout(void *args
)
32928 PTR32 pPipelineLayout
;
32931 VkPipelineLayoutCreateInfo pCreateInfo_host
;
32933 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPipelineLayout
);
32935 convert_VkPipelineLayoutCreateInfo_win32_to_host((const VkPipelineLayoutCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32936 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreatePipelineLayout(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkPipelineLayout
*)UlongToPtr(params
->pPipelineLayout
));
32937 return STATUS_SUCCESS
;
32941 static NTSTATUS
thunk64_vkCreatePrivateDataSlot(void *args
)
32943 struct vkCreatePrivateDataSlot_params
*params
= args
;
32945 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPrivateDataSlot
);
32947 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePrivateDataSlot(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPrivateDataSlot
);
32948 return STATUS_SUCCESS
;
32950 #endif /* _WIN64 */
32952 static NTSTATUS
thunk32_vkCreatePrivateDataSlot(void *args
)
32959 PTR32 pPrivateDataSlot
;
32962 VkPrivateDataSlotCreateInfo pCreateInfo_host
;
32964 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPrivateDataSlot
);
32966 convert_VkPrivateDataSlotCreateInfo_win32_to_host((const VkPrivateDataSlotCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32967 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreatePrivateDataSlot(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkPrivateDataSlot
*)UlongToPtr(params
->pPrivateDataSlot
));
32968 return STATUS_SUCCESS
;
32972 static NTSTATUS
thunk64_vkCreatePrivateDataSlotEXT(void *args
)
32974 struct vkCreatePrivateDataSlotEXT_params
*params
= args
;
32976 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPrivateDataSlot
);
32978 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreatePrivateDataSlotEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pPrivateDataSlot
);
32979 return STATUS_SUCCESS
;
32981 #endif /* _WIN64 */
32983 static NTSTATUS
thunk32_vkCreatePrivateDataSlotEXT(void *args
)
32990 PTR32 pPrivateDataSlot
;
32993 VkPrivateDataSlotCreateInfo pCreateInfo_host
;
32995 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pPrivateDataSlot
);
32997 convert_VkPrivateDataSlotCreateInfo_win32_to_host((const VkPrivateDataSlotCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
32998 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreatePrivateDataSlotEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkPrivateDataSlot
*)UlongToPtr(params
->pPrivateDataSlot
));
32999 return STATUS_SUCCESS
;
33003 static NTSTATUS
thunk64_vkCreateQueryPool(void *args
)
33005 struct vkCreateQueryPool_params
*params
= args
;
33007 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pQueryPool
);
33009 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateQueryPool(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pQueryPool
);
33010 return STATUS_SUCCESS
;
33012 #endif /* _WIN64 */
33014 static NTSTATUS
thunk32_vkCreateQueryPool(void *args
)
33024 VkQueryPoolCreateInfo pCreateInfo_host
;
33025 struct conversion_context ctx
;
33027 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pQueryPool
);
33029 init_conversion_context(&ctx
);
33030 convert_VkQueryPoolCreateInfo_win32_to_host(&ctx
, (const VkQueryPoolCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33031 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateQueryPool(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkQueryPool
*)UlongToPtr(params
->pQueryPool
));
33032 free_conversion_context(&ctx
);
33033 return STATUS_SUCCESS
;
33037 static NTSTATUS
thunk64_vkCreateRayTracingPipelinesKHR(void *args
)
33039 struct vkCreateRayTracingPipelinesKHR_params
*params
= args
;
33040 const VkRayTracingPipelineCreateInfoKHR
*pCreateInfos_host
;
33041 struct conversion_context ctx
;
33043 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
);
33045 init_conversion_context(&ctx
);
33046 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoKHR_array_win64_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
33047 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
);
33048 free_conversion_context(&ctx
);
33049 return STATUS_SUCCESS
;
33051 #endif /* _WIN64 */
33053 static NTSTATUS
thunk32_vkCreateRayTracingPipelinesKHR(void *args
)
33058 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) deferredOperation
;
33059 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
33060 uint32_t createInfoCount
;
33061 PTR32 pCreateInfos
;
33066 const VkRayTracingPipelineCreateInfoKHR
*pCreateInfos_host
;
33067 struct conversion_context ctx
;
33069 TRACE("%#x, 0x%s, 0x%s, %u, %#x, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->deferredOperation
), wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
33071 init_conversion_context(&ctx
);
33072 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoKHR_array_win32_to_host(&ctx
, (const VkRayTracingPipelineCreateInfoKHR32
*)UlongToPtr(params
->pCreateInfos
), params
->createInfoCount
);
33073 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateRayTracingPipelinesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->deferredOperation
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, (VkPipeline
*)UlongToPtr(params
->pPipelines
));
33074 convert_VkRayTracingPipelineCreateInfoKHR_array_host_to_win32(pCreateInfos_host
, (const VkRayTracingPipelineCreateInfoKHR32
*)UlongToPtr(params
->pCreateInfos
), params
->createInfoCount
);
33075 free_conversion_context(&ctx
);
33076 return STATUS_SUCCESS
;
33080 static NTSTATUS
thunk64_vkCreateRayTracingPipelinesNV(void *args
)
33082 struct vkCreateRayTracingPipelinesNV_params
*params
= args
;
33083 const VkRayTracingPipelineCreateInfoNV
*pCreateInfos_host
;
33084 struct conversion_context ctx
;
33086 TRACE("%p, 0x%s, %u, %p, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
33088 init_conversion_context(&ctx
);
33089 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoNV_array_win64_to_host(&ctx
, params
->pCreateInfos
, params
->createInfoCount
);
33090 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
);
33091 free_conversion_context(&ctx
);
33092 return STATUS_SUCCESS
;
33094 #endif /* _WIN64 */
33096 static NTSTATUS
thunk32_vkCreateRayTracingPipelinesNV(void *args
)
33101 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
33102 uint32_t createInfoCount
;
33103 PTR32 pCreateInfos
;
33108 const VkRayTracingPipelineCreateInfoNV
*pCreateInfos_host
;
33109 struct conversion_context ctx
;
33111 TRACE("%#x, 0x%s, %u, %#x, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->createInfoCount
, params
->pCreateInfos
, params
->pAllocator
, params
->pPipelines
);
33113 init_conversion_context(&ctx
);
33114 pCreateInfos_host
= convert_VkRayTracingPipelineCreateInfoNV_array_win32_to_host(&ctx
, (const VkRayTracingPipelineCreateInfoNV32
*)UlongToPtr(params
->pCreateInfos
), params
->createInfoCount
);
33115 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateRayTracingPipelinesNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipelineCache
, params
->createInfoCount
, pCreateInfos_host
, NULL
, (VkPipeline
*)UlongToPtr(params
->pPipelines
));
33116 convert_VkRayTracingPipelineCreateInfoNV_array_host_to_win32(pCreateInfos_host
, (const VkRayTracingPipelineCreateInfoNV32
*)UlongToPtr(params
->pCreateInfos
), params
->createInfoCount
);
33117 free_conversion_context(&ctx
);
33118 return STATUS_SUCCESS
;
33122 static NTSTATUS
thunk64_vkCreateRenderPass(void *args
)
33124 struct vkCreateRenderPass_params
*params
= args
;
33126 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
33128 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRenderPass(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pRenderPass
);
33129 return STATUS_SUCCESS
;
33131 #endif /* _WIN64 */
33133 static NTSTATUS
thunk32_vkCreateRenderPass(void *args
)
33143 VkRenderPassCreateInfo pCreateInfo_host
;
33144 struct conversion_context ctx
;
33146 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
33148 init_conversion_context(&ctx
);
33149 convert_VkRenderPassCreateInfo_win32_to_host(&ctx
, (const VkRenderPassCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33150 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateRenderPass(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkRenderPass
*)UlongToPtr(params
->pRenderPass
));
33151 free_conversion_context(&ctx
);
33152 return STATUS_SUCCESS
;
33156 static NTSTATUS
thunk64_vkCreateRenderPass2(void *args
)
33158 struct vkCreateRenderPass2_params
*params
= args
;
33160 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
33162 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRenderPass2(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pRenderPass
);
33163 return STATUS_SUCCESS
;
33165 #endif /* _WIN64 */
33167 static NTSTATUS
thunk32_vkCreateRenderPass2(void *args
)
33177 VkRenderPassCreateInfo2 pCreateInfo_host
;
33178 struct conversion_context ctx
;
33180 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
33182 init_conversion_context(&ctx
);
33183 convert_VkRenderPassCreateInfo2_win32_to_host(&ctx
, (const VkRenderPassCreateInfo232
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33184 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateRenderPass2(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkRenderPass
*)UlongToPtr(params
->pRenderPass
));
33185 free_conversion_context(&ctx
);
33186 return STATUS_SUCCESS
;
33190 static NTSTATUS
thunk64_vkCreateRenderPass2KHR(void *args
)
33192 struct vkCreateRenderPass2KHR_params
*params
= args
;
33194 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
33196 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateRenderPass2KHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pRenderPass
);
33197 return STATUS_SUCCESS
;
33199 #endif /* _WIN64 */
33201 static NTSTATUS
thunk32_vkCreateRenderPass2KHR(void *args
)
33211 VkRenderPassCreateInfo2 pCreateInfo_host
;
33212 struct conversion_context ctx
;
33214 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pRenderPass
);
33216 init_conversion_context(&ctx
);
33217 convert_VkRenderPassCreateInfo2_win32_to_host(&ctx
, (const VkRenderPassCreateInfo232
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33218 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateRenderPass2KHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkRenderPass
*)UlongToPtr(params
->pRenderPass
));
33219 free_conversion_context(&ctx
);
33220 return STATUS_SUCCESS
;
33224 static NTSTATUS
thunk64_vkCreateSampler(void *args
)
33226 struct vkCreateSampler_params
*params
= args
;
33228 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSampler
);
33230 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSampler(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSampler
);
33231 return STATUS_SUCCESS
;
33233 #endif /* _WIN64 */
33235 static NTSTATUS
thunk32_vkCreateSampler(void *args
)
33245 VkSamplerCreateInfo pCreateInfo_host
;
33246 struct conversion_context ctx
;
33248 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSampler
);
33250 init_conversion_context(&ctx
);
33251 convert_VkSamplerCreateInfo_win32_to_host(&ctx
, (const VkSamplerCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33252 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateSampler(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkSampler
*)UlongToPtr(params
->pSampler
));
33253 free_conversion_context(&ctx
);
33254 return STATUS_SUCCESS
;
33258 static NTSTATUS
thunk64_vkCreateSamplerYcbcrConversion(void *args
)
33260 struct vkCreateSamplerYcbcrConversion_params
*params
= args
;
33262 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pYcbcrConversion
);
33264 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSamplerYcbcrConversion(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pYcbcrConversion
);
33265 return STATUS_SUCCESS
;
33267 #endif /* _WIN64 */
33269 static NTSTATUS
thunk32_vkCreateSamplerYcbcrConversion(void *args
)
33276 PTR32 pYcbcrConversion
;
33279 VkSamplerYcbcrConversionCreateInfo pCreateInfo_host
;
33281 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pYcbcrConversion
);
33283 convert_VkSamplerYcbcrConversionCreateInfo_win32_to_host((const VkSamplerYcbcrConversionCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33284 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateSamplerYcbcrConversion(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkSamplerYcbcrConversion
*)UlongToPtr(params
->pYcbcrConversion
));
33285 return STATUS_SUCCESS
;
33289 static NTSTATUS
thunk64_vkCreateSamplerYcbcrConversionKHR(void *args
)
33291 struct vkCreateSamplerYcbcrConversionKHR_params
*params
= args
;
33293 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pYcbcrConversion
);
33295 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSamplerYcbcrConversionKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pYcbcrConversion
);
33296 return STATUS_SUCCESS
;
33298 #endif /* _WIN64 */
33300 static NTSTATUS
thunk32_vkCreateSamplerYcbcrConversionKHR(void *args
)
33307 PTR32 pYcbcrConversion
;
33310 VkSamplerYcbcrConversionCreateInfo pCreateInfo_host
;
33312 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pYcbcrConversion
);
33314 convert_VkSamplerYcbcrConversionCreateInfo_win32_to_host((const VkSamplerYcbcrConversionCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33315 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateSamplerYcbcrConversionKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkSamplerYcbcrConversion
*)UlongToPtr(params
->pYcbcrConversion
));
33316 return STATUS_SUCCESS
;
33320 static NTSTATUS
thunk64_vkCreateSemaphore(void *args
)
33322 struct vkCreateSemaphore_params
*params
= args
;
33324 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSemaphore
);
33326 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSemaphore(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pSemaphore
);
33327 return STATUS_SUCCESS
;
33329 #endif /* _WIN64 */
33331 static NTSTATUS
thunk32_vkCreateSemaphore(void *args
)
33341 VkSemaphoreCreateInfo pCreateInfo_host
;
33342 struct conversion_context ctx
;
33344 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSemaphore
);
33346 init_conversion_context(&ctx
);
33347 convert_VkSemaphoreCreateInfo_win32_to_host(&ctx
, (const VkSemaphoreCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33348 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateSemaphore(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkSemaphore
*)UlongToPtr(params
->pSemaphore
));
33349 free_conversion_context(&ctx
);
33350 return STATUS_SUCCESS
;
33354 static NTSTATUS
thunk64_vkCreateShaderModule(void *args
)
33356 struct vkCreateShaderModule_params
*params
= args
;
33358 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pShaderModule
);
33360 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateShaderModule(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pShaderModule
);
33361 return STATUS_SUCCESS
;
33363 #endif /* _WIN64 */
33365 static NTSTATUS
thunk32_vkCreateShaderModule(void *args
)
33372 PTR32 pShaderModule
;
33375 VkShaderModuleCreateInfo pCreateInfo_host
;
33376 struct conversion_context ctx
;
33378 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pShaderModule
);
33380 init_conversion_context(&ctx
);
33381 convert_VkShaderModuleCreateInfo_win32_to_host(&ctx
, (const VkShaderModuleCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33382 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateShaderModule(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkShaderModule
*)UlongToPtr(params
->pShaderModule
));
33383 free_conversion_context(&ctx
);
33384 return STATUS_SUCCESS
;
33388 static NTSTATUS
thunk64_vkCreateSwapchainKHR(void *args
)
33390 struct vkCreateSwapchainKHR_params
*params
= args
;
33391 VkSwapchainCreateInfoKHR pCreateInfo_host
;
33393 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSwapchain
);
33395 convert_VkSwapchainCreateInfoKHR_win64_to_host(params
->pCreateInfo
, &pCreateInfo_host
);
33396 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateSwapchainKHR(wine_device_from_handle(params
->device
)->device
, &pCreateInfo_host
, NULL
, params
->pSwapchain
);
33397 return STATUS_SUCCESS
;
33399 #endif /* _WIN64 */
33401 static NTSTATUS
thunk32_vkCreateSwapchainKHR(void *args
)
33411 VkSwapchainCreateInfoKHR pCreateInfo_host
;
33412 struct conversion_context ctx
;
33414 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pSwapchain
);
33416 init_conversion_context(&ctx
);
33417 convert_VkSwapchainCreateInfoKHR_win32_to_host(&ctx
, (const VkSwapchainCreateInfoKHR32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33418 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateSwapchainKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkSwapchainKHR
*)UlongToPtr(params
->pSwapchain
));
33419 free_conversion_context(&ctx
);
33420 return STATUS_SUCCESS
;
33424 static NTSTATUS
thunk64_vkCreateValidationCacheEXT(void *args
)
33426 struct vkCreateValidationCacheEXT_params
*params
= args
;
33428 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pValidationCache
);
33430 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkCreateValidationCacheEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, NULL
, params
->pValidationCache
);
33431 return STATUS_SUCCESS
;
33433 #endif /* _WIN64 */
33435 static NTSTATUS
thunk32_vkCreateValidationCacheEXT(void *args
)
33442 PTR32 pValidationCache
;
33445 VkValidationCacheCreateInfoEXT pCreateInfo_host
;
33447 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pAllocator
, params
->pValidationCache
);
33449 convert_VkValidationCacheCreateInfoEXT_win32_to_host((const VkValidationCacheCreateInfoEXT32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33450 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkCreateValidationCacheEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, NULL
, (VkValidationCacheEXT
*)UlongToPtr(params
->pValidationCache
));
33451 return STATUS_SUCCESS
;
33455 static NTSTATUS
thunk64_vkCreateWin32SurfaceKHR(void *args
)
33457 struct vkCreateWin32SurfaceKHR_params
*params
= args
;
33459 TRACE("%p, %p, %p, %p\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pSurface
);
33461 params
->result
= wine_vkCreateWin32SurfaceKHR(params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pSurface
);
33462 return STATUS_SUCCESS
;
33464 #endif /* _WIN64 */
33466 static NTSTATUS
thunk32_vkCreateWin32SurfaceKHR(void *args
)
33476 VkWin32SurfaceCreateInfoKHR pCreateInfo_host
;
33478 TRACE("%#x, %#x, %#x, %#x\n", params
->instance
, params
->pCreateInfo
, params
->pAllocator
, params
->pSurface
);
33480 convert_VkWin32SurfaceCreateInfoKHR_win32_to_host((const VkWin32SurfaceCreateInfoKHR32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
33481 params
->result
= wine_vkCreateWin32SurfaceKHR((VkInstance
)UlongToPtr(params
->instance
), &pCreateInfo_host
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
), (VkSurfaceKHR
*)UlongToPtr(params
->pSurface
));
33482 return STATUS_SUCCESS
;
33486 static NTSTATUS
thunk64_vkDebugMarkerSetObjectNameEXT(void *args
)
33488 struct vkDebugMarkerSetObjectNameEXT_params
*params
= args
;
33489 VkDebugMarkerObjectNameInfoEXT pNameInfo_host
;
33491 TRACE("%p, %p\n", params
->device
, params
->pNameInfo
);
33493 convert_VkDebugMarkerObjectNameInfoEXT_win64_to_host(params
->pNameInfo
, &pNameInfo_host
);
33494 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDebugMarkerSetObjectNameEXT(wine_device_from_handle(params
->device
)->device
, &pNameInfo_host
);
33495 return STATUS_SUCCESS
;
33497 #endif /* _WIN64 */
33499 static NTSTATUS
thunk32_vkDebugMarkerSetObjectNameEXT(void *args
)
33507 VkDebugMarkerObjectNameInfoEXT pNameInfo_host
;
33509 TRACE("%#x, %#x\n", params
->device
, params
->pNameInfo
);
33511 convert_VkDebugMarkerObjectNameInfoEXT_win32_to_host((const VkDebugMarkerObjectNameInfoEXT32
*)UlongToPtr(params
->pNameInfo
), &pNameInfo_host
);
33512 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDebugMarkerSetObjectNameEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pNameInfo_host
);
33513 return STATUS_SUCCESS
;
33517 static NTSTATUS
thunk64_vkDebugMarkerSetObjectTagEXT(void *args
)
33519 struct vkDebugMarkerSetObjectTagEXT_params
*params
= args
;
33520 VkDebugMarkerObjectTagInfoEXT pTagInfo_host
;
33522 TRACE("%p, %p\n", params
->device
, params
->pTagInfo
);
33524 convert_VkDebugMarkerObjectTagInfoEXT_win64_to_host(params
->pTagInfo
, &pTagInfo_host
);
33525 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDebugMarkerSetObjectTagEXT(wine_device_from_handle(params
->device
)->device
, &pTagInfo_host
);
33526 return STATUS_SUCCESS
;
33528 #endif /* _WIN64 */
33530 static NTSTATUS
thunk32_vkDebugMarkerSetObjectTagEXT(void *args
)
33538 VkDebugMarkerObjectTagInfoEXT pTagInfo_host
;
33540 TRACE("%#x, %#x\n", params
->device
, params
->pTagInfo
);
33542 convert_VkDebugMarkerObjectTagInfoEXT_win32_to_host((const VkDebugMarkerObjectTagInfoEXT32
*)UlongToPtr(params
->pTagInfo
), &pTagInfo_host
);
33543 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDebugMarkerSetObjectTagEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pTagInfo_host
);
33544 return STATUS_SUCCESS
;
33548 static NTSTATUS
thunk64_vkDebugReportMessageEXT(void *args
)
33550 struct vkDebugReportMessageEXT_params
*params
= args
;
33552 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
);
33554 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
);
33555 return STATUS_SUCCESS
;
33557 #endif /* _WIN64 */
33559 static NTSTATUS
thunk32_vkDebugReportMessageEXT(void *args
)
33564 VkDebugReportFlagsEXT flags
;
33565 VkDebugReportObjectTypeEXT objectType
;
33566 uint64_t DECLSPEC_ALIGN(8) object
;
33568 int32_t messageCode
;
33569 PTR32 pLayerPrefix
;
33573 TRACE("%#x, %#x, %#x, 0x%s, 0x%s, %d, %#x, %#x\n", params
->instance
, params
->flags
, params
->objectType
, wine_dbgstr_longlong(params
->object
), wine_dbgstr_longlong(params
->location
), params
->messageCode
, params
->pLayerPrefix
, params
->pMessage
);
33575 wine_instance_from_handle((VkInstance
)UlongToPtr(params
->instance
))->funcs
.p_vkDebugReportMessageEXT(wine_instance_from_handle((VkInstance
)UlongToPtr(params
->instance
))->instance
, params
->flags
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->object
), params
->location
, params
->messageCode
, (const char *)UlongToPtr(params
->pLayerPrefix
), (const char *)UlongToPtr(params
->pMessage
));
33576 return STATUS_SUCCESS
;
33580 static NTSTATUS
thunk64_vkDeferredOperationJoinKHR(void *args
)
33582 struct vkDeferredOperationJoinKHR_params
*params
= args
;
33584 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
33586 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDeferredOperationJoinKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
);
33587 return STATUS_SUCCESS
;
33589 #endif /* _WIN64 */
33591 static NTSTATUS
thunk32_vkDeferredOperationJoinKHR(void *args
)
33596 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) operation
;
33600 TRACE("%#x, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
33602 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDeferredOperationJoinKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->operation
);
33603 return STATUS_SUCCESS
;
33607 static NTSTATUS
thunk64_vkDestroyAccelerationStructureKHR(void *args
)
33609 struct vkDestroyAccelerationStructureKHR_params
*params
= args
;
33611 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), params
->pAllocator
);
33613 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyAccelerationStructureKHR(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructure
, NULL
);
33614 return STATUS_SUCCESS
;
33616 #endif /* _WIN64 */
33618 static NTSTATUS
thunk32_vkDestroyAccelerationStructureKHR(void *args
)
33623 VkAccelerationStructureKHR
DECLSPEC_ALIGN(8) accelerationStructure
;
33627 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), params
->pAllocator
);
33629 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyAccelerationStructureKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->accelerationStructure
, NULL
);
33630 return STATUS_SUCCESS
;
33634 static NTSTATUS
thunk64_vkDestroyAccelerationStructureNV(void *args
)
33636 struct vkDestroyAccelerationStructureNV_params
*params
= args
;
33638 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), params
->pAllocator
);
33640 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyAccelerationStructureNV(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructure
, NULL
);
33641 return STATUS_SUCCESS
;
33643 #endif /* _WIN64 */
33645 static NTSTATUS
thunk32_vkDestroyAccelerationStructureNV(void *args
)
33650 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) accelerationStructure
;
33654 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), params
->pAllocator
);
33656 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyAccelerationStructureNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->accelerationStructure
, NULL
);
33657 return STATUS_SUCCESS
;
33661 static NTSTATUS
thunk64_vkDestroyBuffer(void *args
)
33663 struct vkDestroyBuffer_params
*params
= args
;
33665 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), params
->pAllocator
);
33667 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyBuffer(wine_device_from_handle(params
->device
)->device
, params
->buffer
, NULL
);
33668 return STATUS_SUCCESS
;
33670 #endif /* _WIN64 */
33672 static NTSTATUS
thunk32_vkDestroyBuffer(void *args
)
33677 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
33681 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), params
->pAllocator
);
33683 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyBuffer(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->buffer
, NULL
);
33684 return STATUS_SUCCESS
;
33688 static NTSTATUS
thunk64_vkDestroyBufferView(void *args
)
33690 struct vkDestroyBufferView_params
*params
= args
;
33692 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->bufferView
), params
->pAllocator
);
33694 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyBufferView(wine_device_from_handle(params
->device
)->device
, params
->bufferView
, NULL
);
33695 return STATUS_SUCCESS
;
33697 #endif /* _WIN64 */
33699 static NTSTATUS
thunk32_vkDestroyBufferView(void *args
)
33704 VkBufferView
DECLSPEC_ALIGN(8) bufferView
;
33708 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->bufferView
), params
->pAllocator
);
33710 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyBufferView(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->bufferView
, NULL
);
33711 return STATUS_SUCCESS
;
33715 static NTSTATUS
thunk64_vkDestroyCommandPool(void *args
)
33717 struct vkDestroyCommandPool_params
*params
= args
;
33719 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->pAllocator
);
33721 wine_vkDestroyCommandPool(params
->device
, params
->commandPool
, params
->pAllocator
);
33722 return STATUS_SUCCESS
;
33724 #endif /* _WIN64 */
33726 static NTSTATUS
thunk32_vkDestroyCommandPool(void *args
)
33731 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
33735 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->pAllocator
);
33737 wine_vkDestroyCommandPool((VkDevice
)UlongToPtr(params
->device
), params
->commandPool
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
));
33738 return STATUS_SUCCESS
;
33742 static NTSTATUS
thunk64_vkDestroyCuFunctionNVX(void *args
)
33744 struct vkDestroyCuFunctionNVX_params
*params
= args
;
33746 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->function
), params
->pAllocator
);
33748 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyCuFunctionNVX(wine_device_from_handle(params
->device
)->device
, params
->function
, NULL
);
33749 return STATUS_SUCCESS
;
33751 #endif /* _WIN64 */
33753 static NTSTATUS
thunk32_vkDestroyCuFunctionNVX(void *args
)
33758 VkCuFunctionNVX
DECLSPEC_ALIGN(8) function
;
33762 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->function
), params
->pAllocator
);
33764 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyCuFunctionNVX(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->function
, NULL
);
33765 return STATUS_SUCCESS
;
33769 static NTSTATUS
thunk64_vkDestroyCuModuleNVX(void *args
)
33771 struct vkDestroyCuModuleNVX_params
*params
= args
;
33773 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->module
), params
->pAllocator
);
33775 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyCuModuleNVX(wine_device_from_handle(params
->device
)->device
, params
->module
, NULL
);
33776 return STATUS_SUCCESS
;
33778 #endif /* _WIN64 */
33780 static NTSTATUS
thunk32_vkDestroyCuModuleNVX(void *args
)
33785 VkCuModuleNVX
DECLSPEC_ALIGN(8) module
;
33789 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->module
), params
->pAllocator
);
33791 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyCuModuleNVX(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->module
, NULL
);
33792 return STATUS_SUCCESS
;
33796 static NTSTATUS
thunk64_vkDestroyDebugReportCallbackEXT(void *args
)
33798 struct vkDestroyDebugReportCallbackEXT_params
*params
= args
;
33800 TRACE("%p, 0x%s, %p\n", params
->instance
, wine_dbgstr_longlong(params
->callback
), params
->pAllocator
);
33802 wine_vkDestroyDebugReportCallbackEXT(params
->instance
, params
->callback
, params
->pAllocator
);
33803 return STATUS_SUCCESS
;
33805 #endif /* _WIN64 */
33807 static NTSTATUS
thunk32_vkDestroyDebugReportCallbackEXT(void *args
)
33812 VkDebugReportCallbackEXT
DECLSPEC_ALIGN(8) callback
;
33816 TRACE("%#x, 0x%s, %#x\n", params
->instance
, wine_dbgstr_longlong(params
->callback
), params
->pAllocator
);
33818 wine_vkDestroyDebugReportCallbackEXT((VkInstance
)UlongToPtr(params
->instance
), params
->callback
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
));
33819 return STATUS_SUCCESS
;
33823 static NTSTATUS
thunk64_vkDestroyDebugUtilsMessengerEXT(void *args
)
33825 struct vkDestroyDebugUtilsMessengerEXT_params
*params
= args
;
33827 TRACE("%p, 0x%s, %p\n", params
->instance
, wine_dbgstr_longlong(params
->messenger
), params
->pAllocator
);
33829 wine_vkDestroyDebugUtilsMessengerEXT(params
->instance
, params
->messenger
, params
->pAllocator
);
33830 return STATUS_SUCCESS
;
33832 #endif /* _WIN64 */
33834 static NTSTATUS
thunk32_vkDestroyDebugUtilsMessengerEXT(void *args
)
33839 VkDebugUtilsMessengerEXT
DECLSPEC_ALIGN(8) messenger
;
33843 TRACE("%#x, 0x%s, %#x\n", params
->instance
, wine_dbgstr_longlong(params
->messenger
), params
->pAllocator
);
33845 wine_vkDestroyDebugUtilsMessengerEXT((VkInstance
)UlongToPtr(params
->instance
), params
->messenger
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
));
33846 return STATUS_SUCCESS
;
33850 static NTSTATUS
thunk64_vkDestroyDeferredOperationKHR(void *args
)
33852 struct vkDestroyDeferredOperationKHR_params
*params
= args
;
33854 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->operation
), params
->pAllocator
);
33856 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDeferredOperationKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
, NULL
);
33857 return STATUS_SUCCESS
;
33859 #endif /* _WIN64 */
33861 static NTSTATUS
thunk32_vkDestroyDeferredOperationKHR(void *args
)
33866 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) operation
;
33870 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->operation
), params
->pAllocator
);
33872 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyDeferredOperationKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->operation
, NULL
);
33873 return STATUS_SUCCESS
;
33877 static NTSTATUS
thunk64_vkDestroyDescriptorPool(void *args
)
33879 struct vkDestroyDescriptorPool_params
*params
= args
;
33881 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->pAllocator
);
33883 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorPool(wine_device_from_handle(params
->device
)->device
, params
->descriptorPool
, NULL
);
33884 return STATUS_SUCCESS
;
33886 #endif /* _WIN64 */
33888 static NTSTATUS
thunk32_vkDestroyDescriptorPool(void *args
)
33893 VkDescriptorPool
DECLSPEC_ALIGN(8) descriptorPool
;
33897 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->pAllocator
);
33899 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyDescriptorPool(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorPool
, NULL
);
33900 return STATUS_SUCCESS
;
33904 static NTSTATUS
thunk64_vkDestroyDescriptorSetLayout(void *args
)
33906 struct vkDestroyDescriptorSetLayout_params
*params
= args
;
33908 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSetLayout
), params
->pAllocator
);
33910 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorSetLayout(wine_device_from_handle(params
->device
)->device
, params
->descriptorSetLayout
, NULL
);
33911 return STATUS_SUCCESS
;
33913 #endif /* _WIN64 */
33915 static NTSTATUS
thunk32_vkDestroyDescriptorSetLayout(void *args
)
33920 VkDescriptorSetLayout
DECLSPEC_ALIGN(8) descriptorSetLayout
;
33924 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSetLayout
), params
->pAllocator
);
33926 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyDescriptorSetLayout(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorSetLayout
, NULL
);
33927 return STATUS_SUCCESS
;
33931 static NTSTATUS
thunk64_vkDestroyDescriptorUpdateTemplate(void *args
)
33933 struct vkDestroyDescriptorUpdateTemplate_params
*params
= args
;
33935 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pAllocator
);
33937 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorUpdateTemplate(wine_device_from_handle(params
->device
)->device
, params
->descriptorUpdateTemplate
, NULL
);
33938 return STATUS_SUCCESS
;
33940 #endif /* _WIN64 */
33942 static NTSTATUS
thunk32_vkDestroyDescriptorUpdateTemplate(void *args
)
33947 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
33951 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pAllocator
);
33953 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyDescriptorUpdateTemplate(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorUpdateTemplate
, NULL
);
33954 return STATUS_SUCCESS
;
33958 static NTSTATUS
thunk64_vkDestroyDescriptorUpdateTemplateKHR(void *args
)
33960 struct vkDestroyDescriptorUpdateTemplateKHR_params
*params
= args
;
33962 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pAllocator
);
33964 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyDescriptorUpdateTemplateKHR(wine_device_from_handle(params
->device
)->device
, params
->descriptorUpdateTemplate
, NULL
);
33965 return STATUS_SUCCESS
;
33967 #endif /* _WIN64 */
33969 static NTSTATUS
thunk32_vkDestroyDescriptorUpdateTemplateKHR(void *args
)
33974 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
33978 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pAllocator
);
33980 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyDescriptorUpdateTemplateKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorUpdateTemplate
, NULL
);
33981 return STATUS_SUCCESS
;
33985 static NTSTATUS
thunk64_vkDestroyDevice(void *args
)
33987 struct vkDestroyDevice_params
*params
= args
;
33989 TRACE("%p, %p\n", params
->device
, params
->pAllocator
);
33991 if (!params
->device
)
33992 return STATUS_SUCCESS
;
33994 wine_vkDestroyDevice(params
->device
, params
->pAllocator
);
33995 return STATUS_SUCCESS
;
33997 #endif /* _WIN64 */
33999 static NTSTATUS
thunk32_vkDestroyDevice(void *args
)
34007 TRACE("%#x, %#x\n", params
->device
, params
->pAllocator
);
34009 if (!params
->device
)
34010 return STATUS_SUCCESS
;
34012 wine_vkDestroyDevice((VkDevice
)UlongToPtr(params
->device
), (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
));
34013 return STATUS_SUCCESS
;
34017 static NTSTATUS
thunk64_vkDestroyEvent(void *args
)
34019 struct vkDestroyEvent_params
*params
= args
;
34021 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->event
), params
->pAllocator
);
34023 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyEvent(wine_device_from_handle(params
->device
)->device
, params
->event
, NULL
);
34024 return STATUS_SUCCESS
;
34026 #endif /* _WIN64 */
34028 static NTSTATUS
thunk32_vkDestroyEvent(void *args
)
34033 VkEvent
DECLSPEC_ALIGN(8) event
;
34037 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->event
), params
->pAllocator
);
34039 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyEvent(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->event
, NULL
);
34040 return STATUS_SUCCESS
;
34044 static NTSTATUS
thunk64_vkDestroyFence(void *args
)
34046 struct vkDestroyFence_params
*params
= args
;
34048 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->fence
), params
->pAllocator
);
34050 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyFence(wine_device_from_handle(params
->device
)->device
, params
->fence
, NULL
);
34051 return STATUS_SUCCESS
;
34053 #endif /* _WIN64 */
34055 static NTSTATUS
thunk32_vkDestroyFence(void *args
)
34060 VkFence
DECLSPEC_ALIGN(8) fence
;
34064 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->fence
), params
->pAllocator
);
34066 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyFence(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->fence
, NULL
);
34067 return STATUS_SUCCESS
;
34071 static NTSTATUS
thunk64_vkDestroyFramebuffer(void *args
)
34073 struct vkDestroyFramebuffer_params
*params
= args
;
34075 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->framebuffer
), params
->pAllocator
);
34077 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyFramebuffer(wine_device_from_handle(params
->device
)->device
, params
->framebuffer
, NULL
);
34078 return STATUS_SUCCESS
;
34080 #endif /* _WIN64 */
34082 static NTSTATUS
thunk32_vkDestroyFramebuffer(void *args
)
34087 VkFramebuffer
DECLSPEC_ALIGN(8) framebuffer
;
34091 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->framebuffer
), params
->pAllocator
);
34093 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyFramebuffer(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->framebuffer
, NULL
);
34094 return STATUS_SUCCESS
;
34098 static NTSTATUS
thunk64_vkDestroyImage(void *args
)
34100 struct vkDestroyImage_params
*params
= args
;
34102 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pAllocator
);
34104 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyImage(wine_device_from_handle(params
->device
)->device
, params
->image
, NULL
);
34105 return STATUS_SUCCESS
;
34107 #endif /* _WIN64 */
34109 static NTSTATUS
thunk32_vkDestroyImage(void *args
)
34114 VkImage
DECLSPEC_ALIGN(8) image
;
34118 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pAllocator
);
34120 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyImage(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->image
, NULL
);
34121 return STATUS_SUCCESS
;
34125 static NTSTATUS
thunk64_vkDestroyImageView(void *args
)
34127 struct vkDestroyImageView_params
*params
= args
;
34129 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->imageView
), params
->pAllocator
);
34131 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyImageView(wine_device_from_handle(params
->device
)->device
, params
->imageView
, NULL
);
34132 return STATUS_SUCCESS
;
34134 #endif /* _WIN64 */
34136 static NTSTATUS
thunk32_vkDestroyImageView(void *args
)
34141 VkImageView
DECLSPEC_ALIGN(8) imageView
;
34145 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->imageView
), params
->pAllocator
);
34147 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyImageView(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->imageView
, NULL
);
34148 return STATUS_SUCCESS
;
34152 static NTSTATUS
thunk64_vkDestroyIndirectCommandsLayoutNV(void *args
)
34154 struct vkDestroyIndirectCommandsLayoutNV_params
*params
= args
;
34156 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->indirectCommandsLayout
), params
->pAllocator
);
34158 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyIndirectCommandsLayoutNV(wine_device_from_handle(params
->device
)->device
, params
->indirectCommandsLayout
, NULL
);
34159 return STATUS_SUCCESS
;
34161 #endif /* _WIN64 */
34163 static NTSTATUS
thunk32_vkDestroyIndirectCommandsLayoutNV(void *args
)
34168 VkIndirectCommandsLayoutNV
DECLSPEC_ALIGN(8) indirectCommandsLayout
;
34172 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->indirectCommandsLayout
), params
->pAllocator
);
34174 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyIndirectCommandsLayoutNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->indirectCommandsLayout
, NULL
);
34175 return STATUS_SUCCESS
;
34179 static NTSTATUS
thunk64_vkDestroyInstance(void *args
)
34181 struct vkDestroyInstance_params
*params
= args
;
34183 TRACE("%p, %p\n", params
->instance
, params
->pAllocator
);
34185 if (!params
->instance
)
34186 return STATUS_SUCCESS
;
34188 wine_vkDestroyInstance(params
->instance
, params
->pAllocator
);
34189 return STATUS_SUCCESS
;
34191 #endif /* _WIN64 */
34193 static NTSTATUS
thunk32_vkDestroyInstance(void *args
)
34201 TRACE("%#x, %#x\n", params
->instance
, params
->pAllocator
);
34203 if (!params
->instance
)
34204 return STATUS_SUCCESS
;
34206 wine_vkDestroyInstance((VkInstance
)UlongToPtr(params
->instance
), (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
));
34207 return STATUS_SUCCESS
;
34211 static NTSTATUS
thunk64_vkDestroyMicromapEXT(void *args
)
34213 struct vkDestroyMicromapEXT_params
*params
= args
;
34215 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->micromap
), params
->pAllocator
);
34217 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyMicromapEXT(wine_device_from_handle(params
->device
)->device
, params
->micromap
, NULL
);
34218 return STATUS_SUCCESS
;
34220 #endif /* _WIN64 */
34222 static NTSTATUS
thunk32_vkDestroyMicromapEXT(void *args
)
34227 VkMicromapEXT
DECLSPEC_ALIGN(8) micromap
;
34231 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->micromap
), params
->pAllocator
);
34233 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyMicromapEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->micromap
, NULL
);
34234 return STATUS_SUCCESS
;
34238 static NTSTATUS
thunk64_vkDestroyOpticalFlowSessionNV(void *args
)
34240 struct vkDestroyOpticalFlowSessionNV_params
*params
= args
;
34242 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->session
), params
->pAllocator
);
34244 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyOpticalFlowSessionNV(wine_device_from_handle(params
->device
)->device
, params
->session
, NULL
);
34245 return STATUS_SUCCESS
;
34247 #endif /* _WIN64 */
34249 static NTSTATUS
thunk32_vkDestroyOpticalFlowSessionNV(void *args
)
34254 VkOpticalFlowSessionNV
DECLSPEC_ALIGN(8) session
;
34258 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->session
), params
->pAllocator
);
34260 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyOpticalFlowSessionNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->session
, NULL
);
34261 return STATUS_SUCCESS
;
34265 static NTSTATUS
thunk64_vkDestroyPipeline(void *args
)
34267 struct vkDestroyPipeline_params
*params
= args
;
34269 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->pAllocator
);
34271 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPipeline(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, NULL
);
34272 return STATUS_SUCCESS
;
34274 #endif /* _WIN64 */
34276 static NTSTATUS
thunk32_vkDestroyPipeline(void *args
)
34281 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
34285 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->pAllocator
);
34287 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyPipeline(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipeline
, NULL
);
34288 return STATUS_SUCCESS
;
34292 static NTSTATUS
thunk64_vkDestroyPipelineCache(void *args
)
34294 struct vkDestroyPipelineCache_params
*params
= args
;
34296 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->pAllocator
);
34298 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPipelineCache(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, NULL
);
34299 return STATUS_SUCCESS
;
34301 #endif /* _WIN64 */
34303 static NTSTATUS
thunk32_vkDestroyPipelineCache(void *args
)
34308 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
34312 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->pAllocator
);
34314 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyPipelineCache(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipelineCache
, NULL
);
34315 return STATUS_SUCCESS
;
34319 static NTSTATUS
thunk64_vkDestroyPipelineLayout(void *args
)
34321 struct vkDestroyPipelineLayout_params
*params
= args
;
34323 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineLayout
), params
->pAllocator
);
34325 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPipelineLayout(wine_device_from_handle(params
->device
)->device
, params
->pipelineLayout
, NULL
);
34326 return STATUS_SUCCESS
;
34328 #endif /* _WIN64 */
34330 static NTSTATUS
thunk32_vkDestroyPipelineLayout(void *args
)
34335 VkPipelineLayout
DECLSPEC_ALIGN(8) pipelineLayout
;
34339 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipelineLayout
), params
->pAllocator
);
34341 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyPipelineLayout(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipelineLayout
, NULL
);
34342 return STATUS_SUCCESS
;
34346 static NTSTATUS
thunk64_vkDestroyPrivateDataSlot(void *args
)
34348 struct vkDestroyPrivateDataSlot_params
*params
= args
;
34350 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->privateDataSlot
), params
->pAllocator
);
34352 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPrivateDataSlot(wine_device_from_handle(params
->device
)->device
, params
->privateDataSlot
, NULL
);
34353 return STATUS_SUCCESS
;
34355 #endif /* _WIN64 */
34357 static NTSTATUS
thunk32_vkDestroyPrivateDataSlot(void *args
)
34362 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
34366 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->privateDataSlot
), params
->pAllocator
);
34368 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyPrivateDataSlot(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->privateDataSlot
, NULL
);
34369 return STATUS_SUCCESS
;
34373 static NTSTATUS
thunk64_vkDestroyPrivateDataSlotEXT(void *args
)
34375 struct vkDestroyPrivateDataSlotEXT_params
*params
= args
;
34377 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->privateDataSlot
), params
->pAllocator
);
34379 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyPrivateDataSlotEXT(wine_device_from_handle(params
->device
)->device
, params
->privateDataSlot
, NULL
);
34380 return STATUS_SUCCESS
;
34382 #endif /* _WIN64 */
34384 static NTSTATUS
thunk32_vkDestroyPrivateDataSlotEXT(void *args
)
34389 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
34393 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->privateDataSlot
), params
->pAllocator
);
34395 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyPrivateDataSlotEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->privateDataSlot
, NULL
);
34396 return STATUS_SUCCESS
;
34400 static NTSTATUS
thunk64_vkDestroyQueryPool(void *args
)
34402 struct vkDestroyQueryPool_params
*params
= args
;
34404 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->pAllocator
);
34406 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyQueryPool(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, NULL
);
34407 return STATUS_SUCCESS
;
34409 #endif /* _WIN64 */
34411 static NTSTATUS
thunk32_vkDestroyQueryPool(void *args
)
34416 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
34420 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->pAllocator
);
34422 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyQueryPool(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->queryPool
, NULL
);
34423 return STATUS_SUCCESS
;
34427 static NTSTATUS
thunk64_vkDestroyRenderPass(void *args
)
34429 struct vkDestroyRenderPass_params
*params
= args
;
34431 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->renderPass
), params
->pAllocator
);
34433 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyRenderPass(wine_device_from_handle(params
->device
)->device
, params
->renderPass
, NULL
);
34434 return STATUS_SUCCESS
;
34436 #endif /* _WIN64 */
34438 static NTSTATUS
thunk32_vkDestroyRenderPass(void *args
)
34443 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
34447 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->renderPass
), params
->pAllocator
);
34449 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyRenderPass(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->renderPass
, NULL
);
34450 return STATUS_SUCCESS
;
34454 static NTSTATUS
thunk64_vkDestroySampler(void *args
)
34456 struct vkDestroySampler_params
*params
= args
;
34458 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->sampler
), params
->pAllocator
);
34460 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySampler(wine_device_from_handle(params
->device
)->device
, params
->sampler
, NULL
);
34461 return STATUS_SUCCESS
;
34463 #endif /* _WIN64 */
34465 static NTSTATUS
thunk32_vkDestroySampler(void *args
)
34470 VkSampler
DECLSPEC_ALIGN(8) sampler
;
34474 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->sampler
), params
->pAllocator
);
34476 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroySampler(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->sampler
, NULL
);
34477 return STATUS_SUCCESS
;
34481 static NTSTATUS
thunk64_vkDestroySamplerYcbcrConversion(void *args
)
34483 struct vkDestroySamplerYcbcrConversion_params
*params
= args
;
34485 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->ycbcrConversion
), params
->pAllocator
);
34487 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySamplerYcbcrConversion(wine_device_from_handle(params
->device
)->device
, params
->ycbcrConversion
, NULL
);
34488 return STATUS_SUCCESS
;
34490 #endif /* _WIN64 */
34492 static NTSTATUS
thunk32_vkDestroySamplerYcbcrConversion(void *args
)
34497 VkSamplerYcbcrConversion
DECLSPEC_ALIGN(8) ycbcrConversion
;
34501 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->ycbcrConversion
), params
->pAllocator
);
34503 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroySamplerYcbcrConversion(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->ycbcrConversion
, NULL
);
34504 return STATUS_SUCCESS
;
34508 static NTSTATUS
thunk64_vkDestroySamplerYcbcrConversionKHR(void *args
)
34510 struct vkDestroySamplerYcbcrConversionKHR_params
*params
= args
;
34512 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->ycbcrConversion
), params
->pAllocator
);
34514 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySamplerYcbcrConversionKHR(wine_device_from_handle(params
->device
)->device
, params
->ycbcrConversion
, NULL
);
34515 return STATUS_SUCCESS
;
34517 #endif /* _WIN64 */
34519 static NTSTATUS
thunk32_vkDestroySamplerYcbcrConversionKHR(void *args
)
34524 VkSamplerYcbcrConversion
DECLSPEC_ALIGN(8) ycbcrConversion
;
34528 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->ycbcrConversion
), params
->pAllocator
);
34530 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroySamplerYcbcrConversionKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->ycbcrConversion
, NULL
);
34531 return STATUS_SUCCESS
;
34535 static NTSTATUS
thunk64_vkDestroySemaphore(void *args
)
34537 struct vkDestroySemaphore_params
*params
= args
;
34539 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pAllocator
);
34541 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySemaphore(wine_device_from_handle(params
->device
)->device
, params
->semaphore
, NULL
);
34542 return STATUS_SUCCESS
;
34544 #endif /* _WIN64 */
34546 static NTSTATUS
thunk32_vkDestroySemaphore(void *args
)
34551 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
34555 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pAllocator
);
34557 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroySemaphore(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->semaphore
, NULL
);
34558 return STATUS_SUCCESS
;
34562 static NTSTATUS
thunk64_vkDestroyShaderModule(void *args
)
34564 struct vkDestroyShaderModule_params
*params
= args
;
34566 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->shaderModule
), params
->pAllocator
);
34568 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyShaderModule(wine_device_from_handle(params
->device
)->device
, params
->shaderModule
, NULL
);
34569 return STATUS_SUCCESS
;
34571 #endif /* _WIN64 */
34573 static NTSTATUS
thunk32_vkDestroyShaderModule(void *args
)
34578 VkShaderModule
DECLSPEC_ALIGN(8) shaderModule
;
34582 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->shaderModule
), params
->pAllocator
);
34584 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyShaderModule(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->shaderModule
, NULL
);
34585 return STATUS_SUCCESS
;
34589 static NTSTATUS
thunk64_vkDestroySurfaceKHR(void *args
)
34591 struct vkDestroySurfaceKHR_params
*params
= args
;
34593 TRACE("%p, 0x%s, %p\n", params
->instance
, wine_dbgstr_longlong(params
->surface
), params
->pAllocator
);
34595 wine_vkDestroySurfaceKHR(params
->instance
, params
->surface
, params
->pAllocator
);
34596 return STATUS_SUCCESS
;
34598 #endif /* _WIN64 */
34600 static NTSTATUS
thunk32_vkDestroySurfaceKHR(void *args
)
34605 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
34609 TRACE("%#x, 0x%s, %#x\n", params
->instance
, wine_dbgstr_longlong(params
->surface
), params
->pAllocator
);
34611 wine_vkDestroySurfaceKHR((VkInstance
)UlongToPtr(params
->instance
), params
->surface
, (const VkAllocationCallbacks
*)UlongToPtr(params
->pAllocator
));
34612 return STATUS_SUCCESS
;
34616 static NTSTATUS
thunk64_vkDestroySwapchainKHR(void *args
)
34618 struct vkDestroySwapchainKHR_params
*params
= args
;
34620 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), params
->pAllocator
);
34622 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroySwapchainKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, NULL
);
34623 return STATUS_SUCCESS
;
34625 #endif /* _WIN64 */
34627 static NTSTATUS
thunk32_vkDestroySwapchainKHR(void *args
)
34632 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
34636 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), params
->pAllocator
);
34638 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroySwapchainKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->swapchain
, NULL
);
34639 return STATUS_SUCCESS
;
34643 static NTSTATUS
thunk64_vkDestroyValidationCacheEXT(void *args
)
34645 struct vkDestroyValidationCacheEXT_params
*params
= args
;
34647 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->validationCache
), params
->pAllocator
);
34649 wine_device_from_handle(params
->device
)->funcs
.p_vkDestroyValidationCacheEXT(wine_device_from_handle(params
->device
)->device
, params
->validationCache
, NULL
);
34650 return STATUS_SUCCESS
;
34652 #endif /* _WIN64 */
34654 static NTSTATUS
thunk32_vkDestroyValidationCacheEXT(void *args
)
34659 VkValidationCacheEXT
DECLSPEC_ALIGN(8) validationCache
;
34663 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->validationCache
), params
->pAllocator
);
34665 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDestroyValidationCacheEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->validationCache
, NULL
);
34666 return STATUS_SUCCESS
;
34670 static NTSTATUS
thunk64_vkDeviceWaitIdle(void *args
)
34672 struct vkDeviceWaitIdle_params
*params
= args
;
34674 TRACE("%p\n", params
->device
);
34676 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkDeviceWaitIdle(wine_device_from_handle(params
->device
)->device
);
34677 return STATUS_SUCCESS
;
34679 #endif /* _WIN64 */
34681 static NTSTATUS
thunk32_vkDeviceWaitIdle(void *args
)
34689 TRACE("%#x\n", params
->device
);
34691 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkDeviceWaitIdle(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
);
34692 return STATUS_SUCCESS
;
34696 static NTSTATUS
thunk64_vkEndCommandBuffer(void *args
)
34698 struct vkEndCommandBuffer_params
*params
= args
;
34700 TRACE("%p\n", params
->commandBuffer
);
34702 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkEndCommandBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
);
34703 return STATUS_SUCCESS
;
34705 #endif /* _WIN64 */
34707 static NTSTATUS
thunk32_vkEndCommandBuffer(void *args
)
34711 PTR32 commandBuffer
;
34715 TRACE("%#x\n", params
->commandBuffer
);
34717 params
->result
= wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkEndCommandBuffer(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
);
34718 return STATUS_SUCCESS
;
34722 static NTSTATUS
thunk64_vkEnumerateDeviceExtensionProperties(void *args
)
34724 struct vkEnumerateDeviceExtensionProperties_params
*params
= args
;
34726 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
34728 params
->result
= wine_vkEnumerateDeviceExtensionProperties(params
->physicalDevice
, params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
34729 return STATUS_SUCCESS
;
34731 #endif /* _WIN64 */
34733 static NTSTATUS
thunk32_vkEnumerateDeviceExtensionProperties(void *args
)
34737 PTR32 physicalDevice
;
34739 PTR32 pPropertyCount
;
34744 TRACE("%#x, %#x, %#x, %#x\n", params
->physicalDevice
, params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
34746 params
->result
= wine_vkEnumerateDeviceExtensionProperties((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), (const char *)UlongToPtr(params
->pLayerName
), (uint32_t *)UlongToPtr(params
->pPropertyCount
), (VkExtensionProperties
*)UlongToPtr(params
->pProperties
));
34747 return STATUS_SUCCESS
;
34751 static NTSTATUS
thunk64_vkEnumerateDeviceLayerProperties(void *args
)
34753 struct vkEnumerateDeviceLayerProperties_params
*params
= args
;
34755 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
34757 params
->result
= wine_vkEnumerateDeviceLayerProperties(params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
34758 return STATUS_SUCCESS
;
34760 #endif /* _WIN64 */
34762 static NTSTATUS
thunk32_vkEnumerateDeviceLayerProperties(void *args
)
34766 PTR32 physicalDevice
;
34767 PTR32 pPropertyCount
;
34772 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
34774 params
->result
= wine_vkEnumerateDeviceLayerProperties((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), (uint32_t *)UlongToPtr(params
->pPropertyCount
), (VkLayerProperties
*)UlongToPtr(params
->pProperties
));
34775 return STATUS_SUCCESS
;
34779 static NTSTATUS
thunk64_vkEnumerateInstanceExtensionProperties(void *args
)
34781 struct vkEnumerateInstanceExtensionProperties_params
*params
= args
;
34783 TRACE("%p, %p, %p\n", params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
34785 params
->result
= wine_vkEnumerateInstanceExtensionProperties(params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
34786 return STATUS_SUCCESS
;
34788 #endif /* _WIN64 */
34790 static NTSTATUS
thunk32_vkEnumerateInstanceExtensionProperties(void *args
)
34795 PTR32 pPropertyCount
;
34800 TRACE("%#x, %#x, %#x\n", params
->pLayerName
, params
->pPropertyCount
, params
->pProperties
);
34802 params
->result
= wine_vkEnumerateInstanceExtensionProperties((const char *)UlongToPtr(params
->pLayerName
), (uint32_t *)UlongToPtr(params
->pPropertyCount
), (VkExtensionProperties
*)UlongToPtr(params
->pProperties
));
34803 return STATUS_SUCCESS
;
34807 static NTSTATUS
thunk64_vkEnumerateInstanceVersion(void *args
)
34809 struct vkEnumerateInstanceVersion_params
*params
= args
;
34811 TRACE("%p\n", params
->pApiVersion
);
34813 params
->result
= wine_vkEnumerateInstanceVersion(params
->pApiVersion
);
34814 return STATUS_SUCCESS
;
34816 #endif /* _WIN64 */
34818 static NTSTATUS
thunk32_vkEnumerateInstanceVersion(void *args
)
34826 TRACE("%#x\n", params
->pApiVersion
);
34828 params
->result
= wine_vkEnumerateInstanceVersion((uint32_t *)UlongToPtr(params
->pApiVersion
));
34829 return STATUS_SUCCESS
;
34833 static NTSTATUS
thunk64_vkEnumeratePhysicalDeviceGroups(void *args
)
34835 struct vkEnumeratePhysicalDeviceGroups_params
*params
= args
;
34837 TRACE("%p, %p, %p\n", params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
34839 params
->result
= wine_vkEnumeratePhysicalDeviceGroups(params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
34840 return STATUS_SUCCESS
;
34842 #endif /* _WIN64 */
34844 static NTSTATUS
thunk32_vkEnumeratePhysicalDeviceGroups(void *args
)
34849 PTR32 pPhysicalDeviceGroupCount
;
34850 PTR32 pPhysicalDeviceGroupProperties
;
34853 VkPhysicalDeviceGroupProperties
*pPhysicalDeviceGroupProperties_host
;
34854 struct conversion_context ctx
;
34856 TRACE("%#x, %#x, %#x\n", params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
34858 init_conversion_context(&ctx
);
34859 pPhysicalDeviceGroupProperties_host
= convert_VkPhysicalDeviceGroupProperties_array_win32_to_unwrapped_host(&ctx
, (VkPhysicalDeviceGroupProperties32
*)UlongToPtr(params
->pPhysicalDeviceGroupProperties
), *(uint32_t *)UlongToPtr(params
->pPhysicalDeviceGroupCount
));
34860 params
->result
= wine_vkEnumeratePhysicalDeviceGroups((VkInstance
)UlongToPtr(params
->instance
), (uint32_t *)UlongToPtr(params
->pPhysicalDeviceGroupCount
), pPhysicalDeviceGroupProperties_host
);
34861 convert_VkPhysicalDeviceGroupProperties_array_unwrapped_host_to_win32(pPhysicalDeviceGroupProperties_host
, (VkPhysicalDeviceGroupProperties32
*)UlongToPtr(params
->pPhysicalDeviceGroupProperties
), *(uint32_t *)UlongToPtr(params
->pPhysicalDeviceGroupCount
));
34862 free_conversion_context(&ctx
);
34863 return STATUS_SUCCESS
;
34867 static NTSTATUS
thunk64_vkEnumeratePhysicalDeviceGroupsKHR(void *args
)
34869 struct vkEnumeratePhysicalDeviceGroupsKHR_params
*params
= args
;
34871 TRACE("%p, %p, %p\n", params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
34873 params
->result
= wine_vkEnumeratePhysicalDeviceGroupsKHR(params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
34874 return STATUS_SUCCESS
;
34876 #endif /* _WIN64 */
34878 static NTSTATUS
thunk32_vkEnumeratePhysicalDeviceGroupsKHR(void *args
)
34883 PTR32 pPhysicalDeviceGroupCount
;
34884 PTR32 pPhysicalDeviceGroupProperties
;
34887 VkPhysicalDeviceGroupProperties
*pPhysicalDeviceGroupProperties_host
;
34888 struct conversion_context ctx
;
34890 TRACE("%#x, %#x, %#x\n", params
->instance
, params
->pPhysicalDeviceGroupCount
, params
->pPhysicalDeviceGroupProperties
);
34892 init_conversion_context(&ctx
);
34893 pPhysicalDeviceGroupProperties_host
= convert_VkPhysicalDeviceGroupProperties_array_win32_to_unwrapped_host(&ctx
, (VkPhysicalDeviceGroupProperties32
*)UlongToPtr(params
->pPhysicalDeviceGroupProperties
), *(uint32_t *)UlongToPtr(params
->pPhysicalDeviceGroupCount
));
34894 params
->result
= wine_vkEnumeratePhysicalDeviceGroupsKHR((VkInstance
)UlongToPtr(params
->instance
), (uint32_t *)UlongToPtr(params
->pPhysicalDeviceGroupCount
), pPhysicalDeviceGroupProperties_host
);
34895 convert_VkPhysicalDeviceGroupProperties_array_unwrapped_host_to_win32(pPhysicalDeviceGroupProperties_host
, (VkPhysicalDeviceGroupProperties32
*)UlongToPtr(params
->pPhysicalDeviceGroupProperties
), *(uint32_t *)UlongToPtr(params
->pPhysicalDeviceGroupCount
));
34896 free_conversion_context(&ctx
);
34897 return STATUS_SUCCESS
;
34901 static NTSTATUS
thunk64_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(void *args
)
34903 struct vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR_params
*params
= args
;
34905 TRACE("%p, %u, %p, %p, %p\n", params
->physicalDevice
, params
->queueFamilyIndex
, params
->pCounterCount
, params
->pCounters
, params
->pCounterDescriptions
);
34907 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
);
34908 return STATUS_SUCCESS
;
34910 #endif /* _WIN64 */
34912 static NTSTATUS
thunk32_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(void *args
)
34916 PTR32 physicalDevice
;
34917 uint32_t queueFamilyIndex
;
34918 PTR32 pCounterCount
;
34920 PTR32 pCounterDescriptions
;
34923 VkPerformanceCounterKHR
*pCounters_host
;
34924 VkPerformanceCounterDescriptionKHR
*pCounterDescriptions_host
;
34925 struct conversion_context ctx
;
34927 TRACE("%#x, %u, %#x, %#x, %#x\n", params
->physicalDevice
, params
->queueFamilyIndex
, params
->pCounterCount
, params
->pCounters
, params
->pCounterDescriptions
);
34929 init_conversion_context(&ctx
);
34930 pCounters_host
= convert_VkPerformanceCounterKHR_array_win32_to_host(&ctx
, (VkPerformanceCounterKHR32
*)UlongToPtr(params
->pCounters
), *(uint32_t *)UlongToPtr(params
->pCounterCount
));
34931 pCounterDescriptions_host
= convert_VkPerformanceCounterDescriptionKHR_array_win32_to_host(&ctx
, (VkPerformanceCounterDescriptionKHR32
*)UlongToPtr(params
->pCounterDescriptions
), *(uint32_t *)UlongToPtr(params
->pCounterCount
));
34932 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, params
->queueFamilyIndex
, (uint32_t *)UlongToPtr(params
->pCounterCount
), pCounters_host
, pCounterDescriptions_host
);
34933 convert_VkPerformanceCounterKHR_array_host_to_win32(pCounters_host
, (VkPerformanceCounterKHR32
*)UlongToPtr(params
->pCounters
), *(uint32_t *)UlongToPtr(params
->pCounterCount
));
34934 convert_VkPerformanceCounterDescriptionKHR_array_host_to_win32(pCounterDescriptions_host
, (VkPerformanceCounterDescriptionKHR32
*)UlongToPtr(params
->pCounterDescriptions
), *(uint32_t *)UlongToPtr(params
->pCounterCount
));
34935 free_conversion_context(&ctx
);
34936 return STATUS_SUCCESS
;
34940 static NTSTATUS
thunk64_vkEnumeratePhysicalDevices(void *args
)
34942 struct vkEnumeratePhysicalDevices_params
*params
= args
;
34944 TRACE("%p, %p, %p\n", params
->instance
, params
->pPhysicalDeviceCount
, params
->pPhysicalDevices
);
34946 params
->result
= wine_vkEnumeratePhysicalDevices(params
->instance
, params
->pPhysicalDeviceCount
, params
->pPhysicalDevices
);
34947 return STATUS_SUCCESS
;
34949 #endif /* _WIN64 */
34951 static NTSTATUS
thunk32_vkEnumeratePhysicalDevices(void *args
)
34956 PTR32 pPhysicalDeviceCount
;
34957 PTR32 pPhysicalDevices
;
34960 VkPhysicalDevice
*pPhysicalDevices_host
;
34961 struct conversion_context ctx
;
34963 TRACE("%#x, %#x, %#x\n", params
->instance
, params
->pPhysicalDeviceCount
, params
->pPhysicalDevices
);
34965 init_conversion_context(&ctx
);
34966 pPhysicalDevices_host
= (params
->pPhysicalDevices
&& *(uint32_t *)UlongToPtr(params
->pPhysicalDeviceCount
)) ? conversion_context_alloc(&ctx
, sizeof(*pPhysicalDevices_host
) * *(uint32_t *)UlongToPtr(params
->pPhysicalDeviceCount
)) : NULL
;
34967 params
->result
= wine_vkEnumeratePhysicalDevices((VkInstance
)UlongToPtr(params
->instance
), (uint32_t *)UlongToPtr(params
->pPhysicalDeviceCount
), pPhysicalDevices_host
);
34968 convert_VkPhysicalDevice_array_unwrapped_host_to_win32(pPhysicalDevices_host
, (PTR32
*)UlongToPtr(params
->pPhysicalDevices
), *(uint32_t *)UlongToPtr(params
->pPhysicalDeviceCount
));
34969 free_conversion_context(&ctx
);
34970 return STATUS_SUCCESS
;
34974 static NTSTATUS
thunk64_vkFlushMappedMemoryRanges(void *args
)
34976 struct vkFlushMappedMemoryRanges_params
*params
= args
;
34978 TRACE("%p, %u, %p\n", params
->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
34980 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkFlushMappedMemoryRanges(wine_device_from_handle(params
->device
)->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
34981 return STATUS_SUCCESS
;
34983 #endif /* _WIN64 */
34985 static NTSTATUS
thunk32_vkFlushMappedMemoryRanges(void *args
)
34990 uint32_t memoryRangeCount
;
34991 PTR32 pMemoryRanges
;
34994 const VkMappedMemoryRange
*pMemoryRanges_host
;
34995 struct conversion_context ctx
;
34997 TRACE("%#x, %u, %#x\n", params
->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
34999 init_conversion_context(&ctx
);
35000 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win32_to_host(&ctx
, (const VkMappedMemoryRange32
*)UlongToPtr(params
->pMemoryRanges
), params
->memoryRangeCount
);
35001 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkFlushMappedMemoryRanges(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->memoryRangeCount
, pMemoryRanges_host
);
35002 free_conversion_context(&ctx
);
35003 return STATUS_SUCCESS
;
35007 static NTSTATUS
thunk64_vkFreeCommandBuffers(void *args
)
35009 struct vkFreeCommandBuffers_params
*params
= args
;
35011 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->commandBufferCount
, params
->pCommandBuffers
);
35013 wine_vkFreeCommandBuffers(params
->device
, params
->commandPool
, params
->commandBufferCount
, params
->pCommandBuffers
);
35014 return STATUS_SUCCESS
;
35016 #endif /* _WIN64 */
35018 static NTSTATUS
thunk32_vkFreeCommandBuffers(void *args
)
35023 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
35024 uint32_t commandBufferCount
;
35025 PTR32 pCommandBuffers
;
35027 const VkCommandBuffer
*pCommandBuffers_host
;
35028 struct conversion_context ctx
;
35030 TRACE("%#x, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->commandBufferCount
, params
->pCommandBuffers
);
35032 init_conversion_context(&ctx
);
35033 pCommandBuffers_host
= convert_VkCommandBuffer_array_win32_to_unwrapped_host(&ctx
, (const PTR32
*)UlongToPtr(params
->pCommandBuffers
), params
->commandBufferCount
);
35034 wine_vkFreeCommandBuffers((VkDevice
)UlongToPtr(params
->device
), params
->commandPool
, params
->commandBufferCount
, pCommandBuffers_host
);
35035 free_conversion_context(&ctx
);
35036 return STATUS_SUCCESS
;
35040 static NTSTATUS
thunk64_vkFreeDescriptorSets(void *args
)
35042 struct vkFreeDescriptorSets_params
*params
= args
;
35044 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->descriptorSetCount
, params
->pDescriptorSets
);
35046 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkFreeDescriptorSets(wine_device_from_handle(params
->device
)->device
, params
->descriptorPool
, params
->descriptorSetCount
, params
->pDescriptorSets
);
35047 return STATUS_SUCCESS
;
35049 #endif /* _WIN64 */
35051 static NTSTATUS
thunk32_vkFreeDescriptorSets(void *args
)
35056 VkDescriptorPool
DECLSPEC_ALIGN(8) descriptorPool
;
35057 uint32_t descriptorSetCount
;
35058 PTR32 pDescriptorSets
;
35062 TRACE("%#x, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->descriptorSetCount
, params
->pDescriptorSets
);
35064 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkFreeDescriptorSets(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorPool
, params
->descriptorSetCount
, (const VkDescriptorSet
*)UlongToPtr(params
->pDescriptorSets
));
35065 return STATUS_SUCCESS
;
35069 static NTSTATUS
thunk64_vkFreeMemory(void *args
)
35071 struct vkFreeMemory_params
*params
= args
;
35073 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->pAllocator
);
35075 wine_device_from_handle(params
->device
)->funcs
.p_vkFreeMemory(wine_device_from_handle(params
->device
)->device
, params
->memory
, NULL
);
35076 return STATUS_SUCCESS
;
35078 #endif /* _WIN64 */
35080 static NTSTATUS
thunk32_vkFreeMemory(void *args
)
35085 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
35089 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->pAllocator
);
35091 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkFreeMemory(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->memory
, NULL
);
35092 return STATUS_SUCCESS
;
35096 static NTSTATUS
thunk64_vkGetAccelerationStructureBuildSizesKHR(void *args
)
35098 struct vkGetAccelerationStructureBuildSizesKHR_params
*params
= args
;
35100 TRACE("%p, %#x, %p, %p, %p\n", params
->device
, params
->buildType
, params
->pBuildInfo
, params
->pMaxPrimitiveCounts
, params
->pSizeInfo
);
35102 wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureBuildSizesKHR(wine_device_from_handle(params
->device
)->device
, params
->buildType
, params
->pBuildInfo
, params
->pMaxPrimitiveCounts
, params
->pSizeInfo
);
35103 return STATUS_SUCCESS
;
35105 #endif /* _WIN64 */
35107 static NTSTATUS
thunk32_vkGetAccelerationStructureBuildSizesKHR(void *args
)
35112 VkAccelerationStructureBuildTypeKHR buildType
;
35114 PTR32 pMaxPrimitiveCounts
;
35117 VkAccelerationStructureBuildGeometryInfoKHR pBuildInfo_host
;
35118 VkAccelerationStructureBuildSizesInfoKHR pSizeInfo_host
;
35119 struct conversion_context ctx
;
35121 TRACE("%#x, %#x, %#x, %#x, %#x\n", params
->device
, params
->buildType
, params
->pBuildInfo
, params
->pMaxPrimitiveCounts
, params
->pSizeInfo
);
35123 init_conversion_context(&ctx
);
35124 convert_VkAccelerationStructureBuildGeometryInfoKHR_win32_to_host(&ctx
, (const VkAccelerationStructureBuildGeometryInfoKHR32
*)UlongToPtr(params
->pBuildInfo
), &pBuildInfo_host
);
35125 convert_VkAccelerationStructureBuildSizesInfoKHR_win32_to_host((VkAccelerationStructureBuildSizesInfoKHR32
*)UlongToPtr(params
->pSizeInfo
), &pSizeInfo_host
);
35126 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetAccelerationStructureBuildSizesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->buildType
, &pBuildInfo_host
, (const uint32_t *)UlongToPtr(params
->pMaxPrimitiveCounts
), &pSizeInfo_host
);
35127 convert_VkAccelerationStructureBuildSizesInfoKHR_host_to_win32(&pSizeInfo_host
, (VkAccelerationStructureBuildSizesInfoKHR32
*)UlongToPtr(params
->pSizeInfo
));
35128 free_conversion_context(&ctx
);
35129 return STATUS_SUCCESS
;
35133 static NTSTATUS
thunk64_vkGetAccelerationStructureDeviceAddressKHR(void *args
)
35135 struct vkGetAccelerationStructureDeviceAddressKHR_params
*params
= args
;
35137 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
35139 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureDeviceAddressKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
35140 return STATUS_SUCCESS
;
35142 #endif /* _WIN64 */
35144 static NTSTATUS
thunk32_vkGetAccelerationStructureDeviceAddressKHR(void *args
)
35150 VkDeviceAddress result
;
35152 VkAccelerationStructureDeviceAddressInfoKHR pInfo_host
;
35154 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
35156 convert_VkAccelerationStructureDeviceAddressInfoKHR_win32_to_host((const VkAccelerationStructureDeviceAddressInfoKHR32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35157 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetAccelerationStructureDeviceAddressKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
35158 return STATUS_SUCCESS
;
35162 static NTSTATUS
thunk64_vkGetAccelerationStructureHandleNV(void *args
)
35164 struct vkGetAccelerationStructureHandleNV_params
*params
= args
;
35166 TRACE("%p, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
35168 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureHandleNV(wine_device_from_handle(params
->device
)->device
, params
->accelerationStructure
, params
->dataSize
, params
->pData
);
35169 return STATUS_SUCCESS
;
35171 #endif /* _WIN64 */
35173 static NTSTATUS
thunk32_vkGetAccelerationStructureHandleNV(void *args
)
35178 VkAccelerationStructureNV
DECLSPEC_ALIGN(8) accelerationStructure
;
35184 TRACE("%#x, 0x%s, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->accelerationStructure
), wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
35186 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetAccelerationStructureHandleNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->accelerationStructure
, params
->dataSize
, (void *)UlongToPtr(params
->pData
));
35187 return STATUS_SUCCESS
;
35191 static NTSTATUS
thunk64_vkGetAccelerationStructureMemoryRequirementsNV(void *args
)
35193 struct vkGetAccelerationStructureMemoryRequirementsNV_params
*params
= args
;
35195 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35197 wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
35198 return STATUS_SUCCESS
;
35200 #endif /* _WIN64 */
35202 static NTSTATUS
thunk32_vkGetAccelerationStructureMemoryRequirementsNV(void *args
)
35208 PTR32 pMemoryRequirements
;
35210 VkAccelerationStructureMemoryRequirementsInfoNV pInfo_host
;
35211 VkMemoryRequirements2KHR pMemoryRequirements_host
;
35213 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35215 convert_VkAccelerationStructureMemoryRequirementsInfoNV_win32_to_host((const VkAccelerationStructureMemoryRequirementsInfoNV32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35216 convert_VkMemoryRequirements2KHR_win32_to_host((VkMemoryRequirements2KHR32
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
35217 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetAccelerationStructureMemoryRequirementsNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
35218 convert_VkMemoryRequirements2KHR_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements2KHR32
*)UlongToPtr(params
->pMemoryRequirements
));
35219 return STATUS_SUCCESS
;
35223 static NTSTATUS
thunk64_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(void *args
)
35225 struct vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT_params
*params
= args
;
35227 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pData
);
35229 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pData
);
35230 return STATUS_SUCCESS
;
35232 #endif /* _WIN64 */
35234 static NTSTATUS
thunk32_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(void *args
)
35243 VkAccelerationStructureCaptureDescriptorDataInfoEXT pInfo_host
;
35245 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pData
);
35247 convert_VkAccelerationStructureCaptureDescriptorDataInfoEXT_win32_to_host((const VkAccelerationStructureCaptureDescriptorDataInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35248 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, (void *)UlongToPtr(params
->pData
));
35249 return STATUS_SUCCESS
;
35253 static NTSTATUS
thunk64_vkGetBufferDeviceAddress(void *args
)
35255 struct vkGetBufferDeviceAddress_params
*params
= args
;
35257 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
35259 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferDeviceAddress(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
35260 return STATUS_SUCCESS
;
35262 #endif /* _WIN64 */
35264 static NTSTATUS
thunk32_vkGetBufferDeviceAddress(void *args
)
35270 VkDeviceAddress result
;
35272 VkBufferDeviceAddressInfo pInfo_host
;
35274 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
35276 convert_VkBufferDeviceAddressInfo_win32_to_host((const VkBufferDeviceAddressInfo32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35277 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetBufferDeviceAddress(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
35278 return STATUS_SUCCESS
;
35282 static NTSTATUS
thunk64_vkGetBufferDeviceAddressEXT(void *args
)
35284 struct vkGetBufferDeviceAddressEXT_params
*params
= args
;
35286 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
35288 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferDeviceAddressEXT(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
35289 return STATUS_SUCCESS
;
35291 #endif /* _WIN64 */
35293 static NTSTATUS
thunk32_vkGetBufferDeviceAddressEXT(void *args
)
35299 VkDeviceAddress result
;
35301 VkBufferDeviceAddressInfo pInfo_host
;
35303 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
35305 convert_VkBufferDeviceAddressInfo_win32_to_host((const VkBufferDeviceAddressInfo32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35306 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetBufferDeviceAddressEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
35307 return STATUS_SUCCESS
;
35311 static NTSTATUS
thunk64_vkGetBufferDeviceAddressKHR(void *args
)
35313 struct vkGetBufferDeviceAddressKHR_params
*params
= args
;
35315 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
35317 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferDeviceAddressKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
35318 return STATUS_SUCCESS
;
35320 #endif /* _WIN64 */
35322 static NTSTATUS
thunk32_vkGetBufferDeviceAddressKHR(void *args
)
35328 VkDeviceAddress result
;
35330 VkBufferDeviceAddressInfo pInfo_host
;
35332 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
35334 convert_VkBufferDeviceAddressInfo_win32_to_host((const VkBufferDeviceAddressInfo32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35335 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetBufferDeviceAddressKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
35336 return STATUS_SUCCESS
;
35340 static NTSTATUS
thunk64_vkGetBufferMemoryRequirements(void *args
)
35342 struct vkGetBufferMemoryRequirements_params
*params
= args
;
35344 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), params
->pMemoryRequirements
);
35346 wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->buffer
, params
->pMemoryRequirements
);
35347 return STATUS_SUCCESS
;
35349 #endif /* _WIN64 */
35351 static NTSTATUS
thunk32_vkGetBufferMemoryRequirements(void *args
)
35356 VkBuffer
DECLSPEC_ALIGN(8) buffer
;
35357 PTR32 pMemoryRequirements
;
35359 VkMemoryRequirements pMemoryRequirements_host
;
35361 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->buffer
), params
->pMemoryRequirements
);
35363 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetBufferMemoryRequirements(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->buffer
, &pMemoryRequirements_host
);
35364 convert_VkMemoryRequirements_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements32
*)UlongToPtr(params
->pMemoryRequirements
));
35365 return STATUS_SUCCESS
;
35369 static NTSTATUS
thunk64_vkGetBufferMemoryRequirements2(void *args
)
35371 struct vkGetBufferMemoryRequirements2_params
*params
= args
;
35373 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35375 wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferMemoryRequirements2(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
35376 return STATUS_SUCCESS
;
35378 #endif /* _WIN64 */
35380 static NTSTATUS
thunk32_vkGetBufferMemoryRequirements2(void *args
)
35386 PTR32 pMemoryRequirements
;
35388 VkBufferMemoryRequirementsInfo2 pInfo_host
;
35389 VkMemoryRequirements2 pMemoryRequirements_host
;
35390 struct conversion_context ctx
;
35392 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35394 init_conversion_context(&ctx
);
35395 convert_VkBufferMemoryRequirementsInfo2_win32_to_host((const VkBufferMemoryRequirementsInfo232
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35396 convert_VkMemoryRequirements2_win32_to_host(&ctx
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
35397 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetBufferMemoryRequirements2(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
35398 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
));
35399 free_conversion_context(&ctx
);
35400 return STATUS_SUCCESS
;
35404 static NTSTATUS
thunk64_vkGetBufferMemoryRequirements2KHR(void *args
)
35406 struct vkGetBufferMemoryRequirements2KHR_params
*params
= args
;
35408 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35410 wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferMemoryRequirements2KHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
35411 return STATUS_SUCCESS
;
35413 #endif /* _WIN64 */
35415 static NTSTATUS
thunk32_vkGetBufferMemoryRequirements2KHR(void *args
)
35421 PTR32 pMemoryRequirements
;
35423 VkBufferMemoryRequirementsInfo2 pInfo_host
;
35424 VkMemoryRequirements2 pMemoryRequirements_host
;
35425 struct conversion_context ctx
;
35427 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35429 init_conversion_context(&ctx
);
35430 convert_VkBufferMemoryRequirementsInfo2_win32_to_host((const VkBufferMemoryRequirementsInfo232
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35431 convert_VkMemoryRequirements2_win32_to_host(&ctx
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
35432 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetBufferMemoryRequirements2KHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
35433 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
));
35434 free_conversion_context(&ctx
);
35435 return STATUS_SUCCESS
;
35439 static NTSTATUS
thunk64_vkGetBufferOpaqueCaptureAddress(void *args
)
35441 struct vkGetBufferOpaqueCaptureAddress_params
*params
= args
;
35443 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
35445 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferOpaqueCaptureAddress(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
35446 return STATUS_SUCCESS
;
35448 #endif /* _WIN64 */
35450 static NTSTATUS
thunk32_vkGetBufferOpaqueCaptureAddress(void *args
)
35458 VkBufferDeviceAddressInfo pInfo_host
;
35460 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
35462 convert_VkBufferDeviceAddressInfo_win32_to_host((const VkBufferDeviceAddressInfo32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35463 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetBufferOpaqueCaptureAddress(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
35464 return STATUS_SUCCESS
;
35468 static NTSTATUS
thunk64_vkGetBufferOpaqueCaptureAddressKHR(void *args
)
35470 struct vkGetBufferOpaqueCaptureAddressKHR_params
*params
= args
;
35472 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
35474 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
35475 return STATUS_SUCCESS
;
35477 #endif /* _WIN64 */
35479 static NTSTATUS
thunk32_vkGetBufferOpaqueCaptureAddressKHR(void *args
)
35487 VkBufferDeviceAddressInfo pInfo_host
;
35489 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
35491 convert_VkBufferDeviceAddressInfo_win32_to_host((const VkBufferDeviceAddressInfo32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35492 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetBufferOpaqueCaptureAddressKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
35493 return STATUS_SUCCESS
;
35497 static NTSTATUS
thunk64_vkGetBufferOpaqueCaptureDescriptorDataEXT(void *args
)
35499 struct vkGetBufferOpaqueCaptureDescriptorDataEXT_params
*params
= args
;
35501 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pData
);
35503 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetBufferOpaqueCaptureDescriptorDataEXT(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pData
);
35504 return STATUS_SUCCESS
;
35506 #endif /* _WIN64 */
35508 static NTSTATUS
thunk32_vkGetBufferOpaqueCaptureDescriptorDataEXT(void *args
)
35517 VkBufferCaptureDescriptorDataInfoEXT pInfo_host
;
35519 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pData
);
35521 convert_VkBufferCaptureDescriptorDataInfoEXT_win32_to_host((const VkBufferCaptureDescriptorDataInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35522 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetBufferOpaqueCaptureDescriptorDataEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, (void *)UlongToPtr(params
->pData
));
35523 return STATUS_SUCCESS
;
35527 static NTSTATUS
thunk64_vkGetCalibratedTimestampsEXT(void *args
)
35529 struct vkGetCalibratedTimestampsEXT_params
*params
= args
;
35531 TRACE("%p, %u, %p, %p, %p\n", params
->device
, params
->timestampCount
, params
->pTimestampInfos
, params
->pTimestamps
, params
->pMaxDeviation
);
35533 params
->result
= wine_vkGetCalibratedTimestampsEXT(params
->device
, params
->timestampCount
, params
->pTimestampInfos
, params
->pTimestamps
, params
->pMaxDeviation
);
35534 return STATUS_SUCCESS
;
35536 #endif /* _WIN64 */
35538 static NTSTATUS
thunk32_vkGetCalibratedTimestampsEXT(void *args
)
35543 uint32_t timestampCount
;
35544 PTR32 pTimestampInfos
;
35546 PTR32 pMaxDeviation
;
35549 const VkCalibratedTimestampInfoEXT
*pTimestampInfos_host
;
35550 struct conversion_context ctx
;
35552 TRACE("%#x, %u, %#x, %#x, %#x\n", params
->device
, params
->timestampCount
, params
->pTimestampInfos
, params
->pTimestamps
, params
->pMaxDeviation
);
35554 init_conversion_context(&ctx
);
35555 pTimestampInfos_host
= convert_VkCalibratedTimestampInfoEXT_array_win32_to_host(&ctx
, (const VkCalibratedTimestampInfoEXT32
*)UlongToPtr(params
->pTimestampInfos
), params
->timestampCount
);
35556 params
->result
= wine_vkGetCalibratedTimestampsEXT((VkDevice
)UlongToPtr(params
->device
), params
->timestampCount
, pTimestampInfos_host
, (uint64_t *)UlongToPtr(params
->pTimestamps
), (uint64_t *)UlongToPtr(params
->pMaxDeviation
));
35557 free_conversion_context(&ctx
);
35558 return STATUS_SUCCESS
;
35562 static NTSTATUS
thunk64_vkGetDeferredOperationMaxConcurrencyKHR(void *args
)
35564 struct vkGetDeferredOperationMaxConcurrencyKHR_params
*params
= args
;
35566 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
35568 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeferredOperationMaxConcurrencyKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
);
35569 return STATUS_SUCCESS
;
35571 #endif /* _WIN64 */
35573 static NTSTATUS
thunk32_vkGetDeferredOperationMaxConcurrencyKHR(void *args
)
35578 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) operation
;
35582 TRACE("%#x, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
35584 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeferredOperationMaxConcurrencyKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->operation
);
35585 return STATUS_SUCCESS
;
35589 static NTSTATUS
thunk64_vkGetDeferredOperationResultKHR(void *args
)
35591 struct vkGetDeferredOperationResultKHR_params
*params
= args
;
35593 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
35595 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeferredOperationResultKHR(wine_device_from_handle(params
->device
)->device
, params
->operation
);
35596 return STATUS_SUCCESS
;
35598 #endif /* _WIN64 */
35600 static NTSTATUS
thunk32_vkGetDeferredOperationResultKHR(void *args
)
35605 VkDeferredOperationKHR
DECLSPEC_ALIGN(8) operation
;
35609 TRACE("%#x, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->operation
));
35611 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeferredOperationResultKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->operation
);
35612 return STATUS_SUCCESS
;
35616 static NTSTATUS
thunk64_vkGetDescriptorEXT(void *args
)
35618 struct vkGetDescriptorEXT_params
*params
= args
;
35620 TRACE("%p, %p, 0x%s, %p\n", params
->device
, params
->pDescriptorInfo
, wine_dbgstr_longlong(params
->dataSize
), params
->pDescriptor
);
35622 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorEXT(wine_device_from_handle(params
->device
)->device
, params
->pDescriptorInfo
, params
->dataSize
, params
->pDescriptor
);
35623 return STATUS_SUCCESS
;
35625 #endif /* _WIN64 */
35627 static NTSTATUS
thunk32_vkGetDescriptorEXT(void *args
)
35632 PTR32 pDescriptorInfo
;
35636 VkDescriptorGetInfoEXT pDescriptorInfo_host
;
35637 struct conversion_context ctx
;
35639 TRACE("%#x, %#x, 0x%s, %#x\n", params
->device
, params
->pDescriptorInfo
, wine_dbgstr_longlong(params
->dataSize
), params
->pDescriptor
);
35641 init_conversion_context(&ctx
);
35642 convert_VkDescriptorGetInfoEXT_win32_to_host(&ctx
, (const VkDescriptorGetInfoEXT32
*)UlongToPtr(params
->pDescriptorInfo
), &pDescriptorInfo_host
);
35643 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDescriptorEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pDescriptorInfo_host
, params
->dataSize
, (void *)UlongToPtr(params
->pDescriptor
));
35644 free_conversion_context(&ctx
);
35645 return STATUS_SUCCESS
;
35649 static NTSTATUS
thunk64_vkGetDescriptorSetHostMappingVALVE(void *args
)
35651 struct vkGetDescriptorSetHostMappingVALVE_params
*params
= args
;
35653 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), params
->ppData
);
35655 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetHostMappingVALVE(wine_device_from_handle(params
->device
)->device
, params
->descriptorSet
, params
->ppData
);
35656 return STATUS_SUCCESS
;
35658 #endif /* _WIN64 */
35660 static NTSTATUS
thunk32_vkGetDescriptorSetHostMappingVALVE(void *args
)
35665 VkDescriptorSet
DECLSPEC_ALIGN(8) descriptorSet
;
35669 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), params
->ppData
);
35671 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDescriptorSetHostMappingVALVE(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorSet
, (void **)UlongToPtr(params
->ppData
));
35672 return STATUS_SUCCESS
;
35676 static NTSTATUS
thunk64_vkGetDescriptorSetLayoutBindingOffsetEXT(void *args
)
35678 struct vkGetDescriptorSetLayoutBindingOffsetEXT_params
*params
= args
;
35680 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->layout
), params
->binding
, params
->pOffset
);
35682 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutBindingOffsetEXT(wine_device_from_handle(params
->device
)->device
, params
->layout
, params
->binding
, params
->pOffset
);
35683 return STATUS_SUCCESS
;
35685 #endif /* _WIN64 */
35687 static NTSTATUS
thunk32_vkGetDescriptorSetLayoutBindingOffsetEXT(void *args
)
35692 VkDescriptorSetLayout
DECLSPEC_ALIGN(8) layout
;
35697 TRACE("%#x, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->layout
), params
->binding
, params
->pOffset
);
35699 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDescriptorSetLayoutBindingOffsetEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->layout
, params
->binding
, (VkDeviceSize
*)UlongToPtr(params
->pOffset
));
35700 return STATUS_SUCCESS
;
35704 static NTSTATUS
thunk64_vkGetDescriptorSetLayoutHostMappingInfoVALVE(void *args
)
35706 struct vkGetDescriptorSetLayoutHostMappingInfoVALVE_params
*params
= args
;
35708 TRACE("%p, %p, %p\n", params
->device
, params
->pBindingReference
, params
->pHostMapping
);
35710 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutHostMappingInfoVALVE(wine_device_from_handle(params
->device
)->device
, params
->pBindingReference
, params
->pHostMapping
);
35711 return STATUS_SUCCESS
;
35713 #endif /* _WIN64 */
35715 static NTSTATUS
thunk32_vkGetDescriptorSetLayoutHostMappingInfoVALVE(void *args
)
35720 PTR32 pBindingReference
;
35721 PTR32 pHostMapping
;
35723 VkDescriptorSetBindingReferenceVALVE pBindingReference_host
;
35724 VkDescriptorSetLayoutHostMappingInfoVALVE pHostMapping_host
;
35726 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pBindingReference
, params
->pHostMapping
);
35728 convert_VkDescriptorSetBindingReferenceVALVE_win32_to_host((const VkDescriptorSetBindingReferenceVALVE32
*)UlongToPtr(params
->pBindingReference
), &pBindingReference_host
);
35729 convert_VkDescriptorSetLayoutHostMappingInfoVALVE_win32_to_host((VkDescriptorSetLayoutHostMappingInfoVALVE32
*)UlongToPtr(params
->pHostMapping
), &pHostMapping_host
);
35730 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDescriptorSetLayoutHostMappingInfoVALVE(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pBindingReference_host
, &pHostMapping_host
);
35731 convert_VkDescriptorSetLayoutHostMappingInfoVALVE_host_to_win32(&pHostMapping_host
, (VkDescriptorSetLayoutHostMappingInfoVALVE32
*)UlongToPtr(params
->pHostMapping
));
35732 return STATUS_SUCCESS
;
35736 static NTSTATUS
thunk64_vkGetDescriptorSetLayoutSizeEXT(void *args
)
35738 struct vkGetDescriptorSetLayoutSizeEXT_params
*params
= args
;
35740 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->layout
), params
->pLayoutSizeInBytes
);
35742 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutSizeEXT(wine_device_from_handle(params
->device
)->device
, params
->layout
, params
->pLayoutSizeInBytes
);
35743 return STATUS_SUCCESS
;
35745 #endif /* _WIN64 */
35747 static NTSTATUS
thunk32_vkGetDescriptorSetLayoutSizeEXT(void *args
)
35752 VkDescriptorSetLayout
DECLSPEC_ALIGN(8) layout
;
35753 PTR32 pLayoutSizeInBytes
;
35756 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->layout
), params
->pLayoutSizeInBytes
);
35758 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDescriptorSetLayoutSizeEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->layout
, (VkDeviceSize
*)UlongToPtr(params
->pLayoutSizeInBytes
));
35759 return STATUS_SUCCESS
;
35763 static NTSTATUS
thunk64_vkGetDescriptorSetLayoutSupport(void *args
)
35765 struct vkGetDescriptorSetLayoutSupport_params
*params
= args
;
35767 TRACE("%p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pSupport
);
35769 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutSupport(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, params
->pSupport
);
35770 return STATUS_SUCCESS
;
35772 #endif /* _WIN64 */
35774 static NTSTATUS
thunk32_vkGetDescriptorSetLayoutSupport(void *args
)
35782 VkDescriptorSetLayoutCreateInfo pCreateInfo_host
;
35783 VkDescriptorSetLayoutSupport pSupport_host
;
35784 struct conversion_context ctx
;
35786 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pSupport
);
35788 init_conversion_context(&ctx
);
35789 convert_VkDescriptorSetLayoutCreateInfo_win32_to_host(&ctx
, (const VkDescriptorSetLayoutCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
35790 convert_VkDescriptorSetLayoutSupport_win32_to_host(&ctx
, (VkDescriptorSetLayoutSupport32
*)UlongToPtr(params
->pSupport
), &pSupport_host
);
35791 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDescriptorSetLayoutSupport(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, &pSupport_host
);
35792 convert_VkDescriptorSetLayoutSupport_host_to_win32(&pSupport_host
, (VkDescriptorSetLayoutSupport32
*)UlongToPtr(params
->pSupport
));
35793 free_conversion_context(&ctx
);
35794 return STATUS_SUCCESS
;
35798 static NTSTATUS
thunk64_vkGetDescriptorSetLayoutSupportKHR(void *args
)
35800 struct vkGetDescriptorSetLayoutSupportKHR_params
*params
= args
;
35802 TRACE("%p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pSupport
);
35804 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDescriptorSetLayoutSupportKHR(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, params
->pSupport
);
35805 return STATUS_SUCCESS
;
35807 #endif /* _WIN64 */
35809 static NTSTATUS
thunk32_vkGetDescriptorSetLayoutSupportKHR(void *args
)
35817 VkDescriptorSetLayoutCreateInfo pCreateInfo_host
;
35818 VkDescriptorSetLayoutSupport pSupport_host
;
35819 struct conversion_context ctx
;
35821 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pSupport
);
35823 init_conversion_context(&ctx
);
35824 convert_VkDescriptorSetLayoutCreateInfo_win32_to_host(&ctx
, (const VkDescriptorSetLayoutCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
35825 convert_VkDescriptorSetLayoutSupport_win32_to_host(&ctx
, (VkDescriptorSetLayoutSupport32
*)UlongToPtr(params
->pSupport
), &pSupport_host
);
35826 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDescriptorSetLayoutSupportKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, &pSupport_host
);
35827 convert_VkDescriptorSetLayoutSupport_host_to_win32(&pSupport_host
, (VkDescriptorSetLayoutSupport32
*)UlongToPtr(params
->pSupport
));
35828 free_conversion_context(&ctx
);
35829 return STATUS_SUCCESS
;
35833 static NTSTATUS
thunk64_vkGetDeviceAccelerationStructureCompatibilityKHR(void *args
)
35835 struct vkGetDeviceAccelerationStructureCompatibilityKHR_params
*params
= args
;
35837 TRACE("%p, %p, %p\n", params
->device
, params
->pVersionInfo
, params
->pCompatibility
);
35839 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceAccelerationStructureCompatibilityKHR(wine_device_from_handle(params
->device
)->device
, params
->pVersionInfo
, params
->pCompatibility
);
35840 return STATUS_SUCCESS
;
35842 #endif /* _WIN64 */
35844 static NTSTATUS
thunk32_vkGetDeviceAccelerationStructureCompatibilityKHR(void *args
)
35849 PTR32 pVersionInfo
;
35850 PTR32 pCompatibility
;
35852 VkAccelerationStructureVersionInfoKHR pVersionInfo_host
;
35854 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pVersionInfo
, params
->pCompatibility
);
35856 convert_VkAccelerationStructureVersionInfoKHR_win32_to_host((const VkAccelerationStructureVersionInfoKHR32
*)UlongToPtr(params
->pVersionInfo
), &pVersionInfo_host
);
35857 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceAccelerationStructureCompatibilityKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pVersionInfo_host
, (VkAccelerationStructureCompatibilityKHR
*)UlongToPtr(params
->pCompatibility
));
35858 return STATUS_SUCCESS
;
35862 static NTSTATUS
thunk64_vkGetDeviceBufferMemoryRequirements(void *args
)
35864 struct vkGetDeviceBufferMemoryRequirements_params
*params
= args
;
35866 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35868 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceBufferMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
35869 return STATUS_SUCCESS
;
35871 #endif /* _WIN64 */
35873 static NTSTATUS
thunk32_vkGetDeviceBufferMemoryRequirements(void *args
)
35879 PTR32 pMemoryRequirements
;
35881 VkDeviceBufferMemoryRequirements pInfo_host
;
35882 VkMemoryRequirements2 pMemoryRequirements_host
;
35883 struct conversion_context ctx
;
35885 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35887 init_conversion_context(&ctx
);
35888 convert_VkDeviceBufferMemoryRequirements_win32_to_host(&ctx
, (const VkDeviceBufferMemoryRequirements32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35889 convert_VkMemoryRequirements2_win32_to_host(&ctx
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
35890 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceBufferMemoryRequirements(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
35891 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
));
35892 free_conversion_context(&ctx
);
35893 return STATUS_SUCCESS
;
35897 static NTSTATUS
thunk64_vkGetDeviceBufferMemoryRequirementsKHR(void *args
)
35899 struct vkGetDeviceBufferMemoryRequirementsKHR_params
*params
= args
;
35901 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35903 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceBufferMemoryRequirementsKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
35904 return STATUS_SUCCESS
;
35906 #endif /* _WIN64 */
35908 static NTSTATUS
thunk32_vkGetDeviceBufferMemoryRequirementsKHR(void *args
)
35914 PTR32 pMemoryRequirements
;
35916 VkDeviceBufferMemoryRequirements pInfo_host
;
35917 VkMemoryRequirements2 pMemoryRequirements_host
;
35918 struct conversion_context ctx
;
35920 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
35922 init_conversion_context(&ctx
);
35923 convert_VkDeviceBufferMemoryRequirements_win32_to_host(&ctx
, (const VkDeviceBufferMemoryRequirements32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
35924 convert_VkMemoryRequirements2_win32_to_host(&ctx
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
35925 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceBufferMemoryRequirementsKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
35926 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
));
35927 free_conversion_context(&ctx
);
35928 return STATUS_SUCCESS
;
35932 static NTSTATUS
thunk64_vkGetDeviceFaultInfoEXT(void *args
)
35934 struct vkGetDeviceFaultInfoEXT_params
*params
= args
;
35936 TRACE("%p, %p, %p\n", params
->device
, params
->pFaultCounts
, params
->pFaultInfo
);
35938 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceFaultInfoEXT(wine_device_from_handle(params
->device
)->device
, params
->pFaultCounts
, params
->pFaultInfo
);
35939 return STATUS_SUCCESS
;
35941 #endif /* _WIN64 */
35943 static NTSTATUS
thunk32_vkGetDeviceFaultInfoEXT(void *args
)
35948 PTR32 pFaultCounts
;
35952 VkDeviceFaultCountsEXT pFaultCounts_host
;
35953 VkDeviceFaultInfoEXT
*pFaultInfo_host
= NULL
;
35954 struct conversion_context ctx
;
35956 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pFaultCounts
, params
->pFaultInfo
);
35958 init_conversion_context(&ctx
);
35959 convert_VkDeviceFaultCountsEXT_win32_to_host((VkDeviceFaultCountsEXT32
*)UlongToPtr(params
->pFaultCounts
), &pFaultCounts_host
);
35960 if (params
->pFaultInfo
)
35962 pFaultInfo_host
= conversion_context_alloc(&ctx
, sizeof(*pFaultInfo_host
));
35963 convert_VkDeviceFaultInfoEXT_win32_to_host(&ctx
, (VkDeviceFaultInfoEXT32
*)UlongToPtr(params
->pFaultInfo
), pFaultInfo_host
);
35965 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceFaultInfoEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pFaultCounts_host
, pFaultInfo_host
);
35966 convert_VkDeviceFaultCountsEXT_host_to_win32(&pFaultCounts_host
, (VkDeviceFaultCountsEXT32
*)UlongToPtr(params
->pFaultCounts
));
35967 convert_VkDeviceFaultInfoEXT_host_to_win32(pFaultInfo_host
, (VkDeviceFaultInfoEXT32
*)UlongToPtr(params
->pFaultInfo
));
35968 free_conversion_context(&ctx
);
35969 return STATUS_SUCCESS
;
35973 static NTSTATUS
thunk64_vkGetDeviceGroupPeerMemoryFeatures(void *args
)
35975 struct vkGetDeviceGroupPeerMemoryFeatures_params
*params
= args
;
35977 TRACE("%p, %u, %u, %u, %p\n", params
->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
35979 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupPeerMemoryFeatures(wine_device_from_handle(params
->device
)->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
35980 return STATUS_SUCCESS
;
35982 #endif /* _WIN64 */
35984 static NTSTATUS
thunk32_vkGetDeviceGroupPeerMemoryFeatures(void *args
)
35989 uint32_t heapIndex
;
35990 uint32_t localDeviceIndex
;
35991 uint32_t remoteDeviceIndex
;
35992 PTR32 pPeerMemoryFeatures
;
35995 TRACE("%#x, %u, %u, %u, %#x\n", params
->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
35997 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceGroupPeerMemoryFeatures(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, (VkPeerMemoryFeatureFlags
*)UlongToPtr(params
->pPeerMemoryFeatures
));
35998 return STATUS_SUCCESS
;
36002 static NTSTATUS
thunk64_vkGetDeviceGroupPeerMemoryFeaturesKHR(void *args
)
36004 struct vkGetDeviceGroupPeerMemoryFeaturesKHR_params
*params
= args
;
36006 TRACE("%p, %u, %u, %u, %p\n", params
->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
36008 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupPeerMemoryFeaturesKHR(wine_device_from_handle(params
->device
)->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
36009 return STATUS_SUCCESS
;
36011 #endif /* _WIN64 */
36013 static NTSTATUS
thunk32_vkGetDeviceGroupPeerMemoryFeaturesKHR(void *args
)
36018 uint32_t heapIndex
;
36019 uint32_t localDeviceIndex
;
36020 uint32_t remoteDeviceIndex
;
36021 PTR32 pPeerMemoryFeatures
;
36024 TRACE("%#x, %u, %u, %u, %#x\n", params
->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, params
->pPeerMemoryFeatures
);
36026 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceGroupPeerMemoryFeaturesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->heapIndex
, params
->localDeviceIndex
, params
->remoteDeviceIndex
, (VkPeerMemoryFeatureFlags
*)UlongToPtr(params
->pPeerMemoryFeatures
));
36027 return STATUS_SUCCESS
;
36031 static NTSTATUS
thunk64_vkGetDeviceGroupPresentCapabilitiesKHR(void *args
)
36033 struct vkGetDeviceGroupPresentCapabilitiesKHR_params
*params
= args
;
36035 TRACE("%p, %p\n", params
->device
, params
->pDeviceGroupPresentCapabilities
);
36037 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceGroupPresentCapabilitiesKHR(wine_device_from_handle(params
->device
)->device
, params
->pDeviceGroupPresentCapabilities
);
36038 return STATUS_SUCCESS
;
36040 #endif /* _WIN64 */
36042 static NTSTATUS
thunk32_vkGetDeviceGroupPresentCapabilitiesKHR(void *args
)
36047 PTR32 pDeviceGroupPresentCapabilities
;
36050 VkDeviceGroupPresentCapabilitiesKHR pDeviceGroupPresentCapabilities_host
;
36052 TRACE("%#x, %#x\n", params
->device
, params
->pDeviceGroupPresentCapabilities
);
36054 convert_VkDeviceGroupPresentCapabilitiesKHR_win32_to_host((VkDeviceGroupPresentCapabilitiesKHR32
*)UlongToPtr(params
->pDeviceGroupPresentCapabilities
), &pDeviceGroupPresentCapabilities_host
);
36055 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceGroupPresentCapabilitiesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pDeviceGroupPresentCapabilities_host
);
36056 convert_VkDeviceGroupPresentCapabilitiesKHR_host_to_win32(&pDeviceGroupPresentCapabilities_host
, (VkDeviceGroupPresentCapabilitiesKHR32
*)UlongToPtr(params
->pDeviceGroupPresentCapabilities
));
36057 return STATUS_SUCCESS
;
36061 static NTSTATUS
thunk64_vkGetDeviceGroupSurfacePresentModesKHR(void *args
)
36063 struct vkGetDeviceGroupSurfacePresentModesKHR_params
*params
= args
;
36065 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->surface
), params
->pModes
);
36067 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
);
36068 return STATUS_SUCCESS
;
36070 #endif /* _WIN64 */
36072 static NTSTATUS
thunk32_vkGetDeviceGroupSurfacePresentModesKHR(void *args
)
36077 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
36082 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->surface
), params
->pModes
);
36084 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceGroupSurfacePresentModesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, wine_surface_from_handle(params
->surface
)->driver_surface
, (VkDeviceGroupPresentModeFlagsKHR
*)UlongToPtr(params
->pModes
));
36085 return STATUS_SUCCESS
;
36089 static NTSTATUS
thunk64_vkGetDeviceImageMemoryRequirements(void *args
)
36091 struct vkGetDeviceImageMemoryRequirements_params
*params
= args
;
36093 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36095 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
36096 return STATUS_SUCCESS
;
36098 #endif /* _WIN64 */
36100 static NTSTATUS
thunk32_vkGetDeviceImageMemoryRequirements(void *args
)
36106 PTR32 pMemoryRequirements
;
36108 VkDeviceImageMemoryRequirements pInfo_host
;
36109 VkMemoryRequirements2 pMemoryRequirements_host
;
36110 struct conversion_context ctx
;
36112 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36114 init_conversion_context(&ctx
);
36115 convert_VkDeviceImageMemoryRequirements_win32_to_host(&ctx
, (const VkDeviceImageMemoryRequirements32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36116 convert_VkMemoryRequirements2_win32_to_host(&ctx
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
36117 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceImageMemoryRequirements(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
36118 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
));
36119 free_conversion_context(&ctx
);
36120 return STATUS_SUCCESS
;
36124 static NTSTATUS
thunk64_vkGetDeviceImageMemoryRequirementsKHR(void *args
)
36126 struct vkGetDeviceImageMemoryRequirementsKHR_params
*params
= args
;
36128 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36130 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageMemoryRequirementsKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
36131 return STATUS_SUCCESS
;
36133 #endif /* _WIN64 */
36135 static NTSTATUS
thunk32_vkGetDeviceImageMemoryRequirementsKHR(void *args
)
36141 PTR32 pMemoryRequirements
;
36143 VkDeviceImageMemoryRequirements pInfo_host
;
36144 VkMemoryRequirements2 pMemoryRequirements_host
;
36145 struct conversion_context ctx
;
36147 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36149 init_conversion_context(&ctx
);
36150 convert_VkDeviceImageMemoryRequirements_win32_to_host(&ctx
, (const VkDeviceImageMemoryRequirements32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36151 convert_VkMemoryRequirements2_win32_to_host(&ctx
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
36152 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceImageMemoryRequirementsKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
36153 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
));
36154 free_conversion_context(&ctx
);
36155 return STATUS_SUCCESS
;
36159 static NTSTATUS
thunk64_vkGetDeviceImageSparseMemoryRequirements(void *args
)
36161 struct vkGetDeviceImageSparseMemoryRequirements_params
*params
= args
;
36163 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36165 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageSparseMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36166 return STATUS_SUCCESS
;
36168 #endif /* _WIN64 */
36170 static NTSTATUS
thunk32_vkGetDeviceImageSparseMemoryRequirements(void *args
)
36176 PTR32 pSparseMemoryRequirementCount
;
36177 PTR32 pSparseMemoryRequirements
;
36179 VkDeviceImageMemoryRequirements pInfo_host
;
36180 VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements_host
;
36181 struct conversion_context ctx
;
36183 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36185 init_conversion_context(&ctx
);
36186 convert_VkDeviceImageMemoryRequirements_win32_to_host(&ctx
, (const VkDeviceImageMemoryRequirements32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36187 pSparseMemoryRequirements_host
= convert_VkSparseImageMemoryRequirements2_array_win32_to_host(&ctx
, (VkSparseImageMemoryRequirements232
*)UlongToPtr(params
->pSparseMemoryRequirements
), *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
));
36188 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceImageSparseMemoryRequirements(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, (uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
), pSparseMemoryRequirements_host
);
36189 convert_VkSparseImageMemoryRequirements2_array_host_to_win32(pSparseMemoryRequirements_host
, (VkSparseImageMemoryRequirements232
*)UlongToPtr(params
->pSparseMemoryRequirements
), *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
));
36190 free_conversion_context(&ctx
);
36191 return STATUS_SUCCESS
;
36195 static NTSTATUS
thunk64_vkGetDeviceImageSparseMemoryRequirementsKHR(void *args
)
36197 struct vkGetDeviceImageSparseMemoryRequirementsKHR_params
*params
= args
;
36199 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36201 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceImageSparseMemoryRequirementsKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36202 return STATUS_SUCCESS
;
36204 #endif /* _WIN64 */
36206 static NTSTATUS
thunk32_vkGetDeviceImageSparseMemoryRequirementsKHR(void *args
)
36212 PTR32 pSparseMemoryRequirementCount
;
36213 PTR32 pSparseMemoryRequirements
;
36215 VkDeviceImageMemoryRequirements pInfo_host
;
36216 VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements_host
;
36217 struct conversion_context ctx
;
36219 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36221 init_conversion_context(&ctx
);
36222 convert_VkDeviceImageMemoryRequirements_win32_to_host(&ctx
, (const VkDeviceImageMemoryRequirements32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36223 pSparseMemoryRequirements_host
= convert_VkSparseImageMemoryRequirements2_array_win32_to_host(&ctx
, (VkSparseImageMemoryRequirements232
*)UlongToPtr(params
->pSparseMemoryRequirements
), *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
));
36224 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceImageSparseMemoryRequirementsKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, (uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
), pSparseMemoryRequirements_host
);
36225 convert_VkSparseImageMemoryRequirements2_array_host_to_win32(pSparseMemoryRequirements_host
, (VkSparseImageMemoryRequirements232
*)UlongToPtr(params
->pSparseMemoryRequirements
), *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
));
36226 free_conversion_context(&ctx
);
36227 return STATUS_SUCCESS
;
36231 static NTSTATUS
thunk64_vkGetDeviceMemoryCommitment(void *args
)
36233 struct vkGetDeviceMemoryCommitment_params
*params
= args
;
36235 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->pCommittedMemoryInBytes
);
36237 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMemoryCommitment(wine_device_from_handle(params
->device
)->device
, params
->memory
, params
->pCommittedMemoryInBytes
);
36238 return STATUS_SUCCESS
;
36240 #endif /* _WIN64 */
36242 static NTSTATUS
thunk32_vkGetDeviceMemoryCommitment(void *args
)
36247 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
36248 PTR32 pCommittedMemoryInBytes
;
36251 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->pCommittedMemoryInBytes
);
36253 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceMemoryCommitment(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->memory
, (VkDeviceSize
*)UlongToPtr(params
->pCommittedMemoryInBytes
));
36254 return STATUS_SUCCESS
;
36258 static NTSTATUS
thunk64_vkGetDeviceMemoryOpaqueCaptureAddress(void *args
)
36260 struct vkGetDeviceMemoryOpaqueCaptureAddress_params
*params
= args
;
36262 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
36264 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
36265 return STATUS_SUCCESS
;
36267 #endif /* _WIN64 */
36269 static NTSTATUS
thunk32_vkGetDeviceMemoryOpaqueCaptureAddress(void *args
)
36277 VkDeviceMemoryOpaqueCaptureAddressInfo pInfo_host
;
36279 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
36281 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win32_to_host((const VkDeviceMemoryOpaqueCaptureAddressInfo32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36282 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddress(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
36283 return STATUS_SUCCESS
;
36287 static NTSTATUS
thunk64_vkGetDeviceMemoryOpaqueCaptureAddressKHR(void *args
)
36289 struct vkGetDeviceMemoryOpaqueCaptureAddressKHR_params
*params
= args
;
36291 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
36293 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
36294 return STATUS_SUCCESS
;
36296 #endif /* _WIN64 */
36298 static NTSTATUS
thunk32_vkGetDeviceMemoryOpaqueCaptureAddressKHR(void *args
)
36306 VkDeviceMemoryOpaqueCaptureAddressInfo pInfo_host
;
36308 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
36310 convert_VkDeviceMemoryOpaqueCaptureAddressInfo_win32_to_host((const VkDeviceMemoryOpaqueCaptureAddressInfo32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36311 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceMemoryOpaqueCaptureAddressKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
36312 return STATUS_SUCCESS
;
36316 static NTSTATUS
thunk64_vkGetDeviceMicromapCompatibilityEXT(void *args
)
36318 struct vkGetDeviceMicromapCompatibilityEXT_params
*params
= args
;
36320 TRACE("%p, %p, %p\n", params
->device
, params
->pVersionInfo
, params
->pCompatibility
);
36322 wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceMicromapCompatibilityEXT(wine_device_from_handle(params
->device
)->device
, params
->pVersionInfo
, params
->pCompatibility
);
36323 return STATUS_SUCCESS
;
36325 #endif /* _WIN64 */
36327 static NTSTATUS
thunk32_vkGetDeviceMicromapCompatibilityEXT(void *args
)
36332 PTR32 pVersionInfo
;
36333 PTR32 pCompatibility
;
36335 VkMicromapVersionInfoEXT pVersionInfo_host
;
36337 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pVersionInfo
, params
->pCompatibility
);
36339 convert_VkMicromapVersionInfoEXT_win32_to_host((const VkMicromapVersionInfoEXT32
*)UlongToPtr(params
->pVersionInfo
), &pVersionInfo_host
);
36340 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceMicromapCompatibilityEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pVersionInfo_host
, (VkAccelerationStructureCompatibilityKHR
*)UlongToPtr(params
->pCompatibility
));
36341 return STATUS_SUCCESS
;
36345 static NTSTATUS
thunk64_vkGetDeviceQueue(void *args
)
36347 struct vkGetDeviceQueue_params
*params
= args
;
36349 TRACE("%p, %u, %u, %p\n", params
->device
, params
->queueFamilyIndex
, params
->queueIndex
, params
->pQueue
);
36351 wine_vkGetDeviceQueue(params
->device
, params
->queueFamilyIndex
, params
->queueIndex
, params
->pQueue
);
36352 return STATUS_SUCCESS
;
36354 #endif /* _WIN64 */
36356 static NTSTATUS
thunk32_vkGetDeviceQueue(void *args
)
36361 uint32_t queueFamilyIndex
;
36362 uint32_t queueIndex
;
36365 VkQueue pQueue_host
;
36367 TRACE("%#x, %u, %u, %#x\n", params
->device
, params
->queueFamilyIndex
, params
->queueIndex
, params
->pQueue
);
36369 pQueue_host
= *(VkQueue
*)UlongToPtr(params
->pQueue
);
36370 wine_vkGetDeviceQueue((VkDevice
)UlongToPtr(params
->device
), params
->queueFamilyIndex
, params
->queueIndex
, &pQueue_host
);
36371 *(VkQueue
*)UlongToPtr(params
->pQueue
) = pQueue_host
;
36372 return STATUS_SUCCESS
;
36376 static NTSTATUS
thunk64_vkGetDeviceQueue2(void *args
)
36378 struct vkGetDeviceQueue2_params
*params
= args
;
36380 TRACE("%p, %p, %p\n", params
->device
, params
->pQueueInfo
, params
->pQueue
);
36382 wine_vkGetDeviceQueue2(params
->device
, params
->pQueueInfo
, params
->pQueue
);
36383 return STATUS_SUCCESS
;
36385 #endif /* _WIN64 */
36387 static NTSTATUS
thunk32_vkGetDeviceQueue2(void *args
)
36395 VkDeviceQueueInfo2 pQueueInfo_host
;
36396 VkQueue pQueue_host
;
36398 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pQueueInfo
, params
->pQueue
);
36400 convert_VkDeviceQueueInfo2_win32_to_host((const VkDeviceQueueInfo232
*)UlongToPtr(params
->pQueueInfo
), &pQueueInfo_host
);
36401 pQueue_host
= *(VkQueue
*)UlongToPtr(params
->pQueue
);
36402 wine_vkGetDeviceQueue2((VkDevice
)UlongToPtr(params
->device
), &pQueueInfo_host
, &pQueue_host
);
36403 *(VkQueue
*)UlongToPtr(params
->pQueue
) = pQueue_host
;
36404 return STATUS_SUCCESS
;
36408 static NTSTATUS
thunk64_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(void *args
)
36410 struct vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI_params
*params
= args
;
36412 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->renderpass
), params
->pMaxWorkgroupSize
);
36414 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(wine_device_from_handle(params
->device
)->device
, params
->renderpass
, params
->pMaxWorkgroupSize
);
36415 return STATUS_SUCCESS
;
36417 #endif /* _WIN64 */
36419 static NTSTATUS
thunk32_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(void *args
)
36424 VkRenderPass
DECLSPEC_ALIGN(8) renderpass
;
36425 PTR32 pMaxWorkgroupSize
;
36429 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->renderpass
), params
->pMaxWorkgroupSize
);
36431 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->renderpass
, (VkExtent2D
*)UlongToPtr(params
->pMaxWorkgroupSize
));
36432 return STATUS_SUCCESS
;
36436 static NTSTATUS
thunk64_vkGetDynamicRenderingTilePropertiesQCOM(void *args
)
36438 struct vkGetDynamicRenderingTilePropertiesQCOM_params
*params
= args
;
36440 TRACE("%p, %p, %p\n", params
->device
, params
->pRenderingInfo
, params
->pProperties
);
36442 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetDynamicRenderingTilePropertiesQCOM(wine_device_from_handle(params
->device
)->device
, params
->pRenderingInfo
, params
->pProperties
);
36443 return STATUS_SUCCESS
;
36445 #endif /* _WIN64 */
36447 static NTSTATUS
thunk32_vkGetDynamicRenderingTilePropertiesQCOM(void *args
)
36452 PTR32 pRenderingInfo
;
36456 VkRenderingInfo pRenderingInfo_host
;
36457 VkTilePropertiesQCOM pProperties_host
;
36458 struct conversion_context ctx
;
36460 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pRenderingInfo
, params
->pProperties
);
36462 init_conversion_context(&ctx
);
36463 convert_VkRenderingInfo_win32_to_host(&ctx
, (const VkRenderingInfo32
*)UlongToPtr(params
->pRenderingInfo
), &pRenderingInfo_host
);
36464 convert_VkTilePropertiesQCOM_win32_to_host((VkTilePropertiesQCOM32
*)UlongToPtr(params
->pProperties
), &pProperties_host
);
36465 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetDynamicRenderingTilePropertiesQCOM(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pRenderingInfo_host
, &pProperties_host
);
36466 convert_VkTilePropertiesQCOM_host_to_win32(&pProperties_host
, (VkTilePropertiesQCOM32
*)UlongToPtr(params
->pProperties
));
36467 free_conversion_context(&ctx
);
36468 return STATUS_SUCCESS
;
36472 static NTSTATUS
thunk64_vkGetEventStatus(void *args
)
36474 struct vkGetEventStatus_params
*params
= args
;
36476 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
36478 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetEventStatus(wine_device_from_handle(params
->device
)->device
, params
->event
);
36479 return STATUS_SUCCESS
;
36481 #endif /* _WIN64 */
36483 static NTSTATUS
thunk32_vkGetEventStatus(void *args
)
36488 VkEvent
DECLSPEC_ALIGN(8) event
;
36492 TRACE("%#x, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
36494 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetEventStatus(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->event
);
36495 return STATUS_SUCCESS
;
36499 static NTSTATUS
thunk64_vkGetFenceStatus(void *args
)
36501 struct vkGetFenceStatus_params
*params
= args
;
36503 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->fence
));
36505 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetFenceStatus(wine_device_from_handle(params
->device
)->device
, params
->fence
);
36506 return STATUS_SUCCESS
;
36508 #endif /* _WIN64 */
36510 static NTSTATUS
thunk32_vkGetFenceStatus(void *args
)
36515 VkFence
DECLSPEC_ALIGN(8) fence
;
36519 TRACE("%#x, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->fence
));
36521 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetFenceStatus(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->fence
);
36522 return STATUS_SUCCESS
;
36526 static NTSTATUS
thunk64_vkGetFramebufferTilePropertiesQCOM(void *args
)
36528 struct vkGetFramebufferTilePropertiesQCOM_params
*params
= args
;
36530 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->framebuffer
), params
->pPropertiesCount
, params
->pProperties
);
36532 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetFramebufferTilePropertiesQCOM(wine_device_from_handle(params
->device
)->device
, params
->framebuffer
, params
->pPropertiesCount
, params
->pProperties
);
36533 return STATUS_SUCCESS
;
36535 #endif /* _WIN64 */
36537 static NTSTATUS
thunk32_vkGetFramebufferTilePropertiesQCOM(void *args
)
36542 VkFramebuffer
DECLSPEC_ALIGN(8) framebuffer
;
36543 PTR32 pPropertiesCount
;
36547 VkTilePropertiesQCOM
*pProperties_host
;
36548 struct conversion_context ctx
;
36550 TRACE("%#x, 0x%s, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->framebuffer
), params
->pPropertiesCount
, params
->pProperties
);
36552 init_conversion_context(&ctx
);
36553 pProperties_host
= convert_VkTilePropertiesQCOM_array_win32_to_host(&ctx
, (VkTilePropertiesQCOM32
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pPropertiesCount
));
36554 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetFramebufferTilePropertiesQCOM(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->framebuffer
, (uint32_t *)UlongToPtr(params
->pPropertiesCount
), pProperties_host
);
36555 convert_VkTilePropertiesQCOM_array_host_to_win32(pProperties_host
, (VkTilePropertiesQCOM32
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pPropertiesCount
));
36556 free_conversion_context(&ctx
);
36557 return STATUS_SUCCESS
;
36561 static NTSTATUS
thunk64_vkGetGeneratedCommandsMemoryRequirementsNV(void *args
)
36563 struct vkGetGeneratedCommandsMemoryRequirementsNV_params
*params
= args
;
36565 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36567 wine_device_from_handle(params
->device
)->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
36568 return STATUS_SUCCESS
;
36570 #endif /* _WIN64 */
36572 static NTSTATUS
thunk32_vkGetGeneratedCommandsMemoryRequirementsNV(void *args
)
36578 PTR32 pMemoryRequirements
;
36580 VkGeneratedCommandsMemoryRequirementsInfoNV pInfo_host
;
36581 VkMemoryRequirements2 pMemoryRequirements_host
;
36582 struct conversion_context ctx
;
36584 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36586 init_conversion_context(&ctx
);
36587 convert_VkGeneratedCommandsMemoryRequirementsInfoNV_win32_to_host((const VkGeneratedCommandsMemoryRequirementsInfoNV32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36588 convert_VkMemoryRequirements2_win32_to_host(&ctx
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
36589 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetGeneratedCommandsMemoryRequirementsNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
36590 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
));
36591 free_conversion_context(&ctx
);
36592 return STATUS_SUCCESS
;
36596 static NTSTATUS
thunk64_vkGetImageMemoryRequirements(void *args
)
36598 struct vkGetImageMemoryRequirements_params
*params
= args
;
36600 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pMemoryRequirements
);
36602 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pMemoryRequirements
);
36603 return STATUS_SUCCESS
;
36605 #endif /* _WIN64 */
36607 static NTSTATUS
thunk32_vkGetImageMemoryRequirements(void *args
)
36612 VkImage
DECLSPEC_ALIGN(8) image
;
36613 PTR32 pMemoryRequirements
;
36615 VkMemoryRequirements pMemoryRequirements_host
;
36617 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pMemoryRequirements
);
36619 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageMemoryRequirements(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->image
, &pMemoryRequirements_host
);
36620 convert_VkMemoryRequirements_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements32
*)UlongToPtr(params
->pMemoryRequirements
));
36621 return STATUS_SUCCESS
;
36625 static NTSTATUS
thunk64_vkGetImageMemoryRequirements2(void *args
)
36627 struct vkGetImageMemoryRequirements2_params
*params
= args
;
36629 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36631 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageMemoryRequirements2(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
36632 return STATUS_SUCCESS
;
36634 #endif /* _WIN64 */
36636 static NTSTATUS
thunk32_vkGetImageMemoryRequirements2(void *args
)
36642 PTR32 pMemoryRequirements
;
36644 VkImageMemoryRequirementsInfo2 pInfo_host
;
36645 VkMemoryRequirements2 pMemoryRequirements_host
;
36646 struct conversion_context ctx
;
36648 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36650 init_conversion_context(&ctx
);
36651 convert_VkImageMemoryRequirementsInfo2_win32_to_host(&ctx
, (const VkImageMemoryRequirementsInfo232
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36652 convert_VkMemoryRequirements2_win32_to_host(&ctx
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
36653 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageMemoryRequirements2(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
36654 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
));
36655 free_conversion_context(&ctx
);
36656 return STATUS_SUCCESS
;
36660 static NTSTATUS
thunk64_vkGetImageMemoryRequirements2KHR(void *args
)
36662 struct vkGetImageMemoryRequirements2KHR_params
*params
= args
;
36664 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36666 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageMemoryRequirements2KHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pMemoryRequirements
);
36667 return STATUS_SUCCESS
;
36669 #endif /* _WIN64 */
36671 static NTSTATUS
thunk32_vkGetImageMemoryRequirements2KHR(void *args
)
36677 PTR32 pMemoryRequirements
;
36679 VkImageMemoryRequirementsInfo2 pInfo_host
;
36680 VkMemoryRequirements2 pMemoryRequirements_host
;
36681 struct conversion_context ctx
;
36683 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pMemoryRequirements
);
36685 init_conversion_context(&ctx
);
36686 convert_VkImageMemoryRequirementsInfo2_win32_to_host(&ctx
, (const VkImageMemoryRequirementsInfo232
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36687 convert_VkMemoryRequirements2_win32_to_host(&ctx
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
), &pMemoryRequirements_host
);
36688 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageMemoryRequirements2KHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, &pMemoryRequirements_host
);
36689 convert_VkMemoryRequirements2_host_to_win32(&pMemoryRequirements_host
, (VkMemoryRequirements232
*)UlongToPtr(params
->pMemoryRequirements
));
36690 free_conversion_context(&ctx
);
36691 return STATUS_SUCCESS
;
36695 static NTSTATUS
thunk64_vkGetImageOpaqueCaptureDescriptorDataEXT(void *args
)
36697 struct vkGetImageOpaqueCaptureDescriptorDataEXT_params
*params
= args
;
36699 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pData
);
36701 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageOpaqueCaptureDescriptorDataEXT(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pData
);
36702 return STATUS_SUCCESS
;
36704 #endif /* _WIN64 */
36706 static NTSTATUS
thunk32_vkGetImageOpaqueCaptureDescriptorDataEXT(void *args
)
36715 VkImageCaptureDescriptorDataInfoEXT pInfo_host
;
36717 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pData
);
36719 convert_VkImageCaptureDescriptorDataInfoEXT_win32_to_host((const VkImageCaptureDescriptorDataInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36720 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageOpaqueCaptureDescriptorDataEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, (void *)UlongToPtr(params
->pData
));
36721 return STATUS_SUCCESS
;
36725 static NTSTATUS
thunk64_vkGetImageSparseMemoryRequirements(void *args
)
36727 struct vkGetImageSparseMemoryRequirements_params
*params
= args
;
36729 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36731 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSparseMemoryRequirements(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36732 return STATUS_SUCCESS
;
36734 #endif /* _WIN64 */
36736 static NTSTATUS
thunk32_vkGetImageSparseMemoryRequirements(void *args
)
36741 VkImage
DECLSPEC_ALIGN(8) image
;
36742 PTR32 pSparseMemoryRequirementCount
;
36743 PTR32 pSparseMemoryRequirements
;
36745 VkSparseImageMemoryRequirements
*pSparseMemoryRequirements_host
;
36746 struct conversion_context ctx
;
36748 TRACE("%#x, 0x%s, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36750 init_conversion_context(&ctx
);
36751 pSparseMemoryRequirements_host
= (params
->pSparseMemoryRequirements
&& *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
)) ? conversion_context_alloc(&ctx
, sizeof(*pSparseMemoryRequirements_host
) * *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
)) : NULL
;
36752 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageSparseMemoryRequirements(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->image
, (uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
), pSparseMemoryRequirements_host
);
36753 convert_VkSparseImageMemoryRequirements_array_host_to_win32(pSparseMemoryRequirements_host
, (VkSparseImageMemoryRequirements32
*)UlongToPtr(params
->pSparseMemoryRequirements
), *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
));
36754 free_conversion_context(&ctx
);
36755 return STATUS_SUCCESS
;
36759 static NTSTATUS
thunk64_vkGetImageSparseMemoryRequirements2(void *args
)
36761 struct vkGetImageSparseMemoryRequirements2_params
*params
= args
;
36763 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36765 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSparseMemoryRequirements2(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36766 return STATUS_SUCCESS
;
36768 #endif /* _WIN64 */
36770 static NTSTATUS
thunk32_vkGetImageSparseMemoryRequirements2(void *args
)
36776 PTR32 pSparseMemoryRequirementCount
;
36777 PTR32 pSparseMemoryRequirements
;
36779 VkImageSparseMemoryRequirementsInfo2 pInfo_host
;
36780 VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements_host
;
36781 struct conversion_context ctx
;
36783 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36785 init_conversion_context(&ctx
);
36786 convert_VkImageSparseMemoryRequirementsInfo2_win32_to_host((const VkImageSparseMemoryRequirementsInfo232
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36787 pSparseMemoryRequirements_host
= convert_VkSparseImageMemoryRequirements2_array_win32_to_host(&ctx
, (VkSparseImageMemoryRequirements232
*)UlongToPtr(params
->pSparseMemoryRequirements
), *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
));
36788 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageSparseMemoryRequirements2(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, (uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
), pSparseMemoryRequirements_host
);
36789 convert_VkSparseImageMemoryRequirements2_array_host_to_win32(pSparseMemoryRequirements_host
, (VkSparseImageMemoryRequirements232
*)UlongToPtr(params
->pSparseMemoryRequirements
), *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
));
36790 free_conversion_context(&ctx
);
36791 return STATUS_SUCCESS
;
36795 static NTSTATUS
thunk64_vkGetImageSparseMemoryRequirements2KHR(void *args
)
36797 struct vkGetImageSparseMemoryRequirements2KHR_params
*params
= args
;
36799 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36801 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36802 return STATUS_SUCCESS
;
36804 #endif /* _WIN64 */
36806 static NTSTATUS
thunk32_vkGetImageSparseMemoryRequirements2KHR(void *args
)
36812 PTR32 pSparseMemoryRequirementCount
;
36813 PTR32 pSparseMemoryRequirements
;
36815 VkImageSparseMemoryRequirementsInfo2 pInfo_host
;
36816 VkSparseImageMemoryRequirements2
*pSparseMemoryRequirements_host
;
36817 struct conversion_context ctx
;
36819 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pSparseMemoryRequirementCount
, params
->pSparseMemoryRequirements
);
36821 init_conversion_context(&ctx
);
36822 convert_VkImageSparseMemoryRequirementsInfo2_win32_to_host((const VkImageSparseMemoryRequirementsInfo232
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36823 pSparseMemoryRequirements_host
= convert_VkSparseImageMemoryRequirements2_array_win32_to_host(&ctx
, (VkSparseImageMemoryRequirements232
*)UlongToPtr(params
->pSparseMemoryRequirements
), *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
));
36824 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageSparseMemoryRequirements2KHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, (uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
), pSparseMemoryRequirements_host
);
36825 convert_VkSparseImageMemoryRequirements2_array_host_to_win32(pSparseMemoryRequirements_host
, (VkSparseImageMemoryRequirements232
*)UlongToPtr(params
->pSparseMemoryRequirements
), *(uint32_t *)UlongToPtr(params
->pSparseMemoryRequirementCount
));
36826 free_conversion_context(&ctx
);
36827 return STATUS_SUCCESS
;
36831 static NTSTATUS
thunk64_vkGetImageSubresourceLayout(void *args
)
36833 struct vkGetImageSubresourceLayout_params
*params
= args
;
36835 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSubresource
, params
->pLayout
);
36837 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSubresourceLayout(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pSubresource
, params
->pLayout
);
36838 return STATUS_SUCCESS
;
36840 #endif /* _WIN64 */
36842 static NTSTATUS
thunk32_vkGetImageSubresourceLayout(void *args
)
36847 VkImage
DECLSPEC_ALIGN(8) image
;
36848 PTR32 pSubresource
;
36851 VkSubresourceLayout pLayout_host
;
36853 TRACE("%#x, 0x%s, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSubresource
, params
->pLayout
);
36855 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageSubresourceLayout(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->image
, (const VkImageSubresource
*)UlongToPtr(params
->pSubresource
), &pLayout_host
);
36856 convert_VkSubresourceLayout_host_to_win32(&pLayout_host
, (VkSubresourceLayout32
*)UlongToPtr(params
->pLayout
));
36857 return STATUS_SUCCESS
;
36861 static NTSTATUS
thunk64_vkGetImageSubresourceLayout2EXT(void *args
)
36863 struct vkGetImageSubresourceLayout2EXT_params
*params
= args
;
36865 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSubresource
, params
->pLayout
);
36867 wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageSubresourceLayout2EXT(wine_device_from_handle(params
->device
)->device
, params
->image
, params
->pSubresource
, params
->pLayout
);
36868 return STATUS_SUCCESS
;
36870 #endif /* _WIN64 */
36872 static NTSTATUS
thunk32_vkGetImageSubresourceLayout2EXT(void *args
)
36877 VkImage
DECLSPEC_ALIGN(8) image
;
36878 PTR32 pSubresource
;
36881 VkImageSubresource2EXT pSubresource_host
;
36882 VkSubresourceLayout2EXT pLayout_host
;
36883 struct conversion_context ctx
;
36885 TRACE("%#x, 0x%s, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->image
), params
->pSubresource
, params
->pLayout
);
36887 init_conversion_context(&ctx
);
36888 convert_VkImageSubresource2EXT_win32_to_host((const VkImageSubresource2EXT32
*)UlongToPtr(params
->pSubresource
), &pSubresource_host
);
36889 convert_VkSubresourceLayout2EXT_win32_to_host(&ctx
, (VkSubresourceLayout2EXT32
*)UlongToPtr(params
->pLayout
), &pLayout_host
);
36890 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageSubresourceLayout2EXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->image
, &pSubresource_host
, &pLayout_host
);
36891 convert_VkSubresourceLayout2EXT_host_to_win32(&pLayout_host
, (VkSubresourceLayout2EXT32
*)UlongToPtr(params
->pLayout
));
36892 free_conversion_context(&ctx
);
36893 return STATUS_SUCCESS
;
36897 static NTSTATUS
thunk64_vkGetImageViewAddressNVX(void *args
)
36899 struct vkGetImageViewAddressNVX_params
*params
= args
;
36901 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->imageView
), params
->pProperties
);
36903 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageViewAddressNVX(wine_device_from_handle(params
->device
)->device
, params
->imageView
, params
->pProperties
);
36904 return STATUS_SUCCESS
;
36906 #endif /* _WIN64 */
36908 static NTSTATUS
thunk32_vkGetImageViewAddressNVX(void *args
)
36913 VkImageView
DECLSPEC_ALIGN(8) imageView
;
36917 VkImageViewAddressPropertiesNVX pProperties_host
;
36919 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->imageView
), params
->pProperties
);
36921 convert_VkImageViewAddressPropertiesNVX_win32_to_host((VkImageViewAddressPropertiesNVX32
*)UlongToPtr(params
->pProperties
), &pProperties_host
);
36922 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageViewAddressNVX(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->imageView
, &pProperties_host
);
36923 convert_VkImageViewAddressPropertiesNVX_host_to_win32(&pProperties_host
, (VkImageViewAddressPropertiesNVX32
*)UlongToPtr(params
->pProperties
));
36924 return STATUS_SUCCESS
;
36928 static NTSTATUS
thunk64_vkGetImageViewHandleNVX(void *args
)
36930 struct vkGetImageViewHandleNVX_params
*params
= args
;
36932 TRACE("%p, %p\n", params
->device
, params
->pInfo
);
36934 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageViewHandleNVX(wine_device_from_handle(params
->device
)->device
, params
->pInfo
);
36935 return STATUS_SUCCESS
;
36937 #endif /* _WIN64 */
36939 static NTSTATUS
thunk32_vkGetImageViewHandleNVX(void *args
)
36947 VkImageViewHandleInfoNVX pInfo_host
;
36949 TRACE("%#x, %#x\n", params
->device
, params
->pInfo
);
36951 convert_VkImageViewHandleInfoNVX_win32_to_host((const VkImageViewHandleInfoNVX32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36952 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageViewHandleNVX(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
);
36953 return STATUS_SUCCESS
;
36957 static NTSTATUS
thunk64_vkGetImageViewOpaqueCaptureDescriptorDataEXT(void *args
)
36959 struct vkGetImageViewOpaqueCaptureDescriptorDataEXT_params
*params
= args
;
36961 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pData
);
36963 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetImageViewOpaqueCaptureDescriptorDataEXT(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pData
);
36964 return STATUS_SUCCESS
;
36966 #endif /* _WIN64 */
36968 static NTSTATUS
thunk32_vkGetImageViewOpaqueCaptureDescriptorDataEXT(void *args
)
36977 VkImageViewCaptureDescriptorDataInfoEXT pInfo_host
;
36979 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pData
);
36981 convert_VkImageViewCaptureDescriptorDataInfoEXT_win32_to_host((const VkImageViewCaptureDescriptorDataInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
36982 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetImageViewOpaqueCaptureDescriptorDataEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, (void *)UlongToPtr(params
->pData
));
36983 return STATUS_SUCCESS
;
36987 static NTSTATUS
thunk64_vkGetMemoryHostPointerPropertiesEXT(void *args
)
36989 struct vkGetMemoryHostPointerPropertiesEXT_params
*params
= args
;
36991 TRACE("%p, %#x, %p, %p\n", params
->device
, params
->handleType
, params
->pHostPointer
, params
->pMemoryHostPointerProperties
);
36993 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetMemoryHostPointerPropertiesEXT(wine_device_from_handle(params
->device
)->device
, params
->handleType
, params
->pHostPointer
, params
->pMemoryHostPointerProperties
);
36994 return STATUS_SUCCESS
;
36996 #endif /* _WIN64 */
36998 static NTSTATUS
thunk32_vkGetMemoryHostPointerPropertiesEXT(void *args
)
37003 VkExternalMemoryHandleTypeFlagBits handleType
;
37004 PTR32 pHostPointer
;
37005 PTR32 pMemoryHostPointerProperties
;
37008 VkMemoryHostPointerPropertiesEXT pMemoryHostPointerProperties_host
;
37010 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->handleType
, params
->pHostPointer
, params
->pMemoryHostPointerProperties
);
37012 convert_VkMemoryHostPointerPropertiesEXT_win32_to_host((VkMemoryHostPointerPropertiesEXT32
*)UlongToPtr(params
->pMemoryHostPointerProperties
), &pMemoryHostPointerProperties_host
);
37013 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetMemoryHostPointerPropertiesEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->handleType
, (const void *)UlongToPtr(params
->pHostPointer
), &pMemoryHostPointerProperties_host
);
37014 convert_VkMemoryHostPointerPropertiesEXT_host_to_win32(&pMemoryHostPointerProperties_host
, (VkMemoryHostPointerPropertiesEXT32
*)UlongToPtr(params
->pMemoryHostPointerProperties
));
37015 return STATUS_SUCCESS
;
37019 static NTSTATUS
thunk64_vkGetMicromapBuildSizesEXT(void *args
)
37021 struct vkGetMicromapBuildSizesEXT_params
*params
= args
;
37023 TRACE("%p, %#x, %p, %p\n", params
->device
, params
->buildType
, params
->pBuildInfo
, params
->pSizeInfo
);
37025 wine_device_from_handle(params
->device
)->funcs
.p_vkGetMicromapBuildSizesEXT(wine_device_from_handle(params
->device
)->device
, params
->buildType
, params
->pBuildInfo
, params
->pSizeInfo
);
37026 return STATUS_SUCCESS
;
37028 #endif /* _WIN64 */
37030 static NTSTATUS
thunk32_vkGetMicromapBuildSizesEXT(void *args
)
37035 VkAccelerationStructureBuildTypeKHR buildType
;
37039 VkMicromapBuildInfoEXT pBuildInfo_host
;
37040 VkMicromapBuildSizesInfoEXT pSizeInfo_host
;
37041 struct conversion_context ctx
;
37043 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->buildType
, params
->pBuildInfo
, params
->pSizeInfo
);
37045 init_conversion_context(&ctx
);
37046 convert_VkMicromapBuildInfoEXT_win32_to_host(&ctx
, (const VkMicromapBuildInfoEXT32
*)UlongToPtr(params
->pBuildInfo
), &pBuildInfo_host
);
37047 convert_VkMicromapBuildSizesInfoEXT_win32_to_host((VkMicromapBuildSizesInfoEXT32
*)UlongToPtr(params
->pSizeInfo
), &pSizeInfo_host
);
37048 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetMicromapBuildSizesEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->buildType
, &pBuildInfo_host
, &pSizeInfo_host
);
37049 convert_VkMicromapBuildSizesInfoEXT_host_to_win32(&pSizeInfo_host
, (VkMicromapBuildSizesInfoEXT32
*)UlongToPtr(params
->pSizeInfo
));
37050 free_conversion_context(&ctx
);
37051 return STATUS_SUCCESS
;
37055 static NTSTATUS
thunk64_vkGetPerformanceParameterINTEL(void *args
)
37057 struct vkGetPerformanceParameterINTEL_params
*params
= args
;
37059 TRACE("%p, %#x, %p\n", params
->device
, params
->parameter
, params
->pValue
);
37061 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPerformanceParameterINTEL(wine_device_from_handle(params
->device
)->device
, params
->parameter
, params
->pValue
);
37062 return STATUS_SUCCESS
;
37064 #endif /* _WIN64 */
37066 static NTSTATUS
thunk32_vkGetPerformanceParameterINTEL(void *args
)
37071 VkPerformanceParameterTypeINTEL parameter
;
37075 VkPerformanceValueINTEL pValue_host
;
37077 TRACE("%#x, %#x, %#x\n", params
->device
, params
->parameter
, params
->pValue
);
37079 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetPerformanceParameterINTEL(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->parameter
, &pValue_host
);
37080 convert_VkPerformanceValueINTEL_host_to_win32(&pValue_host
, (VkPerformanceValueINTEL32
*)UlongToPtr(params
->pValue
));
37081 return STATUS_SUCCESS
;
37085 static NTSTATUS
thunk64_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(void *args
)
37087 struct vkGetPhysicalDeviceCalibrateableTimeDomainsEXT_params
*params
= args
;
37089 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pTimeDomainCount
, params
->pTimeDomains
);
37091 params
->result
= wine_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(params
->physicalDevice
, params
->pTimeDomainCount
, params
->pTimeDomains
);
37092 return STATUS_SUCCESS
;
37094 #endif /* _WIN64 */
37096 static NTSTATUS
thunk32_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(void *args
)
37100 PTR32 physicalDevice
;
37101 PTR32 pTimeDomainCount
;
37102 PTR32 pTimeDomains
;
37106 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pTimeDomainCount
, params
->pTimeDomains
);
37108 params
->result
= wine_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), (uint32_t *)UlongToPtr(params
->pTimeDomainCount
), (VkTimeDomainEXT
*)UlongToPtr(params
->pTimeDomains
));
37109 return STATUS_SUCCESS
;
37113 static NTSTATUS
thunk64_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(void *args
)
37115 struct vkGetPhysicalDeviceCooperativeMatrixPropertiesNV_params
*params
= args
;
37117 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
37119 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
);
37120 return STATUS_SUCCESS
;
37122 #endif /* _WIN64 */
37124 static NTSTATUS
thunk32_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(void *args
)
37128 PTR32 physicalDevice
;
37129 PTR32 pPropertyCount
;
37133 VkCooperativeMatrixPropertiesNV
*pProperties_host
;
37134 struct conversion_context ctx
;
37136 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pPropertyCount
, params
->pProperties
);
37138 init_conversion_context(&ctx
);
37139 pProperties_host
= convert_VkCooperativeMatrixPropertiesNV_array_win32_to_host(&ctx
, (VkCooperativeMatrixPropertiesNV32
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pPropertyCount
));
37140 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, (uint32_t *)UlongToPtr(params
->pPropertyCount
), pProperties_host
);
37141 convert_VkCooperativeMatrixPropertiesNV_array_host_to_win32(pProperties_host
, (VkCooperativeMatrixPropertiesNV32
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pPropertyCount
));
37142 free_conversion_context(&ctx
);
37143 return STATUS_SUCCESS
;
37147 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalBufferProperties(void *args
)
37149 struct vkGetPhysicalDeviceExternalBufferProperties_params
*params
= args
;
37151 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
37153 wine_vkGetPhysicalDeviceExternalBufferProperties(params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
37154 return STATUS_SUCCESS
;
37156 #endif /* _WIN64 */
37158 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalBufferProperties(void *args
)
37162 PTR32 physicalDevice
;
37163 PTR32 pExternalBufferInfo
;
37164 PTR32 pExternalBufferProperties
;
37166 VkPhysicalDeviceExternalBufferInfo pExternalBufferInfo_host
;
37167 VkExternalBufferProperties pExternalBufferProperties_host
;
37169 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
37171 convert_VkPhysicalDeviceExternalBufferInfo_win32_to_host((const VkPhysicalDeviceExternalBufferInfo32
*)UlongToPtr(params
->pExternalBufferInfo
), &pExternalBufferInfo_host
);
37172 convert_VkExternalBufferProperties_win32_to_host((VkExternalBufferProperties32
*)UlongToPtr(params
->pExternalBufferProperties
), &pExternalBufferProperties_host
);
37173 wine_vkGetPhysicalDeviceExternalBufferProperties((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pExternalBufferInfo_host
, &pExternalBufferProperties_host
);
37174 convert_VkExternalBufferProperties_host_to_win32(&pExternalBufferProperties_host
, (VkExternalBufferProperties32
*)UlongToPtr(params
->pExternalBufferProperties
));
37175 return STATUS_SUCCESS
;
37179 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalBufferPropertiesKHR(void *args
)
37181 struct vkGetPhysicalDeviceExternalBufferPropertiesKHR_params
*params
= args
;
37183 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
37185 wine_vkGetPhysicalDeviceExternalBufferPropertiesKHR(params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
37186 return STATUS_SUCCESS
;
37188 #endif /* _WIN64 */
37190 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalBufferPropertiesKHR(void *args
)
37194 PTR32 physicalDevice
;
37195 PTR32 pExternalBufferInfo
;
37196 PTR32 pExternalBufferProperties
;
37198 VkPhysicalDeviceExternalBufferInfo pExternalBufferInfo_host
;
37199 VkExternalBufferProperties pExternalBufferProperties_host
;
37201 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pExternalBufferInfo
, params
->pExternalBufferProperties
);
37203 convert_VkPhysicalDeviceExternalBufferInfo_win32_to_host((const VkPhysicalDeviceExternalBufferInfo32
*)UlongToPtr(params
->pExternalBufferInfo
), &pExternalBufferInfo_host
);
37204 convert_VkExternalBufferProperties_win32_to_host((VkExternalBufferProperties32
*)UlongToPtr(params
->pExternalBufferProperties
), &pExternalBufferProperties_host
);
37205 wine_vkGetPhysicalDeviceExternalBufferPropertiesKHR((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pExternalBufferInfo_host
, &pExternalBufferProperties_host
);
37206 convert_VkExternalBufferProperties_host_to_win32(&pExternalBufferProperties_host
, (VkExternalBufferProperties32
*)UlongToPtr(params
->pExternalBufferProperties
));
37207 return STATUS_SUCCESS
;
37211 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalFenceProperties(void *args
)
37213 struct vkGetPhysicalDeviceExternalFenceProperties_params
*params
= args
;
37215 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
37217 wine_vkGetPhysicalDeviceExternalFenceProperties(params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
37218 return STATUS_SUCCESS
;
37220 #endif /* _WIN64 */
37222 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalFenceProperties(void *args
)
37226 PTR32 physicalDevice
;
37227 PTR32 pExternalFenceInfo
;
37228 PTR32 pExternalFenceProperties
;
37230 VkPhysicalDeviceExternalFenceInfo pExternalFenceInfo_host
;
37231 VkExternalFenceProperties pExternalFenceProperties_host
;
37233 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
37235 convert_VkPhysicalDeviceExternalFenceInfo_win32_to_host((const VkPhysicalDeviceExternalFenceInfo32
*)UlongToPtr(params
->pExternalFenceInfo
), &pExternalFenceInfo_host
);
37236 convert_VkExternalFenceProperties_win32_to_host((VkExternalFenceProperties32
*)UlongToPtr(params
->pExternalFenceProperties
), &pExternalFenceProperties_host
);
37237 wine_vkGetPhysicalDeviceExternalFenceProperties((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pExternalFenceInfo_host
, &pExternalFenceProperties_host
);
37238 convert_VkExternalFenceProperties_host_to_win32(&pExternalFenceProperties_host
, (VkExternalFenceProperties32
*)UlongToPtr(params
->pExternalFenceProperties
));
37239 return STATUS_SUCCESS
;
37243 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalFencePropertiesKHR(void *args
)
37245 struct vkGetPhysicalDeviceExternalFencePropertiesKHR_params
*params
= args
;
37247 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
37249 wine_vkGetPhysicalDeviceExternalFencePropertiesKHR(params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
37250 return STATUS_SUCCESS
;
37252 #endif /* _WIN64 */
37254 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalFencePropertiesKHR(void *args
)
37258 PTR32 physicalDevice
;
37259 PTR32 pExternalFenceInfo
;
37260 PTR32 pExternalFenceProperties
;
37262 VkPhysicalDeviceExternalFenceInfo pExternalFenceInfo_host
;
37263 VkExternalFenceProperties pExternalFenceProperties_host
;
37265 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pExternalFenceInfo
, params
->pExternalFenceProperties
);
37267 convert_VkPhysicalDeviceExternalFenceInfo_win32_to_host((const VkPhysicalDeviceExternalFenceInfo32
*)UlongToPtr(params
->pExternalFenceInfo
), &pExternalFenceInfo_host
);
37268 convert_VkExternalFenceProperties_win32_to_host((VkExternalFenceProperties32
*)UlongToPtr(params
->pExternalFenceProperties
), &pExternalFenceProperties_host
);
37269 wine_vkGetPhysicalDeviceExternalFencePropertiesKHR((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pExternalFenceInfo_host
, &pExternalFenceProperties_host
);
37270 convert_VkExternalFenceProperties_host_to_win32(&pExternalFenceProperties_host
, (VkExternalFenceProperties32
*)UlongToPtr(params
->pExternalFenceProperties
));
37271 return STATUS_SUCCESS
;
37275 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalSemaphoreProperties(void *args
)
37277 struct vkGetPhysicalDeviceExternalSemaphoreProperties_params
*params
= args
;
37279 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
37281 wine_vkGetPhysicalDeviceExternalSemaphoreProperties(params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
37282 return STATUS_SUCCESS
;
37284 #endif /* _WIN64 */
37286 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalSemaphoreProperties(void *args
)
37290 PTR32 physicalDevice
;
37291 PTR32 pExternalSemaphoreInfo
;
37292 PTR32 pExternalSemaphoreProperties
;
37294 VkPhysicalDeviceExternalSemaphoreInfo pExternalSemaphoreInfo_host
;
37295 VkExternalSemaphoreProperties pExternalSemaphoreProperties_host
;
37296 struct conversion_context ctx
;
37298 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
37300 init_conversion_context(&ctx
);
37301 convert_VkPhysicalDeviceExternalSemaphoreInfo_win32_to_host(&ctx
, (const VkPhysicalDeviceExternalSemaphoreInfo32
*)UlongToPtr(params
->pExternalSemaphoreInfo
), &pExternalSemaphoreInfo_host
);
37302 convert_VkExternalSemaphoreProperties_win32_to_host((VkExternalSemaphoreProperties32
*)UlongToPtr(params
->pExternalSemaphoreProperties
), &pExternalSemaphoreProperties_host
);
37303 wine_vkGetPhysicalDeviceExternalSemaphoreProperties((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pExternalSemaphoreInfo_host
, &pExternalSemaphoreProperties_host
);
37304 convert_VkExternalSemaphoreProperties_host_to_win32(&pExternalSemaphoreProperties_host
, (VkExternalSemaphoreProperties32
*)UlongToPtr(params
->pExternalSemaphoreProperties
));
37305 free_conversion_context(&ctx
);
37306 return STATUS_SUCCESS
;
37310 static NTSTATUS
thunk64_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(void *args
)
37312 struct vkGetPhysicalDeviceExternalSemaphorePropertiesKHR_params
*params
= args
;
37314 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
37316 wine_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
37317 return STATUS_SUCCESS
;
37319 #endif /* _WIN64 */
37321 static NTSTATUS
thunk32_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(void *args
)
37325 PTR32 physicalDevice
;
37326 PTR32 pExternalSemaphoreInfo
;
37327 PTR32 pExternalSemaphoreProperties
;
37329 VkPhysicalDeviceExternalSemaphoreInfo pExternalSemaphoreInfo_host
;
37330 VkExternalSemaphoreProperties pExternalSemaphoreProperties_host
;
37331 struct conversion_context ctx
;
37333 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pExternalSemaphoreInfo
, params
->pExternalSemaphoreProperties
);
37335 init_conversion_context(&ctx
);
37336 convert_VkPhysicalDeviceExternalSemaphoreInfo_win32_to_host(&ctx
, (const VkPhysicalDeviceExternalSemaphoreInfo32
*)UlongToPtr(params
->pExternalSemaphoreInfo
), &pExternalSemaphoreInfo_host
);
37337 convert_VkExternalSemaphoreProperties_win32_to_host((VkExternalSemaphoreProperties32
*)UlongToPtr(params
->pExternalSemaphoreProperties
), &pExternalSemaphoreProperties_host
);
37338 wine_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pExternalSemaphoreInfo_host
, &pExternalSemaphoreProperties_host
);
37339 convert_VkExternalSemaphoreProperties_host_to_win32(&pExternalSemaphoreProperties_host
, (VkExternalSemaphoreProperties32
*)UlongToPtr(params
->pExternalSemaphoreProperties
));
37340 free_conversion_context(&ctx
);
37341 return STATUS_SUCCESS
;
37345 static NTSTATUS
thunk64_vkGetPhysicalDeviceFeatures(void *args
)
37347 struct vkGetPhysicalDeviceFeatures_params
*params
= args
;
37349 TRACE("%p, %p\n", params
->physicalDevice
, params
->pFeatures
);
37351 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFeatures(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFeatures
);
37352 return STATUS_SUCCESS
;
37354 #endif /* _WIN64 */
37356 static NTSTATUS
thunk32_vkGetPhysicalDeviceFeatures(void *args
)
37360 PTR32 physicalDevice
;
37364 TRACE("%#x, %#x\n", params
->physicalDevice
, params
->pFeatures
);
37366 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceFeatures(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, (VkPhysicalDeviceFeatures
*)UlongToPtr(params
->pFeatures
));
37367 return STATUS_SUCCESS
;
37371 static NTSTATUS
thunk64_vkGetPhysicalDeviceFeatures2(void *args
)
37373 struct vkGetPhysicalDeviceFeatures2_params
*params
= args
;
37375 TRACE("%p, %p\n", params
->physicalDevice
, params
->pFeatures
);
37377 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFeatures
);
37378 return STATUS_SUCCESS
;
37380 #endif /* _WIN64 */
37382 static NTSTATUS
thunk32_vkGetPhysicalDeviceFeatures2(void *args
)
37386 PTR32 physicalDevice
;
37389 VkPhysicalDeviceFeatures2 pFeatures_host
;
37390 struct conversion_context ctx
;
37392 TRACE("%#x, %#x\n", params
->physicalDevice
, params
->pFeatures
);
37394 init_conversion_context(&ctx
);
37395 convert_VkPhysicalDeviceFeatures2_win32_to_host(&ctx
, (VkPhysicalDeviceFeatures232
*)UlongToPtr(params
->pFeatures
), &pFeatures_host
);
37396 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pFeatures_host
);
37397 convert_VkPhysicalDeviceFeatures2_host_to_win32(&pFeatures_host
, (VkPhysicalDeviceFeatures232
*)UlongToPtr(params
->pFeatures
));
37398 free_conversion_context(&ctx
);
37399 return STATUS_SUCCESS
;
37403 static NTSTATUS
thunk64_vkGetPhysicalDeviceFeatures2KHR(void *args
)
37405 struct vkGetPhysicalDeviceFeatures2KHR_params
*params
= args
;
37407 TRACE("%p, %p\n", params
->physicalDevice
, params
->pFeatures
);
37409 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pFeatures
);
37410 return STATUS_SUCCESS
;
37412 #endif /* _WIN64 */
37414 static NTSTATUS
thunk32_vkGetPhysicalDeviceFeatures2KHR(void *args
)
37418 PTR32 physicalDevice
;
37421 VkPhysicalDeviceFeatures2 pFeatures_host
;
37422 struct conversion_context ctx
;
37424 TRACE("%#x, %#x\n", params
->physicalDevice
, params
->pFeatures
);
37426 init_conversion_context(&ctx
);
37427 convert_VkPhysicalDeviceFeatures2_win32_to_host(&ctx
, (VkPhysicalDeviceFeatures232
*)UlongToPtr(params
->pFeatures
), &pFeatures_host
);
37428 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceFeatures2KHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pFeatures_host
);
37429 convert_VkPhysicalDeviceFeatures2_host_to_win32(&pFeatures_host
, (VkPhysicalDeviceFeatures232
*)UlongToPtr(params
->pFeatures
));
37430 free_conversion_context(&ctx
);
37431 return STATUS_SUCCESS
;
37435 static NTSTATUS
thunk64_vkGetPhysicalDeviceFormatProperties(void *args
)
37437 struct vkGetPhysicalDeviceFormatProperties_params
*params
= args
;
37439 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
37441 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->pFormatProperties
);
37442 return STATUS_SUCCESS
;
37444 #endif /* _WIN64 */
37446 static NTSTATUS
thunk32_vkGetPhysicalDeviceFormatProperties(void *args
)
37450 PTR32 physicalDevice
;
37452 PTR32 pFormatProperties
;
37455 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
37457 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, params
->format
, (VkFormatProperties
*)UlongToPtr(params
->pFormatProperties
));
37458 return STATUS_SUCCESS
;
37462 static NTSTATUS
thunk64_vkGetPhysicalDeviceFormatProperties2(void *args
)
37464 struct vkGetPhysicalDeviceFormatProperties2_params
*params
= args
;
37466 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
37468 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->pFormatProperties
);
37469 return STATUS_SUCCESS
;
37471 #endif /* _WIN64 */
37473 static NTSTATUS
thunk32_vkGetPhysicalDeviceFormatProperties2(void *args
)
37477 PTR32 physicalDevice
;
37479 PTR32 pFormatProperties
;
37481 VkFormatProperties2 pFormatProperties_host
;
37482 struct conversion_context ctx
;
37484 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
37486 init_conversion_context(&ctx
);
37487 convert_VkFormatProperties2_win32_to_host(&ctx
, (VkFormatProperties232
*)UlongToPtr(params
->pFormatProperties
), &pFormatProperties_host
);
37488 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, params
->format
, &pFormatProperties_host
);
37489 convert_VkFormatProperties2_host_to_win32(&pFormatProperties_host
, (VkFormatProperties232
*)UlongToPtr(params
->pFormatProperties
));
37490 free_conversion_context(&ctx
);
37491 return STATUS_SUCCESS
;
37495 static NTSTATUS
thunk64_vkGetPhysicalDeviceFormatProperties2KHR(void *args
)
37497 struct vkGetPhysicalDeviceFormatProperties2KHR_params
*params
= args
;
37499 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
37501 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->format
, params
->pFormatProperties
);
37502 return STATUS_SUCCESS
;
37504 #endif /* _WIN64 */
37506 static NTSTATUS
thunk32_vkGetPhysicalDeviceFormatProperties2KHR(void *args
)
37510 PTR32 physicalDevice
;
37512 PTR32 pFormatProperties
;
37514 VkFormatProperties2 pFormatProperties_host
;
37515 struct conversion_context ctx
;
37517 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->format
, params
->pFormatProperties
);
37519 init_conversion_context(&ctx
);
37520 convert_VkFormatProperties2_win32_to_host(&ctx
, (VkFormatProperties232
*)UlongToPtr(params
->pFormatProperties
), &pFormatProperties_host
);
37521 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceFormatProperties2KHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, params
->format
, &pFormatProperties_host
);
37522 convert_VkFormatProperties2_host_to_win32(&pFormatProperties_host
, (VkFormatProperties232
*)UlongToPtr(params
->pFormatProperties
));
37523 free_conversion_context(&ctx
);
37524 return STATUS_SUCCESS
;
37528 static NTSTATUS
thunk64_vkGetPhysicalDeviceFragmentShadingRatesKHR(void *args
)
37530 struct vkGetPhysicalDeviceFragmentShadingRatesKHR_params
*params
= args
;
37532 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pFragmentShadingRateCount
, params
->pFragmentShadingRates
);
37534 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
);
37535 return STATUS_SUCCESS
;
37537 #endif /* _WIN64 */
37539 static NTSTATUS
thunk32_vkGetPhysicalDeviceFragmentShadingRatesKHR(void *args
)
37543 PTR32 physicalDevice
;
37544 PTR32 pFragmentShadingRateCount
;
37545 PTR32 pFragmentShadingRates
;
37548 VkPhysicalDeviceFragmentShadingRateKHR
*pFragmentShadingRates_host
;
37549 struct conversion_context ctx
;
37551 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pFragmentShadingRateCount
, params
->pFragmentShadingRates
);
37553 init_conversion_context(&ctx
);
37554 pFragmentShadingRates_host
= convert_VkPhysicalDeviceFragmentShadingRateKHR_array_win32_to_host(&ctx
, (VkPhysicalDeviceFragmentShadingRateKHR32
*)UlongToPtr(params
->pFragmentShadingRates
), *(uint32_t *)UlongToPtr(params
->pFragmentShadingRateCount
));
37555 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceFragmentShadingRatesKHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, (uint32_t *)UlongToPtr(params
->pFragmentShadingRateCount
), pFragmentShadingRates_host
);
37556 convert_VkPhysicalDeviceFragmentShadingRateKHR_array_host_to_win32(pFragmentShadingRates_host
, (VkPhysicalDeviceFragmentShadingRateKHR32
*)UlongToPtr(params
->pFragmentShadingRates
), *(uint32_t *)UlongToPtr(params
->pFragmentShadingRateCount
));
37557 free_conversion_context(&ctx
);
37558 return STATUS_SUCCESS
;
37562 static NTSTATUS
thunk64_vkGetPhysicalDeviceImageFormatProperties(void *args
)
37564 struct vkGetPhysicalDeviceImageFormatProperties_params
*params
= args
;
37566 TRACE("%p, %#x, %#x, %#x, %#x, %#x, %p\n", params
->physicalDevice
, params
->format
, params
->type
, params
->tiling
, params
->usage
, params
->flags
, params
->pImageFormatProperties
);
37568 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
);
37569 return STATUS_SUCCESS
;
37571 #endif /* _WIN64 */
37573 static NTSTATUS
thunk32_vkGetPhysicalDeviceImageFormatProperties(void *args
)
37577 PTR32 physicalDevice
;
37580 VkImageTiling tiling
;
37581 VkImageUsageFlags usage
;
37582 VkImageCreateFlags flags
;
37583 PTR32 pImageFormatProperties
;
37586 VkImageFormatProperties pImageFormatProperties_host
;
37588 TRACE("%#x, %#x, %#x, %#x, %#x, %#x, %#x\n", params
->physicalDevice
, params
->format
, params
->type
, params
->tiling
, params
->usage
, params
->flags
, params
->pImageFormatProperties
);
37590 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceImageFormatProperties(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, params
->format
, params
->type
, params
->tiling
, params
->usage
, params
->flags
, &pImageFormatProperties_host
);
37591 convert_VkImageFormatProperties_host_to_win32(&pImageFormatProperties_host
, (VkImageFormatProperties32
*)UlongToPtr(params
->pImageFormatProperties
));
37592 return STATUS_SUCCESS
;
37596 static NTSTATUS
thunk64_vkGetPhysicalDeviceImageFormatProperties2(void *args
)
37598 struct vkGetPhysicalDeviceImageFormatProperties2_params
*params
= args
;
37600 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
37602 params
->result
= wine_vkGetPhysicalDeviceImageFormatProperties2(params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
37603 return STATUS_SUCCESS
;
37605 #endif /* _WIN64 */
37607 static NTSTATUS
thunk32_vkGetPhysicalDeviceImageFormatProperties2(void *args
)
37611 PTR32 physicalDevice
;
37612 PTR32 pImageFormatInfo
;
37613 PTR32 pImageFormatProperties
;
37616 VkPhysicalDeviceImageFormatInfo2 pImageFormatInfo_host
;
37617 VkImageFormatProperties2 pImageFormatProperties_host
;
37618 struct conversion_context ctx
;
37620 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
37622 init_conversion_context(&ctx
);
37623 convert_VkPhysicalDeviceImageFormatInfo2_win32_to_host(&ctx
, (const VkPhysicalDeviceImageFormatInfo232
*)UlongToPtr(params
->pImageFormatInfo
), &pImageFormatInfo_host
);
37624 convert_VkImageFormatProperties2_win32_to_host(&ctx
, (VkImageFormatProperties232
*)UlongToPtr(params
->pImageFormatProperties
), &pImageFormatProperties_host
);
37625 params
->result
= wine_vkGetPhysicalDeviceImageFormatProperties2((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pImageFormatInfo_host
, &pImageFormatProperties_host
);
37626 convert_VkImageFormatProperties2_host_to_win32(&pImageFormatProperties_host
, (VkImageFormatProperties232
*)UlongToPtr(params
->pImageFormatProperties
));
37627 free_conversion_context(&ctx
);
37628 return STATUS_SUCCESS
;
37632 static NTSTATUS
thunk64_vkGetPhysicalDeviceImageFormatProperties2KHR(void *args
)
37634 struct vkGetPhysicalDeviceImageFormatProperties2KHR_params
*params
= args
;
37636 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
37638 params
->result
= wine_vkGetPhysicalDeviceImageFormatProperties2KHR(params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
37639 return STATUS_SUCCESS
;
37641 #endif /* _WIN64 */
37643 static NTSTATUS
thunk32_vkGetPhysicalDeviceImageFormatProperties2KHR(void *args
)
37647 PTR32 physicalDevice
;
37648 PTR32 pImageFormatInfo
;
37649 PTR32 pImageFormatProperties
;
37652 VkPhysicalDeviceImageFormatInfo2 pImageFormatInfo_host
;
37653 VkImageFormatProperties2 pImageFormatProperties_host
;
37654 struct conversion_context ctx
;
37656 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pImageFormatInfo
, params
->pImageFormatProperties
);
37658 init_conversion_context(&ctx
);
37659 convert_VkPhysicalDeviceImageFormatInfo2_win32_to_host(&ctx
, (const VkPhysicalDeviceImageFormatInfo232
*)UlongToPtr(params
->pImageFormatInfo
), &pImageFormatInfo_host
);
37660 convert_VkImageFormatProperties2_win32_to_host(&ctx
, (VkImageFormatProperties232
*)UlongToPtr(params
->pImageFormatProperties
), &pImageFormatProperties_host
);
37661 params
->result
= wine_vkGetPhysicalDeviceImageFormatProperties2KHR((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pImageFormatInfo_host
, &pImageFormatProperties_host
);
37662 convert_VkImageFormatProperties2_host_to_win32(&pImageFormatProperties_host
, (VkImageFormatProperties232
*)UlongToPtr(params
->pImageFormatProperties
));
37663 free_conversion_context(&ctx
);
37664 return STATUS_SUCCESS
;
37668 static NTSTATUS
thunk64_vkGetPhysicalDeviceMemoryProperties(void *args
)
37670 struct vkGetPhysicalDeviceMemoryProperties_params
*params
= args
;
37672 TRACE("%p, %p\n", params
->physicalDevice
, params
->pMemoryProperties
);
37674 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pMemoryProperties
);
37675 return STATUS_SUCCESS
;
37677 #endif /* _WIN64 */
37679 static NTSTATUS
thunk32_vkGetPhysicalDeviceMemoryProperties(void *args
)
37683 PTR32 physicalDevice
;
37684 PTR32 pMemoryProperties
;
37686 VkPhysicalDeviceMemoryProperties pMemoryProperties_host
;
37688 TRACE("%#x, %#x\n", params
->physicalDevice
, params
->pMemoryProperties
);
37690 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pMemoryProperties_host
);
37691 convert_VkPhysicalDeviceMemoryProperties_host_to_win32(&pMemoryProperties_host
, (VkPhysicalDeviceMemoryProperties32
*)UlongToPtr(params
->pMemoryProperties
));
37692 return STATUS_SUCCESS
;
37696 static NTSTATUS
thunk64_vkGetPhysicalDeviceMemoryProperties2(void *args
)
37698 struct vkGetPhysicalDeviceMemoryProperties2_params
*params
= args
;
37700 TRACE("%p, %p\n", params
->physicalDevice
, params
->pMemoryProperties
);
37702 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pMemoryProperties
);
37703 return STATUS_SUCCESS
;
37705 #endif /* _WIN64 */
37707 static NTSTATUS
thunk32_vkGetPhysicalDeviceMemoryProperties2(void *args
)
37711 PTR32 physicalDevice
;
37712 PTR32 pMemoryProperties
;
37714 VkPhysicalDeviceMemoryProperties2 pMemoryProperties_host
;
37715 struct conversion_context ctx
;
37717 TRACE("%#x, %#x\n", params
->physicalDevice
, params
->pMemoryProperties
);
37719 init_conversion_context(&ctx
);
37720 convert_VkPhysicalDeviceMemoryProperties2_win32_to_host(&ctx
, (VkPhysicalDeviceMemoryProperties232
*)UlongToPtr(params
->pMemoryProperties
), &pMemoryProperties_host
);
37721 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pMemoryProperties_host
);
37722 convert_VkPhysicalDeviceMemoryProperties2_host_to_win32(&pMemoryProperties_host
, (VkPhysicalDeviceMemoryProperties232
*)UlongToPtr(params
->pMemoryProperties
));
37723 free_conversion_context(&ctx
);
37724 return STATUS_SUCCESS
;
37728 static NTSTATUS
thunk64_vkGetPhysicalDeviceMemoryProperties2KHR(void *args
)
37730 struct vkGetPhysicalDeviceMemoryProperties2KHR_params
*params
= args
;
37732 TRACE("%p, %p\n", params
->physicalDevice
, params
->pMemoryProperties
);
37734 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pMemoryProperties
);
37735 return STATUS_SUCCESS
;
37737 #endif /* _WIN64 */
37739 static NTSTATUS
thunk32_vkGetPhysicalDeviceMemoryProperties2KHR(void *args
)
37743 PTR32 physicalDevice
;
37744 PTR32 pMemoryProperties
;
37746 VkPhysicalDeviceMemoryProperties2 pMemoryProperties_host
;
37747 struct conversion_context ctx
;
37749 TRACE("%#x, %#x\n", params
->physicalDevice
, params
->pMemoryProperties
);
37751 init_conversion_context(&ctx
);
37752 convert_VkPhysicalDeviceMemoryProperties2_win32_to_host(&ctx
, (VkPhysicalDeviceMemoryProperties232
*)UlongToPtr(params
->pMemoryProperties
), &pMemoryProperties_host
);
37753 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceMemoryProperties2KHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pMemoryProperties_host
);
37754 convert_VkPhysicalDeviceMemoryProperties2_host_to_win32(&pMemoryProperties_host
, (VkPhysicalDeviceMemoryProperties232
*)UlongToPtr(params
->pMemoryProperties
));
37755 free_conversion_context(&ctx
);
37756 return STATUS_SUCCESS
;
37760 static NTSTATUS
thunk64_vkGetPhysicalDeviceMultisamplePropertiesEXT(void *args
)
37762 struct vkGetPhysicalDeviceMultisamplePropertiesEXT_params
*params
= args
;
37764 TRACE("%p, %#x, %p\n", params
->physicalDevice
, params
->samples
, params
->pMultisampleProperties
);
37766 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceMultisamplePropertiesEXT(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->samples
, params
->pMultisampleProperties
);
37767 return STATUS_SUCCESS
;
37769 #endif /* _WIN64 */
37771 static NTSTATUS
thunk32_vkGetPhysicalDeviceMultisamplePropertiesEXT(void *args
)
37775 PTR32 physicalDevice
;
37776 VkSampleCountFlagBits samples
;
37777 PTR32 pMultisampleProperties
;
37779 VkMultisamplePropertiesEXT pMultisampleProperties_host
;
37781 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->samples
, params
->pMultisampleProperties
);
37783 convert_VkMultisamplePropertiesEXT_win32_to_host((VkMultisamplePropertiesEXT32
*)UlongToPtr(params
->pMultisampleProperties
), &pMultisampleProperties_host
);
37784 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceMultisamplePropertiesEXT(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, params
->samples
, &pMultisampleProperties_host
);
37785 convert_VkMultisamplePropertiesEXT_host_to_win32(&pMultisampleProperties_host
, (VkMultisamplePropertiesEXT32
*)UlongToPtr(params
->pMultisampleProperties
));
37786 return STATUS_SUCCESS
;
37790 static NTSTATUS
thunk64_vkGetPhysicalDeviceOpticalFlowImageFormatsNV(void *args
)
37792 struct vkGetPhysicalDeviceOpticalFlowImageFormatsNV_params
*params
= args
;
37794 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pOpticalFlowImageFormatInfo
, params
->pFormatCount
, params
->pImageFormatProperties
);
37796 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
);
37797 return STATUS_SUCCESS
;
37799 #endif /* _WIN64 */
37801 static NTSTATUS
thunk32_vkGetPhysicalDeviceOpticalFlowImageFormatsNV(void *args
)
37805 PTR32 physicalDevice
;
37806 PTR32 pOpticalFlowImageFormatInfo
;
37807 PTR32 pFormatCount
;
37808 PTR32 pImageFormatProperties
;
37811 VkOpticalFlowImageFormatInfoNV pOpticalFlowImageFormatInfo_host
;
37812 VkOpticalFlowImageFormatPropertiesNV
*pImageFormatProperties_host
;
37813 struct conversion_context ctx
;
37815 TRACE("%#x, %#x, %#x, %#x\n", params
->physicalDevice
, params
->pOpticalFlowImageFormatInfo
, params
->pFormatCount
, params
->pImageFormatProperties
);
37817 init_conversion_context(&ctx
);
37818 convert_VkOpticalFlowImageFormatInfoNV_win32_to_host((const VkOpticalFlowImageFormatInfoNV32
*)UlongToPtr(params
->pOpticalFlowImageFormatInfo
), &pOpticalFlowImageFormatInfo_host
);
37819 pImageFormatProperties_host
= convert_VkOpticalFlowImageFormatPropertiesNV_array_win32_to_host(&ctx
, (VkOpticalFlowImageFormatPropertiesNV32
*)UlongToPtr(params
->pImageFormatProperties
), *(uint32_t *)UlongToPtr(params
->pFormatCount
));
37820 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceOpticalFlowImageFormatsNV(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pOpticalFlowImageFormatInfo_host
, (uint32_t *)UlongToPtr(params
->pFormatCount
), pImageFormatProperties_host
);
37821 convert_VkOpticalFlowImageFormatPropertiesNV_array_host_to_win32(pImageFormatProperties_host
, (VkOpticalFlowImageFormatPropertiesNV32
*)UlongToPtr(params
->pImageFormatProperties
), *(uint32_t *)UlongToPtr(params
->pFormatCount
));
37822 free_conversion_context(&ctx
);
37823 return STATUS_SUCCESS
;
37827 static NTSTATUS
thunk64_vkGetPhysicalDevicePresentRectanglesKHR(void *args
)
37829 struct vkGetPhysicalDevicePresentRectanglesKHR_params
*params
= args
;
37831 TRACE("%p, 0x%s, %p, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pRectCount
, params
->pRects
);
37833 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
);
37834 return STATUS_SUCCESS
;
37836 #endif /* _WIN64 */
37838 static NTSTATUS
thunk32_vkGetPhysicalDevicePresentRectanglesKHR(void *args
)
37842 PTR32 physicalDevice
;
37843 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
37849 TRACE("%#x, 0x%s, %#x, %#x\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pRectCount
, params
->pRects
);
37851 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDevicePresentRectanglesKHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, wine_surface_from_handle(params
->surface
)->driver_surface
, (uint32_t *)UlongToPtr(params
->pRectCount
), (VkRect2D
*)UlongToPtr(params
->pRects
));
37852 return STATUS_SUCCESS
;
37856 static NTSTATUS
thunk64_vkGetPhysicalDeviceProperties(void *args
)
37858 struct vkGetPhysicalDeviceProperties_params
*params
= args
;
37860 TRACE("%p, %p\n", params
->physicalDevice
, params
->pProperties
);
37862 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pProperties
);
37863 return STATUS_SUCCESS
;
37865 #endif /* _WIN64 */
37867 static NTSTATUS
thunk32_vkGetPhysicalDeviceProperties(void *args
)
37871 PTR32 physicalDevice
;
37874 VkPhysicalDeviceProperties pProperties_host
;
37876 TRACE("%#x, %#x\n", params
->physicalDevice
, params
->pProperties
);
37878 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceProperties(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pProperties_host
);
37879 convert_VkPhysicalDeviceProperties_host_to_win32(&pProperties_host
, (VkPhysicalDeviceProperties32
*)UlongToPtr(params
->pProperties
));
37880 return STATUS_SUCCESS
;
37884 static NTSTATUS
thunk64_vkGetPhysicalDeviceProperties2(void *args
)
37886 struct vkGetPhysicalDeviceProperties2_params
*params
= args
;
37888 TRACE("%p, %p\n", params
->physicalDevice
, params
->pProperties
);
37890 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pProperties
);
37891 return STATUS_SUCCESS
;
37893 #endif /* _WIN64 */
37895 static NTSTATUS
thunk32_vkGetPhysicalDeviceProperties2(void *args
)
37899 PTR32 physicalDevice
;
37902 VkPhysicalDeviceProperties2 pProperties_host
;
37903 struct conversion_context ctx
;
37905 TRACE("%#x, %#x\n", params
->physicalDevice
, params
->pProperties
);
37907 init_conversion_context(&ctx
);
37908 convert_VkPhysicalDeviceProperties2_win32_to_host(&ctx
, (VkPhysicalDeviceProperties232
*)UlongToPtr(params
->pProperties
), &pProperties_host
);
37909 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceProperties2(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pProperties_host
);
37910 convert_VkPhysicalDeviceProperties2_host_to_win32(&pProperties_host
, (VkPhysicalDeviceProperties232
*)UlongToPtr(params
->pProperties
));
37911 free_conversion_context(&ctx
);
37912 return STATUS_SUCCESS
;
37916 static NTSTATUS
thunk64_vkGetPhysicalDeviceProperties2KHR(void *args
)
37918 struct vkGetPhysicalDeviceProperties2KHR_params
*params
= args
;
37920 TRACE("%p, %p\n", params
->physicalDevice
, params
->pProperties
);
37922 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pProperties
);
37923 return STATUS_SUCCESS
;
37925 #endif /* _WIN64 */
37927 static NTSTATUS
thunk32_vkGetPhysicalDeviceProperties2KHR(void *args
)
37931 PTR32 physicalDevice
;
37934 VkPhysicalDeviceProperties2 pProperties_host
;
37935 struct conversion_context ctx
;
37937 TRACE("%#x, %#x\n", params
->physicalDevice
, params
->pProperties
);
37939 init_conversion_context(&ctx
);
37940 convert_VkPhysicalDeviceProperties2_win32_to_host(&ctx
, (VkPhysicalDeviceProperties232
*)UlongToPtr(params
->pProperties
), &pProperties_host
);
37941 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceProperties2KHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pProperties_host
);
37942 convert_VkPhysicalDeviceProperties2_host_to_win32(&pProperties_host
, (VkPhysicalDeviceProperties232
*)UlongToPtr(params
->pProperties
));
37943 free_conversion_context(&ctx
);
37944 return STATUS_SUCCESS
;
37948 static NTSTATUS
thunk64_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(void *args
)
37950 struct vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR_params
*params
= args
;
37952 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pPerformanceQueryCreateInfo
, params
->pNumPasses
);
37954 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pPerformanceQueryCreateInfo
, params
->pNumPasses
);
37955 return STATUS_SUCCESS
;
37957 #endif /* _WIN64 */
37959 static NTSTATUS
thunk32_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(void *args
)
37963 PTR32 physicalDevice
;
37964 PTR32 pPerformanceQueryCreateInfo
;
37967 VkQueryPoolPerformanceCreateInfoKHR pPerformanceQueryCreateInfo_host
;
37969 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pPerformanceQueryCreateInfo
, params
->pNumPasses
);
37971 convert_VkQueryPoolPerformanceCreateInfoKHR_win32_to_host((const VkQueryPoolPerformanceCreateInfoKHR32
*)UlongToPtr(params
->pPerformanceQueryCreateInfo
), &pPerformanceQueryCreateInfo_host
);
37972 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pPerformanceQueryCreateInfo_host
, (uint32_t *)UlongToPtr(params
->pNumPasses
));
37973 return STATUS_SUCCESS
;
37977 static NTSTATUS
thunk64_vkGetPhysicalDeviceQueueFamilyProperties(void *args
)
37979 struct vkGetPhysicalDeviceQueueFamilyProperties_params
*params
= args
;
37981 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
37983 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
37984 return STATUS_SUCCESS
;
37986 #endif /* _WIN64 */
37988 static NTSTATUS
thunk32_vkGetPhysicalDeviceQueueFamilyProperties(void *args
)
37992 PTR32 physicalDevice
;
37993 PTR32 pQueueFamilyPropertyCount
;
37994 PTR32 pQueueFamilyProperties
;
37997 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
37999 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, (uint32_t *)UlongToPtr(params
->pQueueFamilyPropertyCount
), (VkQueueFamilyProperties
*)UlongToPtr(params
->pQueueFamilyProperties
));
38000 return STATUS_SUCCESS
;
38004 static NTSTATUS
thunk64_vkGetPhysicalDeviceQueueFamilyProperties2(void *args
)
38006 struct vkGetPhysicalDeviceQueueFamilyProperties2_params
*params
= args
;
38008 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
38010 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
38011 return STATUS_SUCCESS
;
38013 #endif /* _WIN64 */
38015 static NTSTATUS
thunk32_vkGetPhysicalDeviceQueueFamilyProperties2(void *args
)
38019 PTR32 physicalDevice
;
38020 PTR32 pQueueFamilyPropertyCount
;
38021 PTR32 pQueueFamilyProperties
;
38023 VkQueueFamilyProperties2
*pQueueFamilyProperties_host
;
38024 struct conversion_context ctx
;
38026 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
38028 init_conversion_context(&ctx
);
38029 pQueueFamilyProperties_host
= convert_VkQueueFamilyProperties2_array_win32_to_host(&ctx
, (VkQueueFamilyProperties232
*)UlongToPtr(params
->pQueueFamilyProperties
), *(uint32_t *)UlongToPtr(params
->pQueueFamilyPropertyCount
));
38030 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, (uint32_t *)UlongToPtr(params
->pQueueFamilyPropertyCount
), pQueueFamilyProperties_host
);
38031 convert_VkQueueFamilyProperties2_array_host_to_win32(pQueueFamilyProperties_host
, (VkQueueFamilyProperties232
*)UlongToPtr(params
->pQueueFamilyProperties
), *(uint32_t *)UlongToPtr(params
->pQueueFamilyPropertyCount
));
38032 free_conversion_context(&ctx
);
38033 return STATUS_SUCCESS
;
38037 static NTSTATUS
thunk64_vkGetPhysicalDeviceQueueFamilyProperties2KHR(void *args
)
38039 struct vkGetPhysicalDeviceQueueFamilyProperties2KHR_params
*params
= args
;
38041 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
38043 wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2KHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
38044 return STATUS_SUCCESS
;
38046 #endif /* _WIN64 */
38048 static NTSTATUS
thunk32_vkGetPhysicalDeviceQueueFamilyProperties2KHR(void *args
)
38052 PTR32 physicalDevice
;
38053 PTR32 pQueueFamilyPropertyCount
;
38054 PTR32 pQueueFamilyProperties
;
38056 VkQueueFamilyProperties2
*pQueueFamilyProperties_host
;
38057 struct conversion_context ctx
;
38059 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pQueueFamilyPropertyCount
, params
->pQueueFamilyProperties
);
38061 init_conversion_context(&ctx
);
38062 pQueueFamilyProperties_host
= convert_VkQueueFamilyProperties2_array_win32_to_host(&ctx
, (VkQueueFamilyProperties232
*)UlongToPtr(params
->pQueueFamilyProperties
), *(uint32_t *)UlongToPtr(params
->pQueueFamilyPropertyCount
));
38063 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceQueueFamilyProperties2KHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, (uint32_t *)UlongToPtr(params
->pQueueFamilyPropertyCount
), pQueueFamilyProperties_host
);
38064 convert_VkQueueFamilyProperties2_array_host_to_win32(pQueueFamilyProperties_host
, (VkQueueFamilyProperties232
*)UlongToPtr(params
->pQueueFamilyProperties
), *(uint32_t *)UlongToPtr(params
->pQueueFamilyPropertyCount
));
38065 free_conversion_context(&ctx
);
38066 return STATUS_SUCCESS
;
38070 static NTSTATUS
thunk64_vkGetPhysicalDeviceSparseImageFormatProperties(void *args
)
38072 struct vkGetPhysicalDeviceSparseImageFormatProperties_params
*params
= args
;
38074 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
);
38076 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
);
38077 return STATUS_SUCCESS
;
38079 #endif /* _WIN64 */
38081 static NTSTATUS
thunk32_vkGetPhysicalDeviceSparseImageFormatProperties(void *args
)
38085 PTR32 physicalDevice
;
38088 VkSampleCountFlagBits samples
;
38089 VkImageUsageFlags usage
;
38090 VkImageTiling tiling
;
38091 PTR32 pPropertyCount
;
38095 TRACE("%#x, %#x, %#x, %#x, %#x, %#x, %#x, %#x\n", params
->physicalDevice
, params
->format
, params
->type
, params
->samples
, params
->usage
, params
->tiling
, params
->pPropertyCount
, params
->pProperties
);
38097 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, params
->format
, params
->type
, params
->samples
, params
->usage
, params
->tiling
, (uint32_t *)UlongToPtr(params
->pPropertyCount
), (VkSparseImageFormatProperties
*)UlongToPtr(params
->pProperties
));
38098 return STATUS_SUCCESS
;
38102 static NTSTATUS
thunk64_vkGetPhysicalDeviceSparseImageFormatProperties2(void *args
)
38104 struct vkGetPhysicalDeviceSparseImageFormatProperties2_params
*params
= args
;
38106 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
38108 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
);
38109 return STATUS_SUCCESS
;
38111 #endif /* _WIN64 */
38113 static NTSTATUS
thunk32_vkGetPhysicalDeviceSparseImageFormatProperties2(void *args
)
38117 PTR32 physicalDevice
;
38119 PTR32 pPropertyCount
;
38122 VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo_host
;
38123 VkSparseImageFormatProperties2
*pProperties_host
;
38124 struct conversion_context ctx
;
38126 TRACE("%#x, %#x, %#x, %#x\n", params
->physicalDevice
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
38128 init_conversion_context(&ctx
);
38129 convert_VkPhysicalDeviceSparseImageFormatInfo2_win32_to_host((const VkPhysicalDeviceSparseImageFormatInfo232
*)UlongToPtr(params
->pFormatInfo
), &pFormatInfo_host
);
38130 pProperties_host
= convert_VkSparseImageFormatProperties2_array_win32_to_host(&ctx
, (VkSparseImageFormatProperties232
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pPropertyCount
));
38131 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pFormatInfo_host
, (uint32_t *)UlongToPtr(params
->pPropertyCount
), pProperties_host
);
38132 convert_VkSparseImageFormatProperties2_array_host_to_win32(pProperties_host
, (VkSparseImageFormatProperties232
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pPropertyCount
));
38133 free_conversion_context(&ctx
);
38134 return STATUS_SUCCESS
;
38138 static NTSTATUS
thunk64_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(void *args
)
38140 struct vkGetPhysicalDeviceSparseImageFormatProperties2KHR_params
*params
= args
;
38142 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
38144 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
);
38145 return STATUS_SUCCESS
;
38147 #endif /* _WIN64 */
38149 static NTSTATUS
thunk32_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(void *args
)
38153 PTR32 physicalDevice
;
38155 PTR32 pPropertyCount
;
38158 VkPhysicalDeviceSparseImageFormatInfo2 pFormatInfo_host
;
38159 VkSparseImageFormatProperties2
*pProperties_host
;
38160 struct conversion_context ctx
;
38162 TRACE("%#x, %#x, %#x, %#x\n", params
->physicalDevice
, params
->pFormatInfo
, params
->pPropertyCount
, params
->pProperties
);
38164 init_conversion_context(&ctx
);
38165 convert_VkPhysicalDeviceSparseImageFormatInfo2_win32_to_host((const VkPhysicalDeviceSparseImageFormatInfo232
*)UlongToPtr(params
->pFormatInfo
), &pFormatInfo_host
);
38166 pProperties_host
= convert_VkSparseImageFormatProperties2_array_win32_to_host(&ctx
, (VkSparseImageFormatProperties232
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pPropertyCount
));
38167 wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pFormatInfo_host
, (uint32_t *)UlongToPtr(params
->pPropertyCount
), pProperties_host
);
38168 convert_VkSparseImageFormatProperties2_array_host_to_win32(pProperties_host
, (VkSparseImageFormatProperties232
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pPropertyCount
));
38169 free_conversion_context(&ctx
);
38170 return STATUS_SUCCESS
;
38174 static NTSTATUS
thunk64_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(void *args
)
38176 struct vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV_params
*params
= args
;
38178 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pCombinationCount
, params
->pCombinations
);
38180 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
);
38181 return STATUS_SUCCESS
;
38183 #endif /* _WIN64 */
38185 static NTSTATUS
thunk32_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(void *args
)
38189 PTR32 physicalDevice
;
38190 PTR32 pCombinationCount
;
38191 PTR32 pCombinations
;
38194 VkFramebufferMixedSamplesCombinationNV
*pCombinations_host
;
38195 struct conversion_context ctx
;
38197 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pCombinationCount
, params
->pCombinations
);
38199 init_conversion_context(&ctx
);
38200 pCombinations_host
= convert_VkFramebufferMixedSamplesCombinationNV_array_win32_to_host(&ctx
, (VkFramebufferMixedSamplesCombinationNV32
*)UlongToPtr(params
->pCombinations
), *(uint32_t *)UlongToPtr(params
->pCombinationCount
));
38201 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, (uint32_t *)UlongToPtr(params
->pCombinationCount
), pCombinations_host
);
38202 convert_VkFramebufferMixedSamplesCombinationNV_array_host_to_win32(pCombinations_host
, (VkFramebufferMixedSamplesCombinationNV32
*)UlongToPtr(params
->pCombinations
), *(uint32_t *)UlongToPtr(params
->pCombinationCount
));
38203 free_conversion_context(&ctx
);
38204 return STATUS_SUCCESS
;
38208 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceCapabilities2KHR(void *args
)
38210 struct vkGetPhysicalDeviceSurfaceCapabilities2KHR_params
*params
= args
;
38212 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceCapabilities
);
38214 params
->result
= wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR(params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceCapabilities
);
38215 return STATUS_SUCCESS
;
38217 #endif /* _WIN64 */
38219 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceCapabilities2KHR(void *args
)
38223 PTR32 physicalDevice
;
38224 PTR32 pSurfaceInfo
;
38225 PTR32 pSurfaceCapabilities
;
38228 VkPhysicalDeviceSurfaceInfo2KHR pSurfaceInfo_host
;
38229 VkSurfaceCapabilities2KHR pSurfaceCapabilities_host
;
38230 struct conversion_context ctx
;
38232 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceCapabilities
);
38234 init_conversion_context(&ctx
);
38235 convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_unwrapped_host((const VkPhysicalDeviceSurfaceInfo2KHR32
*)UlongToPtr(params
->pSurfaceInfo
), &pSurfaceInfo_host
);
38236 convert_VkSurfaceCapabilities2KHR_win32_to_host(&ctx
, (VkSurfaceCapabilities2KHR32
*)UlongToPtr(params
->pSurfaceCapabilities
), &pSurfaceCapabilities_host
);
38237 params
->result
= wine_vkGetPhysicalDeviceSurfaceCapabilities2KHR((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), &pSurfaceInfo_host
, &pSurfaceCapabilities_host
);
38238 convert_VkSurfaceCapabilities2KHR_host_to_win32(&pSurfaceCapabilities_host
, (VkSurfaceCapabilities2KHR32
*)UlongToPtr(params
->pSurfaceCapabilities
));
38239 free_conversion_context(&ctx
);
38240 return STATUS_SUCCESS
;
38244 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(void *args
)
38246 struct vkGetPhysicalDeviceSurfaceCapabilitiesKHR_params
*params
= args
;
38248 TRACE("%p, 0x%s, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pSurfaceCapabilities
);
38250 params
->result
= wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(params
->physicalDevice
, params
->surface
, params
->pSurfaceCapabilities
);
38251 return STATUS_SUCCESS
;
38253 #endif /* _WIN64 */
38255 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(void *args
)
38259 PTR32 physicalDevice
;
38260 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
38261 PTR32 pSurfaceCapabilities
;
38265 TRACE("%#x, 0x%s, %#x\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pSurfaceCapabilities
);
38267 params
->result
= wine_vkGetPhysicalDeviceSurfaceCapabilitiesKHR((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
), params
->surface
, (VkSurfaceCapabilitiesKHR
*)UlongToPtr(params
->pSurfaceCapabilities
));
38268 return STATUS_SUCCESS
;
38272 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceFormats2KHR(void *args
)
38274 struct vkGetPhysicalDeviceSurfaceFormats2KHR_params
*params
= args
;
38275 VkPhysicalDeviceSurfaceInfo2KHR pSurfaceInfo_host
;
38277 TRACE("%p, %p, %p, %p\n", params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
38279 convert_VkPhysicalDeviceSurfaceInfo2KHR_win64_to_host(params
->pSurfaceInfo
, &pSurfaceInfo_host
);
38280 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
);
38281 return STATUS_SUCCESS
;
38283 #endif /* _WIN64 */
38285 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceFormats2KHR(void *args
)
38289 PTR32 physicalDevice
;
38290 PTR32 pSurfaceInfo
;
38291 PTR32 pSurfaceFormatCount
;
38292 PTR32 pSurfaceFormats
;
38295 VkPhysicalDeviceSurfaceInfo2KHR pSurfaceInfo_host
;
38296 VkSurfaceFormat2KHR
*pSurfaceFormats_host
;
38297 struct conversion_context ctx
;
38299 TRACE("%#x, %#x, %#x, %#x\n", params
->physicalDevice
, params
->pSurfaceInfo
, params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
38301 init_conversion_context(&ctx
);
38302 convert_VkPhysicalDeviceSurfaceInfo2KHR_win32_to_host((const VkPhysicalDeviceSurfaceInfo2KHR32
*)UlongToPtr(params
->pSurfaceInfo
), &pSurfaceInfo_host
);
38303 pSurfaceFormats_host
= convert_VkSurfaceFormat2KHR_array_win32_to_host(&ctx
, (VkSurfaceFormat2KHR32
*)UlongToPtr(params
->pSurfaceFormats
), *(uint32_t *)UlongToPtr(params
->pSurfaceFormatCount
));
38304 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormats2KHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, &pSurfaceInfo_host
, (uint32_t *)UlongToPtr(params
->pSurfaceFormatCount
), pSurfaceFormats_host
);
38305 convert_VkSurfaceFormat2KHR_array_host_to_win32(pSurfaceFormats_host
, (VkSurfaceFormat2KHR32
*)UlongToPtr(params
->pSurfaceFormats
), *(uint32_t *)UlongToPtr(params
->pSurfaceFormatCount
));
38306 free_conversion_context(&ctx
);
38307 return STATUS_SUCCESS
;
38311 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceFormatsKHR(void *args
)
38313 struct vkGetPhysicalDeviceSurfaceFormatsKHR_params
*params
= args
;
38315 TRACE("%p, 0x%s, %p, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
38317 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
);
38318 return STATUS_SUCCESS
;
38320 #endif /* _WIN64 */
38322 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceFormatsKHR(void *args
)
38326 PTR32 physicalDevice
;
38327 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
38328 PTR32 pSurfaceFormatCount
;
38329 PTR32 pSurfaceFormats
;
38333 TRACE("%#x, 0x%s, %#x, %#x\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pSurfaceFormatCount
, params
->pSurfaceFormats
);
38335 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceFormatsKHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, wine_surface_from_handle(params
->surface
)->driver_surface
, (uint32_t *)UlongToPtr(params
->pSurfaceFormatCount
), (VkSurfaceFormatKHR
*)UlongToPtr(params
->pSurfaceFormats
));
38336 return STATUS_SUCCESS
;
38340 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfacePresentModesKHR(void *args
)
38342 struct vkGetPhysicalDeviceSurfacePresentModesKHR_params
*params
= args
;
38344 TRACE("%p, 0x%s, %p, %p\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pPresentModeCount
, params
->pPresentModes
);
38346 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
);
38347 return STATUS_SUCCESS
;
38349 #endif /* _WIN64 */
38351 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfacePresentModesKHR(void *args
)
38355 PTR32 physicalDevice
;
38356 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
38357 PTR32 pPresentModeCount
;
38358 PTR32 pPresentModes
;
38362 TRACE("%#x, 0x%s, %#x, %#x\n", params
->physicalDevice
, wine_dbgstr_longlong(params
->surface
), params
->pPresentModeCount
, params
->pPresentModes
);
38364 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceSurfacePresentModesKHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, wine_surface_from_handle(params
->surface
)->driver_surface
, (uint32_t *)UlongToPtr(params
->pPresentModeCount
), (VkPresentModeKHR
*)UlongToPtr(params
->pPresentModes
));
38365 return STATUS_SUCCESS
;
38369 static NTSTATUS
thunk64_vkGetPhysicalDeviceSurfaceSupportKHR(void *args
)
38371 struct vkGetPhysicalDeviceSurfaceSupportKHR_params
*params
= args
;
38373 TRACE("%p, %u, 0x%s, %p\n", params
->physicalDevice
, params
->queueFamilyIndex
, wine_dbgstr_longlong(params
->surface
), params
->pSupported
);
38375 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
);
38376 return STATUS_SUCCESS
;
38378 #endif /* _WIN64 */
38380 static NTSTATUS
thunk32_vkGetPhysicalDeviceSurfaceSupportKHR(void *args
)
38384 PTR32 physicalDevice
;
38385 uint32_t queueFamilyIndex
;
38386 VkSurfaceKHR
DECLSPEC_ALIGN(8) surface
;
38391 TRACE("%#x, %u, 0x%s, %#x\n", params
->physicalDevice
, params
->queueFamilyIndex
, wine_dbgstr_longlong(params
->surface
), params
->pSupported
);
38393 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceSurfaceSupportKHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, params
->queueFamilyIndex
, wine_surface_from_handle(params
->surface
)->driver_surface
, (VkBool32
*)UlongToPtr(params
->pSupported
));
38394 return STATUS_SUCCESS
;
38398 static NTSTATUS
thunk64_vkGetPhysicalDeviceToolProperties(void *args
)
38400 struct vkGetPhysicalDeviceToolProperties_params
*params
= args
;
38402 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pToolCount
, params
->pToolProperties
);
38404 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
);
38405 return STATUS_SUCCESS
;
38407 #endif /* _WIN64 */
38409 static NTSTATUS
thunk32_vkGetPhysicalDeviceToolProperties(void *args
)
38413 PTR32 physicalDevice
;
38415 PTR32 pToolProperties
;
38418 VkPhysicalDeviceToolProperties
*pToolProperties_host
;
38419 struct conversion_context ctx
;
38421 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pToolCount
, params
->pToolProperties
);
38423 init_conversion_context(&ctx
);
38424 pToolProperties_host
= convert_VkPhysicalDeviceToolProperties_array_win32_to_host(&ctx
, (VkPhysicalDeviceToolProperties32
*)UlongToPtr(params
->pToolProperties
), *(uint32_t *)UlongToPtr(params
->pToolCount
));
38425 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceToolProperties(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, (uint32_t *)UlongToPtr(params
->pToolCount
), pToolProperties_host
);
38426 convert_VkPhysicalDeviceToolProperties_array_host_to_win32(pToolProperties_host
, (VkPhysicalDeviceToolProperties32
*)UlongToPtr(params
->pToolProperties
), *(uint32_t *)UlongToPtr(params
->pToolCount
));
38427 free_conversion_context(&ctx
);
38428 return STATUS_SUCCESS
;
38432 static NTSTATUS
thunk64_vkGetPhysicalDeviceToolPropertiesEXT(void *args
)
38434 struct vkGetPhysicalDeviceToolPropertiesEXT_params
*params
= args
;
38436 TRACE("%p, %p, %p\n", params
->physicalDevice
, params
->pToolCount
, params
->pToolProperties
);
38438 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
);
38439 return STATUS_SUCCESS
;
38441 #endif /* _WIN64 */
38443 static NTSTATUS
thunk32_vkGetPhysicalDeviceToolPropertiesEXT(void *args
)
38447 PTR32 physicalDevice
;
38449 PTR32 pToolProperties
;
38452 VkPhysicalDeviceToolProperties
*pToolProperties_host
;
38453 struct conversion_context ctx
;
38455 TRACE("%#x, %#x, %#x\n", params
->physicalDevice
, params
->pToolCount
, params
->pToolProperties
);
38457 init_conversion_context(&ctx
);
38458 pToolProperties_host
= convert_VkPhysicalDeviceToolProperties_array_win32_to_host(&ctx
, (VkPhysicalDeviceToolProperties32
*)UlongToPtr(params
->pToolProperties
), *(uint32_t *)UlongToPtr(params
->pToolCount
));
38459 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceToolPropertiesEXT(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, (uint32_t *)UlongToPtr(params
->pToolCount
), pToolProperties_host
);
38460 convert_VkPhysicalDeviceToolProperties_array_host_to_win32(pToolProperties_host
, (VkPhysicalDeviceToolProperties32
*)UlongToPtr(params
->pToolProperties
), *(uint32_t *)UlongToPtr(params
->pToolCount
));
38461 free_conversion_context(&ctx
);
38462 return STATUS_SUCCESS
;
38466 static NTSTATUS
thunk64_vkGetPhysicalDeviceWin32PresentationSupportKHR(void *args
)
38468 struct vkGetPhysicalDeviceWin32PresentationSupportKHR_params
*params
= args
;
38470 TRACE("%p, %u\n", params
->physicalDevice
, params
->queueFamilyIndex
);
38472 params
->result
= wine_phys_dev_from_handle(params
->physicalDevice
)->instance
->funcs
.p_vkGetPhysicalDeviceWin32PresentationSupportKHR(wine_phys_dev_from_handle(params
->physicalDevice
)->phys_dev
, params
->queueFamilyIndex
);
38473 return STATUS_SUCCESS
;
38475 #endif /* _WIN64 */
38477 static NTSTATUS
thunk32_vkGetPhysicalDeviceWin32PresentationSupportKHR(void *args
)
38481 PTR32 physicalDevice
;
38482 uint32_t queueFamilyIndex
;
38486 TRACE("%#x, %u\n", params
->physicalDevice
, params
->queueFamilyIndex
);
38488 params
->result
= wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->instance
->funcs
.p_vkGetPhysicalDeviceWin32PresentationSupportKHR(wine_phys_dev_from_handle((VkPhysicalDevice
)UlongToPtr(params
->physicalDevice
))->phys_dev
, params
->queueFamilyIndex
);
38489 return STATUS_SUCCESS
;
38493 static NTSTATUS
thunk64_vkGetPipelineCacheData(void *args
)
38495 struct vkGetPipelineCacheData_params
*params
= args
;
38497 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->pDataSize
, params
->pData
);
38499 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineCacheData(wine_device_from_handle(params
->device
)->device
, params
->pipelineCache
, params
->pDataSize
, params
->pData
);
38500 return STATUS_SUCCESS
;
38502 #endif /* _WIN64 */
38504 static NTSTATUS
thunk32_vkGetPipelineCacheData(void *args
)
38509 VkPipelineCache
DECLSPEC_ALIGN(8) pipelineCache
;
38514 size_t pDataSize_host
;
38516 TRACE("%#x, 0x%s, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipelineCache
), params
->pDataSize
, params
->pData
);
38518 pDataSize_host
= *(size_t *)UlongToPtr(params
->pDataSize
);
38519 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetPipelineCacheData(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipelineCache
, &pDataSize_host
, (void *)UlongToPtr(params
->pData
));
38520 *(size_t *)UlongToPtr(params
->pDataSize
) = pDataSize_host
;
38521 return STATUS_SUCCESS
;
38525 static NTSTATUS
thunk64_vkGetPipelineExecutableInternalRepresentationsKHR(void *args
)
38527 struct vkGetPipelineExecutableInternalRepresentationsKHR_params
*params
= args
;
38529 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pExecutableInfo
, params
->pInternalRepresentationCount
, params
->pInternalRepresentations
);
38531 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(wine_device_from_handle(params
->device
)->device
, params
->pExecutableInfo
, params
->pInternalRepresentationCount
, params
->pInternalRepresentations
);
38532 return STATUS_SUCCESS
;
38534 #endif /* _WIN64 */
38536 static NTSTATUS
thunk32_vkGetPipelineExecutableInternalRepresentationsKHR(void *args
)
38541 PTR32 pExecutableInfo
;
38542 PTR32 pInternalRepresentationCount
;
38543 PTR32 pInternalRepresentations
;
38546 VkPipelineExecutableInfoKHR pExecutableInfo_host
;
38547 VkPipelineExecutableInternalRepresentationKHR
*pInternalRepresentations_host
;
38548 struct conversion_context ctx
;
38550 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pExecutableInfo
, params
->pInternalRepresentationCount
, params
->pInternalRepresentations
);
38552 init_conversion_context(&ctx
);
38553 convert_VkPipelineExecutableInfoKHR_win32_to_host((const VkPipelineExecutableInfoKHR32
*)UlongToPtr(params
->pExecutableInfo
), &pExecutableInfo_host
);
38554 pInternalRepresentations_host
= convert_VkPipelineExecutableInternalRepresentationKHR_array_win32_to_host(&ctx
, (VkPipelineExecutableInternalRepresentationKHR32
*)UlongToPtr(params
->pInternalRepresentations
), *(uint32_t *)UlongToPtr(params
->pInternalRepresentationCount
));
38555 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetPipelineExecutableInternalRepresentationsKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pExecutableInfo_host
, (uint32_t *)UlongToPtr(params
->pInternalRepresentationCount
), pInternalRepresentations_host
);
38556 convert_VkPipelineExecutableInternalRepresentationKHR_array_host_to_win32(pInternalRepresentations_host
, (VkPipelineExecutableInternalRepresentationKHR32
*)UlongToPtr(params
->pInternalRepresentations
), *(uint32_t *)UlongToPtr(params
->pInternalRepresentationCount
));
38557 free_conversion_context(&ctx
);
38558 return STATUS_SUCCESS
;
38562 static NTSTATUS
thunk64_vkGetPipelineExecutablePropertiesKHR(void *args
)
38564 struct vkGetPipelineExecutablePropertiesKHR_params
*params
= args
;
38566 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pPipelineInfo
, params
->pExecutableCount
, params
->pProperties
);
38568 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineExecutablePropertiesKHR(wine_device_from_handle(params
->device
)->device
, params
->pPipelineInfo
, params
->pExecutableCount
, params
->pProperties
);
38569 return STATUS_SUCCESS
;
38571 #endif /* _WIN64 */
38573 static NTSTATUS
thunk32_vkGetPipelineExecutablePropertiesKHR(void *args
)
38578 PTR32 pPipelineInfo
;
38579 PTR32 pExecutableCount
;
38583 VkPipelineInfoKHR pPipelineInfo_host
;
38584 VkPipelineExecutablePropertiesKHR
*pProperties_host
;
38585 struct conversion_context ctx
;
38587 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pPipelineInfo
, params
->pExecutableCount
, params
->pProperties
);
38589 init_conversion_context(&ctx
);
38590 convert_VkPipelineInfoKHR_win32_to_host((const VkPipelineInfoKHR32
*)UlongToPtr(params
->pPipelineInfo
), &pPipelineInfo_host
);
38591 pProperties_host
= convert_VkPipelineExecutablePropertiesKHR_array_win32_to_host(&ctx
, (VkPipelineExecutablePropertiesKHR32
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pExecutableCount
));
38592 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetPipelineExecutablePropertiesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pPipelineInfo_host
, (uint32_t *)UlongToPtr(params
->pExecutableCount
), pProperties_host
);
38593 convert_VkPipelineExecutablePropertiesKHR_array_host_to_win32(pProperties_host
, (VkPipelineExecutablePropertiesKHR32
*)UlongToPtr(params
->pProperties
), *(uint32_t *)UlongToPtr(params
->pExecutableCount
));
38594 free_conversion_context(&ctx
);
38595 return STATUS_SUCCESS
;
38599 static NTSTATUS
thunk64_vkGetPipelineExecutableStatisticsKHR(void *args
)
38601 struct vkGetPipelineExecutableStatisticsKHR_params
*params
= args
;
38603 TRACE("%p, %p, %p, %p\n", params
->device
, params
->pExecutableInfo
, params
->pStatisticCount
, params
->pStatistics
);
38605 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelineExecutableStatisticsKHR(wine_device_from_handle(params
->device
)->device
, params
->pExecutableInfo
, params
->pStatisticCount
, params
->pStatistics
);
38606 return STATUS_SUCCESS
;
38608 #endif /* _WIN64 */
38610 static NTSTATUS
thunk32_vkGetPipelineExecutableStatisticsKHR(void *args
)
38615 PTR32 pExecutableInfo
;
38616 PTR32 pStatisticCount
;
38620 VkPipelineExecutableInfoKHR pExecutableInfo_host
;
38621 VkPipelineExecutableStatisticKHR
*pStatistics_host
;
38622 struct conversion_context ctx
;
38624 TRACE("%#x, %#x, %#x, %#x\n", params
->device
, params
->pExecutableInfo
, params
->pStatisticCount
, params
->pStatistics
);
38626 init_conversion_context(&ctx
);
38627 convert_VkPipelineExecutableInfoKHR_win32_to_host((const VkPipelineExecutableInfoKHR32
*)UlongToPtr(params
->pExecutableInfo
), &pExecutableInfo_host
);
38628 pStatistics_host
= convert_VkPipelineExecutableStatisticKHR_array_win32_to_host(&ctx
, (VkPipelineExecutableStatisticKHR32
*)UlongToPtr(params
->pStatistics
), *(uint32_t *)UlongToPtr(params
->pStatisticCount
));
38629 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetPipelineExecutableStatisticsKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pExecutableInfo_host
, (uint32_t *)UlongToPtr(params
->pStatisticCount
), pStatistics_host
);
38630 convert_VkPipelineExecutableStatisticKHR_array_host_to_win32(pStatistics_host
, (VkPipelineExecutableStatisticKHR32
*)UlongToPtr(params
->pStatistics
), *(uint32_t *)UlongToPtr(params
->pStatisticCount
));
38631 free_conversion_context(&ctx
);
38632 return STATUS_SUCCESS
;
38636 static NTSTATUS
thunk64_vkGetPipelinePropertiesEXT(void *args
)
38638 struct vkGetPipelinePropertiesEXT_params
*params
= args
;
38640 TRACE("%p, %p, %p\n", params
->device
, params
->pPipelineInfo
, params
->pPipelineProperties
);
38642 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetPipelinePropertiesEXT(wine_device_from_handle(params
->device
)->device
, params
->pPipelineInfo
, params
->pPipelineProperties
);
38643 return STATUS_SUCCESS
;
38645 #endif /* _WIN64 */
38647 static NTSTATUS
thunk32_vkGetPipelinePropertiesEXT(void *args
)
38652 PTR32 pPipelineInfo
;
38653 PTR32 pPipelineProperties
;
38656 VkPipelineInfoEXT pPipelineInfo_host
;
38658 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pPipelineInfo
, params
->pPipelineProperties
);
38660 convert_VkPipelineInfoEXT_win32_to_host((const VkPipelineInfoEXT32
*)UlongToPtr(params
->pPipelineInfo
), &pPipelineInfo_host
);
38661 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetPipelinePropertiesEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pPipelineInfo_host
, (VkBaseOutStructure
*)UlongToPtr(params
->pPipelineProperties
));
38662 return STATUS_SUCCESS
;
38666 static NTSTATUS
thunk64_vkGetPrivateData(void *args
)
38668 struct vkGetPrivateData_params
*params
= args
;
38670 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
);
38672 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
);
38673 return STATUS_SUCCESS
;
38675 #endif /* _WIN64 */
38677 static NTSTATUS
thunk32_vkGetPrivateData(void *args
)
38682 VkObjectType objectType
;
38683 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
38684 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
38688 TRACE("%#x, %#x, 0x%s, 0x%s, %#x\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), params
->pData
);
38690 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetPrivateData(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, (uint64_t *)UlongToPtr(params
->pData
));
38691 return STATUS_SUCCESS
;
38695 static NTSTATUS
thunk64_vkGetPrivateDataEXT(void *args
)
38697 struct vkGetPrivateDataEXT_params
*params
= args
;
38699 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
);
38701 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
);
38702 return STATUS_SUCCESS
;
38704 #endif /* _WIN64 */
38706 static NTSTATUS
thunk32_vkGetPrivateDataEXT(void *args
)
38711 VkObjectType objectType
;
38712 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
38713 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
38717 TRACE("%#x, %#x, 0x%s, 0x%s, %#x\n", params
->device
, params
->objectType
, wine_dbgstr_longlong(params
->objectHandle
), wine_dbgstr_longlong(params
->privateDataSlot
), params
->pData
);
38719 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetPrivateDataEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, (uint64_t *)UlongToPtr(params
->pData
));
38720 return STATUS_SUCCESS
;
38724 static NTSTATUS
thunk64_vkGetQueryPoolResults(void *args
)
38726 struct vkGetQueryPoolResults_params
*params
= args
;
38728 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
);
38730 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
);
38731 return STATUS_SUCCESS
;
38733 #endif /* _WIN64 */
38735 static NTSTATUS
thunk32_vkGetQueryPoolResults(void *args
)
38740 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
38741 uint32_t firstQuery
;
38742 uint32_t queryCount
;
38745 VkDeviceSize
DECLSPEC_ALIGN(8) stride
;
38746 VkQueryResultFlags flags
;
38750 TRACE("%#x, 0x%s, %u, %u, 0x%s, %#x, 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
);
38752 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetQueryPoolResults(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
, params
->dataSize
, (void *)UlongToPtr(params
->pData
), params
->stride
, params
->flags
);
38753 return STATUS_SUCCESS
;
38757 static NTSTATUS
thunk64_vkGetQueueCheckpointData2NV(void *args
)
38759 struct vkGetQueueCheckpointData2NV_params
*params
= args
;
38761 TRACE("%p, %p, %p\n", params
->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
38763 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkGetQueueCheckpointData2NV(wine_queue_from_handle(params
->queue
)->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
38764 return STATUS_SUCCESS
;
38766 #endif /* _WIN64 */
38768 static NTSTATUS
thunk32_vkGetQueueCheckpointData2NV(void *args
)
38773 PTR32 pCheckpointDataCount
;
38774 PTR32 pCheckpointData
;
38776 VkCheckpointData2NV
*pCheckpointData_host
;
38777 struct conversion_context ctx
;
38779 TRACE("%#x, %#x, %#x\n", params
->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
38781 init_conversion_context(&ctx
);
38782 pCheckpointData_host
= convert_VkCheckpointData2NV_array_win32_to_host(&ctx
, (VkCheckpointData2NV32
*)UlongToPtr(params
->pCheckpointData
), *(uint32_t *)UlongToPtr(params
->pCheckpointDataCount
));
38783 wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkGetQueueCheckpointData2NV(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, (uint32_t *)UlongToPtr(params
->pCheckpointDataCount
), pCheckpointData_host
);
38784 convert_VkCheckpointData2NV_array_host_to_win32(pCheckpointData_host
, (VkCheckpointData2NV32
*)UlongToPtr(params
->pCheckpointData
), *(uint32_t *)UlongToPtr(params
->pCheckpointDataCount
));
38785 free_conversion_context(&ctx
);
38786 return STATUS_SUCCESS
;
38790 static NTSTATUS
thunk64_vkGetQueueCheckpointDataNV(void *args
)
38792 struct vkGetQueueCheckpointDataNV_params
*params
= args
;
38794 TRACE("%p, %p, %p\n", params
->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
38796 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkGetQueueCheckpointDataNV(wine_queue_from_handle(params
->queue
)->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
38797 return STATUS_SUCCESS
;
38799 #endif /* _WIN64 */
38801 static NTSTATUS
thunk32_vkGetQueueCheckpointDataNV(void *args
)
38806 PTR32 pCheckpointDataCount
;
38807 PTR32 pCheckpointData
;
38809 VkCheckpointDataNV
*pCheckpointData_host
;
38810 struct conversion_context ctx
;
38812 TRACE("%#x, %#x, %#x\n", params
->queue
, params
->pCheckpointDataCount
, params
->pCheckpointData
);
38814 init_conversion_context(&ctx
);
38815 pCheckpointData_host
= convert_VkCheckpointDataNV_array_win32_to_host(&ctx
, (VkCheckpointDataNV32
*)UlongToPtr(params
->pCheckpointData
), *(uint32_t *)UlongToPtr(params
->pCheckpointDataCount
));
38816 wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkGetQueueCheckpointDataNV(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, (uint32_t *)UlongToPtr(params
->pCheckpointDataCount
), pCheckpointData_host
);
38817 convert_VkCheckpointDataNV_array_host_to_win32(pCheckpointData_host
, (VkCheckpointDataNV32
*)UlongToPtr(params
->pCheckpointData
), *(uint32_t *)UlongToPtr(params
->pCheckpointDataCount
));
38818 free_conversion_context(&ctx
);
38819 return STATUS_SUCCESS
;
38823 static NTSTATUS
thunk64_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(void *args
)
38825 struct vkGetRayTracingCaptureReplayShaderGroupHandlesKHR_params
*params
= args
;
38827 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
);
38829 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
);
38830 return STATUS_SUCCESS
;
38832 #endif /* _WIN64 */
38834 static NTSTATUS
thunk32_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(void *args
)
38839 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
38840 uint32_t firstGroup
;
38841 uint32_t groupCount
;
38847 TRACE("%#x, 0x%s, %u, %u, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->firstGroup
, params
->groupCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
38849 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipeline
, params
->firstGroup
, params
->groupCount
, params
->dataSize
, (void *)UlongToPtr(params
->pData
));
38850 return STATUS_SUCCESS
;
38854 static NTSTATUS
thunk64_vkGetRayTracingShaderGroupHandlesKHR(void *args
)
38856 struct vkGetRayTracingShaderGroupHandlesKHR_params
*params
= args
;
38858 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
);
38860 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
);
38861 return STATUS_SUCCESS
;
38863 #endif /* _WIN64 */
38865 static NTSTATUS
thunk32_vkGetRayTracingShaderGroupHandlesKHR(void *args
)
38870 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
38871 uint32_t firstGroup
;
38872 uint32_t groupCount
;
38878 TRACE("%#x, 0x%s, %u, %u, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->firstGroup
, params
->groupCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
38880 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetRayTracingShaderGroupHandlesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipeline
, params
->firstGroup
, params
->groupCount
, params
->dataSize
, (void *)UlongToPtr(params
->pData
));
38881 return STATUS_SUCCESS
;
38885 static NTSTATUS
thunk64_vkGetRayTracingShaderGroupHandlesNV(void *args
)
38887 struct vkGetRayTracingShaderGroupHandlesNV_params
*params
= args
;
38889 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
);
38891 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
);
38892 return STATUS_SUCCESS
;
38894 #endif /* _WIN64 */
38896 static NTSTATUS
thunk32_vkGetRayTracingShaderGroupHandlesNV(void *args
)
38901 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
38902 uint32_t firstGroup
;
38903 uint32_t groupCount
;
38909 TRACE("%#x, 0x%s, %u, %u, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->firstGroup
, params
->groupCount
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
);
38911 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetRayTracingShaderGroupHandlesNV(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipeline
, params
->firstGroup
, params
->groupCount
, params
->dataSize
, (void *)UlongToPtr(params
->pData
));
38912 return STATUS_SUCCESS
;
38916 static NTSTATUS
thunk64_vkGetRayTracingShaderGroupStackSizeKHR(void *args
)
38918 struct vkGetRayTracingShaderGroupStackSizeKHR_params
*params
= args
;
38920 TRACE("%p, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->group
, params
->groupShader
);
38922 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetRayTracingShaderGroupStackSizeKHR(wine_device_from_handle(params
->device
)->device
, params
->pipeline
, params
->group
, params
->groupShader
);
38923 return STATUS_SUCCESS
;
38925 #endif /* _WIN64 */
38927 static NTSTATUS
thunk32_vkGetRayTracingShaderGroupStackSizeKHR(void *args
)
38932 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
38934 VkShaderGroupShaderKHR groupShader
;
38935 VkDeviceSize result
;
38938 TRACE("%#x, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->group
, params
->groupShader
);
38940 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetRayTracingShaderGroupStackSizeKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipeline
, params
->group
, params
->groupShader
);
38941 return STATUS_SUCCESS
;
38945 static NTSTATUS
thunk64_vkGetRenderAreaGranularity(void *args
)
38947 struct vkGetRenderAreaGranularity_params
*params
= args
;
38949 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->renderPass
), params
->pGranularity
);
38951 wine_device_from_handle(params
->device
)->funcs
.p_vkGetRenderAreaGranularity(wine_device_from_handle(params
->device
)->device
, params
->renderPass
, params
->pGranularity
);
38952 return STATUS_SUCCESS
;
38954 #endif /* _WIN64 */
38956 static NTSTATUS
thunk32_vkGetRenderAreaGranularity(void *args
)
38961 VkRenderPass
DECLSPEC_ALIGN(8) renderPass
;
38962 PTR32 pGranularity
;
38965 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->renderPass
), params
->pGranularity
);
38967 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetRenderAreaGranularity(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->renderPass
, (VkExtent2D
*)UlongToPtr(params
->pGranularity
));
38968 return STATUS_SUCCESS
;
38972 static NTSTATUS
thunk64_vkGetSamplerOpaqueCaptureDescriptorDataEXT(void *args
)
38974 struct vkGetSamplerOpaqueCaptureDescriptorDataEXT_params
*params
= args
;
38976 TRACE("%p, %p, %p\n", params
->device
, params
->pInfo
, params
->pData
);
38978 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSamplerOpaqueCaptureDescriptorDataEXT(wine_device_from_handle(params
->device
)->device
, params
->pInfo
, params
->pData
);
38979 return STATUS_SUCCESS
;
38981 #endif /* _WIN64 */
38983 static NTSTATUS
thunk32_vkGetSamplerOpaqueCaptureDescriptorDataEXT(void *args
)
38992 VkSamplerCaptureDescriptorDataInfoEXT pInfo_host
;
38994 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pInfo
, params
->pData
);
38996 convert_VkSamplerCaptureDescriptorDataInfoEXT_win32_to_host((const VkSamplerCaptureDescriptorDataInfoEXT32
*)UlongToPtr(params
->pInfo
), &pInfo_host
);
38997 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetSamplerOpaqueCaptureDescriptorDataEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInfo_host
, (void *)UlongToPtr(params
->pData
));
38998 return STATUS_SUCCESS
;
39002 static NTSTATUS
thunk64_vkGetSemaphoreCounterValue(void *args
)
39004 struct vkGetSemaphoreCounterValue_params
*params
= args
;
39006 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pValue
);
39008 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSemaphoreCounterValue(wine_device_from_handle(params
->device
)->device
, params
->semaphore
, params
->pValue
);
39009 return STATUS_SUCCESS
;
39011 #endif /* _WIN64 */
39013 static NTSTATUS
thunk32_vkGetSemaphoreCounterValue(void *args
)
39018 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
39023 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pValue
);
39025 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetSemaphoreCounterValue(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->semaphore
, (uint64_t *)UlongToPtr(params
->pValue
));
39026 return STATUS_SUCCESS
;
39030 static NTSTATUS
thunk64_vkGetSemaphoreCounterValueKHR(void *args
)
39032 struct vkGetSemaphoreCounterValueKHR_params
*params
= args
;
39034 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pValue
);
39036 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSemaphoreCounterValueKHR(wine_device_from_handle(params
->device
)->device
, params
->semaphore
, params
->pValue
);
39037 return STATUS_SUCCESS
;
39039 #endif /* _WIN64 */
39041 static NTSTATUS
thunk32_vkGetSemaphoreCounterValueKHR(void *args
)
39046 VkSemaphore
DECLSPEC_ALIGN(8) semaphore
;
39051 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->semaphore
), params
->pValue
);
39053 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetSemaphoreCounterValueKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->semaphore
, (uint64_t *)UlongToPtr(params
->pValue
));
39054 return STATUS_SUCCESS
;
39058 static NTSTATUS
thunk64_vkGetShaderInfoAMD(void *args
)
39060 struct vkGetShaderInfoAMD_params
*params
= args
;
39062 TRACE("%p, 0x%s, %#x, %#x, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->shaderStage
, params
->infoType
, params
->pInfoSize
, params
->pInfo
);
39064 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
);
39065 return STATUS_SUCCESS
;
39067 #endif /* _WIN64 */
39069 static NTSTATUS
thunk32_vkGetShaderInfoAMD(void *args
)
39074 VkPipeline
DECLSPEC_ALIGN(8) pipeline
;
39075 VkShaderStageFlagBits shaderStage
;
39076 VkShaderInfoTypeAMD infoType
;
39081 size_t pInfoSize_host
;
39083 TRACE("%#x, 0x%s, %#x, %#x, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->pipeline
), params
->shaderStage
, params
->infoType
, params
->pInfoSize
, params
->pInfo
);
39085 pInfoSize_host
= *(size_t *)UlongToPtr(params
->pInfoSize
);
39086 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetShaderInfoAMD(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->pipeline
, params
->shaderStage
, params
->infoType
, &pInfoSize_host
, (void *)UlongToPtr(params
->pInfo
));
39087 *(size_t *)UlongToPtr(params
->pInfoSize
) = pInfoSize_host
;
39088 return STATUS_SUCCESS
;
39092 static NTSTATUS
thunk64_vkGetShaderModuleCreateInfoIdentifierEXT(void *args
)
39094 struct vkGetShaderModuleCreateInfoIdentifierEXT_params
*params
= args
;
39096 TRACE("%p, %p, %p\n", params
->device
, params
->pCreateInfo
, params
->pIdentifier
);
39098 wine_device_from_handle(params
->device
)->funcs
.p_vkGetShaderModuleCreateInfoIdentifierEXT(wine_device_from_handle(params
->device
)->device
, params
->pCreateInfo
, params
->pIdentifier
);
39099 return STATUS_SUCCESS
;
39101 #endif /* _WIN64 */
39103 static NTSTATUS
thunk32_vkGetShaderModuleCreateInfoIdentifierEXT(void *args
)
39111 VkShaderModuleCreateInfo pCreateInfo_host
;
39112 VkShaderModuleIdentifierEXT pIdentifier_host
;
39113 struct conversion_context ctx
;
39115 TRACE("%#x, %#x, %#x\n", params
->device
, params
->pCreateInfo
, params
->pIdentifier
);
39117 init_conversion_context(&ctx
);
39118 convert_VkShaderModuleCreateInfo_win32_to_host(&ctx
, (const VkShaderModuleCreateInfo32
*)UlongToPtr(params
->pCreateInfo
), &pCreateInfo_host
);
39119 convert_VkShaderModuleIdentifierEXT_win32_to_host((VkShaderModuleIdentifierEXT32
*)UlongToPtr(params
->pIdentifier
), &pIdentifier_host
);
39120 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetShaderModuleCreateInfoIdentifierEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pCreateInfo_host
, &pIdentifier_host
);
39121 convert_VkShaderModuleIdentifierEXT_host_to_win32(&pIdentifier_host
, (VkShaderModuleIdentifierEXT32
*)UlongToPtr(params
->pIdentifier
));
39122 free_conversion_context(&ctx
);
39123 return STATUS_SUCCESS
;
39127 static NTSTATUS
thunk64_vkGetShaderModuleIdentifierEXT(void *args
)
39129 struct vkGetShaderModuleIdentifierEXT_params
*params
= args
;
39131 TRACE("%p, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->shaderModule
), params
->pIdentifier
);
39133 wine_device_from_handle(params
->device
)->funcs
.p_vkGetShaderModuleIdentifierEXT(wine_device_from_handle(params
->device
)->device
, params
->shaderModule
, params
->pIdentifier
);
39134 return STATUS_SUCCESS
;
39136 #endif /* _WIN64 */
39138 static NTSTATUS
thunk32_vkGetShaderModuleIdentifierEXT(void *args
)
39143 VkShaderModule
DECLSPEC_ALIGN(8) shaderModule
;
39146 VkShaderModuleIdentifierEXT pIdentifier_host
;
39148 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->shaderModule
), params
->pIdentifier
);
39150 convert_VkShaderModuleIdentifierEXT_win32_to_host((VkShaderModuleIdentifierEXT32
*)UlongToPtr(params
->pIdentifier
), &pIdentifier_host
);
39151 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetShaderModuleIdentifierEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->shaderModule
, &pIdentifier_host
);
39152 convert_VkShaderModuleIdentifierEXT_host_to_win32(&pIdentifier_host
, (VkShaderModuleIdentifierEXT32
*)UlongToPtr(params
->pIdentifier
));
39153 return STATUS_SUCCESS
;
39157 static NTSTATUS
thunk64_vkGetSwapchainImagesKHR(void *args
)
39159 struct vkGetSwapchainImagesKHR_params
*params
= args
;
39161 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), params
->pSwapchainImageCount
, params
->pSwapchainImages
);
39163 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetSwapchainImagesKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, params
->pSwapchainImageCount
, params
->pSwapchainImages
);
39164 return STATUS_SUCCESS
;
39166 #endif /* _WIN64 */
39168 static NTSTATUS
thunk32_vkGetSwapchainImagesKHR(void *args
)
39173 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
39174 PTR32 pSwapchainImageCount
;
39175 PTR32 pSwapchainImages
;
39179 TRACE("%#x, 0x%s, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), params
->pSwapchainImageCount
, params
->pSwapchainImages
);
39181 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetSwapchainImagesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->swapchain
, (uint32_t *)UlongToPtr(params
->pSwapchainImageCount
), (VkImage
*)UlongToPtr(params
->pSwapchainImages
));
39182 return STATUS_SUCCESS
;
39186 static NTSTATUS
thunk64_vkGetValidationCacheDataEXT(void *args
)
39188 struct vkGetValidationCacheDataEXT_params
*params
= args
;
39190 TRACE("%p, 0x%s, %p, %p\n", params
->device
, wine_dbgstr_longlong(params
->validationCache
), params
->pDataSize
, params
->pData
);
39192 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkGetValidationCacheDataEXT(wine_device_from_handle(params
->device
)->device
, params
->validationCache
, params
->pDataSize
, params
->pData
);
39193 return STATUS_SUCCESS
;
39195 #endif /* _WIN64 */
39197 static NTSTATUS
thunk32_vkGetValidationCacheDataEXT(void *args
)
39202 VkValidationCacheEXT
DECLSPEC_ALIGN(8) validationCache
;
39207 size_t pDataSize_host
;
39209 TRACE("%#x, 0x%s, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->validationCache
), params
->pDataSize
, params
->pData
);
39211 pDataSize_host
= *(size_t *)UlongToPtr(params
->pDataSize
);
39212 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkGetValidationCacheDataEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->validationCache
, &pDataSize_host
, (void *)UlongToPtr(params
->pData
));
39213 *(size_t *)UlongToPtr(params
->pDataSize
) = pDataSize_host
;
39214 return STATUS_SUCCESS
;
39218 static NTSTATUS
thunk64_vkInitializePerformanceApiINTEL(void *args
)
39220 struct vkInitializePerformanceApiINTEL_params
*params
= args
;
39222 TRACE("%p, %p\n", params
->device
, params
->pInitializeInfo
);
39224 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkInitializePerformanceApiINTEL(wine_device_from_handle(params
->device
)->device
, params
->pInitializeInfo
);
39225 return STATUS_SUCCESS
;
39227 #endif /* _WIN64 */
39229 static NTSTATUS
thunk32_vkInitializePerformanceApiINTEL(void *args
)
39234 PTR32 pInitializeInfo
;
39237 VkInitializePerformanceApiInfoINTEL pInitializeInfo_host
;
39239 TRACE("%#x, %#x\n", params
->device
, params
->pInitializeInfo
);
39241 convert_VkInitializePerformanceApiInfoINTEL_win32_to_host((const VkInitializePerformanceApiInfoINTEL32
*)UlongToPtr(params
->pInitializeInfo
), &pInitializeInfo_host
);
39242 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkInitializePerformanceApiINTEL(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pInitializeInfo_host
);
39243 return STATUS_SUCCESS
;
39247 static NTSTATUS
thunk64_vkInvalidateMappedMemoryRanges(void *args
)
39249 struct vkInvalidateMappedMemoryRanges_params
*params
= args
;
39251 TRACE("%p, %u, %p\n", params
->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
39253 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkInvalidateMappedMemoryRanges(wine_device_from_handle(params
->device
)->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
39254 return STATUS_SUCCESS
;
39256 #endif /* _WIN64 */
39258 static NTSTATUS
thunk32_vkInvalidateMappedMemoryRanges(void *args
)
39263 uint32_t memoryRangeCount
;
39264 PTR32 pMemoryRanges
;
39267 const VkMappedMemoryRange
*pMemoryRanges_host
;
39268 struct conversion_context ctx
;
39270 TRACE("%#x, %u, %#x\n", params
->device
, params
->memoryRangeCount
, params
->pMemoryRanges
);
39272 init_conversion_context(&ctx
);
39273 pMemoryRanges_host
= convert_VkMappedMemoryRange_array_win32_to_host(&ctx
, (const VkMappedMemoryRange32
*)UlongToPtr(params
->pMemoryRanges
), params
->memoryRangeCount
);
39274 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkInvalidateMappedMemoryRanges(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->memoryRangeCount
, pMemoryRanges_host
);
39275 free_conversion_context(&ctx
);
39276 return STATUS_SUCCESS
;
39280 static NTSTATUS
thunk64_vkMapMemory(void *args
)
39282 struct vkMapMemory_params
*params
= args
;
39284 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
);
39286 params
->result
= wine_vkMapMemory(params
->device
, params
->memory
, params
->offset
, params
->size
, params
->flags
, params
->ppData
);
39287 return STATUS_SUCCESS
;
39289 #endif /* _WIN64 */
39291 static NTSTATUS
thunk32_vkMapMemory(void *args
)
39296 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
39297 VkDeviceSize
DECLSPEC_ALIGN(8) offset
;
39298 VkDeviceSize
DECLSPEC_ALIGN(8) size
;
39299 VkMemoryMapFlags flags
;
39304 TRACE("%#x, 0x%s, 0x%s, 0x%s, %#x, %#x\n", params
->device
, wine_dbgstr_longlong(params
->memory
), wine_dbgstr_longlong(params
->offset
), wine_dbgstr_longlong(params
->size
), params
->flags
, params
->ppData
);
39306 params
->result
= wine_vkMapMemory((VkDevice
)UlongToPtr(params
->device
), params
->memory
, params
->offset
, params
->size
, params
->flags
, (void **)UlongToPtr(params
->ppData
));
39307 return STATUS_SUCCESS
;
39311 static NTSTATUS
thunk64_vkMergePipelineCaches(void *args
)
39313 struct vkMergePipelineCaches_params
*params
= args
;
39315 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->dstCache
), params
->srcCacheCount
, params
->pSrcCaches
);
39317 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkMergePipelineCaches(wine_device_from_handle(params
->device
)->device
, params
->dstCache
, params
->srcCacheCount
, params
->pSrcCaches
);
39318 return STATUS_SUCCESS
;
39320 #endif /* _WIN64 */
39322 static NTSTATUS
thunk32_vkMergePipelineCaches(void *args
)
39327 VkPipelineCache
DECLSPEC_ALIGN(8) dstCache
;
39328 uint32_t srcCacheCount
;
39333 TRACE("%#x, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->dstCache
), params
->srcCacheCount
, params
->pSrcCaches
);
39335 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkMergePipelineCaches(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->dstCache
, params
->srcCacheCount
, (const VkPipelineCache
*)UlongToPtr(params
->pSrcCaches
));
39336 return STATUS_SUCCESS
;
39340 static NTSTATUS
thunk64_vkMergeValidationCachesEXT(void *args
)
39342 struct vkMergeValidationCachesEXT_params
*params
= args
;
39344 TRACE("%p, 0x%s, %u, %p\n", params
->device
, wine_dbgstr_longlong(params
->dstCache
), params
->srcCacheCount
, params
->pSrcCaches
);
39346 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkMergeValidationCachesEXT(wine_device_from_handle(params
->device
)->device
, params
->dstCache
, params
->srcCacheCount
, params
->pSrcCaches
);
39347 return STATUS_SUCCESS
;
39349 #endif /* _WIN64 */
39351 static NTSTATUS
thunk32_vkMergeValidationCachesEXT(void *args
)
39356 VkValidationCacheEXT
DECLSPEC_ALIGN(8) dstCache
;
39357 uint32_t srcCacheCount
;
39362 TRACE("%#x, 0x%s, %u, %#x\n", params
->device
, wine_dbgstr_longlong(params
->dstCache
), params
->srcCacheCount
, params
->pSrcCaches
);
39364 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkMergeValidationCachesEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->dstCache
, params
->srcCacheCount
, (const VkValidationCacheEXT
*)UlongToPtr(params
->pSrcCaches
));
39365 return STATUS_SUCCESS
;
39369 static NTSTATUS
thunk64_vkQueueBeginDebugUtilsLabelEXT(void *args
)
39371 struct vkQueueBeginDebugUtilsLabelEXT_params
*params
= args
;
39373 TRACE("%p, %p\n", params
->queue
, params
->pLabelInfo
);
39375 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueBeginDebugUtilsLabelEXT(wine_queue_from_handle(params
->queue
)->queue
, params
->pLabelInfo
);
39376 return STATUS_SUCCESS
;
39378 #endif /* _WIN64 */
39380 static NTSTATUS
thunk32_vkQueueBeginDebugUtilsLabelEXT(void *args
)
39387 VkDebugUtilsLabelEXT pLabelInfo_host
;
39389 TRACE("%#x, %#x\n", params
->queue
, params
->pLabelInfo
);
39391 convert_VkDebugUtilsLabelEXT_win32_to_host((const VkDebugUtilsLabelEXT32
*)UlongToPtr(params
->pLabelInfo
), &pLabelInfo_host
);
39392 wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueueBeginDebugUtilsLabelEXT(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, &pLabelInfo_host
);
39393 return STATUS_SUCCESS
;
39397 static NTSTATUS
thunk64_vkQueueBindSparse(void *args
)
39399 struct vkQueueBindSparse_params
*params
= args
;
39401 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->bindInfoCount
, params
->pBindInfo
, wine_dbgstr_longlong(params
->fence
));
39403 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
);
39404 return STATUS_SUCCESS
;
39406 #endif /* _WIN64 */
39408 static NTSTATUS
thunk32_vkQueueBindSparse(void *args
)
39413 uint32_t bindInfoCount
;
39415 VkFence
DECLSPEC_ALIGN(8) fence
;
39418 const VkBindSparseInfo
*pBindInfo_host
;
39419 struct conversion_context ctx
;
39421 TRACE("%#x, %u, %#x, 0x%s\n", params
->queue
, params
->bindInfoCount
, params
->pBindInfo
, wine_dbgstr_longlong(params
->fence
));
39423 init_conversion_context(&ctx
);
39424 pBindInfo_host
= convert_VkBindSparseInfo_array_win32_to_host(&ctx
, (const VkBindSparseInfo32
*)UlongToPtr(params
->pBindInfo
), params
->bindInfoCount
);
39425 params
->result
= wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueueBindSparse(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, params
->bindInfoCount
, pBindInfo_host
, params
->fence
);
39426 free_conversion_context(&ctx
);
39427 return STATUS_SUCCESS
;
39431 static NTSTATUS
thunk64_vkQueueEndDebugUtilsLabelEXT(void *args
)
39433 struct vkQueueEndDebugUtilsLabelEXT_params
*params
= args
;
39435 TRACE("%p\n", params
->queue
);
39437 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueEndDebugUtilsLabelEXT(wine_queue_from_handle(params
->queue
)->queue
);
39438 return STATUS_SUCCESS
;
39440 #endif /* _WIN64 */
39442 static NTSTATUS
thunk32_vkQueueEndDebugUtilsLabelEXT(void *args
)
39449 TRACE("%#x\n", params
->queue
);
39451 wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueueEndDebugUtilsLabelEXT(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
);
39452 return STATUS_SUCCESS
;
39456 static NTSTATUS
thunk64_vkQueueInsertDebugUtilsLabelEXT(void *args
)
39458 struct vkQueueInsertDebugUtilsLabelEXT_params
*params
= args
;
39460 TRACE("%p, %p\n", params
->queue
, params
->pLabelInfo
);
39462 wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueInsertDebugUtilsLabelEXT(wine_queue_from_handle(params
->queue
)->queue
, params
->pLabelInfo
);
39463 return STATUS_SUCCESS
;
39465 #endif /* _WIN64 */
39467 static NTSTATUS
thunk32_vkQueueInsertDebugUtilsLabelEXT(void *args
)
39474 VkDebugUtilsLabelEXT pLabelInfo_host
;
39476 TRACE("%#x, %#x\n", params
->queue
, params
->pLabelInfo
);
39478 convert_VkDebugUtilsLabelEXT_win32_to_host((const VkDebugUtilsLabelEXT32
*)UlongToPtr(params
->pLabelInfo
), &pLabelInfo_host
);
39479 wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueueInsertDebugUtilsLabelEXT(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, &pLabelInfo_host
);
39480 return STATUS_SUCCESS
;
39484 static NTSTATUS
thunk64_vkQueuePresentKHR(void *args
)
39486 struct vkQueuePresentKHR_params
*params
= args
;
39488 TRACE("%p, %p\n", params
->queue
, params
->pPresentInfo
);
39490 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueuePresentKHR(wine_queue_from_handle(params
->queue
)->queue
, params
->pPresentInfo
);
39491 return STATUS_SUCCESS
;
39493 #endif /* _WIN64 */
39495 static NTSTATUS
thunk32_vkQueuePresentKHR(void *args
)
39500 PTR32 pPresentInfo
;
39503 VkPresentInfoKHR pPresentInfo_host
;
39504 struct conversion_context ctx
;
39506 TRACE("%#x, %#x\n", params
->queue
, params
->pPresentInfo
);
39508 init_conversion_context(&ctx
);
39509 convert_VkPresentInfoKHR_win32_to_host(&ctx
, (const VkPresentInfoKHR32
*)UlongToPtr(params
->pPresentInfo
), &pPresentInfo_host
);
39510 params
->result
= wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueuePresentKHR(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, &pPresentInfo_host
);
39511 free_conversion_context(&ctx
);
39512 return STATUS_SUCCESS
;
39516 static NTSTATUS
thunk64_vkQueueSetPerformanceConfigurationINTEL(void *args
)
39518 struct vkQueueSetPerformanceConfigurationINTEL_params
*params
= args
;
39520 TRACE("%p, 0x%s\n", params
->queue
, wine_dbgstr_longlong(params
->configuration
));
39522 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueSetPerformanceConfigurationINTEL(wine_queue_from_handle(params
->queue
)->queue
, params
->configuration
);
39523 return STATUS_SUCCESS
;
39525 #endif /* _WIN64 */
39527 static NTSTATUS
thunk32_vkQueueSetPerformanceConfigurationINTEL(void *args
)
39532 VkPerformanceConfigurationINTEL
DECLSPEC_ALIGN(8) configuration
;
39536 TRACE("%#x, 0x%s\n", params
->queue
, wine_dbgstr_longlong(params
->configuration
));
39538 params
->result
= wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueueSetPerformanceConfigurationINTEL(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, params
->configuration
);
39539 return STATUS_SUCCESS
;
39543 static NTSTATUS
thunk64_vkQueueSubmit(void *args
)
39545 struct vkQueueSubmit_params
*params
= args
;
39546 const VkSubmitInfo
*pSubmits_host
;
39547 struct conversion_context ctx
;
39549 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
39551 init_conversion_context(&ctx
);
39552 pSubmits_host
= convert_VkSubmitInfo_array_win64_to_host(&ctx
, params
->pSubmits
, params
->submitCount
);
39553 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
);
39554 free_conversion_context(&ctx
);
39555 return STATUS_SUCCESS
;
39557 #endif /* _WIN64 */
39559 static NTSTATUS
thunk32_vkQueueSubmit(void *args
)
39564 uint32_t submitCount
;
39566 VkFence
DECLSPEC_ALIGN(8) fence
;
39569 const VkSubmitInfo
*pSubmits_host
;
39570 struct conversion_context ctx
;
39572 TRACE("%#x, %u, %#x, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
39574 init_conversion_context(&ctx
);
39575 pSubmits_host
= convert_VkSubmitInfo_array_win32_to_host(&ctx
, (const VkSubmitInfo32
*)UlongToPtr(params
->pSubmits
), params
->submitCount
);
39576 params
->result
= wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueueSubmit(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, params
->submitCount
, pSubmits_host
, params
->fence
);
39577 free_conversion_context(&ctx
);
39578 return STATUS_SUCCESS
;
39582 static NTSTATUS
thunk64_vkQueueSubmit2(void *args
)
39584 struct vkQueueSubmit2_params
*params
= args
;
39585 const VkSubmitInfo2
*pSubmits_host
;
39586 struct conversion_context ctx
;
39588 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
39590 init_conversion_context(&ctx
);
39591 pSubmits_host
= convert_VkSubmitInfo2_array_win64_to_host(&ctx
, params
->pSubmits
, params
->submitCount
);
39592 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
);
39593 free_conversion_context(&ctx
);
39594 return STATUS_SUCCESS
;
39596 #endif /* _WIN64 */
39598 static NTSTATUS
thunk32_vkQueueSubmit2(void *args
)
39603 uint32_t submitCount
;
39605 VkFence
DECLSPEC_ALIGN(8) fence
;
39608 const VkSubmitInfo2
*pSubmits_host
;
39609 struct conversion_context ctx
;
39611 TRACE("%#x, %u, %#x, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
39613 init_conversion_context(&ctx
);
39614 pSubmits_host
= convert_VkSubmitInfo2_array_win32_to_host(&ctx
, (const VkSubmitInfo232
*)UlongToPtr(params
->pSubmits
), params
->submitCount
);
39615 params
->result
= wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueueSubmit2(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, params
->submitCount
, pSubmits_host
, params
->fence
);
39616 free_conversion_context(&ctx
);
39617 return STATUS_SUCCESS
;
39621 static NTSTATUS
thunk64_vkQueueSubmit2KHR(void *args
)
39623 struct vkQueueSubmit2KHR_params
*params
= args
;
39624 const VkSubmitInfo2
*pSubmits_host
;
39625 struct conversion_context ctx
;
39627 TRACE("%p, %u, %p, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
39629 init_conversion_context(&ctx
);
39630 pSubmits_host
= convert_VkSubmitInfo2_array_win64_to_host(&ctx
, params
->pSubmits
, params
->submitCount
);
39631 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
);
39632 free_conversion_context(&ctx
);
39633 return STATUS_SUCCESS
;
39635 #endif /* _WIN64 */
39637 static NTSTATUS
thunk32_vkQueueSubmit2KHR(void *args
)
39642 uint32_t submitCount
;
39644 VkFence
DECLSPEC_ALIGN(8) fence
;
39647 const VkSubmitInfo2
*pSubmits_host
;
39648 struct conversion_context ctx
;
39650 TRACE("%#x, %u, %#x, 0x%s\n", params
->queue
, params
->submitCount
, params
->pSubmits
, wine_dbgstr_longlong(params
->fence
));
39652 init_conversion_context(&ctx
);
39653 pSubmits_host
= convert_VkSubmitInfo2_array_win32_to_host(&ctx
, (const VkSubmitInfo232
*)UlongToPtr(params
->pSubmits
), params
->submitCount
);
39654 params
->result
= wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueueSubmit2KHR(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
, params
->submitCount
, pSubmits_host
, params
->fence
);
39655 free_conversion_context(&ctx
);
39656 return STATUS_SUCCESS
;
39660 static NTSTATUS
thunk64_vkQueueWaitIdle(void *args
)
39662 struct vkQueueWaitIdle_params
*params
= args
;
39664 TRACE("%p\n", params
->queue
);
39666 params
->result
= wine_queue_from_handle(params
->queue
)->device
->funcs
.p_vkQueueWaitIdle(wine_queue_from_handle(params
->queue
)->queue
);
39667 return STATUS_SUCCESS
;
39669 #endif /* _WIN64 */
39671 static NTSTATUS
thunk32_vkQueueWaitIdle(void *args
)
39679 TRACE("%#x\n", params
->queue
);
39681 params
->result
= wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->device
->funcs
.p_vkQueueWaitIdle(wine_queue_from_handle((VkQueue
)UlongToPtr(params
->queue
))->queue
);
39682 return STATUS_SUCCESS
;
39686 static NTSTATUS
thunk64_vkReleasePerformanceConfigurationINTEL(void *args
)
39688 struct vkReleasePerformanceConfigurationINTEL_params
*params
= args
;
39690 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->configuration
));
39692 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkReleasePerformanceConfigurationINTEL(wine_device_from_handle(params
->device
)->device
, params
->configuration
);
39693 return STATUS_SUCCESS
;
39695 #endif /* _WIN64 */
39697 static NTSTATUS
thunk32_vkReleasePerformanceConfigurationINTEL(void *args
)
39702 VkPerformanceConfigurationINTEL
DECLSPEC_ALIGN(8) configuration
;
39706 TRACE("%#x, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->configuration
));
39708 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkReleasePerformanceConfigurationINTEL(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->configuration
);
39709 return STATUS_SUCCESS
;
39713 static NTSTATUS
thunk64_vkReleaseProfilingLockKHR(void *args
)
39715 struct vkReleaseProfilingLockKHR_params
*params
= args
;
39717 TRACE("%p\n", params
->device
);
39719 wine_device_from_handle(params
->device
)->funcs
.p_vkReleaseProfilingLockKHR(wine_device_from_handle(params
->device
)->device
);
39720 return STATUS_SUCCESS
;
39722 #endif /* _WIN64 */
39724 static NTSTATUS
thunk32_vkReleaseProfilingLockKHR(void *args
)
39731 TRACE("%#x\n", params
->device
);
39733 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkReleaseProfilingLockKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
);
39734 return STATUS_SUCCESS
;
39738 static NTSTATUS
thunk64_vkResetCommandBuffer(void *args
)
39740 struct vkResetCommandBuffer_params
*params
= args
;
39742 TRACE("%p, %#x\n", params
->commandBuffer
, params
->flags
);
39744 params
->result
= wine_cmd_buffer_from_handle(params
->commandBuffer
)->device
->funcs
.p_vkResetCommandBuffer(wine_cmd_buffer_from_handle(params
->commandBuffer
)->command_buffer
, params
->flags
);
39745 return STATUS_SUCCESS
;
39747 #endif /* _WIN64 */
39749 static NTSTATUS
thunk32_vkResetCommandBuffer(void *args
)
39753 PTR32 commandBuffer
;
39754 VkCommandBufferResetFlags flags
;
39758 TRACE("%#x, %#x\n", params
->commandBuffer
, params
->flags
);
39760 params
->result
= wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->device
->funcs
.p_vkResetCommandBuffer(wine_cmd_buffer_from_handle((VkCommandBuffer
)UlongToPtr(params
->commandBuffer
))->command_buffer
, params
->flags
);
39761 return STATUS_SUCCESS
;
39765 static NTSTATUS
thunk64_vkResetCommandPool(void *args
)
39767 struct vkResetCommandPool_params
*params
= args
;
39769 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
39771 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
);
39772 return STATUS_SUCCESS
;
39774 #endif /* _WIN64 */
39776 static NTSTATUS
thunk32_vkResetCommandPool(void *args
)
39781 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
39782 VkCommandPoolResetFlags flags
;
39786 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
39788 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkResetCommandPool(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, wine_cmd_pool_from_handle(params
->commandPool
)->command_pool
, params
->flags
);
39789 return STATUS_SUCCESS
;
39793 static NTSTATUS
thunk64_vkResetDescriptorPool(void *args
)
39795 struct vkResetDescriptorPool_params
*params
= args
;
39797 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->flags
);
39799 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetDescriptorPool(wine_device_from_handle(params
->device
)->device
, params
->descriptorPool
, params
->flags
);
39800 return STATUS_SUCCESS
;
39802 #endif /* _WIN64 */
39804 static NTSTATUS
thunk32_vkResetDescriptorPool(void *args
)
39809 VkDescriptorPool
DECLSPEC_ALIGN(8) descriptorPool
;
39810 VkDescriptorPoolResetFlags flags
;
39814 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorPool
), params
->flags
);
39816 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkResetDescriptorPool(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorPool
, params
->flags
);
39817 return STATUS_SUCCESS
;
39821 static NTSTATUS
thunk64_vkResetEvent(void *args
)
39823 struct vkResetEvent_params
*params
= args
;
39825 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
39827 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetEvent(wine_device_from_handle(params
->device
)->device
, params
->event
);
39828 return STATUS_SUCCESS
;
39830 #endif /* _WIN64 */
39832 static NTSTATUS
thunk32_vkResetEvent(void *args
)
39837 VkEvent
DECLSPEC_ALIGN(8) event
;
39841 TRACE("%#x, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
39843 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkResetEvent(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->event
);
39844 return STATUS_SUCCESS
;
39848 static NTSTATUS
thunk64_vkResetFences(void *args
)
39850 struct vkResetFences_params
*params
= args
;
39852 TRACE("%p, %u, %p\n", params
->device
, params
->fenceCount
, params
->pFences
);
39854 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkResetFences(wine_device_from_handle(params
->device
)->device
, params
->fenceCount
, params
->pFences
);
39855 return STATUS_SUCCESS
;
39857 #endif /* _WIN64 */
39859 static NTSTATUS
thunk32_vkResetFences(void *args
)
39864 uint32_t fenceCount
;
39869 TRACE("%#x, %u, %#x\n", params
->device
, params
->fenceCount
, params
->pFences
);
39871 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkResetFences(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->fenceCount
, (const VkFence
*)UlongToPtr(params
->pFences
));
39872 return STATUS_SUCCESS
;
39876 static NTSTATUS
thunk64_vkResetQueryPool(void *args
)
39878 struct vkResetQueryPool_params
*params
= args
;
39880 TRACE("%p, 0x%s, %u, %u\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
39882 wine_device_from_handle(params
->device
)->funcs
.p_vkResetQueryPool(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
39883 return STATUS_SUCCESS
;
39885 #endif /* _WIN64 */
39887 static NTSTATUS
thunk32_vkResetQueryPool(void *args
)
39892 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
39893 uint32_t firstQuery
;
39894 uint32_t queryCount
;
39897 TRACE("%#x, 0x%s, %u, %u\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
39899 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkResetQueryPool(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
39900 return STATUS_SUCCESS
;
39904 static NTSTATUS
thunk64_vkResetQueryPoolEXT(void *args
)
39906 struct vkResetQueryPoolEXT_params
*params
= args
;
39908 TRACE("%p, 0x%s, %u, %u\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
39910 wine_device_from_handle(params
->device
)->funcs
.p_vkResetQueryPoolEXT(wine_device_from_handle(params
->device
)->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
39911 return STATUS_SUCCESS
;
39913 #endif /* _WIN64 */
39915 static NTSTATUS
thunk32_vkResetQueryPoolEXT(void *args
)
39920 VkQueryPool
DECLSPEC_ALIGN(8) queryPool
;
39921 uint32_t firstQuery
;
39922 uint32_t queryCount
;
39925 TRACE("%#x, 0x%s, %u, %u\n", params
->device
, wine_dbgstr_longlong(params
->queryPool
), params
->firstQuery
, params
->queryCount
);
39927 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkResetQueryPoolEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->queryPool
, params
->firstQuery
, params
->queryCount
);
39928 return STATUS_SUCCESS
;
39932 static NTSTATUS
thunk64_vkSetDebugUtilsObjectNameEXT(void *args
)
39934 struct vkSetDebugUtilsObjectNameEXT_params
*params
= args
;
39935 VkDebugUtilsObjectNameInfoEXT pNameInfo_host
;
39937 TRACE("%p, %p\n", params
->device
, params
->pNameInfo
);
39939 convert_VkDebugUtilsObjectNameInfoEXT_win64_to_host(params
->pNameInfo
, &pNameInfo_host
);
39940 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetDebugUtilsObjectNameEXT(wine_device_from_handle(params
->device
)->device
, &pNameInfo_host
);
39941 return STATUS_SUCCESS
;
39943 #endif /* _WIN64 */
39945 static NTSTATUS
thunk32_vkSetDebugUtilsObjectNameEXT(void *args
)
39953 VkDebugUtilsObjectNameInfoEXT pNameInfo_host
;
39955 TRACE("%#x, %#x\n", params
->device
, params
->pNameInfo
);
39957 convert_VkDebugUtilsObjectNameInfoEXT_win32_to_host((const VkDebugUtilsObjectNameInfoEXT32
*)UlongToPtr(params
->pNameInfo
), &pNameInfo_host
);
39958 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkSetDebugUtilsObjectNameEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pNameInfo_host
);
39959 return STATUS_SUCCESS
;
39963 static NTSTATUS
thunk64_vkSetDebugUtilsObjectTagEXT(void *args
)
39965 struct vkSetDebugUtilsObjectTagEXT_params
*params
= args
;
39966 VkDebugUtilsObjectTagInfoEXT pTagInfo_host
;
39968 TRACE("%p, %p\n", params
->device
, params
->pTagInfo
);
39970 convert_VkDebugUtilsObjectTagInfoEXT_win64_to_host(params
->pTagInfo
, &pTagInfo_host
);
39971 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetDebugUtilsObjectTagEXT(wine_device_from_handle(params
->device
)->device
, &pTagInfo_host
);
39972 return STATUS_SUCCESS
;
39974 #endif /* _WIN64 */
39976 static NTSTATUS
thunk32_vkSetDebugUtilsObjectTagEXT(void *args
)
39984 VkDebugUtilsObjectTagInfoEXT pTagInfo_host
;
39986 TRACE("%#x, %#x\n", params
->device
, params
->pTagInfo
);
39988 convert_VkDebugUtilsObjectTagInfoEXT_win32_to_host((const VkDebugUtilsObjectTagInfoEXT32
*)UlongToPtr(params
->pTagInfo
), &pTagInfo_host
);
39989 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkSetDebugUtilsObjectTagEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pTagInfo_host
);
39990 return STATUS_SUCCESS
;
39994 static NTSTATUS
thunk64_vkSetDeviceMemoryPriorityEXT(void *args
)
39996 struct vkSetDeviceMemoryPriorityEXT_params
*params
= args
;
39998 TRACE("%p, 0x%s, %f\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->priority
);
40000 wine_device_from_handle(params
->device
)->funcs
.p_vkSetDeviceMemoryPriorityEXT(wine_device_from_handle(params
->device
)->device
, params
->memory
, params
->priority
);
40001 return STATUS_SUCCESS
;
40003 #endif /* _WIN64 */
40005 static NTSTATUS
thunk32_vkSetDeviceMemoryPriorityEXT(void *args
)
40010 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
40014 TRACE("%#x, 0x%s, %f\n", params
->device
, wine_dbgstr_longlong(params
->memory
), params
->priority
);
40016 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkSetDeviceMemoryPriorityEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->memory
, params
->priority
);
40017 return STATUS_SUCCESS
;
40021 static NTSTATUS
thunk64_vkSetEvent(void *args
)
40023 struct vkSetEvent_params
*params
= args
;
40025 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
40027 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSetEvent(wine_device_from_handle(params
->device
)->device
, params
->event
);
40028 return STATUS_SUCCESS
;
40030 #endif /* _WIN64 */
40032 static NTSTATUS
thunk32_vkSetEvent(void *args
)
40037 VkEvent
DECLSPEC_ALIGN(8) event
;
40041 TRACE("%#x, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->event
));
40043 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkSetEvent(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->event
);
40044 return STATUS_SUCCESS
;
40048 static NTSTATUS
thunk64_vkSetPrivateData(void *args
)
40050 struct vkSetPrivateData_params
*params
= args
;
40052 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
));
40054 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
);
40055 return STATUS_SUCCESS
;
40057 #endif /* _WIN64 */
40059 static NTSTATUS
thunk32_vkSetPrivateData(void *args
)
40064 VkObjectType objectType
;
40065 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
40066 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
40067 uint64_t DECLSPEC_ALIGN(8) data
;
40071 TRACE("%#x, %#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
));
40073 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkSetPrivateData(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->data
);
40074 return STATUS_SUCCESS
;
40078 static NTSTATUS
thunk64_vkSetPrivateDataEXT(void *args
)
40080 struct vkSetPrivateDataEXT_params
*params
= args
;
40082 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
));
40084 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
);
40085 return STATUS_SUCCESS
;
40087 #endif /* _WIN64 */
40089 static NTSTATUS
thunk32_vkSetPrivateDataEXT(void *args
)
40094 VkObjectType objectType
;
40095 uint64_t DECLSPEC_ALIGN(8) objectHandle
;
40096 VkPrivateDataSlot
DECLSPEC_ALIGN(8) privateDataSlot
;
40097 uint64_t DECLSPEC_ALIGN(8) data
;
40101 TRACE("%#x, %#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
));
40103 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkSetPrivateDataEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->objectType
, wine_vk_unwrap_handle(params
->objectType
, params
->objectHandle
), params
->privateDataSlot
, params
->data
);
40104 return STATUS_SUCCESS
;
40108 static NTSTATUS
thunk64_vkSignalSemaphore(void *args
)
40110 struct vkSignalSemaphore_params
*params
= args
;
40112 TRACE("%p, %p\n", params
->device
, params
->pSignalInfo
);
40114 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSignalSemaphore(wine_device_from_handle(params
->device
)->device
, params
->pSignalInfo
);
40115 return STATUS_SUCCESS
;
40117 #endif /* _WIN64 */
40119 static NTSTATUS
thunk32_vkSignalSemaphore(void *args
)
40127 VkSemaphoreSignalInfo pSignalInfo_host
;
40129 TRACE("%#x, %#x\n", params
->device
, params
->pSignalInfo
);
40131 convert_VkSemaphoreSignalInfo_win32_to_host((const VkSemaphoreSignalInfo32
*)UlongToPtr(params
->pSignalInfo
), &pSignalInfo_host
);
40132 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkSignalSemaphore(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pSignalInfo_host
);
40133 return STATUS_SUCCESS
;
40137 static NTSTATUS
thunk64_vkSignalSemaphoreKHR(void *args
)
40139 struct vkSignalSemaphoreKHR_params
*params
= args
;
40141 TRACE("%p, %p\n", params
->device
, params
->pSignalInfo
);
40143 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkSignalSemaphoreKHR(wine_device_from_handle(params
->device
)->device
, params
->pSignalInfo
);
40144 return STATUS_SUCCESS
;
40146 #endif /* _WIN64 */
40148 static NTSTATUS
thunk32_vkSignalSemaphoreKHR(void *args
)
40156 VkSemaphoreSignalInfo pSignalInfo_host
;
40158 TRACE("%#x, %#x\n", params
->device
, params
->pSignalInfo
);
40160 convert_VkSemaphoreSignalInfo_win32_to_host((const VkSemaphoreSignalInfo32
*)UlongToPtr(params
->pSignalInfo
), &pSignalInfo_host
);
40161 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkSignalSemaphoreKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pSignalInfo_host
);
40162 return STATUS_SUCCESS
;
40166 static NTSTATUS
thunk64_vkSubmitDebugUtilsMessageEXT(void *args
)
40168 struct vkSubmitDebugUtilsMessageEXT_params
*params
= args
;
40169 VkDebugUtilsMessengerCallbackDataEXT pCallbackData_host
;
40170 struct conversion_context ctx
;
40172 TRACE("%p, %#x, %#x, %p\n", params
->instance
, params
->messageSeverity
, params
->messageTypes
, params
->pCallbackData
);
40174 init_conversion_context(&ctx
);
40175 convert_VkDebugUtilsMessengerCallbackDataEXT_win64_to_host(&ctx
, params
->pCallbackData
, &pCallbackData_host
);
40176 wine_instance_from_handle(params
->instance
)->funcs
.p_vkSubmitDebugUtilsMessageEXT(wine_instance_from_handle(params
->instance
)->instance
, params
->messageSeverity
, params
->messageTypes
, &pCallbackData_host
);
40177 free_conversion_context(&ctx
);
40178 return STATUS_SUCCESS
;
40180 #endif /* _WIN64 */
40182 static NTSTATUS
thunk32_vkSubmitDebugUtilsMessageEXT(void *args
)
40187 VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity
;
40188 VkDebugUtilsMessageTypeFlagsEXT messageTypes
;
40189 PTR32 pCallbackData
;
40191 VkDebugUtilsMessengerCallbackDataEXT pCallbackData_host
;
40192 struct conversion_context ctx
;
40194 TRACE("%#x, %#x, %#x, %#x\n", params
->instance
, params
->messageSeverity
, params
->messageTypes
, params
->pCallbackData
);
40196 init_conversion_context(&ctx
);
40197 convert_VkDebugUtilsMessengerCallbackDataEXT_win32_to_host(&ctx
, (const VkDebugUtilsMessengerCallbackDataEXT32
*)UlongToPtr(params
->pCallbackData
), &pCallbackData_host
);
40198 wine_instance_from_handle((VkInstance
)UlongToPtr(params
->instance
))->funcs
.p_vkSubmitDebugUtilsMessageEXT(wine_instance_from_handle((VkInstance
)UlongToPtr(params
->instance
))->instance
, params
->messageSeverity
, params
->messageTypes
, &pCallbackData_host
);
40199 free_conversion_context(&ctx
);
40200 return STATUS_SUCCESS
;
40204 static NTSTATUS
thunk64_vkTrimCommandPool(void *args
)
40206 struct vkTrimCommandPool_params
*params
= args
;
40208 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
40210 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
);
40211 return STATUS_SUCCESS
;
40213 #endif /* _WIN64 */
40215 static NTSTATUS
thunk32_vkTrimCommandPool(void *args
)
40220 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
40221 VkCommandPoolTrimFlags flags
;
40224 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
40226 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkTrimCommandPool(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, wine_cmd_pool_from_handle(params
->commandPool
)->command_pool
, params
->flags
);
40227 return STATUS_SUCCESS
;
40231 static NTSTATUS
thunk64_vkTrimCommandPoolKHR(void *args
)
40233 struct vkTrimCommandPoolKHR_params
*params
= args
;
40235 TRACE("%p, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
40237 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
);
40238 return STATUS_SUCCESS
;
40240 #endif /* _WIN64 */
40242 static NTSTATUS
thunk32_vkTrimCommandPoolKHR(void *args
)
40247 VkCommandPool
DECLSPEC_ALIGN(8) commandPool
;
40248 VkCommandPoolTrimFlags flags
;
40251 TRACE("%#x, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->commandPool
), params
->flags
);
40253 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkTrimCommandPoolKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, wine_cmd_pool_from_handle(params
->commandPool
)->command_pool
, params
->flags
);
40254 return STATUS_SUCCESS
;
40258 static NTSTATUS
thunk64_vkUninitializePerformanceApiINTEL(void *args
)
40260 struct vkUninitializePerformanceApiINTEL_params
*params
= args
;
40262 TRACE("%p\n", params
->device
);
40264 wine_device_from_handle(params
->device
)->funcs
.p_vkUninitializePerformanceApiINTEL(wine_device_from_handle(params
->device
)->device
);
40265 return STATUS_SUCCESS
;
40267 #endif /* _WIN64 */
40269 static NTSTATUS
thunk32_vkUninitializePerformanceApiINTEL(void *args
)
40276 TRACE("%#x\n", params
->device
);
40278 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkUninitializePerformanceApiINTEL(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
);
40279 return STATUS_SUCCESS
;
40283 static NTSTATUS
thunk64_vkUnmapMemory(void *args
)
40285 struct vkUnmapMemory_params
*params
= args
;
40287 TRACE("%p, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->memory
));
40289 wine_device_from_handle(params
->device
)->funcs
.p_vkUnmapMemory(wine_device_from_handle(params
->device
)->device
, params
->memory
);
40290 return STATUS_SUCCESS
;
40292 #endif /* _WIN64 */
40294 static NTSTATUS
thunk32_vkUnmapMemory(void *args
)
40299 VkDeviceMemory
DECLSPEC_ALIGN(8) memory
;
40302 TRACE("%#x, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->memory
));
40304 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkUnmapMemory(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->memory
);
40305 return STATUS_SUCCESS
;
40309 static NTSTATUS
thunk64_vkUpdateDescriptorSetWithTemplate(void *args
)
40311 struct vkUpdateDescriptorSetWithTemplate_params
*params
= args
;
40313 TRACE("%p, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pData
);
40315 wine_device_from_handle(params
->device
)->funcs
.p_vkUpdateDescriptorSetWithTemplate(wine_device_from_handle(params
->device
)->device
, params
->descriptorSet
, params
->descriptorUpdateTemplate
, params
->pData
);
40316 return STATUS_SUCCESS
;
40318 #endif /* _WIN64 */
40320 static NTSTATUS
thunk32_vkUpdateDescriptorSetWithTemplate(void *args
)
40325 VkDescriptorSet
DECLSPEC_ALIGN(8) descriptorSet
;
40326 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
40330 TRACE("%#x, 0x%s, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pData
);
40332 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkUpdateDescriptorSetWithTemplate(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorSet
, params
->descriptorUpdateTemplate
, (const void *)UlongToPtr(params
->pData
));
40333 return STATUS_SUCCESS
;
40337 static NTSTATUS
thunk64_vkUpdateDescriptorSetWithTemplateKHR(void *args
)
40339 struct vkUpdateDescriptorSetWithTemplateKHR_params
*params
= args
;
40341 TRACE("%p, 0x%s, 0x%s, %p\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pData
);
40343 wine_device_from_handle(params
->device
)->funcs
.p_vkUpdateDescriptorSetWithTemplateKHR(wine_device_from_handle(params
->device
)->device
, params
->descriptorSet
, params
->descriptorUpdateTemplate
, params
->pData
);
40344 return STATUS_SUCCESS
;
40346 #endif /* _WIN64 */
40348 static NTSTATUS
thunk32_vkUpdateDescriptorSetWithTemplateKHR(void *args
)
40353 VkDescriptorSet
DECLSPEC_ALIGN(8) descriptorSet
;
40354 VkDescriptorUpdateTemplate
DECLSPEC_ALIGN(8) descriptorUpdateTemplate
;
40358 TRACE("%#x, 0x%s, 0x%s, %#x\n", params
->device
, wine_dbgstr_longlong(params
->descriptorSet
), wine_dbgstr_longlong(params
->descriptorUpdateTemplate
), params
->pData
);
40360 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkUpdateDescriptorSetWithTemplateKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorSet
, params
->descriptorUpdateTemplate
, (const void *)UlongToPtr(params
->pData
));
40361 return STATUS_SUCCESS
;
40365 static NTSTATUS
thunk64_vkUpdateDescriptorSets(void *args
)
40367 struct vkUpdateDescriptorSets_params
*params
= args
;
40369 TRACE("%p, %u, %p, %u, %p\n", params
->device
, params
->descriptorWriteCount
, params
->pDescriptorWrites
, params
->descriptorCopyCount
, params
->pDescriptorCopies
);
40371 wine_device_from_handle(params
->device
)->funcs
.p_vkUpdateDescriptorSets(wine_device_from_handle(params
->device
)->device
, params
->descriptorWriteCount
, params
->pDescriptorWrites
, params
->descriptorCopyCount
, params
->pDescriptorCopies
);
40372 return STATUS_SUCCESS
;
40374 #endif /* _WIN64 */
40376 static NTSTATUS
thunk32_vkUpdateDescriptorSets(void *args
)
40381 uint32_t descriptorWriteCount
;
40382 PTR32 pDescriptorWrites
;
40383 uint32_t descriptorCopyCount
;
40384 PTR32 pDescriptorCopies
;
40386 const VkWriteDescriptorSet
*pDescriptorWrites_host
;
40387 const VkCopyDescriptorSet
*pDescriptorCopies_host
;
40388 struct conversion_context ctx
;
40390 TRACE("%#x, %u, %#x, %u, %#x\n", params
->device
, params
->descriptorWriteCount
, params
->pDescriptorWrites
, params
->descriptorCopyCount
, params
->pDescriptorCopies
);
40392 init_conversion_context(&ctx
);
40393 pDescriptorWrites_host
= convert_VkWriteDescriptorSet_array_win32_to_host(&ctx
, (const VkWriteDescriptorSet32
*)UlongToPtr(params
->pDescriptorWrites
), params
->descriptorWriteCount
);
40394 pDescriptorCopies_host
= convert_VkCopyDescriptorSet_array_win32_to_host(&ctx
, (const VkCopyDescriptorSet32
*)UlongToPtr(params
->pDescriptorCopies
), params
->descriptorCopyCount
);
40395 wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkUpdateDescriptorSets(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->descriptorWriteCount
, pDescriptorWrites_host
, params
->descriptorCopyCount
, pDescriptorCopies_host
);
40396 free_conversion_context(&ctx
);
40397 return STATUS_SUCCESS
;
40401 static NTSTATUS
thunk64_vkWaitForFences(void *args
)
40403 struct vkWaitForFences_params
*params
= args
;
40405 TRACE("%p, %u, %p, %u, 0x%s\n", params
->device
, params
->fenceCount
, params
->pFences
, params
->waitAll
, wine_dbgstr_longlong(params
->timeout
));
40407 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
);
40408 return STATUS_SUCCESS
;
40410 #endif /* _WIN64 */
40412 static NTSTATUS
thunk32_vkWaitForFences(void *args
)
40417 uint32_t fenceCount
;
40420 uint64_t DECLSPEC_ALIGN(8) timeout
;
40424 TRACE("%#x, %u, %#x, %u, 0x%s\n", params
->device
, params
->fenceCount
, params
->pFences
, params
->waitAll
, wine_dbgstr_longlong(params
->timeout
));
40426 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkWaitForFences(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->fenceCount
, (const VkFence
*)UlongToPtr(params
->pFences
), params
->waitAll
, params
->timeout
);
40427 return STATUS_SUCCESS
;
40431 static NTSTATUS
thunk64_vkWaitForPresentKHR(void *args
)
40433 struct vkWaitForPresentKHR_params
*params
= args
;
40435 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
));
40437 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitForPresentKHR(wine_device_from_handle(params
->device
)->device
, params
->swapchain
, params
->presentId
, params
->timeout
);
40438 return STATUS_SUCCESS
;
40440 #endif /* _WIN64 */
40442 static NTSTATUS
thunk32_vkWaitForPresentKHR(void *args
)
40447 VkSwapchainKHR
DECLSPEC_ALIGN(8) swapchain
;
40448 uint64_t DECLSPEC_ALIGN(8) presentId
;
40449 uint64_t DECLSPEC_ALIGN(8) timeout
;
40453 TRACE("%#x, 0x%s, 0x%s, 0x%s\n", params
->device
, wine_dbgstr_longlong(params
->swapchain
), wine_dbgstr_longlong(params
->presentId
), wine_dbgstr_longlong(params
->timeout
));
40455 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkWaitForPresentKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->swapchain
, params
->presentId
, params
->timeout
);
40456 return STATUS_SUCCESS
;
40460 static NTSTATUS
thunk64_vkWaitSemaphores(void *args
)
40462 struct vkWaitSemaphores_params
*params
= args
;
40464 TRACE("%p, %p, 0x%s\n", params
->device
, params
->pWaitInfo
, wine_dbgstr_longlong(params
->timeout
));
40466 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitSemaphores(wine_device_from_handle(params
->device
)->device
, params
->pWaitInfo
, params
->timeout
);
40467 return STATUS_SUCCESS
;
40469 #endif /* _WIN64 */
40471 static NTSTATUS
thunk32_vkWaitSemaphores(void *args
)
40477 uint64_t DECLSPEC_ALIGN(8) timeout
;
40480 VkSemaphoreWaitInfo pWaitInfo_host
;
40482 TRACE("%#x, %#x, 0x%s\n", params
->device
, params
->pWaitInfo
, wine_dbgstr_longlong(params
->timeout
));
40484 convert_VkSemaphoreWaitInfo_win32_to_host((const VkSemaphoreWaitInfo32
*)UlongToPtr(params
->pWaitInfo
), &pWaitInfo_host
);
40485 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkWaitSemaphores(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pWaitInfo_host
, params
->timeout
);
40486 return STATUS_SUCCESS
;
40490 static NTSTATUS
thunk64_vkWaitSemaphoresKHR(void *args
)
40492 struct vkWaitSemaphoresKHR_params
*params
= args
;
40494 TRACE("%p, %p, 0x%s\n", params
->device
, params
->pWaitInfo
, wine_dbgstr_longlong(params
->timeout
));
40496 params
->result
= wine_device_from_handle(params
->device
)->funcs
.p_vkWaitSemaphoresKHR(wine_device_from_handle(params
->device
)->device
, params
->pWaitInfo
, params
->timeout
);
40497 return STATUS_SUCCESS
;
40499 #endif /* _WIN64 */
40501 static NTSTATUS
thunk32_vkWaitSemaphoresKHR(void *args
)
40507 uint64_t DECLSPEC_ALIGN(8) timeout
;
40510 VkSemaphoreWaitInfo pWaitInfo_host
;
40512 TRACE("%#x, %#x, 0x%s\n", params
->device
, params
->pWaitInfo
, wine_dbgstr_longlong(params
->timeout
));
40514 convert_VkSemaphoreWaitInfo_win32_to_host((const VkSemaphoreWaitInfo32
*)UlongToPtr(params
->pWaitInfo
), &pWaitInfo_host
);
40515 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkWaitSemaphoresKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, &pWaitInfo_host
, params
->timeout
);
40516 return STATUS_SUCCESS
;
40520 static NTSTATUS
thunk64_vkWriteAccelerationStructuresPropertiesKHR(void *args
)
40522 struct vkWriteAccelerationStructuresPropertiesKHR_params
*params
= args
;
40524 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
));
40526 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
);
40527 return STATUS_SUCCESS
;
40529 #endif /* _WIN64 */
40531 static NTSTATUS
thunk32_vkWriteAccelerationStructuresPropertiesKHR(void *args
)
40536 uint32_t accelerationStructureCount
;
40537 PTR32 pAccelerationStructures
;
40538 VkQueryType queryType
;
40545 TRACE("%#x, %u, %#x, %#x, 0x%s, %#x, 0x%s\n", params
->device
, params
->accelerationStructureCount
, params
->pAccelerationStructures
, params
->queryType
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
, wine_dbgstr_longlong(params
->stride
));
40547 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkWriteAccelerationStructuresPropertiesKHR(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->accelerationStructureCount
, (const VkAccelerationStructureKHR
*)UlongToPtr(params
->pAccelerationStructures
), params
->queryType
, params
->dataSize
, (void *)UlongToPtr(params
->pData
), params
->stride
);
40548 return STATUS_SUCCESS
;
40552 static NTSTATUS
thunk64_vkWriteMicromapsPropertiesEXT(void *args
)
40554 struct vkWriteMicromapsPropertiesEXT_params
*params
= args
;
40556 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
));
40558 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
);
40559 return STATUS_SUCCESS
;
40561 #endif /* _WIN64 */
40563 static NTSTATUS
thunk32_vkWriteMicromapsPropertiesEXT(void *args
)
40568 uint32_t micromapCount
;
40570 VkQueryType queryType
;
40577 TRACE("%#x, %u, %#x, %#x, 0x%s, %#x, 0x%s\n", params
->device
, params
->micromapCount
, params
->pMicromaps
, params
->queryType
, wine_dbgstr_longlong(params
->dataSize
), params
->pData
, wine_dbgstr_longlong(params
->stride
));
40579 params
->result
= wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->funcs
.p_vkWriteMicromapsPropertiesEXT(wine_device_from_handle((VkDevice
)UlongToPtr(params
->device
))->device
, params
->micromapCount
, (const VkMicromapEXT
*)UlongToPtr(params
->pMicromaps
), params
->queryType
, params
->dataSize
, (void *)UlongToPtr(params
->pData
), params
->stride
);
40580 return STATUS_SUCCESS
;
40583 static const char * const vk_device_extensions
[] =
40585 "VK_AMD_buffer_marker",
40586 "VK_AMD_device_coherent_memory",
40587 "VK_AMD_draw_indirect_count",
40588 "VK_AMD_gcn_shader",
40589 "VK_AMD_gpu_shader_half_float",
40590 "VK_AMD_gpu_shader_int16",
40591 "VK_AMD_memory_overallocation_behavior",
40592 "VK_AMD_mixed_attachment_samples",
40593 "VK_AMD_negative_viewport_height",
40594 "VK_AMD_pipeline_compiler_control",
40595 "VK_AMD_rasterization_order",
40596 "VK_AMD_shader_ballot",
40597 "VK_AMD_shader_core_properties",
40598 "VK_AMD_shader_core_properties2",
40599 "VK_AMD_shader_early_and_late_fragment_tests",
40600 "VK_AMD_shader_explicit_vertex_parameter",
40601 "VK_AMD_shader_fragment_mask",
40602 "VK_AMD_shader_image_load_store_lod",
40603 "VK_AMD_shader_info",
40604 "VK_AMD_shader_trinary_minmax",
40605 "VK_AMD_texture_gather_bias_lod",
40606 "VK_ARM_rasterization_order_attachment_access",
40607 "VK_ARM_shader_core_builtins",
40608 "VK_EXT_4444_formats",
40609 "VK_EXT_astc_decode_mode",
40610 "VK_EXT_attachment_feedback_loop_layout",
40611 "VK_EXT_blend_operation_advanced",
40612 "VK_EXT_border_color_swizzle",
40613 "VK_EXT_buffer_device_address",
40614 "VK_EXT_calibrated_timestamps",
40615 "VK_EXT_color_write_enable",
40616 "VK_EXT_conditional_rendering",
40617 "VK_EXT_conservative_rasterization",
40618 "VK_EXT_custom_border_color",
40619 "VK_EXT_debug_marker",
40620 "VK_EXT_depth_clamp_zero_one",
40621 "VK_EXT_depth_clip_control",
40622 "VK_EXT_depth_clip_enable",
40623 "VK_EXT_depth_range_unrestricted",
40624 "VK_EXT_descriptor_buffer",
40625 "VK_EXT_descriptor_indexing",
40626 "VK_EXT_device_address_binding_report",
40627 "VK_EXT_device_fault",
40628 "VK_EXT_discard_rectangles",
40629 "VK_EXT_extended_dynamic_state",
40630 "VK_EXT_extended_dynamic_state2",
40631 "VK_EXT_extended_dynamic_state3",
40632 "VK_EXT_external_memory_host",
40633 "VK_EXT_filter_cubic",
40634 "VK_EXT_fragment_density_map",
40635 "VK_EXT_fragment_density_map2",
40636 "VK_EXT_fragment_shader_interlock",
40637 "VK_EXT_global_priority",
40638 "VK_EXT_global_priority_query",
40639 "VK_EXT_graphics_pipeline_library",
40640 "VK_EXT_host_query_reset",
40641 "VK_EXT_image_2d_view_of_3d",
40642 "VK_EXT_image_compression_control",
40643 "VK_EXT_image_compression_control_swapchain",
40644 "VK_EXT_image_robustness",
40645 "VK_EXT_image_view_min_lod",
40646 "VK_EXT_index_type_uint8",
40647 "VK_EXT_inline_uniform_block",
40648 "VK_EXT_legacy_dithering",
40649 "VK_EXT_line_rasterization",
40650 "VK_EXT_load_store_op_none",
40651 "VK_EXT_memory_budget",
40652 "VK_EXT_memory_priority",
40653 "VK_EXT_mesh_shader",
40654 "VK_EXT_multi_draw",
40655 "VK_EXT_multisampled_render_to_single_sampled",
40656 "VK_EXT_mutable_descriptor_type",
40657 "VK_EXT_non_seamless_cube_map",
40658 "VK_EXT_opacity_micromap",
40659 "VK_EXT_pageable_device_local_memory",
40660 "VK_EXT_pci_bus_info",
40661 "VK_EXT_pipeline_creation_cache_control",
40662 "VK_EXT_pipeline_creation_feedback",
40663 "VK_EXT_pipeline_properties",
40664 "VK_EXT_pipeline_protected_access",
40665 "VK_EXT_pipeline_robustness",
40666 "VK_EXT_post_depth_coverage",
40667 "VK_EXT_primitive_topology_list_restart",
40668 "VK_EXT_primitives_generated_query",
40669 "VK_EXT_private_data",
40670 "VK_EXT_provoking_vertex",
40671 "VK_EXT_queue_family_foreign",
40672 "VK_EXT_rasterization_order_attachment_access",
40673 "VK_EXT_rgba10x6_formats",
40674 "VK_EXT_robustness2",
40675 "VK_EXT_sample_locations",
40676 "VK_EXT_sampler_filter_minmax",
40677 "VK_EXT_scalar_block_layout",
40678 "VK_EXT_separate_stencil_usage",
40679 "VK_EXT_shader_atomic_float",
40680 "VK_EXT_shader_atomic_float2",
40681 "VK_EXT_shader_demote_to_helper_invocation",
40682 "VK_EXT_shader_image_atomic_int64",
40683 "VK_EXT_shader_module_identifier",
40684 "VK_EXT_shader_stencil_export",
40685 "VK_EXT_shader_subgroup_ballot",
40686 "VK_EXT_shader_subgroup_vote",
40687 "VK_EXT_shader_viewport_index_layer",
40688 "VK_EXT_subgroup_size_control",
40689 "VK_EXT_subpass_merge_feedback",
40690 "VK_EXT_texel_buffer_alignment",
40691 "VK_EXT_texture_compression_astc_hdr",
40692 "VK_EXT_tooling_info",
40693 "VK_EXT_transform_feedback",
40694 "VK_EXT_validation_cache",
40695 "VK_EXT_vertex_attribute_divisor",
40696 "VK_EXT_vertex_input_dynamic_state",
40697 "VK_EXT_ycbcr_2plane_444_formats",
40698 "VK_EXT_ycbcr_image_arrays",
40699 "VK_GOOGLE_decorate_string",
40700 "VK_GOOGLE_hlsl_functionality1",
40701 "VK_GOOGLE_user_type",
40702 "VK_HUAWEI_invocation_mask",
40703 "VK_HUAWEI_subpass_shading",
40704 "VK_IMG_filter_cubic",
40705 "VK_IMG_format_pvrtc",
40706 "VK_INTEL_performance_query",
40707 "VK_INTEL_shader_integer_functions2",
40708 "VK_KHR_16bit_storage",
40709 "VK_KHR_8bit_storage",
40710 "VK_KHR_acceleration_structure",
40711 "VK_KHR_bind_memory2",
40712 "VK_KHR_buffer_device_address",
40713 "VK_KHR_copy_commands2",
40714 "VK_KHR_create_renderpass2",
40715 "VK_KHR_dedicated_allocation",
40716 "VK_KHR_deferred_host_operations",
40717 "VK_KHR_depth_stencil_resolve",
40718 "VK_KHR_descriptor_update_template",
40719 "VK_KHR_device_group",
40720 "VK_KHR_draw_indirect_count",
40721 "VK_KHR_driver_properties",
40722 "VK_KHR_dynamic_rendering",
40723 "VK_KHR_external_fence",
40724 "VK_KHR_external_memory",
40725 "VK_KHR_external_semaphore",
40726 "VK_KHR_format_feature_flags2",
40727 "VK_KHR_fragment_shader_barycentric",
40728 "VK_KHR_fragment_shading_rate",
40729 "VK_KHR_get_memory_requirements2",
40730 "VK_KHR_global_priority",
40731 "VK_KHR_image_format_list",
40732 "VK_KHR_imageless_framebuffer",
40733 "VK_KHR_incremental_present",
40734 "VK_KHR_maintenance1",
40735 "VK_KHR_maintenance2",
40736 "VK_KHR_maintenance3",
40737 "VK_KHR_maintenance4",
40738 "VK_KHR_multiview",
40739 "VK_KHR_performance_query",
40740 "VK_KHR_pipeline_executable_properties",
40741 "VK_KHR_pipeline_library",
40742 "VK_KHR_present_id",
40743 "VK_KHR_present_wait",
40744 "VK_KHR_push_descriptor",
40745 "VK_KHR_ray_query",
40746 "VK_KHR_ray_tracing_maintenance1",
40747 "VK_KHR_ray_tracing_pipeline",
40748 "VK_KHR_relaxed_block_layout",
40749 "VK_KHR_sampler_mirror_clamp_to_edge",
40750 "VK_KHR_sampler_ycbcr_conversion",
40751 "VK_KHR_separate_depth_stencil_layouts",
40752 "VK_KHR_shader_atomic_int64",
40753 "VK_KHR_shader_clock",
40754 "VK_KHR_shader_draw_parameters",
40755 "VK_KHR_shader_float16_int8",
40756 "VK_KHR_shader_float_controls",
40757 "VK_KHR_shader_integer_dot_product",
40758 "VK_KHR_shader_non_semantic_info",
40759 "VK_KHR_shader_subgroup_extended_types",
40760 "VK_KHR_shader_subgroup_uniform_control_flow",
40761 "VK_KHR_shader_terminate_invocation",
40762 "VK_KHR_spirv_1_4",
40763 "VK_KHR_storage_buffer_storage_class",
40764 "VK_KHR_swapchain",
40765 "VK_KHR_swapchain_mutable_format",
40766 "VK_KHR_synchronization2",
40767 "VK_KHR_timeline_semaphore",
40768 "VK_KHR_uniform_buffer_standard_layout",
40769 "VK_KHR_variable_pointers",
40770 "VK_KHR_vulkan_memory_model",
40771 "VK_KHR_workgroup_memory_explicit_layout",
40772 "VK_KHR_zero_initialize_workgroup_memory",
40773 "VK_NVX_binary_import",
40774 "VK_NVX_image_view_handle",
40775 "VK_NV_clip_space_w_scaling",
40776 "VK_NV_compute_shader_derivatives",
40777 "VK_NV_cooperative_matrix",
40778 "VK_NV_copy_memory_indirect",
40779 "VK_NV_corner_sampled_image",
40780 "VK_NV_coverage_reduction_mode",
40781 "VK_NV_dedicated_allocation",
40782 "VK_NV_dedicated_allocation_image_aliasing",
40783 "VK_NV_device_diagnostic_checkpoints",
40784 "VK_NV_device_diagnostics_config",
40785 "VK_NV_device_generated_commands",
40786 "VK_NV_fill_rectangle",
40787 "VK_NV_fragment_coverage_to_color",
40788 "VK_NV_fragment_shader_barycentric",
40789 "VK_NV_fragment_shading_rate_enums",
40790 "VK_NV_framebuffer_mixed_samples",
40791 "VK_NV_geometry_shader_passthrough",
40792 "VK_NV_glsl_shader",
40793 "VK_NV_inherited_viewport_scissor",
40794 "VK_NV_linear_color_attachment",
40795 "VK_NV_memory_decompression",
40796 "VK_NV_mesh_shader",
40797 "VK_NV_optical_flow",
40798 "VK_NV_present_barrier",
40799 "VK_NV_ray_tracing",
40800 "VK_NV_ray_tracing_invocation_reorder",
40801 "VK_NV_ray_tracing_motion_blur",
40802 "VK_NV_representative_fragment_test",
40803 "VK_NV_sample_mask_override_coverage",
40804 "VK_NV_scissor_exclusive",
40805 "VK_NV_shader_image_footprint",
40806 "VK_NV_shader_sm_builtins",
40807 "VK_NV_shader_subgroup_partitioned",
40808 "VK_NV_shading_rate_image",
40809 "VK_NV_viewport_array2",
40810 "VK_NV_viewport_swizzle",
40811 "VK_QCOM_fragment_density_map_offset",
40812 "VK_QCOM_image_processing",
40813 "VK_QCOM_render_pass_shader_resolve",
40814 "VK_QCOM_render_pass_store_ops",
40815 "VK_QCOM_render_pass_transform",
40816 "VK_QCOM_rotated_copy_commands",
40817 "VK_QCOM_tile_properties",
40818 "VK_VALVE_descriptor_set_host_mapping",
40819 "VK_VALVE_mutable_descriptor_type",
40822 static const char * const vk_instance_extensions
[] =
40824 "VK_EXT_debug_report",
40825 "VK_EXT_debug_utils",
40826 "VK_EXT_swapchain_colorspace",
40827 "VK_EXT_validation_features",
40828 "VK_EXT_validation_flags",
40829 "VK_KHR_device_group_creation",
40830 "VK_KHR_external_fence_capabilities",
40831 "VK_KHR_external_memory_capabilities",
40832 "VK_KHR_external_semaphore_capabilities",
40833 "VK_KHR_get_physical_device_properties2",
40834 "VK_KHR_get_surface_capabilities2",
40835 "VK_KHR_portability_enumeration",
40837 "VK_KHR_win32_surface",
40840 BOOL
wine_vk_device_extension_supported(const char *name
)
40843 for (i
= 0; i
< ARRAY_SIZE(vk_device_extensions
); i
++)
40845 if (strcmp(vk_device_extensions
[i
], name
) == 0)
40851 BOOL
wine_vk_instance_extension_supported(const char *name
)
40854 for (i
= 0; i
< ARRAY_SIZE(vk_instance_extensions
); i
++)
40856 if (strcmp(vk_instance_extensions
[i
], name
) == 0)
40862 BOOL
wine_vk_is_type_wrapped(VkObjectType type
)
40865 type
== VK_OBJECT_TYPE_COMMAND_BUFFER
||
40866 type
== VK_OBJECT_TYPE_COMMAND_POOL
||
40867 type
== VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT
||
40868 type
== VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT
||
40869 type
== VK_OBJECT_TYPE_DEVICE
||
40870 type
== VK_OBJECT_TYPE_INSTANCE
||
40871 type
== VK_OBJECT_TYPE_PHYSICAL_DEVICE
||
40872 type
== VK_OBJECT_TYPE_QUEUE
||
40873 type
== VK_OBJECT_TYPE_SURFACE_KHR
;
40878 const unixlib_entry_t __wine_unix_call_funcs
[] =
40881 vk_is_available_instance_function
,
40882 vk_is_available_device_function
,
40883 thunk64_vkAcquireNextImage2KHR
,
40884 thunk64_vkAcquireNextImageKHR
,
40885 thunk64_vkAcquirePerformanceConfigurationINTEL
,
40886 thunk64_vkAcquireProfilingLockKHR
,
40887 thunk64_vkAllocateCommandBuffers
,
40888 thunk64_vkAllocateDescriptorSets
,
40889 thunk64_vkAllocateMemory
,
40890 thunk64_vkBeginCommandBuffer
,
40891 thunk64_vkBindAccelerationStructureMemoryNV
,
40892 thunk64_vkBindBufferMemory
,
40893 thunk64_vkBindBufferMemory2
,
40894 thunk64_vkBindBufferMemory2KHR
,
40895 thunk64_vkBindImageMemory
,
40896 thunk64_vkBindImageMemory2
,
40897 thunk64_vkBindImageMemory2KHR
,
40898 thunk64_vkBindOpticalFlowSessionImageNV
,
40899 thunk64_vkBuildAccelerationStructuresKHR
,
40900 thunk64_vkBuildMicromapsEXT
,
40901 thunk64_vkCmdBeginConditionalRenderingEXT
,
40902 thunk64_vkCmdBeginDebugUtilsLabelEXT
,
40903 thunk64_vkCmdBeginQuery
,
40904 thunk64_vkCmdBeginQueryIndexedEXT
,
40905 thunk64_vkCmdBeginRenderPass
,
40906 thunk64_vkCmdBeginRenderPass2
,
40907 thunk64_vkCmdBeginRenderPass2KHR
,
40908 thunk64_vkCmdBeginRendering
,
40909 thunk64_vkCmdBeginRenderingKHR
,
40910 thunk64_vkCmdBeginTransformFeedbackEXT
,
40911 thunk64_vkCmdBindDescriptorBufferEmbeddedSamplersEXT
,
40912 thunk64_vkCmdBindDescriptorBuffersEXT
,
40913 thunk64_vkCmdBindDescriptorSets
,
40914 thunk64_vkCmdBindIndexBuffer
,
40915 thunk64_vkCmdBindInvocationMaskHUAWEI
,
40916 thunk64_vkCmdBindPipeline
,
40917 thunk64_vkCmdBindPipelineShaderGroupNV
,
40918 thunk64_vkCmdBindShadingRateImageNV
,
40919 thunk64_vkCmdBindTransformFeedbackBuffersEXT
,
40920 thunk64_vkCmdBindVertexBuffers
,
40921 thunk64_vkCmdBindVertexBuffers2
,
40922 thunk64_vkCmdBindVertexBuffers2EXT
,
40923 thunk64_vkCmdBlitImage
,
40924 thunk64_vkCmdBlitImage2
,
40925 thunk64_vkCmdBlitImage2KHR
,
40926 thunk64_vkCmdBuildAccelerationStructureNV
,
40927 thunk64_vkCmdBuildAccelerationStructuresIndirectKHR
,
40928 thunk64_vkCmdBuildAccelerationStructuresKHR
,
40929 thunk64_vkCmdBuildMicromapsEXT
,
40930 thunk64_vkCmdClearAttachments
,
40931 thunk64_vkCmdClearColorImage
,
40932 thunk64_vkCmdClearDepthStencilImage
,
40933 thunk64_vkCmdCopyAccelerationStructureKHR
,
40934 thunk64_vkCmdCopyAccelerationStructureNV
,
40935 thunk64_vkCmdCopyAccelerationStructureToMemoryKHR
,
40936 thunk64_vkCmdCopyBuffer
,
40937 thunk64_vkCmdCopyBuffer2
,
40938 thunk64_vkCmdCopyBuffer2KHR
,
40939 thunk64_vkCmdCopyBufferToImage
,
40940 thunk64_vkCmdCopyBufferToImage2
,
40941 thunk64_vkCmdCopyBufferToImage2KHR
,
40942 thunk64_vkCmdCopyImage
,
40943 thunk64_vkCmdCopyImage2
,
40944 thunk64_vkCmdCopyImage2KHR
,
40945 thunk64_vkCmdCopyImageToBuffer
,
40946 thunk64_vkCmdCopyImageToBuffer2
,
40947 thunk64_vkCmdCopyImageToBuffer2KHR
,
40948 thunk64_vkCmdCopyMemoryIndirectNV
,
40949 thunk64_vkCmdCopyMemoryToAccelerationStructureKHR
,
40950 thunk64_vkCmdCopyMemoryToImageIndirectNV
,
40951 thunk64_vkCmdCopyMemoryToMicromapEXT
,
40952 thunk64_vkCmdCopyMicromapEXT
,
40953 thunk64_vkCmdCopyMicromapToMemoryEXT
,
40954 thunk64_vkCmdCopyQueryPoolResults
,
40955 thunk64_vkCmdCuLaunchKernelNVX
,
40956 thunk64_vkCmdDebugMarkerBeginEXT
,
40957 thunk64_vkCmdDebugMarkerEndEXT
,
40958 thunk64_vkCmdDebugMarkerInsertEXT
,
40959 thunk64_vkCmdDecompressMemoryIndirectCountNV
,
40960 thunk64_vkCmdDecompressMemoryNV
,
40961 thunk64_vkCmdDispatch
,
40962 thunk64_vkCmdDispatchBase
,
40963 thunk64_vkCmdDispatchBaseKHR
,
40964 thunk64_vkCmdDispatchIndirect
,
40966 thunk64_vkCmdDrawIndexed
,
40967 thunk64_vkCmdDrawIndexedIndirect
,
40968 thunk64_vkCmdDrawIndexedIndirectCount
,
40969 thunk64_vkCmdDrawIndexedIndirectCountAMD
,
40970 thunk64_vkCmdDrawIndexedIndirectCountKHR
,
40971 thunk64_vkCmdDrawIndirect
,
40972 thunk64_vkCmdDrawIndirectByteCountEXT
,
40973 thunk64_vkCmdDrawIndirectCount
,
40974 thunk64_vkCmdDrawIndirectCountAMD
,
40975 thunk64_vkCmdDrawIndirectCountKHR
,
40976 thunk64_vkCmdDrawMeshTasksEXT
,
40977 thunk64_vkCmdDrawMeshTasksIndirectCountEXT
,
40978 thunk64_vkCmdDrawMeshTasksIndirectCountNV
,
40979 thunk64_vkCmdDrawMeshTasksIndirectEXT
,
40980 thunk64_vkCmdDrawMeshTasksIndirectNV
,
40981 thunk64_vkCmdDrawMeshTasksNV
,
40982 thunk64_vkCmdDrawMultiEXT
,
40983 thunk64_vkCmdDrawMultiIndexedEXT
,
40984 thunk64_vkCmdEndConditionalRenderingEXT
,
40985 thunk64_vkCmdEndDebugUtilsLabelEXT
,
40986 thunk64_vkCmdEndQuery
,
40987 thunk64_vkCmdEndQueryIndexedEXT
,
40988 thunk64_vkCmdEndRenderPass
,
40989 thunk64_vkCmdEndRenderPass2
,
40990 thunk64_vkCmdEndRenderPass2KHR
,
40991 thunk64_vkCmdEndRendering
,
40992 thunk64_vkCmdEndRenderingKHR
,
40993 thunk64_vkCmdEndTransformFeedbackEXT
,
40994 thunk64_vkCmdExecuteCommands
,
40995 thunk64_vkCmdExecuteGeneratedCommandsNV
,
40996 thunk64_vkCmdFillBuffer
,
40997 thunk64_vkCmdInsertDebugUtilsLabelEXT
,
40998 thunk64_vkCmdNextSubpass
,
40999 thunk64_vkCmdNextSubpass2
,
41000 thunk64_vkCmdNextSubpass2KHR
,
41001 thunk64_vkCmdOpticalFlowExecuteNV
,
41002 thunk64_vkCmdPipelineBarrier
,
41003 thunk64_vkCmdPipelineBarrier2
,
41004 thunk64_vkCmdPipelineBarrier2KHR
,
41005 thunk64_vkCmdPreprocessGeneratedCommandsNV
,
41006 thunk64_vkCmdPushConstants
,
41007 thunk64_vkCmdPushDescriptorSetKHR
,
41008 thunk64_vkCmdPushDescriptorSetWithTemplateKHR
,
41009 thunk64_vkCmdResetEvent
,
41010 thunk64_vkCmdResetEvent2
,
41011 thunk64_vkCmdResetEvent2KHR
,
41012 thunk64_vkCmdResetQueryPool
,
41013 thunk64_vkCmdResolveImage
,
41014 thunk64_vkCmdResolveImage2
,
41015 thunk64_vkCmdResolveImage2KHR
,
41016 thunk64_vkCmdSetAlphaToCoverageEnableEXT
,
41017 thunk64_vkCmdSetAlphaToOneEnableEXT
,
41018 thunk64_vkCmdSetBlendConstants
,
41019 thunk64_vkCmdSetCheckpointNV
,
41020 thunk64_vkCmdSetCoarseSampleOrderNV
,
41021 thunk64_vkCmdSetColorBlendAdvancedEXT
,
41022 thunk64_vkCmdSetColorBlendEnableEXT
,
41023 thunk64_vkCmdSetColorBlendEquationEXT
,
41024 thunk64_vkCmdSetColorWriteEnableEXT
,
41025 thunk64_vkCmdSetColorWriteMaskEXT
,
41026 thunk64_vkCmdSetConservativeRasterizationModeEXT
,
41027 thunk64_vkCmdSetCoverageModulationModeNV
,
41028 thunk64_vkCmdSetCoverageModulationTableEnableNV
,
41029 thunk64_vkCmdSetCoverageModulationTableNV
,
41030 thunk64_vkCmdSetCoverageReductionModeNV
,
41031 thunk64_vkCmdSetCoverageToColorEnableNV
,
41032 thunk64_vkCmdSetCoverageToColorLocationNV
,
41033 thunk64_vkCmdSetCullMode
,
41034 thunk64_vkCmdSetCullModeEXT
,
41035 thunk64_vkCmdSetDepthBias
,
41036 thunk64_vkCmdSetDepthBiasEnable
,
41037 thunk64_vkCmdSetDepthBiasEnableEXT
,
41038 thunk64_vkCmdSetDepthBounds
,
41039 thunk64_vkCmdSetDepthBoundsTestEnable
,
41040 thunk64_vkCmdSetDepthBoundsTestEnableEXT
,
41041 thunk64_vkCmdSetDepthClampEnableEXT
,
41042 thunk64_vkCmdSetDepthClipEnableEXT
,
41043 thunk64_vkCmdSetDepthClipNegativeOneToOneEXT
,
41044 thunk64_vkCmdSetDepthCompareOp
,
41045 thunk64_vkCmdSetDepthCompareOpEXT
,
41046 thunk64_vkCmdSetDepthTestEnable
,
41047 thunk64_vkCmdSetDepthTestEnableEXT
,
41048 thunk64_vkCmdSetDepthWriteEnable
,
41049 thunk64_vkCmdSetDepthWriteEnableEXT
,
41050 thunk64_vkCmdSetDescriptorBufferOffsetsEXT
,
41051 thunk64_vkCmdSetDeviceMask
,
41052 thunk64_vkCmdSetDeviceMaskKHR
,
41053 thunk64_vkCmdSetDiscardRectangleEXT
,
41054 thunk64_vkCmdSetEvent
,
41055 thunk64_vkCmdSetEvent2
,
41056 thunk64_vkCmdSetEvent2KHR
,
41057 thunk64_vkCmdSetExclusiveScissorNV
,
41058 thunk64_vkCmdSetExtraPrimitiveOverestimationSizeEXT
,
41059 thunk64_vkCmdSetFragmentShadingRateEnumNV
,
41060 thunk64_vkCmdSetFragmentShadingRateKHR
,
41061 thunk64_vkCmdSetFrontFace
,
41062 thunk64_vkCmdSetFrontFaceEXT
,
41063 thunk64_vkCmdSetLineRasterizationModeEXT
,
41064 thunk64_vkCmdSetLineStippleEXT
,
41065 thunk64_vkCmdSetLineStippleEnableEXT
,
41066 thunk64_vkCmdSetLineWidth
,
41067 thunk64_vkCmdSetLogicOpEXT
,
41068 thunk64_vkCmdSetLogicOpEnableEXT
,
41069 thunk64_vkCmdSetPatchControlPointsEXT
,
41070 thunk64_vkCmdSetPerformanceMarkerINTEL
,
41071 thunk64_vkCmdSetPerformanceOverrideINTEL
,
41072 thunk64_vkCmdSetPerformanceStreamMarkerINTEL
,
41073 thunk64_vkCmdSetPolygonModeEXT
,
41074 thunk64_vkCmdSetPrimitiveRestartEnable
,
41075 thunk64_vkCmdSetPrimitiveRestartEnableEXT
,
41076 thunk64_vkCmdSetPrimitiveTopology
,
41077 thunk64_vkCmdSetPrimitiveTopologyEXT
,
41078 thunk64_vkCmdSetProvokingVertexModeEXT
,
41079 thunk64_vkCmdSetRasterizationSamplesEXT
,
41080 thunk64_vkCmdSetRasterizationStreamEXT
,
41081 thunk64_vkCmdSetRasterizerDiscardEnable
,
41082 thunk64_vkCmdSetRasterizerDiscardEnableEXT
,
41083 thunk64_vkCmdSetRayTracingPipelineStackSizeKHR
,
41084 thunk64_vkCmdSetRepresentativeFragmentTestEnableNV
,
41085 thunk64_vkCmdSetSampleLocationsEXT
,
41086 thunk64_vkCmdSetSampleLocationsEnableEXT
,
41087 thunk64_vkCmdSetSampleMaskEXT
,
41088 thunk64_vkCmdSetScissor
,
41089 thunk64_vkCmdSetScissorWithCount
,
41090 thunk64_vkCmdSetScissorWithCountEXT
,
41091 thunk64_vkCmdSetShadingRateImageEnableNV
,
41092 thunk64_vkCmdSetStencilCompareMask
,
41093 thunk64_vkCmdSetStencilOp
,
41094 thunk64_vkCmdSetStencilOpEXT
,
41095 thunk64_vkCmdSetStencilReference
,
41096 thunk64_vkCmdSetStencilTestEnable
,
41097 thunk64_vkCmdSetStencilTestEnableEXT
,
41098 thunk64_vkCmdSetStencilWriteMask
,
41099 thunk64_vkCmdSetTessellationDomainOriginEXT
,
41100 thunk64_vkCmdSetVertexInputEXT
,
41101 thunk64_vkCmdSetViewport
,
41102 thunk64_vkCmdSetViewportShadingRatePaletteNV
,
41103 thunk64_vkCmdSetViewportSwizzleNV
,
41104 thunk64_vkCmdSetViewportWScalingEnableNV
,
41105 thunk64_vkCmdSetViewportWScalingNV
,
41106 thunk64_vkCmdSetViewportWithCount
,
41107 thunk64_vkCmdSetViewportWithCountEXT
,
41108 thunk64_vkCmdSubpassShadingHUAWEI
,
41109 thunk64_vkCmdTraceRaysIndirect2KHR
,
41110 thunk64_vkCmdTraceRaysIndirectKHR
,
41111 thunk64_vkCmdTraceRaysKHR
,
41112 thunk64_vkCmdTraceRaysNV
,
41113 thunk64_vkCmdUpdateBuffer
,
41114 thunk64_vkCmdWaitEvents
,
41115 thunk64_vkCmdWaitEvents2
,
41116 thunk64_vkCmdWaitEvents2KHR
,
41117 thunk64_vkCmdWriteAccelerationStructuresPropertiesKHR
,
41118 thunk64_vkCmdWriteAccelerationStructuresPropertiesNV
,
41119 thunk64_vkCmdWriteBufferMarker2AMD
,
41120 thunk64_vkCmdWriteBufferMarkerAMD
,
41121 thunk64_vkCmdWriteMicromapsPropertiesEXT
,
41122 thunk64_vkCmdWriteTimestamp
,
41123 thunk64_vkCmdWriteTimestamp2
,
41124 thunk64_vkCmdWriteTimestamp2KHR
,
41125 thunk64_vkCompileDeferredNV
,
41126 thunk64_vkCopyAccelerationStructureKHR
,
41127 thunk64_vkCopyAccelerationStructureToMemoryKHR
,
41128 thunk64_vkCopyMemoryToAccelerationStructureKHR
,
41129 thunk64_vkCopyMemoryToMicromapEXT
,
41130 thunk64_vkCopyMicromapEXT
,
41131 thunk64_vkCopyMicromapToMemoryEXT
,
41132 thunk64_vkCreateAccelerationStructureKHR
,
41133 thunk64_vkCreateAccelerationStructureNV
,
41134 thunk64_vkCreateBuffer
,
41135 thunk64_vkCreateBufferView
,
41136 thunk64_vkCreateCommandPool
,
41137 thunk64_vkCreateComputePipelines
,
41138 thunk64_vkCreateCuFunctionNVX
,
41139 thunk64_vkCreateCuModuleNVX
,
41140 thunk64_vkCreateDebugReportCallbackEXT
,
41141 thunk64_vkCreateDebugUtilsMessengerEXT
,
41142 thunk64_vkCreateDeferredOperationKHR
,
41143 thunk64_vkCreateDescriptorPool
,
41144 thunk64_vkCreateDescriptorSetLayout
,
41145 thunk64_vkCreateDescriptorUpdateTemplate
,
41146 thunk64_vkCreateDescriptorUpdateTemplateKHR
,
41147 thunk64_vkCreateDevice
,
41148 thunk64_vkCreateEvent
,
41149 thunk64_vkCreateFence
,
41150 thunk64_vkCreateFramebuffer
,
41151 thunk64_vkCreateGraphicsPipelines
,
41152 thunk64_vkCreateImage
,
41153 thunk64_vkCreateImageView
,
41154 thunk64_vkCreateIndirectCommandsLayoutNV
,
41155 thunk64_vkCreateInstance
,
41156 thunk64_vkCreateMicromapEXT
,
41157 thunk64_vkCreateOpticalFlowSessionNV
,
41158 thunk64_vkCreatePipelineCache
,
41159 thunk64_vkCreatePipelineLayout
,
41160 thunk64_vkCreatePrivateDataSlot
,
41161 thunk64_vkCreatePrivateDataSlotEXT
,
41162 thunk64_vkCreateQueryPool
,
41163 thunk64_vkCreateRayTracingPipelinesKHR
,
41164 thunk64_vkCreateRayTracingPipelinesNV
,
41165 thunk64_vkCreateRenderPass
,
41166 thunk64_vkCreateRenderPass2
,
41167 thunk64_vkCreateRenderPass2KHR
,
41168 thunk64_vkCreateSampler
,
41169 thunk64_vkCreateSamplerYcbcrConversion
,
41170 thunk64_vkCreateSamplerYcbcrConversionKHR
,
41171 thunk64_vkCreateSemaphore
,
41172 thunk64_vkCreateShaderModule
,
41173 thunk64_vkCreateSwapchainKHR
,
41174 thunk64_vkCreateValidationCacheEXT
,
41175 thunk64_vkCreateWin32SurfaceKHR
,
41176 thunk64_vkDebugMarkerSetObjectNameEXT
,
41177 thunk64_vkDebugMarkerSetObjectTagEXT
,
41178 thunk64_vkDebugReportMessageEXT
,
41179 thunk64_vkDeferredOperationJoinKHR
,
41180 thunk64_vkDestroyAccelerationStructureKHR
,
41181 thunk64_vkDestroyAccelerationStructureNV
,
41182 thunk64_vkDestroyBuffer
,
41183 thunk64_vkDestroyBufferView
,
41184 thunk64_vkDestroyCommandPool
,
41185 thunk64_vkDestroyCuFunctionNVX
,
41186 thunk64_vkDestroyCuModuleNVX
,
41187 thunk64_vkDestroyDebugReportCallbackEXT
,
41188 thunk64_vkDestroyDebugUtilsMessengerEXT
,
41189 thunk64_vkDestroyDeferredOperationKHR
,
41190 thunk64_vkDestroyDescriptorPool
,
41191 thunk64_vkDestroyDescriptorSetLayout
,
41192 thunk64_vkDestroyDescriptorUpdateTemplate
,
41193 thunk64_vkDestroyDescriptorUpdateTemplateKHR
,
41194 thunk64_vkDestroyDevice
,
41195 thunk64_vkDestroyEvent
,
41196 thunk64_vkDestroyFence
,
41197 thunk64_vkDestroyFramebuffer
,
41198 thunk64_vkDestroyImage
,
41199 thunk64_vkDestroyImageView
,
41200 thunk64_vkDestroyIndirectCommandsLayoutNV
,
41201 thunk64_vkDestroyInstance
,
41202 thunk64_vkDestroyMicromapEXT
,
41203 thunk64_vkDestroyOpticalFlowSessionNV
,
41204 thunk64_vkDestroyPipeline
,
41205 thunk64_vkDestroyPipelineCache
,
41206 thunk64_vkDestroyPipelineLayout
,
41207 thunk64_vkDestroyPrivateDataSlot
,
41208 thunk64_vkDestroyPrivateDataSlotEXT
,
41209 thunk64_vkDestroyQueryPool
,
41210 thunk64_vkDestroyRenderPass
,
41211 thunk64_vkDestroySampler
,
41212 thunk64_vkDestroySamplerYcbcrConversion
,
41213 thunk64_vkDestroySamplerYcbcrConversionKHR
,
41214 thunk64_vkDestroySemaphore
,
41215 thunk64_vkDestroyShaderModule
,
41216 thunk64_vkDestroySurfaceKHR
,
41217 thunk64_vkDestroySwapchainKHR
,
41218 thunk64_vkDestroyValidationCacheEXT
,
41219 thunk64_vkDeviceWaitIdle
,
41220 thunk64_vkEndCommandBuffer
,
41221 thunk64_vkEnumerateDeviceExtensionProperties
,
41222 thunk64_vkEnumerateDeviceLayerProperties
,
41223 thunk64_vkEnumerateInstanceExtensionProperties
,
41224 thunk64_vkEnumerateInstanceVersion
,
41225 thunk64_vkEnumeratePhysicalDeviceGroups
,
41226 thunk64_vkEnumeratePhysicalDeviceGroupsKHR
,
41227 thunk64_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
,
41228 thunk64_vkEnumeratePhysicalDevices
,
41229 thunk64_vkFlushMappedMemoryRanges
,
41230 thunk64_vkFreeCommandBuffers
,
41231 thunk64_vkFreeDescriptorSets
,
41232 thunk64_vkFreeMemory
,
41233 thunk64_vkGetAccelerationStructureBuildSizesKHR
,
41234 thunk64_vkGetAccelerationStructureDeviceAddressKHR
,
41235 thunk64_vkGetAccelerationStructureHandleNV
,
41236 thunk64_vkGetAccelerationStructureMemoryRequirementsNV
,
41237 thunk64_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT
,
41238 thunk64_vkGetBufferDeviceAddress
,
41239 thunk64_vkGetBufferDeviceAddressEXT
,
41240 thunk64_vkGetBufferDeviceAddressKHR
,
41241 thunk64_vkGetBufferMemoryRequirements
,
41242 thunk64_vkGetBufferMemoryRequirements2
,
41243 thunk64_vkGetBufferMemoryRequirements2KHR
,
41244 thunk64_vkGetBufferOpaqueCaptureAddress
,
41245 thunk64_vkGetBufferOpaqueCaptureAddressKHR
,
41246 thunk64_vkGetBufferOpaqueCaptureDescriptorDataEXT
,
41247 thunk64_vkGetCalibratedTimestampsEXT
,
41248 thunk64_vkGetDeferredOperationMaxConcurrencyKHR
,
41249 thunk64_vkGetDeferredOperationResultKHR
,
41250 thunk64_vkGetDescriptorEXT
,
41251 thunk64_vkGetDescriptorSetHostMappingVALVE
,
41252 thunk64_vkGetDescriptorSetLayoutBindingOffsetEXT
,
41253 thunk64_vkGetDescriptorSetLayoutHostMappingInfoVALVE
,
41254 thunk64_vkGetDescriptorSetLayoutSizeEXT
,
41255 thunk64_vkGetDescriptorSetLayoutSupport
,
41256 thunk64_vkGetDescriptorSetLayoutSupportKHR
,
41257 thunk64_vkGetDeviceAccelerationStructureCompatibilityKHR
,
41258 thunk64_vkGetDeviceBufferMemoryRequirements
,
41259 thunk64_vkGetDeviceBufferMemoryRequirementsKHR
,
41260 thunk64_vkGetDeviceFaultInfoEXT
,
41261 thunk64_vkGetDeviceGroupPeerMemoryFeatures
,
41262 thunk64_vkGetDeviceGroupPeerMemoryFeaturesKHR
,
41263 thunk64_vkGetDeviceGroupPresentCapabilitiesKHR
,
41264 thunk64_vkGetDeviceGroupSurfacePresentModesKHR
,
41265 thunk64_vkGetDeviceImageMemoryRequirements
,
41266 thunk64_vkGetDeviceImageMemoryRequirementsKHR
,
41267 thunk64_vkGetDeviceImageSparseMemoryRequirements
,
41268 thunk64_vkGetDeviceImageSparseMemoryRequirementsKHR
,
41269 thunk64_vkGetDeviceMemoryCommitment
,
41270 thunk64_vkGetDeviceMemoryOpaqueCaptureAddress
,
41271 thunk64_vkGetDeviceMemoryOpaqueCaptureAddressKHR
,
41272 thunk64_vkGetDeviceMicromapCompatibilityEXT
,
41273 thunk64_vkGetDeviceQueue
,
41274 thunk64_vkGetDeviceQueue2
,
41275 thunk64_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
,
41276 thunk64_vkGetDynamicRenderingTilePropertiesQCOM
,
41277 thunk64_vkGetEventStatus
,
41278 thunk64_vkGetFenceStatus
,
41279 thunk64_vkGetFramebufferTilePropertiesQCOM
,
41280 thunk64_vkGetGeneratedCommandsMemoryRequirementsNV
,
41281 thunk64_vkGetImageMemoryRequirements
,
41282 thunk64_vkGetImageMemoryRequirements2
,
41283 thunk64_vkGetImageMemoryRequirements2KHR
,
41284 thunk64_vkGetImageOpaqueCaptureDescriptorDataEXT
,
41285 thunk64_vkGetImageSparseMemoryRequirements
,
41286 thunk64_vkGetImageSparseMemoryRequirements2
,
41287 thunk64_vkGetImageSparseMemoryRequirements2KHR
,
41288 thunk64_vkGetImageSubresourceLayout
,
41289 thunk64_vkGetImageSubresourceLayout2EXT
,
41290 thunk64_vkGetImageViewAddressNVX
,
41291 thunk64_vkGetImageViewHandleNVX
,
41292 thunk64_vkGetImageViewOpaqueCaptureDescriptorDataEXT
,
41293 thunk64_vkGetMemoryHostPointerPropertiesEXT
,
41294 thunk64_vkGetMicromapBuildSizesEXT
,
41295 thunk64_vkGetPerformanceParameterINTEL
,
41296 thunk64_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
,
41297 thunk64_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
,
41298 thunk64_vkGetPhysicalDeviceExternalBufferProperties
,
41299 thunk64_vkGetPhysicalDeviceExternalBufferPropertiesKHR
,
41300 thunk64_vkGetPhysicalDeviceExternalFenceProperties
,
41301 thunk64_vkGetPhysicalDeviceExternalFencePropertiesKHR
,
41302 thunk64_vkGetPhysicalDeviceExternalSemaphoreProperties
,
41303 thunk64_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
,
41304 thunk64_vkGetPhysicalDeviceFeatures
,
41305 thunk64_vkGetPhysicalDeviceFeatures2
,
41306 thunk64_vkGetPhysicalDeviceFeatures2KHR
,
41307 thunk64_vkGetPhysicalDeviceFormatProperties
,
41308 thunk64_vkGetPhysicalDeviceFormatProperties2
,
41309 thunk64_vkGetPhysicalDeviceFormatProperties2KHR
,
41310 thunk64_vkGetPhysicalDeviceFragmentShadingRatesKHR
,
41311 thunk64_vkGetPhysicalDeviceImageFormatProperties
,
41312 thunk64_vkGetPhysicalDeviceImageFormatProperties2
,
41313 thunk64_vkGetPhysicalDeviceImageFormatProperties2KHR
,
41314 thunk64_vkGetPhysicalDeviceMemoryProperties
,
41315 thunk64_vkGetPhysicalDeviceMemoryProperties2
,
41316 thunk64_vkGetPhysicalDeviceMemoryProperties2KHR
,
41317 thunk64_vkGetPhysicalDeviceMultisamplePropertiesEXT
,
41318 thunk64_vkGetPhysicalDeviceOpticalFlowImageFormatsNV
,
41319 thunk64_vkGetPhysicalDevicePresentRectanglesKHR
,
41320 thunk64_vkGetPhysicalDeviceProperties
,
41321 thunk64_vkGetPhysicalDeviceProperties2
,
41322 thunk64_vkGetPhysicalDeviceProperties2KHR
,
41323 thunk64_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
,
41324 thunk64_vkGetPhysicalDeviceQueueFamilyProperties
,
41325 thunk64_vkGetPhysicalDeviceQueueFamilyProperties2
,
41326 thunk64_vkGetPhysicalDeviceQueueFamilyProperties2KHR
,
41327 thunk64_vkGetPhysicalDeviceSparseImageFormatProperties
,
41328 thunk64_vkGetPhysicalDeviceSparseImageFormatProperties2
,
41329 thunk64_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
,
41330 thunk64_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
,
41331 thunk64_vkGetPhysicalDeviceSurfaceCapabilities2KHR
,
41332 thunk64_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
,
41333 thunk64_vkGetPhysicalDeviceSurfaceFormats2KHR
,
41334 thunk64_vkGetPhysicalDeviceSurfaceFormatsKHR
,
41335 thunk64_vkGetPhysicalDeviceSurfacePresentModesKHR
,
41336 thunk64_vkGetPhysicalDeviceSurfaceSupportKHR
,
41337 thunk64_vkGetPhysicalDeviceToolProperties
,
41338 thunk64_vkGetPhysicalDeviceToolPropertiesEXT
,
41339 thunk64_vkGetPhysicalDeviceWin32PresentationSupportKHR
,
41340 thunk64_vkGetPipelineCacheData
,
41341 thunk64_vkGetPipelineExecutableInternalRepresentationsKHR
,
41342 thunk64_vkGetPipelineExecutablePropertiesKHR
,
41343 thunk64_vkGetPipelineExecutableStatisticsKHR
,
41344 thunk64_vkGetPipelinePropertiesEXT
,
41345 thunk64_vkGetPrivateData
,
41346 thunk64_vkGetPrivateDataEXT
,
41347 thunk64_vkGetQueryPoolResults
,
41348 thunk64_vkGetQueueCheckpointData2NV
,
41349 thunk64_vkGetQueueCheckpointDataNV
,
41350 thunk64_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR
,
41351 thunk64_vkGetRayTracingShaderGroupHandlesKHR
,
41352 thunk64_vkGetRayTracingShaderGroupHandlesNV
,
41353 thunk64_vkGetRayTracingShaderGroupStackSizeKHR
,
41354 thunk64_vkGetRenderAreaGranularity
,
41355 thunk64_vkGetSamplerOpaqueCaptureDescriptorDataEXT
,
41356 thunk64_vkGetSemaphoreCounterValue
,
41357 thunk64_vkGetSemaphoreCounterValueKHR
,
41358 thunk64_vkGetShaderInfoAMD
,
41359 thunk64_vkGetShaderModuleCreateInfoIdentifierEXT
,
41360 thunk64_vkGetShaderModuleIdentifierEXT
,
41361 thunk64_vkGetSwapchainImagesKHR
,
41362 thunk64_vkGetValidationCacheDataEXT
,
41363 thunk64_vkInitializePerformanceApiINTEL
,
41364 thunk64_vkInvalidateMappedMemoryRanges
,
41365 thunk64_vkMapMemory
,
41366 thunk64_vkMergePipelineCaches
,
41367 thunk64_vkMergeValidationCachesEXT
,
41368 thunk64_vkQueueBeginDebugUtilsLabelEXT
,
41369 thunk64_vkQueueBindSparse
,
41370 thunk64_vkQueueEndDebugUtilsLabelEXT
,
41371 thunk64_vkQueueInsertDebugUtilsLabelEXT
,
41372 thunk64_vkQueuePresentKHR
,
41373 thunk64_vkQueueSetPerformanceConfigurationINTEL
,
41374 thunk64_vkQueueSubmit
,
41375 thunk64_vkQueueSubmit2
,
41376 thunk64_vkQueueSubmit2KHR
,
41377 thunk64_vkQueueWaitIdle
,
41378 thunk64_vkReleasePerformanceConfigurationINTEL
,
41379 thunk64_vkReleaseProfilingLockKHR
,
41380 thunk64_vkResetCommandBuffer
,
41381 thunk64_vkResetCommandPool
,
41382 thunk64_vkResetDescriptorPool
,
41383 thunk64_vkResetEvent
,
41384 thunk64_vkResetFences
,
41385 thunk64_vkResetQueryPool
,
41386 thunk64_vkResetQueryPoolEXT
,
41387 thunk64_vkSetDebugUtilsObjectNameEXT
,
41388 thunk64_vkSetDebugUtilsObjectTagEXT
,
41389 thunk64_vkSetDeviceMemoryPriorityEXT
,
41390 thunk64_vkSetEvent
,
41391 thunk64_vkSetPrivateData
,
41392 thunk64_vkSetPrivateDataEXT
,
41393 thunk64_vkSignalSemaphore
,
41394 thunk64_vkSignalSemaphoreKHR
,
41395 thunk64_vkSubmitDebugUtilsMessageEXT
,
41396 thunk64_vkTrimCommandPool
,
41397 thunk64_vkTrimCommandPoolKHR
,
41398 thunk64_vkUninitializePerformanceApiINTEL
,
41399 thunk64_vkUnmapMemory
,
41400 thunk64_vkUpdateDescriptorSetWithTemplate
,
41401 thunk64_vkUpdateDescriptorSetWithTemplateKHR
,
41402 thunk64_vkUpdateDescriptorSets
,
41403 thunk64_vkWaitForFences
,
41404 thunk64_vkWaitForPresentKHR
,
41405 thunk64_vkWaitSemaphores
,
41406 thunk64_vkWaitSemaphoresKHR
,
41407 thunk64_vkWriteAccelerationStructuresPropertiesKHR
,
41408 thunk64_vkWriteMicromapsPropertiesEXT
,
41410 C_ASSERT(ARRAYSIZE(__wine_unix_call_funcs
) == unix_count
);
41412 #endif /* _WIN64 */
41415 const unixlib_entry_t __wine_unix_call_wow64_funcs
[] =
41417 const unixlib_entry_t __wine_unix_call_funcs
[] =
41421 vk_is_available_instance_function32
,
41422 vk_is_available_device_function32
,
41423 thunk32_vkAcquireNextImage2KHR
,
41424 thunk32_vkAcquireNextImageKHR
,
41425 thunk32_vkAcquirePerformanceConfigurationINTEL
,
41426 thunk32_vkAcquireProfilingLockKHR
,
41427 thunk32_vkAllocateCommandBuffers
,
41428 thunk32_vkAllocateDescriptorSets
,
41429 thunk32_vkAllocateMemory
,
41430 thunk32_vkBeginCommandBuffer
,
41431 thunk32_vkBindAccelerationStructureMemoryNV
,
41432 thunk32_vkBindBufferMemory
,
41433 thunk32_vkBindBufferMemory2
,
41434 thunk32_vkBindBufferMemory2KHR
,
41435 thunk32_vkBindImageMemory
,
41436 thunk32_vkBindImageMemory2
,
41437 thunk32_vkBindImageMemory2KHR
,
41438 thunk32_vkBindOpticalFlowSessionImageNV
,
41439 thunk32_vkBuildAccelerationStructuresKHR
,
41440 thunk32_vkBuildMicromapsEXT
,
41441 thunk32_vkCmdBeginConditionalRenderingEXT
,
41442 thunk32_vkCmdBeginDebugUtilsLabelEXT
,
41443 thunk32_vkCmdBeginQuery
,
41444 thunk32_vkCmdBeginQueryIndexedEXT
,
41445 thunk32_vkCmdBeginRenderPass
,
41446 thunk32_vkCmdBeginRenderPass2
,
41447 thunk32_vkCmdBeginRenderPass2KHR
,
41448 thunk32_vkCmdBeginRendering
,
41449 thunk32_vkCmdBeginRenderingKHR
,
41450 thunk32_vkCmdBeginTransformFeedbackEXT
,
41451 thunk32_vkCmdBindDescriptorBufferEmbeddedSamplersEXT
,
41452 thunk32_vkCmdBindDescriptorBuffersEXT
,
41453 thunk32_vkCmdBindDescriptorSets
,
41454 thunk32_vkCmdBindIndexBuffer
,
41455 thunk32_vkCmdBindInvocationMaskHUAWEI
,
41456 thunk32_vkCmdBindPipeline
,
41457 thunk32_vkCmdBindPipelineShaderGroupNV
,
41458 thunk32_vkCmdBindShadingRateImageNV
,
41459 thunk32_vkCmdBindTransformFeedbackBuffersEXT
,
41460 thunk32_vkCmdBindVertexBuffers
,
41461 thunk32_vkCmdBindVertexBuffers2
,
41462 thunk32_vkCmdBindVertexBuffers2EXT
,
41463 thunk32_vkCmdBlitImage
,
41464 thunk32_vkCmdBlitImage2
,
41465 thunk32_vkCmdBlitImage2KHR
,
41466 thunk32_vkCmdBuildAccelerationStructureNV
,
41467 thunk32_vkCmdBuildAccelerationStructuresIndirectKHR
,
41468 thunk32_vkCmdBuildAccelerationStructuresKHR
,
41469 thunk32_vkCmdBuildMicromapsEXT
,
41470 thunk32_vkCmdClearAttachments
,
41471 thunk32_vkCmdClearColorImage
,
41472 thunk32_vkCmdClearDepthStencilImage
,
41473 thunk32_vkCmdCopyAccelerationStructureKHR
,
41474 thunk32_vkCmdCopyAccelerationStructureNV
,
41475 thunk32_vkCmdCopyAccelerationStructureToMemoryKHR
,
41476 thunk32_vkCmdCopyBuffer
,
41477 thunk32_vkCmdCopyBuffer2
,
41478 thunk32_vkCmdCopyBuffer2KHR
,
41479 thunk32_vkCmdCopyBufferToImage
,
41480 thunk32_vkCmdCopyBufferToImage2
,
41481 thunk32_vkCmdCopyBufferToImage2KHR
,
41482 thunk32_vkCmdCopyImage
,
41483 thunk32_vkCmdCopyImage2
,
41484 thunk32_vkCmdCopyImage2KHR
,
41485 thunk32_vkCmdCopyImageToBuffer
,
41486 thunk32_vkCmdCopyImageToBuffer2
,
41487 thunk32_vkCmdCopyImageToBuffer2KHR
,
41488 thunk32_vkCmdCopyMemoryIndirectNV
,
41489 thunk32_vkCmdCopyMemoryToAccelerationStructureKHR
,
41490 thunk32_vkCmdCopyMemoryToImageIndirectNV
,
41491 thunk32_vkCmdCopyMemoryToMicromapEXT
,
41492 thunk32_vkCmdCopyMicromapEXT
,
41493 thunk32_vkCmdCopyMicromapToMemoryEXT
,
41494 thunk32_vkCmdCopyQueryPoolResults
,
41495 thunk32_vkCmdCuLaunchKernelNVX
,
41496 thunk32_vkCmdDebugMarkerBeginEXT
,
41497 thunk32_vkCmdDebugMarkerEndEXT
,
41498 thunk32_vkCmdDebugMarkerInsertEXT
,
41499 thunk32_vkCmdDecompressMemoryIndirectCountNV
,
41500 thunk32_vkCmdDecompressMemoryNV
,
41501 thunk32_vkCmdDispatch
,
41502 thunk32_vkCmdDispatchBase
,
41503 thunk32_vkCmdDispatchBaseKHR
,
41504 thunk32_vkCmdDispatchIndirect
,
41506 thunk32_vkCmdDrawIndexed
,
41507 thunk32_vkCmdDrawIndexedIndirect
,
41508 thunk32_vkCmdDrawIndexedIndirectCount
,
41509 thunk32_vkCmdDrawIndexedIndirectCountAMD
,
41510 thunk32_vkCmdDrawIndexedIndirectCountKHR
,
41511 thunk32_vkCmdDrawIndirect
,
41512 thunk32_vkCmdDrawIndirectByteCountEXT
,
41513 thunk32_vkCmdDrawIndirectCount
,
41514 thunk32_vkCmdDrawIndirectCountAMD
,
41515 thunk32_vkCmdDrawIndirectCountKHR
,
41516 thunk32_vkCmdDrawMeshTasksEXT
,
41517 thunk32_vkCmdDrawMeshTasksIndirectCountEXT
,
41518 thunk32_vkCmdDrawMeshTasksIndirectCountNV
,
41519 thunk32_vkCmdDrawMeshTasksIndirectEXT
,
41520 thunk32_vkCmdDrawMeshTasksIndirectNV
,
41521 thunk32_vkCmdDrawMeshTasksNV
,
41522 thunk32_vkCmdDrawMultiEXT
,
41523 thunk32_vkCmdDrawMultiIndexedEXT
,
41524 thunk32_vkCmdEndConditionalRenderingEXT
,
41525 thunk32_vkCmdEndDebugUtilsLabelEXT
,
41526 thunk32_vkCmdEndQuery
,
41527 thunk32_vkCmdEndQueryIndexedEXT
,
41528 thunk32_vkCmdEndRenderPass
,
41529 thunk32_vkCmdEndRenderPass2
,
41530 thunk32_vkCmdEndRenderPass2KHR
,
41531 thunk32_vkCmdEndRendering
,
41532 thunk32_vkCmdEndRenderingKHR
,
41533 thunk32_vkCmdEndTransformFeedbackEXT
,
41534 thunk32_vkCmdExecuteCommands
,
41535 thunk32_vkCmdExecuteGeneratedCommandsNV
,
41536 thunk32_vkCmdFillBuffer
,
41537 thunk32_vkCmdInsertDebugUtilsLabelEXT
,
41538 thunk32_vkCmdNextSubpass
,
41539 thunk32_vkCmdNextSubpass2
,
41540 thunk32_vkCmdNextSubpass2KHR
,
41541 thunk32_vkCmdOpticalFlowExecuteNV
,
41542 thunk32_vkCmdPipelineBarrier
,
41543 thunk32_vkCmdPipelineBarrier2
,
41544 thunk32_vkCmdPipelineBarrier2KHR
,
41545 thunk32_vkCmdPreprocessGeneratedCommandsNV
,
41546 thunk32_vkCmdPushConstants
,
41547 thunk32_vkCmdPushDescriptorSetKHR
,
41548 thunk32_vkCmdPushDescriptorSetWithTemplateKHR
,
41549 thunk32_vkCmdResetEvent
,
41550 thunk32_vkCmdResetEvent2
,
41551 thunk32_vkCmdResetEvent2KHR
,
41552 thunk32_vkCmdResetQueryPool
,
41553 thunk32_vkCmdResolveImage
,
41554 thunk32_vkCmdResolveImage2
,
41555 thunk32_vkCmdResolveImage2KHR
,
41556 thunk32_vkCmdSetAlphaToCoverageEnableEXT
,
41557 thunk32_vkCmdSetAlphaToOneEnableEXT
,
41558 thunk32_vkCmdSetBlendConstants
,
41559 thunk32_vkCmdSetCheckpointNV
,
41560 thunk32_vkCmdSetCoarseSampleOrderNV
,
41561 thunk32_vkCmdSetColorBlendAdvancedEXT
,
41562 thunk32_vkCmdSetColorBlendEnableEXT
,
41563 thunk32_vkCmdSetColorBlendEquationEXT
,
41564 thunk32_vkCmdSetColorWriteEnableEXT
,
41565 thunk32_vkCmdSetColorWriteMaskEXT
,
41566 thunk32_vkCmdSetConservativeRasterizationModeEXT
,
41567 thunk32_vkCmdSetCoverageModulationModeNV
,
41568 thunk32_vkCmdSetCoverageModulationTableEnableNV
,
41569 thunk32_vkCmdSetCoverageModulationTableNV
,
41570 thunk32_vkCmdSetCoverageReductionModeNV
,
41571 thunk32_vkCmdSetCoverageToColorEnableNV
,
41572 thunk32_vkCmdSetCoverageToColorLocationNV
,
41573 thunk32_vkCmdSetCullMode
,
41574 thunk32_vkCmdSetCullModeEXT
,
41575 thunk32_vkCmdSetDepthBias
,
41576 thunk32_vkCmdSetDepthBiasEnable
,
41577 thunk32_vkCmdSetDepthBiasEnableEXT
,
41578 thunk32_vkCmdSetDepthBounds
,
41579 thunk32_vkCmdSetDepthBoundsTestEnable
,
41580 thunk32_vkCmdSetDepthBoundsTestEnableEXT
,
41581 thunk32_vkCmdSetDepthClampEnableEXT
,
41582 thunk32_vkCmdSetDepthClipEnableEXT
,
41583 thunk32_vkCmdSetDepthClipNegativeOneToOneEXT
,
41584 thunk32_vkCmdSetDepthCompareOp
,
41585 thunk32_vkCmdSetDepthCompareOpEXT
,
41586 thunk32_vkCmdSetDepthTestEnable
,
41587 thunk32_vkCmdSetDepthTestEnableEXT
,
41588 thunk32_vkCmdSetDepthWriteEnable
,
41589 thunk32_vkCmdSetDepthWriteEnableEXT
,
41590 thunk32_vkCmdSetDescriptorBufferOffsetsEXT
,
41591 thunk32_vkCmdSetDeviceMask
,
41592 thunk32_vkCmdSetDeviceMaskKHR
,
41593 thunk32_vkCmdSetDiscardRectangleEXT
,
41594 thunk32_vkCmdSetEvent
,
41595 thunk32_vkCmdSetEvent2
,
41596 thunk32_vkCmdSetEvent2KHR
,
41597 thunk32_vkCmdSetExclusiveScissorNV
,
41598 thunk32_vkCmdSetExtraPrimitiveOverestimationSizeEXT
,
41599 thunk32_vkCmdSetFragmentShadingRateEnumNV
,
41600 thunk32_vkCmdSetFragmentShadingRateKHR
,
41601 thunk32_vkCmdSetFrontFace
,
41602 thunk32_vkCmdSetFrontFaceEXT
,
41603 thunk32_vkCmdSetLineRasterizationModeEXT
,
41604 thunk32_vkCmdSetLineStippleEXT
,
41605 thunk32_vkCmdSetLineStippleEnableEXT
,
41606 thunk32_vkCmdSetLineWidth
,
41607 thunk32_vkCmdSetLogicOpEXT
,
41608 thunk32_vkCmdSetLogicOpEnableEXT
,
41609 thunk32_vkCmdSetPatchControlPointsEXT
,
41610 thunk32_vkCmdSetPerformanceMarkerINTEL
,
41611 thunk32_vkCmdSetPerformanceOverrideINTEL
,
41612 thunk32_vkCmdSetPerformanceStreamMarkerINTEL
,
41613 thunk32_vkCmdSetPolygonModeEXT
,
41614 thunk32_vkCmdSetPrimitiveRestartEnable
,
41615 thunk32_vkCmdSetPrimitiveRestartEnableEXT
,
41616 thunk32_vkCmdSetPrimitiveTopology
,
41617 thunk32_vkCmdSetPrimitiveTopologyEXT
,
41618 thunk32_vkCmdSetProvokingVertexModeEXT
,
41619 thunk32_vkCmdSetRasterizationSamplesEXT
,
41620 thunk32_vkCmdSetRasterizationStreamEXT
,
41621 thunk32_vkCmdSetRasterizerDiscardEnable
,
41622 thunk32_vkCmdSetRasterizerDiscardEnableEXT
,
41623 thunk32_vkCmdSetRayTracingPipelineStackSizeKHR
,
41624 thunk32_vkCmdSetRepresentativeFragmentTestEnableNV
,
41625 thunk32_vkCmdSetSampleLocationsEXT
,
41626 thunk32_vkCmdSetSampleLocationsEnableEXT
,
41627 thunk32_vkCmdSetSampleMaskEXT
,
41628 thunk32_vkCmdSetScissor
,
41629 thunk32_vkCmdSetScissorWithCount
,
41630 thunk32_vkCmdSetScissorWithCountEXT
,
41631 thunk32_vkCmdSetShadingRateImageEnableNV
,
41632 thunk32_vkCmdSetStencilCompareMask
,
41633 thunk32_vkCmdSetStencilOp
,
41634 thunk32_vkCmdSetStencilOpEXT
,
41635 thunk32_vkCmdSetStencilReference
,
41636 thunk32_vkCmdSetStencilTestEnable
,
41637 thunk32_vkCmdSetStencilTestEnableEXT
,
41638 thunk32_vkCmdSetStencilWriteMask
,
41639 thunk32_vkCmdSetTessellationDomainOriginEXT
,
41640 thunk32_vkCmdSetVertexInputEXT
,
41641 thunk32_vkCmdSetViewport
,
41642 thunk32_vkCmdSetViewportShadingRatePaletteNV
,
41643 thunk32_vkCmdSetViewportSwizzleNV
,
41644 thunk32_vkCmdSetViewportWScalingEnableNV
,
41645 thunk32_vkCmdSetViewportWScalingNV
,
41646 thunk32_vkCmdSetViewportWithCount
,
41647 thunk32_vkCmdSetViewportWithCountEXT
,
41648 thunk32_vkCmdSubpassShadingHUAWEI
,
41649 thunk32_vkCmdTraceRaysIndirect2KHR
,
41650 thunk32_vkCmdTraceRaysIndirectKHR
,
41651 thunk32_vkCmdTraceRaysKHR
,
41652 thunk32_vkCmdTraceRaysNV
,
41653 thunk32_vkCmdUpdateBuffer
,
41654 thunk32_vkCmdWaitEvents
,
41655 thunk32_vkCmdWaitEvents2
,
41656 thunk32_vkCmdWaitEvents2KHR
,
41657 thunk32_vkCmdWriteAccelerationStructuresPropertiesKHR
,
41658 thunk32_vkCmdWriteAccelerationStructuresPropertiesNV
,
41659 thunk32_vkCmdWriteBufferMarker2AMD
,
41660 thunk32_vkCmdWriteBufferMarkerAMD
,
41661 thunk32_vkCmdWriteMicromapsPropertiesEXT
,
41662 thunk32_vkCmdWriteTimestamp
,
41663 thunk32_vkCmdWriteTimestamp2
,
41664 thunk32_vkCmdWriteTimestamp2KHR
,
41665 thunk32_vkCompileDeferredNV
,
41666 thunk32_vkCopyAccelerationStructureKHR
,
41667 thunk32_vkCopyAccelerationStructureToMemoryKHR
,
41668 thunk32_vkCopyMemoryToAccelerationStructureKHR
,
41669 thunk32_vkCopyMemoryToMicromapEXT
,
41670 thunk32_vkCopyMicromapEXT
,
41671 thunk32_vkCopyMicromapToMemoryEXT
,
41672 thunk32_vkCreateAccelerationStructureKHR
,
41673 thunk32_vkCreateAccelerationStructureNV
,
41674 thunk32_vkCreateBuffer
,
41675 thunk32_vkCreateBufferView
,
41676 thunk32_vkCreateCommandPool
,
41677 thunk32_vkCreateComputePipelines
,
41678 thunk32_vkCreateCuFunctionNVX
,
41679 thunk32_vkCreateCuModuleNVX
,
41680 thunk32_vkCreateDebugReportCallbackEXT
,
41681 thunk32_vkCreateDebugUtilsMessengerEXT
,
41682 thunk32_vkCreateDeferredOperationKHR
,
41683 thunk32_vkCreateDescriptorPool
,
41684 thunk32_vkCreateDescriptorSetLayout
,
41685 thunk32_vkCreateDescriptorUpdateTemplate
,
41686 thunk32_vkCreateDescriptorUpdateTemplateKHR
,
41687 thunk32_vkCreateDevice
,
41688 thunk32_vkCreateEvent
,
41689 thunk32_vkCreateFence
,
41690 thunk32_vkCreateFramebuffer
,
41691 thunk32_vkCreateGraphicsPipelines
,
41692 thunk32_vkCreateImage
,
41693 thunk32_vkCreateImageView
,
41694 thunk32_vkCreateIndirectCommandsLayoutNV
,
41695 thunk32_vkCreateInstance
,
41696 thunk32_vkCreateMicromapEXT
,
41697 thunk32_vkCreateOpticalFlowSessionNV
,
41698 thunk32_vkCreatePipelineCache
,
41699 thunk32_vkCreatePipelineLayout
,
41700 thunk32_vkCreatePrivateDataSlot
,
41701 thunk32_vkCreatePrivateDataSlotEXT
,
41702 thunk32_vkCreateQueryPool
,
41703 thunk32_vkCreateRayTracingPipelinesKHR
,
41704 thunk32_vkCreateRayTracingPipelinesNV
,
41705 thunk32_vkCreateRenderPass
,
41706 thunk32_vkCreateRenderPass2
,
41707 thunk32_vkCreateRenderPass2KHR
,
41708 thunk32_vkCreateSampler
,
41709 thunk32_vkCreateSamplerYcbcrConversion
,
41710 thunk32_vkCreateSamplerYcbcrConversionKHR
,
41711 thunk32_vkCreateSemaphore
,
41712 thunk32_vkCreateShaderModule
,
41713 thunk32_vkCreateSwapchainKHR
,
41714 thunk32_vkCreateValidationCacheEXT
,
41715 thunk32_vkCreateWin32SurfaceKHR
,
41716 thunk32_vkDebugMarkerSetObjectNameEXT
,
41717 thunk32_vkDebugMarkerSetObjectTagEXT
,
41718 thunk32_vkDebugReportMessageEXT
,
41719 thunk32_vkDeferredOperationJoinKHR
,
41720 thunk32_vkDestroyAccelerationStructureKHR
,
41721 thunk32_vkDestroyAccelerationStructureNV
,
41722 thunk32_vkDestroyBuffer
,
41723 thunk32_vkDestroyBufferView
,
41724 thunk32_vkDestroyCommandPool
,
41725 thunk32_vkDestroyCuFunctionNVX
,
41726 thunk32_vkDestroyCuModuleNVX
,
41727 thunk32_vkDestroyDebugReportCallbackEXT
,
41728 thunk32_vkDestroyDebugUtilsMessengerEXT
,
41729 thunk32_vkDestroyDeferredOperationKHR
,
41730 thunk32_vkDestroyDescriptorPool
,
41731 thunk32_vkDestroyDescriptorSetLayout
,
41732 thunk32_vkDestroyDescriptorUpdateTemplate
,
41733 thunk32_vkDestroyDescriptorUpdateTemplateKHR
,
41734 thunk32_vkDestroyDevice
,
41735 thunk32_vkDestroyEvent
,
41736 thunk32_vkDestroyFence
,
41737 thunk32_vkDestroyFramebuffer
,
41738 thunk32_vkDestroyImage
,
41739 thunk32_vkDestroyImageView
,
41740 thunk32_vkDestroyIndirectCommandsLayoutNV
,
41741 thunk32_vkDestroyInstance
,
41742 thunk32_vkDestroyMicromapEXT
,
41743 thunk32_vkDestroyOpticalFlowSessionNV
,
41744 thunk32_vkDestroyPipeline
,
41745 thunk32_vkDestroyPipelineCache
,
41746 thunk32_vkDestroyPipelineLayout
,
41747 thunk32_vkDestroyPrivateDataSlot
,
41748 thunk32_vkDestroyPrivateDataSlotEXT
,
41749 thunk32_vkDestroyQueryPool
,
41750 thunk32_vkDestroyRenderPass
,
41751 thunk32_vkDestroySampler
,
41752 thunk32_vkDestroySamplerYcbcrConversion
,
41753 thunk32_vkDestroySamplerYcbcrConversionKHR
,
41754 thunk32_vkDestroySemaphore
,
41755 thunk32_vkDestroyShaderModule
,
41756 thunk32_vkDestroySurfaceKHR
,
41757 thunk32_vkDestroySwapchainKHR
,
41758 thunk32_vkDestroyValidationCacheEXT
,
41759 thunk32_vkDeviceWaitIdle
,
41760 thunk32_vkEndCommandBuffer
,
41761 thunk32_vkEnumerateDeviceExtensionProperties
,
41762 thunk32_vkEnumerateDeviceLayerProperties
,
41763 thunk32_vkEnumerateInstanceExtensionProperties
,
41764 thunk32_vkEnumerateInstanceVersion
,
41765 thunk32_vkEnumeratePhysicalDeviceGroups
,
41766 thunk32_vkEnumeratePhysicalDeviceGroupsKHR
,
41767 thunk32_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
,
41768 thunk32_vkEnumeratePhysicalDevices
,
41769 thunk32_vkFlushMappedMemoryRanges
,
41770 thunk32_vkFreeCommandBuffers
,
41771 thunk32_vkFreeDescriptorSets
,
41772 thunk32_vkFreeMemory
,
41773 thunk32_vkGetAccelerationStructureBuildSizesKHR
,
41774 thunk32_vkGetAccelerationStructureDeviceAddressKHR
,
41775 thunk32_vkGetAccelerationStructureHandleNV
,
41776 thunk32_vkGetAccelerationStructureMemoryRequirementsNV
,
41777 thunk32_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT
,
41778 thunk32_vkGetBufferDeviceAddress
,
41779 thunk32_vkGetBufferDeviceAddressEXT
,
41780 thunk32_vkGetBufferDeviceAddressKHR
,
41781 thunk32_vkGetBufferMemoryRequirements
,
41782 thunk32_vkGetBufferMemoryRequirements2
,
41783 thunk32_vkGetBufferMemoryRequirements2KHR
,
41784 thunk32_vkGetBufferOpaqueCaptureAddress
,
41785 thunk32_vkGetBufferOpaqueCaptureAddressKHR
,
41786 thunk32_vkGetBufferOpaqueCaptureDescriptorDataEXT
,
41787 thunk32_vkGetCalibratedTimestampsEXT
,
41788 thunk32_vkGetDeferredOperationMaxConcurrencyKHR
,
41789 thunk32_vkGetDeferredOperationResultKHR
,
41790 thunk32_vkGetDescriptorEXT
,
41791 thunk32_vkGetDescriptorSetHostMappingVALVE
,
41792 thunk32_vkGetDescriptorSetLayoutBindingOffsetEXT
,
41793 thunk32_vkGetDescriptorSetLayoutHostMappingInfoVALVE
,
41794 thunk32_vkGetDescriptorSetLayoutSizeEXT
,
41795 thunk32_vkGetDescriptorSetLayoutSupport
,
41796 thunk32_vkGetDescriptorSetLayoutSupportKHR
,
41797 thunk32_vkGetDeviceAccelerationStructureCompatibilityKHR
,
41798 thunk32_vkGetDeviceBufferMemoryRequirements
,
41799 thunk32_vkGetDeviceBufferMemoryRequirementsKHR
,
41800 thunk32_vkGetDeviceFaultInfoEXT
,
41801 thunk32_vkGetDeviceGroupPeerMemoryFeatures
,
41802 thunk32_vkGetDeviceGroupPeerMemoryFeaturesKHR
,
41803 thunk32_vkGetDeviceGroupPresentCapabilitiesKHR
,
41804 thunk32_vkGetDeviceGroupSurfacePresentModesKHR
,
41805 thunk32_vkGetDeviceImageMemoryRequirements
,
41806 thunk32_vkGetDeviceImageMemoryRequirementsKHR
,
41807 thunk32_vkGetDeviceImageSparseMemoryRequirements
,
41808 thunk32_vkGetDeviceImageSparseMemoryRequirementsKHR
,
41809 thunk32_vkGetDeviceMemoryCommitment
,
41810 thunk32_vkGetDeviceMemoryOpaqueCaptureAddress
,
41811 thunk32_vkGetDeviceMemoryOpaqueCaptureAddressKHR
,
41812 thunk32_vkGetDeviceMicromapCompatibilityEXT
,
41813 thunk32_vkGetDeviceQueue
,
41814 thunk32_vkGetDeviceQueue2
,
41815 thunk32_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
,
41816 thunk32_vkGetDynamicRenderingTilePropertiesQCOM
,
41817 thunk32_vkGetEventStatus
,
41818 thunk32_vkGetFenceStatus
,
41819 thunk32_vkGetFramebufferTilePropertiesQCOM
,
41820 thunk32_vkGetGeneratedCommandsMemoryRequirementsNV
,
41821 thunk32_vkGetImageMemoryRequirements
,
41822 thunk32_vkGetImageMemoryRequirements2
,
41823 thunk32_vkGetImageMemoryRequirements2KHR
,
41824 thunk32_vkGetImageOpaqueCaptureDescriptorDataEXT
,
41825 thunk32_vkGetImageSparseMemoryRequirements
,
41826 thunk32_vkGetImageSparseMemoryRequirements2
,
41827 thunk32_vkGetImageSparseMemoryRequirements2KHR
,
41828 thunk32_vkGetImageSubresourceLayout
,
41829 thunk32_vkGetImageSubresourceLayout2EXT
,
41830 thunk32_vkGetImageViewAddressNVX
,
41831 thunk32_vkGetImageViewHandleNVX
,
41832 thunk32_vkGetImageViewOpaqueCaptureDescriptorDataEXT
,
41833 thunk32_vkGetMemoryHostPointerPropertiesEXT
,
41834 thunk32_vkGetMicromapBuildSizesEXT
,
41835 thunk32_vkGetPerformanceParameterINTEL
,
41836 thunk32_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT
,
41837 thunk32_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV
,
41838 thunk32_vkGetPhysicalDeviceExternalBufferProperties
,
41839 thunk32_vkGetPhysicalDeviceExternalBufferPropertiesKHR
,
41840 thunk32_vkGetPhysicalDeviceExternalFenceProperties
,
41841 thunk32_vkGetPhysicalDeviceExternalFencePropertiesKHR
,
41842 thunk32_vkGetPhysicalDeviceExternalSemaphoreProperties
,
41843 thunk32_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR
,
41844 thunk32_vkGetPhysicalDeviceFeatures
,
41845 thunk32_vkGetPhysicalDeviceFeatures2
,
41846 thunk32_vkGetPhysicalDeviceFeatures2KHR
,
41847 thunk32_vkGetPhysicalDeviceFormatProperties
,
41848 thunk32_vkGetPhysicalDeviceFormatProperties2
,
41849 thunk32_vkGetPhysicalDeviceFormatProperties2KHR
,
41850 thunk32_vkGetPhysicalDeviceFragmentShadingRatesKHR
,
41851 thunk32_vkGetPhysicalDeviceImageFormatProperties
,
41852 thunk32_vkGetPhysicalDeviceImageFormatProperties2
,
41853 thunk32_vkGetPhysicalDeviceImageFormatProperties2KHR
,
41854 thunk32_vkGetPhysicalDeviceMemoryProperties
,
41855 thunk32_vkGetPhysicalDeviceMemoryProperties2
,
41856 thunk32_vkGetPhysicalDeviceMemoryProperties2KHR
,
41857 thunk32_vkGetPhysicalDeviceMultisamplePropertiesEXT
,
41858 thunk32_vkGetPhysicalDeviceOpticalFlowImageFormatsNV
,
41859 thunk32_vkGetPhysicalDevicePresentRectanglesKHR
,
41860 thunk32_vkGetPhysicalDeviceProperties
,
41861 thunk32_vkGetPhysicalDeviceProperties2
,
41862 thunk32_vkGetPhysicalDeviceProperties2KHR
,
41863 thunk32_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
,
41864 thunk32_vkGetPhysicalDeviceQueueFamilyProperties
,
41865 thunk32_vkGetPhysicalDeviceQueueFamilyProperties2
,
41866 thunk32_vkGetPhysicalDeviceQueueFamilyProperties2KHR
,
41867 thunk32_vkGetPhysicalDeviceSparseImageFormatProperties
,
41868 thunk32_vkGetPhysicalDeviceSparseImageFormatProperties2
,
41869 thunk32_vkGetPhysicalDeviceSparseImageFormatProperties2KHR
,
41870 thunk32_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
,
41871 thunk32_vkGetPhysicalDeviceSurfaceCapabilities2KHR
,
41872 thunk32_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
,
41873 thunk32_vkGetPhysicalDeviceSurfaceFormats2KHR
,
41874 thunk32_vkGetPhysicalDeviceSurfaceFormatsKHR
,
41875 thunk32_vkGetPhysicalDeviceSurfacePresentModesKHR
,
41876 thunk32_vkGetPhysicalDeviceSurfaceSupportKHR
,
41877 thunk32_vkGetPhysicalDeviceToolProperties
,
41878 thunk32_vkGetPhysicalDeviceToolPropertiesEXT
,
41879 thunk32_vkGetPhysicalDeviceWin32PresentationSupportKHR
,
41880 thunk32_vkGetPipelineCacheData
,
41881 thunk32_vkGetPipelineExecutableInternalRepresentationsKHR
,
41882 thunk32_vkGetPipelineExecutablePropertiesKHR
,
41883 thunk32_vkGetPipelineExecutableStatisticsKHR
,
41884 thunk32_vkGetPipelinePropertiesEXT
,
41885 thunk32_vkGetPrivateData
,
41886 thunk32_vkGetPrivateDataEXT
,
41887 thunk32_vkGetQueryPoolResults
,
41888 thunk32_vkGetQueueCheckpointData2NV
,
41889 thunk32_vkGetQueueCheckpointDataNV
,
41890 thunk32_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR
,
41891 thunk32_vkGetRayTracingShaderGroupHandlesKHR
,
41892 thunk32_vkGetRayTracingShaderGroupHandlesNV
,
41893 thunk32_vkGetRayTracingShaderGroupStackSizeKHR
,
41894 thunk32_vkGetRenderAreaGranularity
,
41895 thunk32_vkGetSamplerOpaqueCaptureDescriptorDataEXT
,
41896 thunk32_vkGetSemaphoreCounterValue
,
41897 thunk32_vkGetSemaphoreCounterValueKHR
,
41898 thunk32_vkGetShaderInfoAMD
,
41899 thunk32_vkGetShaderModuleCreateInfoIdentifierEXT
,
41900 thunk32_vkGetShaderModuleIdentifierEXT
,
41901 thunk32_vkGetSwapchainImagesKHR
,
41902 thunk32_vkGetValidationCacheDataEXT
,
41903 thunk32_vkInitializePerformanceApiINTEL
,
41904 thunk32_vkInvalidateMappedMemoryRanges
,
41905 thunk32_vkMapMemory
,
41906 thunk32_vkMergePipelineCaches
,
41907 thunk32_vkMergeValidationCachesEXT
,
41908 thunk32_vkQueueBeginDebugUtilsLabelEXT
,
41909 thunk32_vkQueueBindSparse
,
41910 thunk32_vkQueueEndDebugUtilsLabelEXT
,
41911 thunk32_vkQueueInsertDebugUtilsLabelEXT
,
41912 thunk32_vkQueuePresentKHR
,
41913 thunk32_vkQueueSetPerformanceConfigurationINTEL
,
41914 thunk32_vkQueueSubmit
,
41915 thunk32_vkQueueSubmit2
,
41916 thunk32_vkQueueSubmit2KHR
,
41917 thunk32_vkQueueWaitIdle
,
41918 thunk32_vkReleasePerformanceConfigurationINTEL
,
41919 thunk32_vkReleaseProfilingLockKHR
,
41920 thunk32_vkResetCommandBuffer
,
41921 thunk32_vkResetCommandPool
,
41922 thunk32_vkResetDescriptorPool
,
41923 thunk32_vkResetEvent
,
41924 thunk32_vkResetFences
,
41925 thunk32_vkResetQueryPool
,
41926 thunk32_vkResetQueryPoolEXT
,
41927 thunk32_vkSetDebugUtilsObjectNameEXT
,
41928 thunk32_vkSetDebugUtilsObjectTagEXT
,
41929 thunk32_vkSetDeviceMemoryPriorityEXT
,
41930 thunk32_vkSetEvent
,
41931 thunk32_vkSetPrivateData
,
41932 thunk32_vkSetPrivateDataEXT
,
41933 thunk32_vkSignalSemaphore
,
41934 thunk32_vkSignalSemaphoreKHR
,
41935 thunk32_vkSubmitDebugUtilsMessageEXT
,
41936 thunk32_vkTrimCommandPool
,
41937 thunk32_vkTrimCommandPoolKHR
,
41938 thunk32_vkUninitializePerformanceApiINTEL
,
41939 thunk32_vkUnmapMemory
,
41940 thunk32_vkUpdateDescriptorSetWithTemplate
,
41941 thunk32_vkUpdateDescriptorSetWithTemplateKHR
,
41942 thunk32_vkUpdateDescriptorSets
,
41943 thunk32_vkWaitForFences
,
41944 thunk32_vkWaitForPresentKHR
,
41945 thunk32_vkWaitSemaphores
,
41946 thunk32_vkWaitSemaphoresKHR
,
41947 thunk32_vkWriteAccelerationStructuresPropertiesKHR
,
41948 thunk32_vkWriteMicromapsPropertiesEXT
,
41950 C_ASSERT(ARRAYSIZE(__wine_unix_call_funcs
) == unix_count
);
41952 NTSTATUS WINAPI
vk_direct_unix_call(unixlib_handle_t handle
, unsigned int code
, void *params
)
41954 return __wine_unix_call_funcs
[code
](params
);