From: Georg Lehmann dadschoorse@gmail.com
--- dlls/vulkan-1/vulkan-1.spec | 4 +- dlls/winevulkan/loader_thunks.c | 81 +- dlls/winevulkan/loader_thunks.h | 59 +- dlls/winevulkan/make_vulkan | 2 +- dlls/winevulkan/vulkan_thunks.c | 2717 +++++++++++++++++++++++-------- dlls/winevulkan/vulkan_thunks.h | 4 +- dlls/winevulkan/winevulkan.json | 2 +- dlls/winevulkan/winevulkan.spec | 4 +- include/wine/vulkan.h | 602 ++++++- 9 files changed, 2763 insertions(+), 712 deletions(-)
diff --git a/dlls/vulkan-1/vulkan-1.spec b/dlls/vulkan-1/vulkan-1.spec index e20caa91a5f..b4601d86e57 100644 --- a/dlls/vulkan-1/vulkan-1.spec +++ b/dlls/vulkan-1/vulkan-1.spec @@ -3,14 +3,14 @@ # This file is generated from Vulkan vk.xml file covered # by the following copyright and permission notice: # -# Copyright 2015-2024 The Khronos Group Inc. +# Copyright 2015-2025 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 OR MIT # # and from Vulkan video.xml file covered # by the following copyright and permission notice: # -# Copyright 2021-2024 The Khronos Group Inc. +# Copyright 2021-2025 The Khronos Group Inc. # SPDX-License-Identifier: Apache-2.0 OR MIT #
diff --git a/dlls/winevulkan/loader_thunks.c b/dlls/winevulkan/loader_thunks.c index dd997b54b68..184d13fd977 100644 --- a/dlls/winevulkan/loader_thunks.c +++ b/dlls/winevulkan/loader_thunks.c @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2024 The Khronos Group Inc. + * Copyright 2015-2025 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2024 The Khronos Group Inc. + * Copyright 2021-2025 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ @@ -606,6 +606,14 @@ void WINAPI vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer, u UNIX_CALL(vkCmdBuildAccelerationStructuresKHR, ¶ms); }
+void WINAPI vkCmdBuildClusterAccelerationStructureIndirectNV(VkCommandBuffer commandBuffer, const VkClusterAccelerationStructureCommandsInfoNV *pCommandInfos) +{ + struct vkCmdBuildClusterAccelerationStructureIndirectNV_params params; + params.commandBuffer = commandBuffer; + params.pCommandInfos = pCommandInfos; + UNIX_CALL(vkCmdBuildClusterAccelerationStructureIndirectNV, ¶ms); +} + void WINAPI vkCmdBuildMicromapsEXT(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT *pInfos) { struct vkCmdBuildMicromapsEXT_params params; @@ -615,6 +623,14 @@ void WINAPI vkCmdBuildMicromapsEXT(VkCommandBuffer commandBuffer, uint32_t infoC UNIX_CALL(vkCmdBuildMicromapsEXT, ¶ms); }
+void WINAPI vkCmdBuildPartitionedAccelerationStructuresNV(VkCommandBuffer commandBuffer, const VkBuildPartitionedAccelerationStructureInfoNV *pBuildInfo) +{ + struct vkCmdBuildPartitionedAccelerationStructuresNV_params params; + params.commandBuffer = commandBuffer; + params.pBuildInfo = pBuildInfo; + UNIX_CALL(vkCmdBuildPartitionedAccelerationStructuresNV, ¶ms); +} + void WINAPI vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment *pAttachments, uint32_t rectCount, const VkClearRect *pRects) { struct vkCmdClearAttachments_params params; @@ -658,6 +674,15 @@ void WINAPI vkCmdControlVideoCodingKHR(VkCommandBuffer commandBuffer, const VkVi UNIX_CALL(vkCmdControlVideoCodingKHR, ¶ms); }
+void WINAPI vkCmdConvertCooperativeVectorMatrixNV(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkConvertCooperativeVectorMatrixInfoNV *pInfos) +{ + struct vkCmdConvertCooperativeVectorMatrixNV_params params; + params.commandBuffer = commandBuffer; + params.infoCount = infoCount; + params.pInfos = pInfos; + UNIX_CALL(vkCmdConvertCooperativeVectorMatrixNV, ¶ms); +} + void WINAPI vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR *pInfo) { struct vkCmdCopyAccelerationStructureKHR_params params; @@ -2754,6 +2779,17 @@ VkResult WINAPI vkCompileDeferredNV(VkDevice device, VkPipeline pipeline, uint32 return params.result; }
+VkResult WINAPI vkConvertCooperativeVectorMatrixNV(VkDevice device, const VkConvertCooperativeVectorMatrixInfoNV *pInfo) +{ + struct vkConvertCooperativeVectorMatrixNV_params params; + NTSTATUS status; + params.device = device; + params.pInfo = pInfo; + status = UNIX_CALL(vkConvertCooperativeVectorMatrixNV, ¶ms); + assert(!status && "vkConvertCooperativeVectorMatrixNV"); + return params.result; +} + VkResult WINAPI vkCopyAccelerationStructureKHR(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR *pInfo) { struct vkCopyAccelerationStructureKHR_params params; @@ -4390,6 +4426,17 @@ VkResult WINAPI vkGetCalibratedTimestampsKHR(VkDevice device, uint32_t timestamp return params.result; }
+void WINAPI vkGetClusterAccelerationStructureBuildSizesNV(VkDevice device, const VkClusterAccelerationStructureInputInfoNV *pInfo, VkAccelerationStructureBuildSizesInfoKHR *pSizeInfo) +{ + struct vkGetClusterAccelerationStructureBuildSizesNV_params params; + NTSTATUS status; + params.device = device; + params.pInfo = pInfo; + params.pSizeInfo = pSizeInfo; + status = UNIX_CALL(vkGetClusterAccelerationStructureBuildSizesNV, ¶ms); + assert(!status && "vkGetClusterAccelerationStructureBuildSizesNV"); +} + VkResult WINAPI vkGetCudaModuleCacheNV(VkDevice device, VkCudaModuleNV module, size_t *pCacheSize, void *pCacheData) { struct vkGetCudaModuleCacheNV_params params; @@ -5037,6 +5084,17 @@ void WINAPI vkGetMicromapBuildSizesEXT(VkDevice device, VkAccelerationStructureB assert(!status && "vkGetMicromapBuildSizesEXT"); }
+void WINAPI vkGetPartitionedAccelerationStructuresBuildSizesNV(VkDevice device, const VkPartitionedAccelerationStructureInstancesInputNV *pInfo, VkAccelerationStructureBuildSizesInfoKHR *pSizeInfo) +{ + struct vkGetPartitionedAccelerationStructuresBuildSizesNV_params params; + NTSTATUS status; + params.device = device; + params.pInfo = pInfo; + params.pSizeInfo = pSizeInfo; + status = UNIX_CALL(vkGetPartitionedAccelerationStructuresBuildSizesNV, ¶ms); + assert(!status && "vkGetPartitionedAccelerationStructuresBuildSizesNV"); +} + VkResult WINAPI vkGetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL *pValue) { struct vkGetPerformanceParameterINTEL_params params; @@ -5109,6 +5167,18 @@ VkResult WINAPI vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevic return params.result; }
+VkResult WINAPI vkGetPhysicalDeviceCooperativeVectorPropertiesNV(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkCooperativeVectorPropertiesNV *pProperties) +{ + struct vkGetPhysicalDeviceCooperativeVectorPropertiesNV_params params; + NTSTATUS status; + params.physicalDevice = physicalDevice; + params.pPropertyCount = pPropertyCount; + params.pProperties = pProperties; + status = UNIX_CALL(vkGetPhysicalDeviceCooperativeVectorPropertiesNV, ¶ms); + assert(!status && "vkGetPhysicalDeviceCooperativeVectorPropertiesNV"); + return params.result; +} + void WINAPI vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties) { struct vkGetPhysicalDeviceExternalBufferProperties_params params; @@ -6789,11 +6859,14 @@ static const struct vulkan_func vk_device_dispatch_table[] = {"vkCmdBuildAccelerationStructureNV", vkCmdBuildAccelerationStructureNV}, {"vkCmdBuildAccelerationStructuresIndirectKHR", vkCmdBuildAccelerationStructuresIndirectKHR}, {"vkCmdBuildAccelerationStructuresKHR", vkCmdBuildAccelerationStructuresKHR}, + {"vkCmdBuildClusterAccelerationStructureIndirectNV", vkCmdBuildClusterAccelerationStructureIndirectNV}, {"vkCmdBuildMicromapsEXT", vkCmdBuildMicromapsEXT}, + {"vkCmdBuildPartitionedAccelerationStructuresNV", vkCmdBuildPartitionedAccelerationStructuresNV}, {"vkCmdClearAttachments", vkCmdClearAttachments}, {"vkCmdClearColorImage", vkCmdClearColorImage}, {"vkCmdClearDepthStencilImage", vkCmdClearDepthStencilImage}, {"vkCmdControlVideoCodingKHR", vkCmdControlVideoCodingKHR}, + {"vkCmdConvertCooperativeVectorMatrixNV", vkCmdConvertCooperativeVectorMatrixNV}, {"vkCmdCopyAccelerationStructureKHR", vkCmdCopyAccelerationStructureKHR}, {"vkCmdCopyAccelerationStructureNV", vkCmdCopyAccelerationStructureNV}, {"vkCmdCopyAccelerationStructureToMemoryKHR", vkCmdCopyAccelerationStructureToMemoryKHR}, @@ -7017,6 +7090,7 @@ static const struct vulkan_func vk_device_dispatch_table[] = {"vkCmdWriteTimestamp2", vkCmdWriteTimestamp2}, {"vkCmdWriteTimestamp2KHR", vkCmdWriteTimestamp2KHR}, {"vkCompileDeferredNV", vkCompileDeferredNV}, + {"vkConvertCooperativeVectorMatrixNV", vkConvertCooperativeVectorMatrixNV}, {"vkCopyAccelerationStructureKHR", vkCopyAccelerationStructureKHR}, {"vkCopyAccelerationStructureToMemoryKHR", vkCopyAccelerationStructureToMemoryKHR}, {"vkCopyImageToImage", vkCopyImageToImage}, @@ -7144,6 +7218,7 @@ static const struct vulkan_func vk_device_dispatch_table[] = {"vkGetBufferOpaqueCaptureDescriptorDataEXT", vkGetBufferOpaqueCaptureDescriptorDataEXT}, {"vkGetCalibratedTimestampsEXT", vkGetCalibratedTimestampsEXT}, {"vkGetCalibratedTimestampsKHR", vkGetCalibratedTimestampsKHR}, + {"vkGetClusterAccelerationStructureBuildSizesNV", vkGetClusterAccelerationStructureBuildSizesNV}, {"vkGetCudaModuleCacheNV", vkGetCudaModuleCacheNV}, {"vkGetDeferredOperationMaxConcurrencyKHR", vkGetDeferredOperationMaxConcurrencyKHR}, {"vkGetDeferredOperationResultKHR", vkGetDeferredOperationResultKHR}, @@ -7201,6 +7276,7 @@ static const struct vulkan_func vk_device_dispatch_table[] = {"vkGetLatencyTimingsNV", vkGetLatencyTimingsNV}, {"vkGetMemoryHostPointerPropertiesEXT", vkGetMemoryHostPointerPropertiesEXT}, {"vkGetMicromapBuildSizesEXT", vkGetMicromapBuildSizesEXT}, + {"vkGetPartitionedAccelerationStructuresBuildSizesNV", vkGetPartitionedAccelerationStructuresBuildSizesNV}, {"vkGetPerformanceParameterINTEL", vkGetPerformanceParameterINTEL}, {"vkGetPipelineBinaryDataKHR", vkGetPipelineBinaryDataKHR}, {"vkGetPipelineCacheData", vkGetPipelineCacheData}, @@ -7307,6 +7383,7 @@ static const struct vulkan_func vk_phys_dev_dispatch_table[] = {"vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV", vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV}, {"vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR", vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR}, {"vkGetPhysicalDeviceCooperativeMatrixPropertiesNV", vkGetPhysicalDeviceCooperativeMatrixPropertiesNV}, + {"vkGetPhysicalDeviceCooperativeVectorPropertiesNV", vkGetPhysicalDeviceCooperativeVectorPropertiesNV}, {"vkGetPhysicalDeviceExternalBufferProperties", vkGetPhysicalDeviceExternalBufferProperties}, {"vkGetPhysicalDeviceExternalBufferPropertiesKHR", vkGetPhysicalDeviceExternalBufferPropertiesKHR}, {"vkGetPhysicalDeviceExternalFenceProperties", vkGetPhysicalDeviceExternalFenceProperties}, diff --git a/dlls/winevulkan/loader_thunks.h b/dlls/winevulkan/loader_thunks.h index a82b17ddf19..ec7b9645e5b 100644 --- a/dlls/winevulkan/loader_thunks.h +++ b/dlls/winevulkan/loader_thunks.h @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2024 The Khronos Group Inc. + * Copyright 2015-2025 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2024 The Khronos Group Inc. + * Copyright 2021-2025 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ @@ -78,11 +78,14 @@ enum unix_call unix_vkCmdBuildAccelerationStructureNV, unix_vkCmdBuildAccelerationStructuresIndirectKHR, unix_vkCmdBuildAccelerationStructuresKHR, + unix_vkCmdBuildClusterAccelerationStructureIndirectNV, unix_vkCmdBuildMicromapsEXT, + unix_vkCmdBuildPartitionedAccelerationStructuresNV, unix_vkCmdClearAttachments, unix_vkCmdClearColorImage, unix_vkCmdClearDepthStencilImage, unix_vkCmdControlVideoCodingKHR, + unix_vkCmdConvertCooperativeVectorMatrixNV, unix_vkCmdCopyAccelerationStructureKHR, unix_vkCmdCopyAccelerationStructureNV, unix_vkCmdCopyAccelerationStructureToMemoryKHR, @@ -306,6 +309,7 @@ enum unix_call unix_vkCmdWriteTimestamp2, unix_vkCmdWriteTimestamp2KHR, unix_vkCompileDeferredNV, + unix_vkConvertCooperativeVectorMatrixNV, unix_vkCopyAccelerationStructureKHR, unix_vkCopyAccelerationStructureToMemoryKHR, unix_vkCopyImageToImage, @@ -451,6 +455,7 @@ enum unix_call unix_vkGetBufferOpaqueCaptureDescriptorDataEXT, unix_vkGetCalibratedTimestampsEXT, unix_vkGetCalibratedTimestampsKHR, + unix_vkGetClusterAccelerationStructureBuildSizesNV, unix_vkGetCudaModuleCacheNV, unix_vkGetDeferredOperationMaxConcurrencyKHR, unix_vkGetDeferredOperationResultKHR, @@ -507,12 +512,14 @@ enum unix_call unix_vkGetLatencyTimingsNV, unix_vkGetMemoryHostPointerPropertiesEXT, unix_vkGetMicromapBuildSizesEXT, + unix_vkGetPartitionedAccelerationStructuresBuildSizesNV, unix_vkGetPerformanceParameterINTEL, unix_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, unix_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, unix_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, unix_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, unix_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, + unix_vkGetPhysicalDeviceCooperativeVectorPropertiesNV, unix_vkGetPhysicalDeviceExternalBufferProperties, unix_vkGetPhysicalDeviceExternalBufferPropertiesKHR, unix_vkGetPhysicalDeviceExternalFenceProperties, @@ -1103,6 +1110,12 @@ struct vkCmdBuildAccelerationStructuresKHR_params const VkAccelerationStructureBuildRangeInfoKHR * const*ppBuildRangeInfos; };
+struct vkCmdBuildClusterAccelerationStructureIndirectNV_params +{ + VkCommandBuffer commandBuffer; + const VkClusterAccelerationStructureCommandsInfoNV *pCommandInfos; +}; + struct vkCmdBuildMicromapsEXT_params { VkCommandBuffer commandBuffer; @@ -1110,6 +1123,12 @@ struct vkCmdBuildMicromapsEXT_params const VkMicromapBuildInfoEXT *pInfos; };
+struct vkCmdBuildPartitionedAccelerationStructuresNV_params +{ + VkCommandBuffer commandBuffer; + const VkBuildPartitionedAccelerationStructureInfoNV *pBuildInfo; +}; + struct vkCmdClearAttachments_params { VkCommandBuffer commandBuffer; @@ -1145,6 +1164,13 @@ struct vkCmdControlVideoCodingKHR_params const VkVideoCodingControlInfoKHR *pCodingControlInfo; };
+struct vkCmdConvertCooperativeVectorMatrixNV_params +{ + VkCommandBuffer commandBuffer; + uint32_t infoCount; + const VkConvertCooperativeVectorMatrixInfoNV *pInfos; +}; + struct vkCmdCopyAccelerationStructureKHR_params { VkCommandBuffer commandBuffer; @@ -2787,6 +2813,13 @@ struct vkCompileDeferredNV_params VkResult result; };
+struct vkConvertCooperativeVectorMatrixNV_params +{ + VkDevice device; + const VkConvertCooperativeVectorMatrixInfoNV *pInfo; + VkResult result; +}; + struct vkCopyAccelerationStructureKHR_params { VkDevice device; @@ -3949,6 +3982,13 @@ struct vkGetCalibratedTimestampsKHR_params VkResult result; };
+struct vkGetClusterAccelerationStructureBuildSizesNV_params +{ + VkDevice device; + const VkClusterAccelerationStructureInputInfoNV *pInfo; + VkAccelerationStructureBuildSizesInfoKHR *pSizeInfo; +}; + struct vkGetCudaModuleCacheNV_params { VkDevice device; @@ -4374,6 +4414,13 @@ struct vkGetMicromapBuildSizesEXT_params VkMicromapBuildSizesInfoEXT *pSizeInfo; };
+struct vkGetPartitionedAccelerationStructuresBuildSizesNV_params +{ + VkDevice device; + const VkPartitionedAccelerationStructureInstancesInputNV *pInfo; + VkAccelerationStructureBuildSizesInfoKHR *pSizeInfo; +}; + struct vkGetPerformanceParameterINTEL_params { VkDevice device; @@ -4422,6 +4469,14 @@ struct vkGetPhysicalDeviceCooperativeMatrixPropertiesNV_params VkResult result; };
+struct vkGetPhysicalDeviceCooperativeVectorPropertiesNV_params +{ + VkPhysicalDevice physicalDevice; + uint32_t *pPropertyCount; + VkCooperativeVectorPropertiesNV *pProperties; + VkResult result; +}; + struct vkGetPhysicalDeviceExternalBufferProperties_params { VkPhysicalDevice physicalDevice; diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 72a8d548b5d..64233268cf1 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -64,7 +64,7 @@ from enum import Enum LOGGER = logging.Logger("vulkan") LOGGER.addHandler(logging.StreamHandler())
-VK_XML_VERSION = "1.4.303" +VK_XML_VERSION = "1.4.307" WINE_VK_VERSION = (1, 4)
# Filenames to create. diff --git a/dlls/winevulkan/vulkan_thunks.c b/dlls/winevulkan/vulkan_thunks.c index 98b0abda785..d4e415fd056 100644 --- a/dlls/winevulkan/vulkan_thunks.c +++ b/dlls/winevulkan/vulkan_thunks.c @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2024 The Khronos Group Inc. + * Copyright 2015-2025 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2024 The Khronos Group Inc. + * Copyright 2021-2025 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ @@ -982,6 +982,106 @@ typedef struct VkAccelerationStructureInfoNV32 PTR32 pGeometries; } VkAccelerationStructureInfoNV32;
+typedef struct VkClusterAccelerationStructureClustersBottomLevelInputNV32 +{ + VkStructureType sType; + PTR32 pNext; + uint32_t maxTotalClusterCount; + uint32_t maxClusterCountPerAccelerationStructure; +} VkClusterAccelerationStructureClustersBottomLevelInputNV32; + +typedef struct VkClusterAccelerationStructureTriangleClusterInputNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkFormat vertexFormat; + uint32_t maxGeometryIndexValue; + uint32_t maxClusterUniqueGeometryCount; + uint32_t maxClusterTriangleCount; + uint32_t maxClusterVertexCount; + uint32_t maxTotalTriangleCount; + uint32_t maxTotalVertexCount; + uint32_t minPositionTruncateBitCount; +} VkClusterAccelerationStructureTriangleClusterInputNV32; + +typedef struct VkClusterAccelerationStructureMoveObjectsInputNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkClusterAccelerationStructureTypeNV type; + VkBool32 noMoveOverlap; + VkDeviceSize DECLSPEC_ALIGN(8) maxMovedBytes; +} VkClusterAccelerationStructureMoveObjectsInputNV32; + +typedef union VkClusterAccelerationStructureOpInputNV32 +{ + PTR32 pClustersBottomLevel; + PTR32 pTriangleClusters; + PTR32 pMoveObjects; +} VkClusterAccelerationStructureOpInputNV32; + +typedef struct VkClusterAccelerationStructureInputInfoNV32 +{ + VkStructureType sType; + PTR32 pNext; + uint32_t maxAccelerationStructureCount; + VkBuildAccelerationStructureFlagsKHR flags; + VkClusterAccelerationStructureOpTypeNV opType; + VkClusterAccelerationStructureOpModeNV opMode; + VkClusterAccelerationStructureOpInputNV32 opInput; +} VkClusterAccelerationStructureInputInfoNV32; + +typedef struct VkStridedDeviceAddressRegionKHR32 +{ + VkDeviceAddress DECLSPEC_ALIGN(8) deviceAddress; + VkDeviceSize DECLSPEC_ALIGN(8) stride; + VkDeviceSize DECLSPEC_ALIGN(8) size; +} VkStridedDeviceAddressRegionKHR32; + +typedef struct VkClusterAccelerationStructureCommandsInfoNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkClusterAccelerationStructureInputInfoNV32 input; + VkDeviceAddress DECLSPEC_ALIGN(8) dstImplicitData; + VkDeviceAddress DECLSPEC_ALIGN(8) scratchData; + VkStridedDeviceAddressRegionKHR32 DECLSPEC_ALIGN(8) dstAddressesArray; + VkStridedDeviceAddressRegionKHR32 DECLSPEC_ALIGN(8) dstSizesArray; + VkStridedDeviceAddressRegionKHR32 DECLSPEC_ALIGN(8) srcInfosArray; + VkDeviceAddress DECLSPEC_ALIGN(8) srcInfosCount; + VkClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags; +} VkClusterAccelerationStructureCommandsInfoNV32; + +typedef struct VkPartitionedAccelerationStructureFlagsNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 enablePartitionTranslation; +} VkPartitionedAccelerationStructureFlagsNV32; + +typedef struct VkPartitionedAccelerationStructureInstancesInputNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkBuildAccelerationStructureFlagsKHR flags; + uint32_t instanceCount; + uint32_t maxInstancePerPartitionCount; + uint32_t partitionCount; + uint32_t maxInstanceInGlobalPartitionCount; +} VkPartitionedAccelerationStructureInstancesInputNV32; + +typedef struct VkBuildPartitionedAccelerationStructureInfoNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkPartitionedAccelerationStructureInstancesInputNV32 input; + VkDeviceAddress DECLSPEC_ALIGN(8) srcAccelerationStructureData; + VkDeviceAddress DECLSPEC_ALIGN(8) dstAccelerationStructureData; + VkDeviceAddress DECLSPEC_ALIGN(8) scratchData; + VkDeviceAddress DECLSPEC_ALIGN(8) srcInfos; + VkDeviceAddress DECLSPEC_ALIGN(8) srcInfosCount; +} VkBuildPartitionedAccelerationStructureInfoNV32; + typedef struct VkVideoEncodeQualityLevelInfoKHR32 { VkStructureType sType; @@ -996,6 +1096,24 @@ typedef struct VkVideoCodingControlInfoKHR32 VkVideoCodingControlFlagsKHR flags; } VkVideoCodingControlInfoKHR32;
+typedef struct VkConvertCooperativeVectorMatrixInfoNV32 +{ + VkStructureType sType; + PTR32 pNext; + PTR32 srcSize; + VkDeviceOrHostAddressConstKHR DECLSPEC_ALIGN(8) srcData; + PTR32 pDstSize; + VkDeviceOrHostAddressKHR DECLSPEC_ALIGN(8) dstData; + VkComponentTypeKHR srcComponentType; + VkComponentTypeKHR dstComponentType; + uint32_t numRows; + uint32_t numColumns; + VkCooperativeVectorMatrixLayoutNV srcLayout; + PTR32 srcStride; + VkCooperativeVectorMatrixLayoutNV dstLayout; + PTR32 dstStride; +} VkConvertCooperativeVectorMatrixInfoNV32; + typedef struct VkCopyAccelerationStructureInfoKHR32 { VkStructureType sType; @@ -1194,6 +1312,236 @@ typedef struct VkDebugMarkerMarkerInfoEXT32 float color[4]; } VkDebugMarkerMarkerInfoEXT32;
+typedef struct StdVideoH264SequenceParameterSetVui32 +{ + StdVideoH264SpsVuiFlags flags; + StdVideoH264AspectRatioIdc aspect_ratio_idc; + uint16_t sar_width; + uint16_t sar_height; + uint8_t video_format; + uint8_t colour_primaries; + uint8_t transfer_characteristics; + uint8_t matrix_coefficients; + uint32_t num_units_in_tick; + uint32_t time_scale; + uint8_t max_num_reorder_frames; + uint8_t max_dec_frame_buffering; + uint8_t chroma_sample_loc_type_top_field; + uint8_t chroma_sample_loc_type_bottom_field; + uint32_t reserved1; + PTR32 pHrdParameters; +} StdVideoH264SequenceParameterSetVui32; + +typedef struct StdVideoH264SequenceParameterSet32 +{ + StdVideoH264SpsFlags flags; + StdVideoH264ProfileIdc profile_idc; + StdVideoH264LevelIdc level_idc; + StdVideoH264ChromaFormatIdc chroma_format_idc; + uint8_t seq_parameter_set_id; + uint8_t bit_depth_luma_minus8; + uint8_t bit_depth_chroma_minus8; + uint8_t log2_max_frame_num_minus4; + StdVideoH264PocType pic_order_cnt_type; + int32_t offset_for_non_ref_pic; + int32_t offset_for_top_to_bottom_field; + uint8_t log2_max_pic_order_cnt_lsb_minus4; + uint8_t num_ref_frames_in_pic_order_cnt_cycle; + uint8_t max_num_ref_frames; + uint8_t reserved1; + uint32_t pic_width_in_mbs_minus1; + uint32_t pic_height_in_map_units_minus1; + uint32_t frame_crop_left_offset; + uint32_t frame_crop_right_offset; + uint32_t frame_crop_top_offset; + uint32_t frame_crop_bottom_offset; + uint32_t reserved2; + PTR32 pOffsetForRefFrame; + PTR32 pScalingLists; + PTR32 pSequenceParameterSetVui; +} StdVideoH264SequenceParameterSet32; + +typedef struct StdVideoH264PictureParameterSet32 +{ + StdVideoH264PpsFlags flags; + uint8_t seq_parameter_set_id; + uint8_t pic_parameter_set_id; + uint8_t num_ref_idx_l0_default_active_minus1; + uint8_t num_ref_idx_l1_default_active_minus1; + StdVideoH264WeightedBipredIdc weighted_bipred_idc; + int8_t pic_init_qp_minus26; + int8_t pic_init_qs_minus26; + int8_t chroma_qp_index_offset; + int8_t second_chroma_qp_index_offset; + PTR32 pScalingLists; +} StdVideoH264PictureParameterSet32; + +typedef struct StdVideoH265HrdParameters32 +{ + StdVideoH265HrdFlags flags; + uint8_t tick_divisor_minus2; + uint8_t du_cpb_removal_delay_increment_length_minus1; + uint8_t dpb_output_delay_du_length_minus1; + uint8_t bit_rate_scale; + uint8_t cpb_size_scale; + uint8_t cpb_size_du_scale; + uint8_t initial_cpb_removal_delay_length_minus1; + uint8_t au_cpb_removal_delay_length_minus1; + uint8_t dpb_output_delay_length_minus1; + uint8_t cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; + uint16_t elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; + uint16_t reserved[3]; + PTR32 pSubLayerHrdParametersNal; + PTR32 pSubLayerHrdParametersVcl; +} StdVideoH265HrdParameters32; + +typedef struct StdVideoH265VideoParameterSet32 +{ + StdVideoH265VpsFlags flags; + uint8_t vps_video_parameter_set_id; + uint8_t vps_max_sub_layers_minus1; + uint8_t reserved1; + uint8_t reserved2; + uint32_t vps_num_units_in_tick; + uint32_t vps_time_scale; + uint32_t vps_num_ticks_poc_diff_one_minus1; + uint32_t reserved3; + PTR32 pDecPicBufMgr; + PTR32 pHrdParameters; + PTR32 pProfileTierLevel; +} StdVideoH265VideoParameterSet32; + +typedef struct StdVideoH265SequenceParameterSetVui32 +{ + StdVideoH265SpsVuiFlags flags; + StdVideoH265AspectRatioIdc aspect_ratio_idc; + uint16_t sar_width; + uint16_t sar_height; + uint8_t video_format; + uint8_t colour_primaries; + uint8_t transfer_characteristics; + uint8_t matrix_coeffs; + uint8_t chroma_sample_loc_type_top_field; + uint8_t chroma_sample_loc_type_bottom_field; + uint8_t reserved1; + uint8_t reserved2; + uint16_t def_disp_win_left_offset; + uint16_t def_disp_win_right_offset; + uint16_t def_disp_win_top_offset; + uint16_t def_disp_win_bottom_offset; + uint32_t vui_num_units_in_tick; + uint32_t vui_time_scale; + uint32_t vui_num_ticks_poc_diff_one_minus1; + uint16_t min_spatial_segmentation_idc; + uint16_t reserved3; + uint8_t max_bytes_per_pic_denom; + uint8_t max_bits_per_min_cu_denom; + uint8_t log2_max_mv_length_horizontal; + uint8_t log2_max_mv_length_vertical; + PTR32 pHrdParameters; +} StdVideoH265SequenceParameterSetVui32; + +typedef struct StdVideoH265SequenceParameterSet32 +{ + StdVideoH265SpsFlags flags; + StdVideoH265ChromaFormatIdc chroma_format_idc; + uint32_t pic_width_in_luma_samples; + uint32_t pic_height_in_luma_samples; + uint8_t sps_video_parameter_set_id; + uint8_t sps_max_sub_layers_minus1; + uint8_t sps_seq_parameter_set_id; + uint8_t bit_depth_luma_minus8; + uint8_t bit_depth_chroma_minus8; + uint8_t log2_max_pic_order_cnt_lsb_minus4; + uint8_t log2_min_luma_coding_block_size_minus3; + uint8_t log2_diff_max_min_luma_coding_block_size; + uint8_t log2_min_luma_transform_block_size_minus2; + uint8_t log2_diff_max_min_luma_transform_block_size; + uint8_t max_transform_hierarchy_depth_inter; + uint8_t max_transform_hierarchy_depth_intra; + uint8_t num_short_term_ref_pic_sets; + uint8_t num_long_term_ref_pics_sps; + uint8_t pcm_sample_bit_depth_luma_minus1; + uint8_t pcm_sample_bit_depth_chroma_minus1; + uint8_t log2_min_pcm_luma_coding_block_size_minus3; + uint8_t log2_diff_max_min_pcm_luma_coding_block_size; + uint8_t reserved1; + uint8_t reserved2; + uint8_t palette_max_size; + uint8_t delta_palette_max_predictor_size; + uint8_t motion_vector_resolution_control_idc; + uint8_t sps_num_palette_predictor_initializers_minus1; + uint32_t conf_win_left_offset; + uint32_t conf_win_right_offset; + uint32_t conf_win_top_offset; + uint32_t conf_win_bottom_offset; + PTR32 pProfileTierLevel; + PTR32 pDecPicBufMgr; + PTR32 pScalingLists; + PTR32 pShortTermRefPicSet; + PTR32 pLongTermRefPicsSps; + PTR32 pSequenceParameterSetVui; + PTR32 pPredictorPaletteEntries; +} StdVideoH265SequenceParameterSet32; + +typedef struct StdVideoH265PictureParameterSet32 +{ + StdVideoH265PpsFlags flags; + uint8_t pps_pic_parameter_set_id; + uint8_t pps_seq_parameter_set_id; + uint8_t sps_video_parameter_set_id; + uint8_t num_extra_slice_header_bits; + uint8_t num_ref_idx_l0_default_active_minus1; + uint8_t num_ref_idx_l1_default_active_minus1; + int8_t init_qp_minus26; + uint8_t diff_cu_qp_delta_depth; + int8_t pps_cb_qp_offset; + int8_t pps_cr_qp_offset; + int8_t pps_beta_offset_div2; + int8_t pps_tc_offset_div2; + uint8_t log2_parallel_merge_level_minus2; + uint8_t log2_max_transform_skip_block_size_minus2; + uint8_t diff_cu_chroma_qp_offset_depth; + uint8_t chroma_qp_offset_list_len_minus1; + int8_t cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; + int8_t cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; + uint8_t log2_sao_offset_scale_luma; + uint8_t log2_sao_offset_scale_chroma; + int8_t pps_act_y_qp_offset_plus5; + int8_t pps_act_cb_qp_offset_plus5; + int8_t pps_act_cr_qp_offset_plus3; + uint8_t pps_num_palette_predictor_initializers; + uint8_t luma_bit_depth_entry_minus8; + uint8_t chroma_bit_depth_entry_minus8; + uint8_t num_tile_columns_minus1; + uint8_t num_tile_rows_minus1; + uint8_t reserved1; + uint8_t reserved2; + uint16_t column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]; + uint16_t row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]; + uint32_t reserved3; + PTR32 pScalingLists; + PTR32 pPredictorPaletteEntries; +} StdVideoH265PictureParameterSet32; + +typedef struct StdVideoAV1SequenceHeader32 +{ + StdVideoAV1SequenceHeaderFlags flags; + StdVideoAV1Profile seq_profile; + uint8_t frame_width_bits_minus_1; + uint8_t frame_height_bits_minus_1; + uint16_t max_frame_width_minus_1; + uint16_t max_frame_height_minus_1; + uint8_t delta_frame_id_length_minus_2; + uint8_t additional_frame_id_length_minus_1; + uint8_t order_hint_bits_minus_1; + uint8_t seq_force_integer_mv; + uint8_t seq_force_screen_content_tools; + uint8_t reserved1[5]; + PTR32 pColorConfig; + PTR32 pTimingInfo; +} StdVideoAV1SequenceHeader32; + typedef struct StdVideoAV1TileInfo32 { StdVideoAV1TileInfoFlags flags; @@ -1245,6 +1593,14 @@ typedef struct VkVideoInlineQueryInfoKHR32 uint32_t queryCount; } VkVideoInlineQueryInfoKHR32;
+typedef struct VkVideoDecodeH264InlineSessionParametersInfoKHR32 +{ + VkStructureType sType; + PTR32 pNext; + PTR32 pStdSPS; + PTR32 pStdPPS; +} VkVideoDecodeH264InlineSessionParametersInfoKHR32; + typedef struct VkVideoDecodeH264PictureInfoKHR32 { VkStructureType sType; @@ -1254,6 +1610,15 @@ typedef struct VkVideoDecodeH264PictureInfoKHR32 PTR32 pSliceOffsets; } VkVideoDecodeH264PictureInfoKHR32;
+typedef struct VkVideoDecodeH265InlineSessionParametersInfoKHR32 +{ + VkStructureType sType; + PTR32 pNext; + PTR32 pStdVPS; + PTR32 pStdSPS; + PTR32 pStdPPS; +} VkVideoDecodeH265InlineSessionParametersInfoKHR32; + typedef struct VkVideoDecodeH265PictureInfoKHR32 { VkStructureType sType; @@ -1263,6 +1628,13 @@ typedef struct VkVideoDecodeH265PictureInfoKHR32 PTR32 pSliceSegmentOffsets; } VkVideoDecodeH265PictureInfoKHR32;
+typedef struct VkVideoDecodeAV1InlineSessionParametersInfoKHR32 +{ + VkStructureType sType; + PTR32 pNext; + PTR32 pStdSequenceHeader; +} VkVideoDecodeAV1InlineSessionParametersInfoKHR32; + typedef struct VkVideoDecodeAV1PictureInfoKHR32 { VkStructureType sType; @@ -1608,6 +1980,14 @@ typedef struct VkImageMemoryBarrier32 VkImageSubresourceRange subresourceRange; } VkImageMemoryBarrier32;
+typedef struct VkMemoryBarrierAccessFlags3KHR32 +{ + VkStructureType sType; + PTR32 pNext; + VkAccessFlags3KHR DECLSPEC_ALIGN(8) srcAccessMask3; + VkAccessFlags3KHR DECLSPEC_ALIGN(8) dstAccessMask3; +} VkMemoryBarrierAccessFlags3KHR32; + typedef struct VkMemoryBarrier232 { VkStructureType sType; @@ -1717,6 +2097,14 @@ typedef struct VkWriteDescriptorSetAccelerationStructureNV32 PTR32 pAccelerationStructures; } VkWriteDescriptorSetAccelerationStructureNV32;
+typedef struct VkWriteDescriptorSetPartitionedAccelerationStructureNV32 +{ + VkStructureType sType; + PTR32 pNext; + uint32_t accelerationStructureCount; + PTR32 pAccelerationStructures; +} VkWriteDescriptorSetPartitionedAccelerationStructureNV32; + typedef struct VkWriteDescriptorSet32 { VkStructureType sType; @@ -1865,13 +2253,6 @@ typedef struct VkShadingRatePaletteNV32 PTR32 pShadingRatePaletteEntries; } VkShadingRatePaletteNV32;
-typedef struct VkStridedDeviceAddressRegionKHR32 -{ - VkDeviceAddress DECLSPEC_ALIGN(8) deviceAddress; - VkDeviceSize DECLSPEC_ALIGN(8) stride; - VkDeviceSize DECLSPEC_ALIGN(8) size; -} VkStridedDeviceAddressRegionKHR32; - typedef struct VkCopyImageToImageInfo32 { VkStructureType sType; @@ -2461,6 +2842,13 @@ typedef struct VkPhysicalDevicePrivateDataFeatures32 } VkPhysicalDevicePrivateDataFeatures32; typedef VkPhysicalDevicePrivateDataFeatures32 VkPhysicalDevicePrivateDataFeaturesEXT32;
+typedef struct VkPhysicalDeviceClusterAccelerationStructureFeaturesNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 clusterAccelerationStructure; +} VkPhysicalDeviceClusterAccelerationStructureFeaturesNV32; + typedef struct VkPhysicalDeviceFeatures232 { VkStructureType sType; @@ -2594,6 +2982,13 @@ typedef struct VkPhysicalDeviceMaintenance6Features32 } VkPhysicalDeviceMaintenance6Features32; typedef VkPhysicalDeviceMaintenance6Features32 VkPhysicalDeviceMaintenance6FeaturesKHR32;
+typedef struct VkPhysicalDeviceMaintenance8FeaturesKHR32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 maintenance8; +} VkPhysicalDeviceMaintenance8FeaturesKHR32; + typedef struct VkPhysicalDeviceShaderDrawParametersFeatures32 { VkStructureType sType; @@ -3342,6 +3737,13 @@ typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT32 VkBool32 extendedDynamicState3ShadingRateImageEnable; } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT32;
+typedef struct VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 partitionedAccelerationStructure; +} VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV32; + typedef struct VkPhysicalDeviceDiagnosticsConfigFeaturesNV32 { VkStructureType sType; @@ -3589,6 +3991,13 @@ typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR32 VkBool32 videoMaintenance1; } VkPhysicalDeviceVideoMaintenance1FeaturesKHR32;
+typedef struct VkPhysicalDeviceVideoMaintenance2FeaturesKHR32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 videoMaintenance2; +} VkPhysicalDeviceVideoMaintenance2FeaturesKHR32; + typedef struct VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR32 { VkStructureType sType; @@ -3666,6 +4075,14 @@ typedef struct VkPhysicalDeviceRayTracingValidationFeaturesNV32 VkBool32 rayTracingValidation; } VkPhysicalDeviceRayTracingValidationFeaturesNV32;
+typedef struct VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 spheres; + VkBool32 linearSweptSpheres; +} VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV32; + typedef struct VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT32 { VkStructureType sType; @@ -3831,13 +4248,6 @@ typedef struct VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT32 VkBool32 attachmentFeedbackLoopLayout; } VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT32;
-typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32 -{ - VkStructureType sType; - PTR32 pNext; - VkBool32 depthClampZeroOne; -} VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32; - typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT32 { VkStructureType sType; @@ -4042,6 +4452,13 @@ typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM32 VkBool32 renderPassStriped; } VkPhysicalDeviceRenderPassStripedFeaturesARM32;
+typedef struct VkPhysicalDevicePipelineOpacityMicromapFeaturesARM32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 pipelineOpacityMicromap; +} VkPhysicalDevicePipelineOpacityMicromapFeaturesARM32; + typedef struct VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR32 { VkStructureType sType; @@ -4167,6 +4584,22 @@ typedef struct VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT32 VkBool32 vertexAttributeRobustness; } VkPhysicalDeviceVertexAttributeRobustnessFeaturesEXT32;
+typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesKHR32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 depthClampZeroOne; +} VkPhysicalDeviceDepthClampZeroOneFeaturesKHR32; +typedef VkPhysicalDeviceDepthClampZeroOneFeaturesKHR32 VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32; + +typedef struct VkPhysicalDeviceCooperativeVectorFeaturesNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 cooperativeVector; + VkBool32 cooperativeVectorTraining; +} VkPhysicalDeviceCooperativeVectorFeaturesNV32; + typedef struct VkDeviceCreateInfo32 { VkStructureType sType; @@ -5081,6 +5514,13 @@ typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR32 uint32_t maxPipelineRayHitAttributeSize; } VkRayTracingPipelineInterfaceCreateInfoKHR32;
+typedef struct VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkBool32 allowClusterAccelerationStructure; +} VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV32; + typedef struct VkRayTracingPipelineCreateInfoKHR32 { VkStructureType sType; @@ -5553,70 +5993,6 @@ typedef struct VkVideoSessionCreateInfoKHR32 PTR32 pStdHeaderVersion; } VkVideoSessionCreateInfoKHR32;
-typedef struct StdVideoH264SequenceParameterSetVui32 -{ - StdVideoH264SpsVuiFlags flags; - StdVideoH264AspectRatioIdc aspect_ratio_idc; - uint16_t sar_width; - uint16_t sar_height; - uint8_t video_format; - uint8_t colour_primaries; - uint8_t transfer_characteristics; - uint8_t matrix_coefficients; - uint32_t num_units_in_tick; - uint32_t time_scale; - uint8_t max_num_reorder_frames; - uint8_t max_dec_frame_buffering; - uint8_t chroma_sample_loc_type_top_field; - uint8_t chroma_sample_loc_type_bottom_field; - uint32_t reserved1; - PTR32 pHrdParameters; -} StdVideoH264SequenceParameterSetVui32; - -typedef struct StdVideoH264SequenceParameterSet32 -{ - StdVideoH264SpsFlags flags; - StdVideoH264ProfileIdc profile_idc; - StdVideoH264LevelIdc level_idc; - StdVideoH264ChromaFormatIdc chroma_format_idc; - uint8_t seq_parameter_set_id; - uint8_t bit_depth_luma_minus8; - uint8_t bit_depth_chroma_minus8; - uint8_t log2_max_frame_num_minus4; - StdVideoH264PocType pic_order_cnt_type; - int32_t offset_for_non_ref_pic; - int32_t offset_for_top_to_bottom_field; - uint8_t log2_max_pic_order_cnt_lsb_minus4; - uint8_t num_ref_frames_in_pic_order_cnt_cycle; - uint8_t max_num_ref_frames; - uint8_t reserved1; - uint32_t pic_width_in_mbs_minus1; - uint32_t pic_height_in_map_units_minus1; - uint32_t frame_crop_left_offset; - uint32_t frame_crop_right_offset; - uint32_t frame_crop_top_offset; - uint32_t frame_crop_bottom_offset; - uint32_t reserved2; - PTR32 pOffsetForRefFrame; - PTR32 pScalingLists; - PTR32 pSequenceParameterSetVui; -} StdVideoH264SequenceParameterSet32; - -typedef struct StdVideoH264PictureParameterSet32 -{ - StdVideoH264PpsFlags flags; - uint8_t seq_parameter_set_id; - uint8_t pic_parameter_set_id; - uint8_t num_ref_idx_l0_default_active_minus1; - uint8_t num_ref_idx_l1_default_active_minus1; - StdVideoH264WeightedBipredIdc weighted_bipred_idc; - int8_t pic_init_qp_minus26; - int8_t pic_init_qs_minus26; - int8_t chroma_qp_index_offset; - int8_t second_chroma_qp_index_offset; - PTR32 pScalingLists; -} StdVideoH264PictureParameterSet32; - typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR32 { VkStructureType sType; @@ -5627,154 +6003,6 @@ typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR32 PTR32 pStdPPSs; } VkVideoDecodeH264SessionParametersAddInfoKHR32;
-typedef struct StdVideoH265HrdParameters32 -{ - StdVideoH265HrdFlags flags; - uint8_t tick_divisor_minus2; - uint8_t du_cpb_removal_delay_increment_length_minus1; - uint8_t dpb_output_delay_du_length_minus1; - uint8_t bit_rate_scale; - uint8_t cpb_size_scale; - uint8_t cpb_size_du_scale; - uint8_t initial_cpb_removal_delay_length_minus1; - uint8_t au_cpb_removal_delay_length_minus1; - uint8_t dpb_output_delay_length_minus1; - uint8_t cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; - uint16_t elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; - uint16_t reserved[3]; - PTR32 pSubLayerHrdParametersNal; - PTR32 pSubLayerHrdParametersVcl; -} StdVideoH265HrdParameters32; - -typedef struct StdVideoH265VideoParameterSet32 -{ - StdVideoH265VpsFlags flags; - uint8_t vps_video_parameter_set_id; - uint8_t vps_max_sub_layers_minus1; - uint8_t reserved1; - uint8_t reserved2; - uint32_t vps_num_units_in_tick; - uint32_t vps_time_scale; - uint32_t vps_num_ticks_poc_diff_one_minus1; - uint32_t reserved3; - PTR32 pDecPicBufMgr; - PTR32 pHrdParameters; - PTR32 pProfileTierLevel; -} StdVideoH265VideoParameterSet32; - -typedef struct StdVideoH265SequenceParameterSetVui32 -{ - StdVideoH265SpsVuiFlags flags; - StdVideoH265AspectRatioIdc aspect_ratio_idc; - uint16_t sar_width; - uint16_t sar_height; - uint8_t video_format; - uint8_t colour_primaries; - uint8_t transfer_characteristics; - uint8_t matrix_coeffs; - uint8_t chroma_sample_loc_type_top_field; - uint8_t chroma_sample_loc_type_bottom_field; - uint8_t reserved1; - uint8_t reserved2; - uint16_t def_disp_win_left_offset; - uint16_t def_disp_win_right_offset; - uint16_t def_disp_win_top_offset; - uint16_t def_disp_win_bottom_offset; - uint32_t vui_num_units_in_tick; - uint32_t vui_time_scale; - uint32_t vui_num_ticks_poc_diff_one_minus1; - uint16_t min_spatial_segmentation_idc; - uint16_t reserved3; - uint8_t max_bytes_per_pic_denom; - uint8_t max_bits_per_min_cu_denom; - uint8_t log2_max_mv_length_horizontal; - uint8_t log2_max_mv_length_vertical; - PTR32 pHrdParameters; -} StdVideoH265SequenceParameterSetVui32; - -typedef struct StdVideoH265SequenceParameterSet32 -{ - StdVideoH265SpsFlags flags; - StdVideoH265ChromaFormatIdc chroma_format_idc; - uint32_t pic_width_in_luma_samples; - uint32_t pic_height_in_luma_samples; - uint8_t sps_video_parameter_set_id; - uint8_t sps_max_sub_layers_minus1; - uint8_t sps_seq_parameter_set_id; - uint8_t bit_depth_luma_minus8; - uint8_t bit_depth_chroma_minus8; - uint8_t log2_max_pic_order_cnt_lsb_minus4; - uint8_t log2_min_luma_coding_block_size_minus3; - uint8_t log2_diff_max_min_luma_coding_block_size; - uint8_t log2_min_luma_transform_block_size_minus2; - uint8_t log2_diff_max_min_luma_transform_block_size; - uint8_t max_transform_hierarchy_depth_inter; - uint8_t max_transform_hierarchy_depth_intra; - uint8_t num_short_term_ref_pic_sets; - uint8_t num_long_term_ref_pics_sps; - uint8_t pcm_sample_bit_depth_luma_minus1; - uint8_t pcm_sample_bit_depth_chroma_minus1; - uint8_t log2_min_pcm_luma_coding_block_size_minus3; - uint8_t log2_diff_max_min_pcm_luma_coding_block_size; - uint8_t reserved1; - uint8_t reserved2; - uint8_t palette_max_size; - uint8_t delta_palette_max_predictor_size; - uint8_t motion_vector_resolution_control_idc; - uint8_t sps_num_palette_predictor_initializers_minus1; - uint32_t conf_win_left_offset; - uint32_t conf_win_right_offset; - uint32_t conf_win_top_offset; - uint32_t conf_win_bottom_offset; - PTR32 pProfileTierLevel; - PTR32 pDecPicBufMgr; - PTR32 pScalingLists; - PTR32 pShortTermRefPicSet; - PTR32 pLongTermRefPicsSps; - PTR32 pSequenceParameterSetVui; - PTR32 pPredictorPaletteEntries; -} StdVideoH265SequenceParameterSet32; - -typedef struct StdVideoH265PictureParameterSet32 -{ - StdVideoH265PpsFlags flags; - uint8_t pps_pic_parameter_set_id; - uint8_t pps_seq_parameter_set_id; - uint8_t sps_video_parameter_set_id; - uint8_t num_extra_slice_header_bits; - uint8_t num_ref_idx_l0_default_active_minus1; - uint8_t num_ref_idx_l1_default_active_minus1; - int8_t init_qp_minus26; - uint8_t diff_cu_qp_delta_depth; - int8_t pps_cb_qp_offset; - int8_t pps_cr_qp_offset; - int8_t pps_beta_offset_div2; - int8_t pps_tc_offset_div2; - uint8_t log2_parallel_merge_level_minus2; - uint8_t log2_max_transform_skip_block_size_minus2; - uint8_t diff_cu_chroma_qp_offset_depth; - uint8_t chroma_qp_offset_list_len_minus1; - int8_t cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; - int8_t cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; - uint8_t log2_sao_offset_scale_luma; - uint8_t log2_sao_offset_scale_chroma; - int8_t pps_act_y_qp_offset_plus5; - int8_t pps_act_cb_qp_offset_plus5; - int8_t pps_act_cr_qp_offset_plus3; - uint8_t pps_num_palette_predictor_initializers; - uint8_t luma_bit_depth_entry_minus8; - uint8_t chroma_bit_depth_entry_minus8; - uint8_t num_tile_columns_minus1; - uint8_t num_tile_rows_minus1; - uint8_t reserved1; - uint8_t reserved2; - uint16_t column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]; - uint16_t row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]; - uint32_t reserved3; - PTR32 pScalingLists; - PTR32 pPredictorPaletteEntries; -} StdVideoH265PictureParameterSet32; - typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR32 { VkStructureType sType; @@ -5787,24 +6015,6 @@ typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR32 PTR32 pStdPPSs; } VkVideoDecodeH265SessionParametersAddInfoKHR32;
-typedef struct StdVideoAV1SequenceHeader32 -{ - StdVideoAV1SequenceHeaderFlags flags; - StdVideoAV1Profile seq_profile; - uint8_t frame_width_bits_minus_1; - uint8_t frame_height_bits_minus_1; - uint16_t max_frame_width_minus_1; - uint16_t max_frame_height_minus_1; - uint8_t delta_frame_id_length_minus_2; - uint8_t additional_frame_id_length_minus_1; - uint8_t order_hint_bits_minus_1; - uint8_t seq_force_integer_mv; - uint8_t seq_force_screen_content_tools; - uint8_t reserved1[5]; - PTR32 pColorConfig; - PTR32 pTimingInfo; -} StdVideoAV1SequenceHeader32; - typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR32 { VkStructureType sType; @@ -6517,6 +6727,18 @@ typedef struct VkCooperativeMatrixPropertiesNV32 VkScopeNV scope; } VkCooperativeMatrixPropertiesNV32;
+typedef struct VkCooperativeVectorPropertiesNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkComponentTypeKHR inputType; + VkComponentTypeKHR inputInterpretation; + VkComponentTypeKHR matrixInterpretation; + VkComponentTypeKHR biasInterpretation; + VkComponentTypeKHR resultType; + VkBool32 transpose; +} VkCooperativeVectorPropertiesNV32; + typedef struct VkPhysicalDeviceExternalBufferInfo32 { VkStructureType sType; @@ -6870,6 +7092,20 @@ typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV32 uint32_t minIndirectCommandsBufferOffsetAlignment; } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV32;
+typedef struct VkPhysicalDeviceClusterAccelerationStructurePropertiesNV32 +{ + VkStructureType sType; + PTR32 pNext; + uint32_t maxVerticesPerCluster; + uint32_t maxTrianglesPerCluster; + uint32_t clusterScratchByteAlignment; + uint32_t clusterByteAlignment; + uint32_t clusterTemplateByteAlignment; + uint32_t clusterBottomLevelByteAlignment; + uint32_t clusterTemplateBoundsByteAlignment; + uint32_t maxClusterGeometryIndex; +} VkPhysicalDeviceClusterAccelerationStructurePropertiesNV32; + typedef struct VkPhysicalDeviceMultiDrawPropertiesEXT32 { VkStructureType sType; @@ -7595,6 +7831,13 @@ typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT32 VkBool32 dynamicPrimitiveTopologyUnrestricted; } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT32;
+typedef struct VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV32 +{ + VkStructureType sType; + PTR32 pNext; + uint32_t maxPartitionCount; +} VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV32; + typedef struct VkPhysicalDeviceRobustness2PropertiesEXT32 { VkStructureType sType; @@ -7966,6 +8209,16 @@ typedef struct VkPhysicalDeviceCooperativeMatrix2PropertiesNV32 uint32_t cooperativeMatrixWorkgroupScopeReservedSharedMemory; } VkPhysicalDeviceCooperativeMatrix2PropertiesNV32;
+typedef struct VkPhysicalDeviceCooperativeVectorPropertiesNV32 +{ + VkStructureType sType; + PTR32 pNext; + VkShaderStageFlags cooperativeVectorSupportedStages; + VkBool32 cooperativeVectorTrainingFloat16Accumulation; + VkBool32 cooperativeVectorTrainingFloat32Accumulation; + uint32_t maxCooperativeVectorComponents; +} VkPhysicalDeviceCooperativeVectorPropertiesNV32; + typedef struct VkPhysicalDeviceProperties232 { VkStructureType sType; @@ -11174,6 +11427,289 @@ static inline void convert_uint32_t_array_host_to_win32(const uint32_t * const*i } }
+static inline void convert_VkClusterAccelerationStructureClustersBottomLevelInputNV_win32_to_host(const VkClusterAccelerationStructureClustersBottomLevelInputNV32 *in, VkClusterAccelerationStructureClustersBottomLevelInputNV *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->maxTotalClusterCount = in->maxTotalClusterCount; + out->maxClusterCountPerAccelerationStructure = in->maxClusterCountPerAccelerationStructure; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + +static inline void convert_VkClusterAccelerationStructureClustersBottomLevelInputNV_host_to_win32(const VkClusterAccelerationStructureClustersBottomLevelInputNV *in, VkClusterAccelerationStructureClustersBottomLevelInputNV32 *out) +{ + if (!in) return; + + out->maxTotalClusterCount = in->maxTotalClusterCount; + out->maxClusterCountPerAccelerationStructure = in->maxClusterCountPerAccelerationStructure; +} + +static inline VkClusterAccelerationStructureClustersBottomLevelInputNV *convert_VkClusterAccelerationStructureClustersBottomLevelInputNV_array_win32_to_host(struct conversion_context *ctx, const VkClusterAccelerationStructureClustersBottomLevelInputNV32 *in, uint32_t count) +{ + VkClusterAccelerationStructureClustersBottomLevelInputNV *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_VkClusterAccelerationStructureClustersBottomLevelInputNV_win32_to_host(&in[i], &out[i]); + } + + return out; +} + +static inline void convert_VkClusterAccelerationStructureClustersBottomLevelInputNV_array_host_to_win32(const VkClusterAccelerationStructureClustersBottomLevelInputNV *in, VkClusterAccelerationStructureClustersBottomLevelInputNV32 *out, uint32_t count) +{ + unsigned int i; + + if (!in) return; + + for (i = 0; i < count; i++) + { + convert_VkClusterAccelerationStructureClustersBottomLevelInputNV_host_to_win32(&in[i], &out[i]); + } +} + +static inline void convert_VkClusterAccelerationStructureTriangleClusterInputNV_win32_to_host(const VkClusterAccelerationStructureTriangleClusterInputNV32 *in, VkClusterAccelerationStructureTriangleClusterInputNV *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->vertexFormat = in->vertexFormat; + out->maxGeometryIndexValue = in->maxGeometryIndexValue; + out->maxClusterUniqueGeometryCount = in->maxClusterUniqueGeometryCount; + out->maxClusterTriangleCount = in->maxClusterTriangleCount; + out->maxClusterVertexCount = in->maxClusterVertexCount; + out->maxTotalTriangleCount = in->maxTotalTriangleCount; + out->maxTotalVertexCount = in->maxTotalVertexCount; + out->minPositionTruncateBitCount = in->minPositionTruncateBitCount; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + +static inline void convert_VkClusterAccelerationStructureTriangleClusterInputNV_host_to_win32(const VkClusterAccelerationStructureTriangleClusterInputNV *in, VkClusterAccelerationStructureTriangleClusterInputNV32 *out) +{ + if (!in) return; + + out->vertexFormat = in->vertexFormat; + out->maxGeometryIndexValue = in->maxGeometryIndexValue; + out->maxClusterUniqueGeometryCount = in->maxClusterUniqueGeometryCount; + out->maxClusterTriangleCount = in->maxClusterTriangleCount; + out->maxClusterVertexCount = in->maxClusterVertexCount; + out->maxTotalTriangleCount = in->maxTotalTriangleCount; + out->maxTotalVertexCount = in->maxTotalVertexCount; + out->minPositionTruncateBitCount = in->minPositionTruncateBitCount; +} + +static inline VkClusterAccelerationStructureTriangleClusterInputNV *convert_VkClusterAccelerationStructureTriangleClusterInputNV_array_win32_to_host(struct conversion_context *ctx, const VkClusterAccelerationStructureTriangleClusterInputNV32 *in, uint32_t count) +{ + VkClusterAccelerationStructureTriangleClusterInputNV *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_VkClusterAccelerationStructureTriangleClusterInputNV_win32_to_host(&in[i], &out[i]); + } + + return out; +} + +static inline void convert_VkClusterAccelerationStructureTriangleClusterInputNV_array_host_to_win32(const VkClusterAccelerationStructureTriangleClusterInputNV *in, VkClusterAccelerationStructureTriangleClusterInputNV32 *out, uint32_t count) +{ + unsigned int i; + + if (!in) return; + + for (i = 0; i < count; i++) + { + convert_VkClusterAccelerationStructureTriangleClusterInputNV_host_to_win32(&in[i], &out[i]); + } +} + +static inline void convert_VkClusterAccelerationStructureMoveObjectsInputNV_win32_to_host(const VkClusterAccelerationStructureMoveObjectsInputNV32 *in, VkClusterAccelerationStructureMoveObjectsInputNV *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->type = in->type; + out->noMoveOverlap = in->noMoveOverlap; + out->maxMovedBytes = in->maxMovedBytes; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + +static inline void convert_VkClusterAccelerationStructureMoveObjectsInputNV_host_to_win32(const VkClusterAccelerationStructureMoveObjectsInputNV *in, VkClusterAccelerationStructureMoveObjectsInputNV32 *out) +{ + if (!in) return; + + out->type = in->type; + out->noMoveOverlap = in->noMoveOverlap; + out->maxMovedBytes = in->maxMovedBytes; +} + +static inline VkClusterAccelerationStructureMoveObjectsInputNV *convert_VkClusterAccelerationStructureMoveObjectsInputNV_array_win32_to_host(struct conversion_context *ctx, const VkClusterAccelerationStructureMoveObjectsInputNV32 *in, uint32_t count) +{ + VkClusterAccelerationStructureMoveObjectsInputNV *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_VkClusterAccelerationStructureMoveObjectsInputNV_win32_to_host(&in[i], &out[i]); + } + + return out; +} + +static inline void convert_VkClusterAccelerationStructureMoveObjectsInputNV_array_host_to_win32(const VkClusterAccelerationStructureMoveObjectsInputNV *in, VkClusterAccelerationStructureMoveObjectsInputNV32 *out, uint32_t count) +{ + unsigned int i; + + if (!in) return; + + for (i = 0; i < count; i++) + { + convert_VkClusterAccelerationStructureMoveObjectsInputNV_host_to_win32(&in[i], &out[i]); + } +} + +static inline void convert_VkClusterAccelerationStructureOpInputNV_win32_to_host(struct conversion_context *ctx, const VkClusterAccelerationStructureOpInputNV32 *in, VkClusterAccelerationStructureOpInputNV *out, VkFlags selector) +{ + if (!in) return; + + if (selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV) + out->pClustersBottomLevel = convert_VkClusterAccelerationStructureClustersBottomLevelInputNV_array_win32_to_host(ctx, (VkClusterAccelerationStructureClustersBottomLevelInputNV32 *)UlongToPtr(in->pClustersBottomLevel), 1); + if (selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV || selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV || selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV) + out->pTriangleClusters = convert_VkClusterAccelerationStructureTriangleClusterInputNV_array_win32_to_host(ctx, (VkClusterAccelerationStructureTriangleClusterInputNV32 *)UlongToPtr(in->pTriangleClusters), 1); + if (selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV) + out->pMoveObjects = convert_VkClusterAccelerationStructureMoveObjectsInputNV_array_win32_to_host(ctx, (VkClusterAccelerationStructureMoveObjectsInputNV32 *)UlongToPtr(in->pMoveObjects), 1); +} + +static inline void convert_VkClusterAccelerationStructureOpInputNV_host_to_win32(const VkClusterAccelerationStructureOpInputNV *in, const VkClusterAccelerationStructureOpInputNV32 *out, VkFlags selector) +{ + if (!in) return; + + if (selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV) + convert_VkClusterAccelerationStructureClustersBottomLevelInputNV_array_host_to_win32(in->pClustersBottomLevel, (VkClusterAccelerationStructureClustersBottomLevelInputNV32 *)UlongToPtr(out->pClustersBottomLevel), 1); + if (selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV || selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV || selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV) + convert_VkClusterAccelerationStructureTriangleClusterInputNV_array_host_to_win32(in->pTriangleClusters, (VkClusterAccelerationStructureTriangleClusterInputNV32 *)UlongToPtr(out->pTriangleClusters), 1); + if (selector == VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV) + convert_VkClusterAccelerationStructureMoveObjectsInputNV_array_host_to_win32(in->pMoveObjects, (VkClusterAccelerationStructureMoveObjectsInputNV32 *)UlongToPtr(out->pMoveObjects), 1); +} + +static inline void convert_VkClusterAccelerationStructureInputInfoNV_win32_to_host(struct conversion_context *ctx, const VkClusterAccelerationStructureInputInfoNV32 *in, VkClusterAccelerationStructureInputInfoNV *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->maxAccelerationStructureCount = in->maxAccelerationStructureCount; + out->flags = in->flags; + out->opType = in->opType; + out->opMode = in->opMode; + convert_VkClusterAccelerationStructureOpInputNV_win32_to_host(ctx, &in->opInput, &out->opInput, in->opType); + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + +static inline void convert_VkStridedDeviceAddressRegionKHR_win32_to_host(const VkStridedDeviceAddressRegionKHR32 *in, VkStridedDeviceAddressRegionKHR *out) +{ + if (!in) return; + + out->deviceAddress = in->deviceAddress; + out->stride = in->stride; + out->size = in->size; +} + +static inline void convert_VkClusterAccelerationStructureCommandsInfoNV_win32_to_host(struct conversion_context *ctx, const VkClusterAccelerationStructureCommandsInfoNV32 *in, VkClusterAccelerationStructureCommandsInfoNV *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + convert_VkClusterAccelerationStructureInputInfoNV_win32_to_host(ctx, &in->input, &out->input); + out->dstImplicitData = in->dstImplicitData; + out->scratchData = in->scratchData; + convert_VkStridedDeviceAddressRegionKHR_win32_to_host(&in->dstAddressesArray, &out->dstAddressesArray); + convert_VkStridedDeviceAddressRegionKHR_win32_to_host(&in->dstSizesArray, &out->dstSizesArray); + convert_VkStridedDeviceAddressRegionKHR_win32_to_host(&in->srcInfosArray, &out->srcInfosArray); + out->srcInfosCount = in->srcInfosCount; + out->addressResolutionFlags = in->addressResolutionFlags; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + +static inline void convert_VkPartitionedAccelerationStructureInstancesInputNV_win32_to_host(struct conversion_context *ctx, const VkPartitionedAccelerationStructureInstancesInputNV32 *in, VkPartitionedAccelerationStructureInstancesInputNV *out) +{ + const VkBaseInStructure32 *in_header; + VkBaseOutStructure *out_header = (void *)out; + + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->flags = in->flags; + out->instanceCount = in->instanceCount; + out->maxInstancePerPartitionCount = in->maxInstancePerPartitionCount; + out->partitionCount = in->partitionCount; + out->maxInstanceInGlobalPartitionCount = in->maxInstanceInGlobalPartitionCount; + + for (in_header = UlongToPtr(in->pNext); in_header; in_header = UlongToPtr(in_header->pNext)) + { + switch (in_header->sType) + { + case VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV: + { + VkPartitionedAccelerationStructureFlagsNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPartitionedAccelerationStructureFlagsNV32 *in_ext = (const VkPartitionedAccelerationStructureFlagsNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV; + out_ext->pNext = NULL; + out_ext->enablePartitionTranslation = in_ext->enablePartitionTranslation; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } + default: + FIXME("Unhandled sType %u.\n", in_header->sType); + break; + } + } +} + +static inline void convert_VkPartitionedAccelerationStructureInstancesInputNV_host_to_win32(const VkPartitionedAccelerationStructureInstancesInputNV *in, const VkPartitionedAccelerationStructureInstancesInputNV32 *out) +{ + if (!in) return; + +} + +static inline void convert_VkBuildPartitionedAccelerationStructureInfoNV_win32_to_host(struct conversion_context *ctx, const VkBuildPartitionedAccelerationStructureInfoNV32 *in, VkBuildPartitionedAccelerationStructureInfoNV *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + convert_VkPartitionedAccelerationStructureInstancesInputNV_win32_to_host(ctx, &in->input, &out->input); + out->srcAccelerationStructureData = in->srcAccelerationStructureData; + out->dstAccelerationStructureData = in->dstAccelerationStructureData; + out->scratchData = in->scratchData; + out->srcInfos = in->srcInfos; + out->srcInfosCount = in->srcInfosCount; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + static inline void convert_VkVideoCodingControlInfoKHR_win32_to_host(struct conversion_context *ctx, const VkVideoCodingControlInfoKHR32 *in, VkVideoCodingControlInfoKHR *out) { const VkBaseInStructure32 *in_header; @@ -11268,6 +11804,44 @@ static inline void convert_VkVideoCodingControlInfoKHR_win32_to_host(struct conv } }
+static inline void convert_VkConvertCooperativeVectorMatrixInfoNV_win32_to_host(const VkConvertCooperativeVectorMatrixInfoNV32 *in, VkConvertCooperativeVectorMatrixInfoNV *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->srcSize = in->srcSize; + out->srcData = in->srcData; + out->pDstSize = UlongToPtr(in->pDstSize); + out->dstData = in->dstData; + out->srcComponentType = in->srcComponentType; + out->dstComponentType = in->dstComponentType; + out->numRows = in->numRows; + out->numColumns = in->numColumns; + out->srcLayout = in->srcLayout; + out->srcStride = in->srcStride; + out->dstLayout = in->dstLayout; + out->dstStride = in->dstStride; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + +static inline const VkConvertCooperativeVectorMatrixInfoNV *convert_VkConvertCooperativeVectorMatrixInfoNV_array_win32_to_host(struct conversion_context *ctx, const VkConvertCooperativeVectorMatrixInfoNV32 *in, uint32_t count) +{ + VkConvertCooperativeVectorMatrixInfoNV *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_VkConvertCooperativeVectorMatrixInfoNV_win32_to_host(&in[i], &out[i]); + } + + return out; +} + static inline void convert_VkCopyAccelerationStructureInfoKHR_win32_to_host(const VkCopyAccelerationStructureInfoKHR32 *in, VkCopyAccelerationStructureInfoKHR *out) { if (!in) return; @@ -11629,6 +12203,398 @@ static inline void convert_VkDebugMarkerMarkerInfoEXT_win32_to_host(const VkDebu FIXME("Unexpected pNext\n"); }
+static inline void convert_StdVideoH264SequenceParameterSetVui_win32_to_host(const StdVideoH264SequenceParameterSetVui32 *in, StdVideoH264SequenceParameterSetVui *out) +{ + if (!in) return; + + out->flags = in->flags; + out->aspect_ratio_idc = in->aspect_ratio_idc; + out->sar_width = in->sar_width; + out->sar_height = in->sar_height; + out->video_format = in->video_format; + out->colour_primaries = in->colour_primaries; + out->transfer_characteristics = in->transfer_characteristics; + out->matrix_coefficients = in->matrix_coefficients; + out->num_units_in_tick = in->num_units_in_tick; + out->time_scale = in->time_scale; + out->max_num_reorder_frames = in->max_num_reorder_frames; + out->max_dec_frame_buffering = in->max_dec_frame_buffering; + out->chroma_sample_loc_type_top_field = in->chroma_sample_loc_type_top_field; + out->chroma_sample_loc_type_bottom_field = in->chroma_sample_loc_type_bottom_field; + out->reserved1 = in->reserved1; + out->pHrdParameters = UlongToPtr(in->pHrdParameters); +} + +static inline const StdVideoH264SequenceParameterSetVui *convert_StdVideoH264SequenceParameterSetVui_array_win32_to_host(struct conversion_context *ctx, const StdVideoH264SequenceParameterSetVui32 *in, uint32_t count) +{ + StdVideoH264SequenceParameterSetVui *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_StdVideoH264SequenceParameterSetVui_win32_to_host(&in[i], &out[i]); + } + + return out; +} + +static inline void convert_StdVideoH264SequenceParameterSet_win32_to_host(struct conversion_context *ctx, const StdVideoH264SequenceParameterSet32 *in, StdVideoH264SequenceParameterSet *out) +{ + if (!in) return; + + out->flags = in->flags; + out->profile_idc = in->profile_idc; + out->level_idc = in->level_idc; + out->chroma_format_idc = in->chroma_format_idc; + out->seq_parameter_set_id = in->seq_parameter_set_id; + out->bit_depth_luma_minus8 = in->bit_depth_luma_minus8; + out->bit_depth_chroma_minus8 = in->bit_depth_chroma_minus8; + out->log2_max_frame_num_minus4 = in->log2_max_frame_num_minus4; + out->pic_order_cnt_type = in->pic_order_cnt_type; + out->offset_for_non_ref_pic = in->offset_for_non_ref_pic; + out->offset_for_top_to_bottom_field = in->offset_for_top_to_bottom_field; + out->log2_max_pic_order_cnt_lsb_minus4 = in->log2_max_pic_order_cnt_lsb_minus4; + out->num_ref_frames_in_pic_order_cnt_cycle = in->num_ref_frames_in_pic_order_cnt_cycle; + out->max_num_ref_frames = in->max_num_ref_frames; + out->reserved1 = in->reserved1; + out->pic_width_in_mbs_minus1 = in->pic_width_in_mbs_minus1; + out->pic_height_in_map_units_minus1 = in->pic_height_in_map_units_minus1; + out->frame_crop_left_offset = in->frame_crop_left_offset; + out->frame_crop_right_offset = in->frame_crop_right_offset; + out->frame_crop_top_offset = in->frame_crop_top_offset; + out->frame_crop_bottom_offset = in->frame_crop_bottom_offset; + out->reserved2 = in->reserved2; + out->pOffsetForRefFrame = UlongToPtr(in->pOffsetForRefFrame); + out->pScalingLists = UlongToPtr(in->pScalingLists); + out->pSequenceParameterSetVui = convert_StdVideoH264SequenceParameterSetVui_array_win32_to_host(ctx, (const StdVideoH264SequenceParameterSetVui32 *)UlongToPtr(in->pSequenceParameterSetVui), 1); +} + +static inline const StdVideoH264SequenceParameterSet *convert_StdVideoH264SequenceParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH264SequenceParameterSet32 *in, uint32_t count) +{ + StdVideoH264SequenceParameterSet *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_StdVideoH264SequenceParameterSet_win32_to_host(ctx, &in[i], &out[i]); + } + + return out; +} + +static inline void convert_StdVideoH264PictureParameterSet_win32_to_host(const StdVideoH264PictureParameterSet32 *in, StdVideoH264PictureParameterSet *out) +{ + if (!in) return; + + out->flags = in->flags; + out->seq_parameter_set_id = in->seq_parameter_set_id; + out->pic_parameter_set_id = in->pic_parameter_set_id; + out->num_ref_idx_l0_default_active_minus1 = in->num_ref_idx_l0_default_active_minus1; + out->num_ref_idx_l1_default_active_minus1 = in->num_ref_idx_l1_default_active_minus1; + out->weighted_bipred_idc = in->weighted_bipred_idc; + out->pic_init_qp_minus26 = in->pic_init_qp_minus26; + out->pic_init_qs_minus26 = in->pic_init_qs_minus26; + out->chroma_qp_index_offset = in->chroma_qp_index_offset; + out->second_chroma_qp_index_offset = in->second_chroma_qp_index_offset; + out->pScalingLists = UlongToPtr(in->pScalingLists); +} + +static inline const StdVideoH264PictureParameterSet *convert_StdVideoH264PictureParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH264PictureParameterSet32 *in, uint32_t count) +{ + StdVideoH264PictureParameterSet *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_StdVideoH264PictureParameterSet_win32_to_host(&in[i], &out[i]); + } + + return out; +} + +static inline void convert_StdVideoH265HrdParameters_win32_to_host(const StdVideoH265HrdParameters32 *in, StdVideoH265HrdParameters *out) +{ + if (!in) return; + + out->flags = in->flags; + out->tick_divisor_minus2 = in->tick_divisor_minus2; + out->du_cpb_removal_delay_increment_length_minus1 = in->du_cpb_removal_delay_increment_length_minus1; + out->dpb_output_delay_du_length_minus1 = in->dpb_output_delay_du_length_minus1; + out->bit_rate_scale = in->bit_rate_scale; + out->cpb_size_scale = in->cpb_size_scale; + out->cpb_size_du_scale = in->cpb_size_du_scale; + out->initial_cpb_removal_delay_length_minus1 = in->initial_cpb_removal_delay_length_minus1; + out->au_cpb_removal_delay_length_minus1 = in->au_cpb_removal_delay_length_minus1; + out->dpb_output_delay_length_minus1 = in->dpb_output_delay_length_minus1; + memcpy(out->cpb_cnt_minus1, in->cpb_cnt_minus1, STD_VIDEO_H265_SUBLAYERS_LIST_SIZE * sizeof(uint8_t)); + memcpy(out->elemental_duration_in_tc_minus1, in->elemental_duration_in_tc_minus1, STD_VIDEO_H265_SUBLAYERS_LIST_SIZE * sizeof(uint16_t)); + memcpy(out->reserved, in->reserved, 3 * sizeof(uint16_t)); + out->pSubLayerHrdParametersNal = UlongToPtr(in->pSubLayerHrdParametersNal); + out->pSubLayerHrdParametersVcl = UlongToPtr(in->pSubLayerHrdParametersVcl); +} + +static inline const StdVideoH265HrdParameters *convert_StdVideoH265HrdParameters_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265HrdParameters32 *in, uint32_t count) +{ + StdVideoH265HrdParameters *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_StdVideoH265HrdParameters_win32_to_host(&in[i], &out[i]); + } + + return out; +} + +static inline void convert_StdVideoH265VideoParameterSet_win32_to_host(struct conversion_context *ctx, const StdVideoH265VideoParameterSet32 *in, StdVideoH265VideoParameterSet *out) +{ + if (!in) return; + + out->flags = in->flags; + out->vps_video_parameter_set_id = in->vps_video_parameter_set_id; + out->vps_max_sub_layers_minus1 = in->vps_max_sub_layers_minus1; + out->reserved1 = in->reserved1; + out->reserved2 = in->reserved2; + out->vps_num_units_in_tick = in->vps_num_units_in_tick; + out->vps_time_scale = in->vps_time_scale; + out->vps_num_ticks_poc_diff_one_minus1 = in->vps_num_ticks_poc_diff_one_minus1; + out->reserved3 = in->reserved3; + out->pDecPicBufMgr = UlongToPtr(in->pDecPicBufMgr); + out->pHrdParameters = convert_StdVideoH265HrdParameters_array_win32_to_host(ctx, (const StdVideoH265HrdParameters32 *)UlongToPtr(in->pHrdParameters), 1); + out->pProfileTierLevel = UlongToPtr(in->pProfileTierLevel); +} + +static inline const StdVideoH265VideoParameterSet *convert_StdVideoH265VideoParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265VideoParameterSet32 *in, uint32_t count) +{ + StdVideoH265VideoParameterSet *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_StdVideoH265VideoParameterSet_win32_to_host(ctx, &in[i], &out[i]); + } + + return out; +} + +static inline void convert_StdVideoH265SequenceParameterSetVui_win32_to_host(struct conversion_context *ctx, const StdVideoH265SequenceParameterSetVui32 *in, StdVideoH265SequenceParameterSetVui *out) +{ + if (!in) return; + + out->flags = in->flags; + out->aspect_ratio_idc = in->aspect_ratio_idc; + out->sar_width = in->sar_width; + out->sar_height = in->sar_height; + out->video_format = in->video_format; + out->colour_primaries = in->colour_primaries; + out->transfer_characteristics = in->transfer_characteristics; + out->matrix_coeffs = in->matrix_coeffs; + out->chroma_sample_loc_type_top_field = in->chroma_sample_loc_type_top_field; + out->chroma_sample_loc_type_bottom_field = in->chroma_sample_loc_type_bottom_field; + out->reserved1 = in->reserved1; + out->reserved2 = in->reserved2; + out->def_disp_win_left_offset = in->def_disp_win_left_offset; + out->def_disp_win_right_offset = in->def_disp_win_right_offset; + out->def_disp_win_top_offset = in->def_disp_win_top_offset; + out->def_disp_win_bottom_offset = in->def_disp_win_bottom_offset; + out->vui_num_units_in_tick = in->vui_num_units_in_tick; + out->vui_time_scale = in->vui_time_scale; + out->vui_num_ticks_poc_diff_one_minus1 = in->vui_num_ticks_poc_diff_one_minus1; + out->min_spatial_segmentation_idc = in->min_spatial_segmentation_idc; + out->reserved3 = in->reserved3; + out->max_bytes_per_pic_denom = in->max_bytes_per_pic_denom; + out->max_bits_per_min_cu_denom = in->max_bits_per_min_cu_denom; + out->log2_max_mv_length_horizontal = in->log2_max_mv_length_horizontal; + out->log2_max_mv_length_vertical = in->log2_max_mv_length_vertical; + out->pHrdParameters = convert_StdVideoH265HrdParameters_array_win32_to_host(ctx, (const StdVideoH265HrdParameters32 *)UlongToPtr(in->pHrdParameters), 1); +} + +static inline const StdVideoH265SequenceParameterSetVui *convert_StdVideoH265SequenceParameterSetVui_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265SequenceParameterSetVui32 *in, uint32_t count) +{ + StdVideoH265SequenceParameterSetVui *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_StdVideoH265SequenceParameterSetVui_win32_to_host(ctx, &in[i], &out[i]); + } + + return out; +} + +static inline void convert_StdVideoH265SequenceParameterSet_win32_to_host(struct conversion_context *ctx, const StdVideoH265SequenceParameterSet32 *in, StdVideoH265SequenceParameterSet *out) +{ + if (!in) return; + + out->flags = in->flags; + out->chroma_format_idc = in->chroma_format_idc; + out->pic_width_in_luma_samples = in->pic_width_in_luma_samples; + out->pic_height_in_luma_samples = in->pic_height_in_luma_samples; + out->sps_video_parameter_set_id = in->sps_video_parameter_set_id; + out->sps_max_sub_layers_minus1 = in->sps_max_sub_layers_minus1; + out->sps_seq_parameter_set_id = in->sps_seq_parameter_set_id; + out->bit_depth_luma_minus8 = in->bit_depth_luma_minus8; + out->bit_depth_chroma_minus8 = in->bit_depth_chroma_minus8; + out->log2_max_pic_order_cnt_lsb_minus4 = in->log2_max_pic_order_cnt_lsb_minus4; + out->log2_min_luma_coding_block_size_minus3 = in->log2_min_luma_coding_block_size_minus3; + out->log2_diff_max_min_luma_coding_block_size = in->log2_diff_max_min_luma_coding_block_size; + out->log2_min_luma_transform_block_size_minus2 = in->log2_min_luma_transform_block_size_minus2; + out->log2_diff_max_min_luma_transform_block_size = in->log2_diff_max_min_luma_transform_block_size; + out->max_transform_hierarchy_depth_inter = in->max_transform_hierarchy_depth_inter; + out->max_transform_hierarchy_depth_intra = in->max_transform_hierarchy_depth_intra; + out->num_short_term_ref_pic_sets = in->num_short_term_ref_pic_sets; + out->num_long_term_ref_pics_sps = in->num_long_term_ref_pics_sps; + out->pcm_sample_bit_depth_luma_minus1 = in->pcm_sample_bit_depth_luma_minus1; + out->pcm_sample_bit_depth_chroma_minus1 = in->pcm_sample_bit_depth_chroma_minus1; + out->log2_min_pcm_luma_coding_block_size_minus3 = in->log2_min_pcm_luma_coding_block_size_minus3; + out->log2_diff_max_min_pcm_luma_coding_block_size = in->log2_diff_max_min_pcm_luma_coding_block_size; + out->reserved1 = in->reserved1; + out->reserved2 = in->reserved2; + out->palette_max_size = in->palette_max_size; + out->delta_palette_max_predictor_size = in->delta_palette_max_predictor_size; + out->motion_vector_resolution_control_idc = in->motion_vector_resolution_control_idc; + out->sps_num_palette_predictor_initializers_minus1 = in->sps_num_palette_predictor_initializers_minus1; + out->conf_win_left_offset = in->conf_win_left_offset; + out->conf_win_right_offset = in->conf_win_right_offset; + out->conf_win_top_offset = in->conf_win_top_offset; + out->conf_win_bottom_offset = in->conf_win_bottom_offset; + out->pProfileTierLevel = UlongToPtr(in->pProfileTierLevel); + out->pDecPicBufMgr = UlongToPtr(in->pDecPicBufMgr); + out->pScalingLists = UlongToPtr(in->pScalingLists); + out->pShortTermRefPicSet = UlongToPtr(in->pShortTermRefPicSet); + out->pLongTermRefPicsSps = UlongToPtr(in->pLongTermRefPicsSps); + out->pSequenceParameterSetVui = convert_StdVideoH265SequenceParameterSetVui_array_win32_to_host(ctx, (const StdVideoH265SequenceParameterSetVui32 *)UlongToPtr(in->pSequenceParameterSetVui), 1); + out->pPredictorPaletteEntries = UlongToPtr(in->pPredictorPaletteEntries); +} + +static inline const StdVideoH265SequenceParameterSet *convert_StdVideoH265SequenceParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265SequenceParameterSet32 *in, uint32_t count) +{ + StdVideoH265SequenceParameterSet *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_StdVideoH265SequenceParameterSet_win32_to_host(ctx, &in[i], &out[i]); + } + + return out; +} + +static inline void convert_StdVideoH265PictureParameterSet_win32_to_host(const StdVideoH265PictureParameterSet32 *in, StdVideoH265PictureParameterSet *out) +{ + if (!in) return; + + out->flags = in->flags; + out->pps_pic_parameter_set_id = in->pps_pic_parameter_set_id; + out->pps_seq_parameter_set_id = in->pps_seq_parameter_set_id; + out->sps_video_parameter_set_id = in->sps_video_parameter_set_id; + out->num_extra_slice_header_bits = in->num_extra_slice_header_bits; + out->num_ref_idx_l0_default_active_minus1 = in->num_ref_idx_l0_default_active_minus1; + out->num_ref_idx_l1_default_active_minus1 = in->num_ref_idx_l1_default_active_minus1; + out->init_qp_minus26 = in->init_qp_minus26; + out->diff_cu_qp_delta_depth = in->diff_cu_qp_delta_depth; + out->pps_cb_qp_offset = in->pps_cb_qp_offset; + out->pps_cr_qp_offset = in->pps_cr_qp_offset; + out->pps_beta_offset_div2 = in->pps_beta_offset_div2; + out->pps_tc_offset_div2 = in->pps_tc_offset_div2; + out->log2_parallel_merge_level_minus2 = in->log2_parallel_merge_level_minus2; + out->log2_max_transform_skip_block_size_minus2 = in->log2_max_transform_skip_block_size_minus2; + out->diff_cu_chroma_qp_offset_depth = in->diff_cu_chroma_qp_offset_depth; + out->chroma_qp_offset_list_len_minus1 = in->chroma_qp_offset_list_len_minus1; + memcpy(out->cb_qp_offset_list, in->cb_qp_offset_list, STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE * sizeof(int8_t)); + memcpy(out->cr_qp_offset_list, in->cr_qp_offset_list, STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE * sizeof(int8_t)); + out->log2_sao_offset_scale_luma = in->log2_sao_offset_scale_luma; + out->log2_sao_offset_scale_chroma = in->log2_sao_offset_scale_chroma; + out->pps_act_y_qp_offset_plus5 = in->pps_act_y_qp_offset_plus5; + out->pps_act_cb_qp_offset_plus5 = in->pps_act_cb_qp_offset_plus5; + out->pps_act_cr_qp_offset_plus3 = in->pps_act_cr_qp_offset_plus3; + out->pps_num_palette_predictor_initializers = in->pps_num_palette_predictor_initializers; + out->luma_bit_depth_entry_minus8 = in->luma_bit_depth_entry_minus8; + out->chroma_bit_depth_entry_minus8 = in->chroma_bit_depth_entry_minus8; + out->num_tile_columns_minus1 = in->num_tile_columns_minus1; + out->num_tile_rows_minus1 = in->num_tile_rows_minus1; + out->reserved1 = in->reserved1; + out->reserved2 = in->reserved2; + memcpy(out->column_width_minus1, in->column_width_minus1, STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE * sizeof(uint16_t)); + memcpy(out->row_height_minus1, in->row_height_minus1, STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE * sizeof(uint16_t)); + out->reserved3 = in->reserved3; + out->pScalingLists = UlongToPtr(in->pScalingLists); + out->pPredictorPaletteEntries = UlongToPtr(in->pPredictorPaletteEntries); +} + +static inline const StdVideoH265PictureParameterSet *convert_StdVideoH265PictureParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265PictureParameterSet32 *in, uint32_t count) +{ + StdVideoH265PictureParameterSet *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_StdVideoH265PictureParameterSet_win32_to_host(&in[i], &out[i]); + } + + return out; +} + +static inline void convert_StdVideoAV1SequenceHeader_win32_to_host(const StdVideoAV1SequenceHeader32 *in, StdVideoAV1SequenceHeader *out) +{ + if (!in) return; + + out->flags = in->flags; + out->seq_profile = in->seq_profile; + out->frame_width_bits_minus_1 = in->frame_width_bits_minus_1; + out->frame_height_bits_minus_1 = in->frame_height_bits_minus_1; + out->max_frame_width_minus_1 = in->max_frame_width_minus_1; + out->max_frame_height_minus_1 = in->max_frame_height_minus_1; + out->delta_frame_id_length_minus_2 = in->delta_frame_id_length_minus_2; + out->additional_frame_id_length_minus_1 = in->additional_frame_id_length_minus_1; + out->order_hint_bits_minus_1 = in->order_hint_bits_minus_1; + out->seq_force_integer_mv = in->seq_force_integer_mv; + out->seq_force_screen_content_tools = in->seq_force_screen_content_tools; + memcpy(out->reserved1, in->reserved1, 5 * sizeof(uint8_t)); + out->pColorConfig = UlongToPtr(in->pColorConfig); + out->pTimingInfo = UlongToPtr(in->pTimingInfo); +} + +static inline const StdVideoAV1SequenceHeader *convert_StdVideoAV1SequenceHeader_array_win32_to_host(struct conversion_context *ctx, const StdVideoAV1SequenceHeader32 *in, uint32_t count) +{ + StdVideoAV1SequenceHeader *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_StdVideoAV1SequenceHeader_win32_to_host(&in[i], &out[i]); + } + + return out; +} + static inline void convert_StdVideoAV1TileInfo_win32_to_host(const StdVideoAV1TileInfo32 *in, StdVideoAV1TileInfo *out) { if (!in) return; @@ -11742,6 +12708,18 @@ static inline void convert_VkVideoDecodeInfoKHR_win32_to_host(struct conversion_ out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR: + { + VkVideoDecodeH264InlineSessionParametersInfoKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkVideoDecodeH264InlineSessionParametersInfoKHR32 *in_ext = (const VkVideoDecodeH264InlineSessionParametersInfoKHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR; + out_ext->pNext = NULL; + out_ext->pStdSPS = convert_StdVideoH264SequenceParameterSet_array_win32_to_host(ctx, (const StdVideoH264SequenceParameterSet32 *)UlongToPtr(in_ext->pStdSPS), 1); + out_ext->pStdPPS = convert_StdVideoH264PictureParameterSet_array_win32_to_host(ctx, (const StdVideoH264PictureParameterSet32 *)UlongToPtr(in_ext->pStdPPS), 1); + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR: { VkVideoDecodeH264PictureInfoKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -11755,6 +12733,19 @@ static inline void convert_VkVideoDecodeInfoKHR_win32_to_host(struct conversion_ out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR: + { + VkVideoDecodeH265InlineSessionParametersInfoKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkVideoDecodeH265InlineSessionParametersInfoKHR32 *in_ext = (const VkVideoDecodeH265InlineSessionParametersInfoKHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR; + out_ext->pNext = NULL; + out_ext->pStdVPS = convert_StdVideoH265VideoParameterSet_array_win32_to_host(ctx, (const StdVideoH265VideoParameterSet32 *)UlongToPtr(in_ext->pStdVPS), 1); + out_ext->pStdSPS = convert_StdVideoH265SequenceParameterSet_array_win32_to_host(ctx, (const StdVideoH265SequenceParameterSet32 *)UlongToPtr(in_ext->pStdSPS), 1); + out_ext->pStdPPS = convert_StdVideoH265PictureParameterSet_array_win32_to_host(ctx, (const StdVideoH265PictureParameterSet32 *)UlongToPtr(in_ext->pStdPPS), 1); + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR: { VkVideoDecodeH265PictureInfoKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -11768,6 +12759,17 @@ static inline void convert_VkVideoDecodeInfoKHR_win32_to_host(struct conversion_ out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR: + { + VkVideoDecodeAV1InlineSessionParametersInfoKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkVideoDecodeAV1InlineSessionParametersInfoKHR32 *in_ext = (const VkVideoDecodeAV1InlineSessionParametersInfoKHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR; + out_ext->pNext = NULL; + out_ext->pStdSequenceHeader = convert_StdVideoAV1SequenceHeader_array_win32_to_host(ctx, (const StdVideoAV1SequenceHeader32 *)UlongToPtr(in_ext->pStdSequenceHeader), 1); + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR: { VkVideoDecodeAV1PictureInfoKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -12536,8 +13538,11 @@ static inline const VkImageMemoryBarrier *convert_VkImageMemoryBarrier_array_win return out; }
-static inline void convert_VkMemoryBarrier2_win32_to_host(const VkMemoryBarrier232 *in, VkMemoryBarrier2 *out) +static inline void convert_VkMemoryBarrier2_win32_to_host(struct conversion_context *ctx, const VkMemoryBarrier232 *in, VkMemoryBarrier2 *out) { + const VkBaseInStructure32 *in_header; + VkBaseOutStructure *out_header = (void *)out; + if (!in) return;
out->sType = in->sType; @@ -12546,8 +13551,28 @@ static inline void convert_VkMemoryBarrier2_win32_to_host(const VkMemoryBarrier2 out->srcAccessMask = in->srcAccessMask; out->dstStageMask = in->dstStageMask; out->dstAccessMask = in->dstAccessMask; - if (in->pNext) - FIXME("Unexpected pNext\n"); + + for (in_header = UlongToPtr(in->pNext); in_header; in_header = UlongToPtr(in_header->pNext)) + { + switch (in_header->sType) + { + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR: + { + VkMemoryBarrierAccessFlags3KHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkMemoryBarrierAccessFlags3KHR32 *in_ext = (const VkMemoryBarrierAccessFlags3KHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR; + out_ext->pNext = NULL; + out_ext->srcAccessMask3 = in_ext->srcAccessMask3; + out_ext->dstAccessMask3 = in_ext->dstAccessMask3; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } + default: + FIXME("Unhandled sType %u.\n", in_header->sType); + break; + } + } }
static inline const VkMemoryBarrier2 *convert_VkMemoryBarrier2_array_win32_to_host(struct conversion_context *ctx, const VkMemoryBarrier232 *in, uint32_t count) @@ -12560,7 +13585,7 @@ static inline const VkMemoryBarrier2 *convert_VkMemoryBarrier2_array_win32_to_ho out = conversion_context_alloc(ctx, count * sizeof(*out)); for (i = 0; i < count; i++) { - convert_VkMemoryBarrier2_win32_to_host(&in[i], &out[i]); + convert_VkMemoryBarrier2_win32_to_host(ctx, &in[i], &out[i]); }
return out; @@ -12589,6 +13614,18 @@ static inline void convert_VkBufferMemoryBarrier2_win32_to_host(struct conversio { switch (in_header->sType) { + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR: + { + VkMemoryBarrierAccessFlags3KHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkMemoryBarrierAccessFlags3KHR32 *in_ext = (const VkMemoryBarrierAccessFlags3KHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR; + out_ext->pNext = NULL; + out_ext->srcAccessMask3 = in_ext->srcAccessMask3; + out_ext->dstAccessMask3 = in_ext->dstAccessMask3; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT: { VkExternalMemoryAcquireUnmodifiedEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -12661,6 +13698,18 @@ static inline void convert_VkImageMemoryBarrier2_win32_to_host(struct conversion out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR: + { + VkMemoryBarrierAccessFlags3KHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkMemoryBarrierAccessFlags3KHR32 *in_ext = (const VkMemoryBarrierAccessFlags3KHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR; + out_ext->pNext = NULL; + out_ext->srcAccessMask3 = in_ext->srcAccessMask3; + out_ext->dstAccessMask3 = in_ext->dstAccessMask3; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT: { VkExternalMemoryAcquireUnmodifiedEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -12861,6 +13910,18 @@ static inline void convert_VkWriteDescriptorSet_win32_to_host(struct conversion_ out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV: + { + VkWriteDescriptorSetPartitionedAccelerationStructureNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkWriteDescriptorSetPartitionedAccelerationStructureNV32 *in_ext = (const VkWriteDescriptorSetPartitionedAccelerationStructureNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV; + out_ext->pNext = NULL; + out_ext->accelerationStructureCount = in_ext->accelerationStructureCount; + out_ext->pAccelerationStructures = UlongToPtr(in_ext->pAccelerationStructures); + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -13261,15 +14322,6 @@ static inline const VkShadingRatePaletteNV *convert_VkShadingRatePaletteNV_array return out; }
-static inline void convert_VkStridedDeviceAddressRegionKHR_win32_to_host(const VkStridedDeviceAddressRegionKHR32 *in, VkStridedDeviceAddressRegionKHR *out) -{ - if (!in) return; - - out->deviceAddress = in->deviceAddress; - out->stride = in->stride; - out->size = in->size; -} - static inline const VkDependencyInfo *convert_VkDependencyInfo_array_win32_to_host(struct conversion_context *ctx, const VkDependencyInfo32 *in, uint32_t count) { VkDependencyInfo *out; @@ -14727,6 +15779,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV: + { + VkPhysicalDeviceClusterAccelerationStructureFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV *in_ext = (const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->clusterAccelerationStructure = in_ext->clusterAccelerationStructure; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: { VkPhysicalDeviceFeatures2 *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -14911,6 +15974,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: + { + VkPhysicalDeviceMaintenance8FeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceMaintenance8FeaturesKHR *in_ext = (const VkPhysicalDeviceMaintenance8FeaturesKHR *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR; + out_ext->pNext = NULL; + out_ext->maintenance8 = in_ext->maintenance8; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: { VkPhysicalDeviceShaderDrawParametersFeatures *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -15923,6 +16997,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV: + { + VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV *in_ext = (const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->partitionedAccelerationStructure = in_ext->partitionedAccelerationStructure; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: { VkPhysicalDeviceDiagnosticsConfigFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -16291,6 +17376,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR: + { + VkPhysicalDeviceVideoMaintenance2FeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceVideoMaintenance2FeaturesKHR *in_ext = (const VkPhysicalDeviceVideoMaintenance2FeaturesKHR *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR; + out_ext->pNext = NULL; + out_ext->videoMaintenance2 = in_ext->videoMaintenance2; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR: { VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -16406,6 +17502,18 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: + { + VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV *in_ext = (const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->spheres = in_ext->spheres; + out_ext->linearSweptSpheres = in_ext->linearSweptSpheres; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: { VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -16656,17 +17764,6 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: - { - VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); - const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *in_ext = (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *)in_header; - out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; - out_ext->pNext = NULL; - out_ext->depthClampZeroOne = in_ext->depthClampZeroOne; - out_header->pNext = (void *)out_ext; - out_header = (void *)out_ext; - break; - } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: { VkPhysicalDeviceAddressBindingReportFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -16994,6 +18091,17 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: + { + VkPhysicalDevicePipelineOpacityMicromapFeaturesARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM *in_ext = (const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM; + out_ext->pNext = NULL; + out_ext->pipelineOpacityMicromap = in_ext->pipelineOpacityMicromap; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -17179,6 +18287,29 @@ static inline void convert_VkDeviceCreateInfo_win64_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: + { + VkPhysicalDeviceDepthClampZeroOneFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR *in_ext = (const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR; + out_ext->pNext = NULL; + out_ext->depthClampZeroOne = in_ext->depthClampZeroOne; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV: + { + VkPhysicalDeviceCooperativeVectorFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceCooperativeVectorFeaturesNV *in_ext = (const VkPhysicalDeviceCooperativeVectorFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->cooperativeVector = in_ext->cooperativeVector; + out_ext->cooperativeVectorTraining = in_ext->cooperativeVectorTraining; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -17257,6 +18388,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV: + { + VkPhysicalDeviceClusterAccelerationStructureFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV32 *in_ext = (const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->clusterAccelerationStructure = in_ext->clusterAccelerationStructure; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2: { VkPhysicalDeviceFeatures2 *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -17441,6 +18583,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: + { + VkPhysicalDeviceMaintenance8FeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceMaintenance8FeaturesKHR32 *in_ext = (const VkPhysicalDeviceMaintenance8FeaturesKHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR; + out_ext->pNext = NULL; + out_ext->maintenance8 = in_ext->maintenance8; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: { VkPhysicalDeviceShaderDrawParametersFeatures *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -18453,6 +19606,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV: + { + VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV32 *in_ext = (const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->partitionedAccelerationStructure = in_ext->partitionedAccelerationStructure; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: { VkPhysicalDeviceDiagnosticsConfigFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -18821,6 +19985,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR: + { + VkPhysicalDeviceVideoMaintenance2FeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceVideoMaintenance2FeaturesKHR32 *in_ext = (const VkPhysicalDeviceVideoMaintenance2FeaturesKHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR; + out_ext->pNext = NULL; + out_ext->videoMaintenance2 = in_ext->videoMaintenance2; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR: { VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -18936,6 +20111,18 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: + { + VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV32 *in_ext = (const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->spheres = in_ext->spheres; + out_ext->linearSweptSpheres = in_ext->linearSweptSpheres; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: { VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -19186,17 +20373,6 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: - { - VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); - const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32 *in_ext = (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32 *)in_header; - out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; - out_ext->pNext = NULL; - out_ext->depthClampZeroOne = in_ext->depthClampZeroOne; - out_header->pNext = (void *)out_ext; - out_header = (void *)out_ext; - break; - } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: { VkPhysicalDeviceAddressBindingReportFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -19524,6 +20700,17 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: + { + VkPhysicalDevicePipelineOpacityMicromapFeaturesARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM32 *in_ext = (const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM; + out_ext->pNext = NULL; + out_ext->pipelineOpacityMicromap = in_ext->pipelineOpacityMicromap; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -19709,6 +20896,29 @@ static inline void convert_VkDeviceCreateInfo_win32_to_host(struct conversion_co out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: + { + VkPhysicalDeviceDepthClampZeroOneFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR32 *in_ext = (const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR; + out_ext->pNext = NULL; + out_ext->depthClampZeroOne = in_ext->depthClampZeroOne; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV: + { + VkPhysicalDeviceCooperativeVectorFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceCooperativeVectorFeaturesNV32 *in_ext = (const VkPhysicalDeviceCooperativeVectorFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->cooperativeVector = in_ext->cooperativeVector; + out_ext->cooperativeVectorTraining = in_ext->cooperativeVectorTraining; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -22573,6 +23783,17 @@ static inline void convert_VkRayTracingPipelineCreateInfoKHR_win32_to_host(struc out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV: + { + VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV32 *in_ext = (const VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV; + out_ext->pNext = NULL; + out_ext->allowClusterAccelerationStructure = in_ext->allowClusterAccelerationStructure; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO: { VkPipelineCreationFeedbackCreateInfo *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -23832,124 +25053,6 @@ static inline void convert_VkVideoSessionCreateInfoKHR_win32_to_host(struct conv } }
-static inline void convert_StdVideoH264SequenceParameterSetVui_win32_to_host(const StdVideoH264SequenceParameterSetVui32 *in, StdVideoH264SequenceParameterSetVui *out) -{ - if (!in) return; - - out->flags = in->flags; - out->aspect_ratio_idc = in->aspect_ratio_idc; - out->sar_width = in->sar_width; - out->sar_height = in->sar_height; - out->video_format = in->video_format; - out->colour_primaries = in->colour_primaries; - out->transfer_characteristics = in->transfer_characteristics; - out->matrix_coefficients = in->matrix_coefficients; - out->num_units_in_tick = in->num_units_in_tick; - out->time_scale = in->time_scale; - out->max_num_reorder_frames = in->max_num_reorder_frames; - out->max_dec_frame_buffering = in->max_dec_frame_buffering; - out->chroma_sample_loc_type_top_field = in->chroma_sample_loc_type_top_field; - out->chroma_sample_loc_type_bottom_field = in->chroma_sample_loc_type_bottom_field; - out->reserved1 = in->reserved1; - out->pHrdParameters = UlongToPtr(in->pHrdParameters); -} - -static inline const StdVideoH264SequenceParameterSetVui *convert_StdVideoH264SequenceParameterSetVui_array_win32_to_host(struct conversion_context *ctx, const StdVideoH264SequenceParameterSetVui32 *in, uint32_t count) -{ - StdVideoH264SequenceParameterSetVui *out; - unsigned int i; - - if (!in || !count) return NULL; - - out = conversion_context_alloc(ctx, count * sizeof(*out)); - for (i = 0; i < count; i++) - { - convert_StdVideoH264SequenceParameterSetVui_win32_to_host(&in[i], &out[i]); - } - - return out; -} - -static inline void convert_StdVideoH264SequenceParameterSet_win32_to_host(struct conversion_context *ctx, const StdVideoH264SequenceParameterSet32 *in, StdVideoH264SequenceParameterSet *out) -{ - if (!in) return; - - out->flags = in->flags; - out->profile_idc = in->profile_idc; - out->level_idc = in->level_idc; - out->chroma_format_idc = in->chroma_format_idc; - out->seq_parameter_set_id = in->seq_parameter_set_id; - out->bit_depth_luma_minus8 = in->bit_depth_luma_minus8; - out->bit_depth_chroma_minus8 = in->bit_depth_chroma_minus8; - out->log2_max_frame_num_minus4 = in->log2_max_frame_num_minus4; - out->pic_order_cnt_type = in->pic_order_cnt_type; - out->offset_for_non_ref_pic = in->offset_for_non_ref_pic; - out->offset_for_top_to_bottom_field = in->offset_for_top_to_bottom_field; - out->log2_max_pic_order_cnt_lsb_minus4 = in->log2_max_pic_order_cnt_lsb_minus4; - out->num_ref_frames_in_pic_order_cnt_cycle = in->num_ref_frames_in_pic_order_cnt_cycle; - out->max_num_ref_frames = in->max_num_ref_frames; - out->reserved1 = in->reserved1; - out->pic_width_in_mbs_minus1 = in->pic_width_in_mbs_minus1; - out->pic_height_in_map_units_minus1 = in->pic_height_in_map_units_minus1; - out->frame_crop_left_offset = in->frame_crop_left_offset; - out->frame_crop_right_offset = in->frame_crop_right_offset; - out->frame_crop_top_offset = in->frame_crop_top_offset; - out->frame_crop_bottom_offset = in->frame_crop_bottom_offset; - out->reserved2 = in->reserved2; - out->pOffsetForRefFrame = UlongToPtr(in->pOffsetForRefFrame); - out->pScalingLists = UlongToPtr(in->pScalingLists); - out->pSequenceParameterSetVui = convert_StdVideoH264SequenceParameterSetVui_array_win32_to_host(ctx, (const StdVideoH264SequenceParameterSetVui32 *)UlongToPtr(in->pSequenceParameterSetVui), 1); -} - -static inline const StdVideoH264SequenceParameterSet *convert_StdVideoH264SequenceParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH264SequenceParameterSet32 *in, uint32_t count) -{ - StdVideoH264SequenceParameterSet *out; - unsigned int i; - - if (!in || !count) return NULL; - - out = conversion_context_alloc(ctx, count * sizeof(*out)); - for (i = 0; i < count; i++) - { - convert_StdVideoH264SequenceParameterSet_win32_to_host(ctx, &in[i], &out[i]); - } - - return out; -} - -static inline void convert_StdVideoH264PictureParameterSet_win32_to_host(const StdVideoH264PictureParameterSet32 *in, StdVideoH264PictureParameterSet *out) -{ - if (!in) return; - - out->flags = in->flags; - out->seq_parameter_set_id = in->seq_parameter_set_id; - out->pic_parameter_set_id = in->pic_parameter_set_id; - out->num_ref_idx_l0_default_active_minus1 = in->num_ref_idx_l0_default_active_minus1; - out->num_ref_idx_l1_default_active_minus1 = in->num_ref_idx_l1_default_active_minus1; - out->weighted_bipred_idc = in->weighted_bipred_idc; - out->pic_init_qp_minus26 = in->pic_init_qp_minus26; - out->pic_init_qs_minus26 = in->pic_init_qs_minus26; - out->chroma_qp_index_offset = in->chroma_qp_index_offset; - out->second_chroma_qp_index_offset = in->second_chroma_qp_index_offset; - out->pScalingLists = UlongToPtr(in->pScalingLists); -} - -static inline const StdVideoH264PictureParameterSet *convert_StdVideoH264PictureParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH264PictureParameterSet32 *in, uint32_t count) -{ - StdVideoH264PictureParameterSet *out; - unsigned int i; - - if (!in || !count) return NULL; - - out = conversion_context_alloc(ctx, count * sizeof(*out)); - for (i = 0; i < count; i++) - { - convert_StdVideoH264PictureParameterSet_win32_to_host(&in[i], &out[i]); - } - - return out; -} - static inline void convert_VkVideoDecodeH264SessionParametersAddInfoKHR_win32_to_host(struct conversion_context *ctx, const VkVideoDecodeH264SessionParametersAddInfoKHR32 *in, VkVideoDecodeH264SessionParametersAddInfoKHR *out) { if (!in) return; @@ -23980,244 +25083,6 @@ static inline const VkVideoDecodeH264SessionParametersAddInfoKHR *convert_VkVide return out; }
-static inline void convert_StdVideoH265HrdParameters_win32_to_host(const StdVideoH265HrdParameters32 *in, StdVideoH265HrdParameters *out) -{ - if (!in) return; - - out->flags = in->flags; - out->tick_divisor_minus2 = in->tick_divisor_minus2; - out->du_cpb_removal_delay_increment_length_minus1 = in->du_cpb_removal_delay_increment_length_minus1; - out->dpb_output_delay_du_length_minus1 = in->dpb_output_delay_du_length_minus1; - out->bit_rate_scale = in->bit_rate_scale; - out->cpb_size_scale = in->cpb_size_scale; - out->cpb_size_du_scale = in->cpb_size_du_scale; - out->initial_cpb_removal_delay_length_minus1 = in->initial_cpb_removal_delay_length_minus1; - out->au_cpb_removal_delay_length_minus1 = in->au_cpb_removal_delay_length_minus1; - out->dpb_output_delay_length_minus1 = in->dpb_output_delay_length_minus1; - memcpy(out->cpb_cnt_minus1, in->cpb_cnt_minus1, STD_VIDEO_H265_SUBLAYERS_LIST_SIZE * sizeof(uint8_t)); - memcpy(out->elemental_duration_in_tc_minus1, in->elemental_duration_in_tc_minus1, STD_VIDEO_H265_SUBLAYERS_LIST_SIZE * sizeof(uint16_t)); - memcpy(out->reserved, in->reserved, 3 * sizeof(uint16_t)); - out->pSubLayerHrdParametersNal = UlongToPtr(in->pSubLayerHrdParametersNal); - out->pSubLayerHrdParametersVcl = UlongToPtr(in->pSubLayerHrdParametersVcl); -} - -static inline const StdVideoH265HrdParameters *convert_StdVideoH265HrdParameters_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265HrdParameters32 *in, uint32_t count) -{ - StdVideoH265HrdParameters *out; - unsigned int i; - - if (!in || !count) return NULL; - - out = conversion_context_alloc(ctx, count * sizeof(*out)); - for (i = 0; i < count; i++) - { - convert_StdVideoH265HrdParameters_win32_to_host(&in[i], &out[i]); - } - - return out; -} - -static inline void convert_StdVideoH265VideoParameterSet_win32_to_host(struct conversion_context *ctx, const StdVideoH265VideoParameterSet32 *in, StdVideoH265VideoParameterSet *out) -{ - if (!in) return; - - out->flags = in->flags; - out->vps_video_parameter_set_id = in->vps_video_parameter_set_id; - out->vps_max_sub_layers_minus1 = in->vps_max_sub_layers_minus1; - out->reserved1 = in->reserved1; - out->reserved2 = in->reserved2; - out->vps_num_units_in_tick = in->vps_num_units_in_tick; - out->vps_time_scale = in->vps_time_scale; - out->vps_num_ticks_poc_diff_one_minus1 = in->vps_num_ticks_poc_diff_one_minus1; - out->reserved3 = in->reserved3; - out->pDecPicBufMgr = UlongToPtr(in->pDecPicBufMgr); - out->pHrdParameters = convert_StdVideoH265HrdParameters_array_win32_to_host(ctx, (const StdVideoH265HrdParameters32 *)UlongToPtr(in->pHrdParameters), 1); - out->pProfileTierLevel = UlongToPtr(in->pProfileTierLevel); -} - -static inline const StdVideoH265VideoParameterSet *convert_StdVideoH265VideoParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265VideoParameterSet32 *in, uint32_t count) -{ - StdVideoH265VideoParameterSet *out; - unsigned int i; - - if (!in || !count) return NULL; - - out = conversion_context_alloc(ctx, count * sizeof(*out)); - for (i = 0; i < count; i++) - { - convert_StdVideoH265VideoParameterSet_win32_to_host(ctx, &in[i], &out[i]); - } - - return out; -} - -static inline void convert_StdVideoH265SequenceParameterSetVui_win32_to_host(struct conversion_context *ctx, const StdVideoH265SequenceParameterSetVui32 *in, StdVideoH265SequenceParameterSetVui *out) -{ - if (!in) return; - - out->flags = in->flags; - out->aspect_ratio_idc = in->aspect_ratio_idc; - out->sar_width = in->sar_width; - out->sar_height = in->sar_height; - out->video_format = in->video_format; - out->colour_primaries = in->colour_primaries; - out->transfer_characteristics = in->transfer_characteristics; - out->matrix_coeffs = in->matrix_coeffs; - out->chroma_sample_loc_type_top_field = in->chroma_sample_loc_type_top_field; - out->chroma_sample_loc_type_bottom_field = in->chroma_sample_loc_type_bottom_field; - out->reserved1 = in->reserved1; - out->reserved2 = in->reserved2; - out->def_disp_win_left_offset = in->def_disp_win_left_offset; - out->def_disp_win_right_offset = in->def_disp_win_right_offset; - out->def_disp_win_top_offset = in->def_disp_win_top_offset; - out->def_disp_win_bottom_offset = in->def_disp_win_bottom_offset; - out->vui_num_units_in_tick = in->vui_num_units_in_tick; - out->vui_time_scale = in->vui_time_scale; - out->vui_num_ticks_poc_diff_one_minus1 = in->vui_num_ticks_poc_diff_one_minus1; - out->min_spatial_segmentation_idc = in->min_spatial_segmentation_idc; - out->reserved3 = in->reserved3; - out->max_bytes_per_pic_denom = in->max_bytes_per_pic_denom; - out->max_bits_per_min_cu_denom = in->max_bits_per_min_cu_denom; - out->log2_max_mv_length_horizontal = in->log2_max_mv_length_horizontal; - out->log2_max_mv_length_vertical = in->log2_max_mv_length_vertical; - out->pHrdParameters = convert_StdVideoH265HrdParameters_array_win32_to_host(ctx, (const StdVideoH265HrdParameters32 *)UlongToPtr(in->pHrdParameters), 1); -} - -static inline const StdVideoH265SequenceParameterSetVui *convert_StdVideoH265SequenceParameterSetVui_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265SequenceParameterSetVui32 *in, uint32_t count) -{ - StdVideoH265SequenceParameterSetVui *out; - unsigned int i; - - if (!in || !count) return NULL; - - out = conversion_context_alloc(ctx, count * sizeof(*out)); - for (i = 0; i < count; i++) - { - convert_StdVideoH265SequenceParameterSetVui_win32_to_host(ctx, &in[i], &out[i]); - } - - return out; -} - -static inline void convert_StdVideoH265SequenceParameterSet_win32_to_host(struct conversion_context *ctx, const StdVideoH265SequenceParameterSet32 *in, StdVideoH265SequenceParameterSet *out) -{ - if (!in) return; - - out->flags = in->flags; - out->chroma_format_idc = in->chroma_format_idc; - out->pic_width_in_luma_samples = in->pic_width_in_luma_samples; - out->pic_height_in_luma_samples = in->pic_height_in_luma_samples; - out->sps_video_parameter_set_id = in->sps_video_parameter_set_id; - out->sps_max_sub_layers_minus1 = in->sps_max_sub_layers_minus1; - out->sps_seq_parameter_set_id = in->sps_seq_parameter_set_id; - out->bit_depth_luma_minus8 = in->bit_depth_luma_minus8; - out->bit_depth_chroma_minus8 = in->bit_depth_chroma_minus8; - out->log2_max_pic_order_cnt_lsb_minus4 = in->log2_max_pic_order_cnt_lsb_minus4; - out->log2_min_luma_coding_block_size_minus3 = in->log2_min_luma_coding_block_size_minus3; - out->log2_diff_max_min_luma_coding_block_size = in->log2_diff_max_min_luma_coding_block_size; - out->log2_min_luma_transform_block_size_minus2 = in->log2_min_luma_transform_block_size_minus2; - out->log2_diff_max_min_luma_transform_block_size = in->log2_diff_max_min_luma_transform_block_size; - out->max_transform_hierarchy_depth_inter = in->max_transform_hierarchy_depth_inter; - out->max_transform_hierarchy_depth_intra = in->max_transform_hierarchy_depth_intra; - out->num_short_term_ref_pic_sets = in->num_short_term_ref_pic_sets; - out->num_long_term_ref_pics_sps = in->num_long_term_ref_pics_sps; - out->pcm_sample_bit_depth_luma_minus1 = in->pcm_sample_bit_depth_luma_minus1; - out->pcm_sample_bit_depth_chroma_minus1 = in->pcm_sample_bit_depth_chroma_minus1; - out->log2_min_pcm_luma_coding_block_size_minus3 = in->log2_min_pcm_luma_coding_block_size_minus3; - out->log2_diff_max_min_pcm_luma_coding_block_size = in->log2_diff_max_min_pcm_luma_coding_block_size; - out->reserved1 = in->reserved1; - out->reserved2 = in->reserved2; - out->palette_max_size = in->palette_max_size; - out->delta_palette_max_predictor_size = in->delta_palette_max_predictor_size; - out->motion_vector_resolution_control_idc = in->motion_vector_resolution_control_idc; - out->sps_num_palette_predictor_initializers_minus1 = in->sps_num_palette_predictor_initializers_minus1; - out->conf_win_left_offset = in->conf_win_left_offset; - out->conf_win_right_offset = in->conf_win_right_offset; - out->conf_win_top_offset = in->conf_win_top_offset; - out->conf_win_bottom_offset = in->conf_win_bottom_offset; - out->pProfileTierLevel = UlongToPtr(in->pProfileTierLevel); - out->pDecPicBufMgr = UlongToPtr(in->pDecPicBufMgr); - out->pScalingLists = UlongToPtr(in->pScalingLists); - out->pShortTermRefPicSet = UlongToPtr(in->pShortTermRefPicSet); - out->pLongTermRefPicsSps = UlongToPtr(in->pLongTermRefPicsSps); - out->pSequenceParameterSetVui = convert_StdVideoH265SequenceParameterSetVui_array_win32_to_host(ctx, (const StdVideoH265SequenceParameterSetVui32 *)UlongToPtr(in->pSequenceParameterSetVui), 1); - out->pPredictorPaletteEntries = UlongToPtr(in->pPredictorPaletteEntries); -} - -static inline const StdVideoH265SequenceParameterSet *convert_StdVideoH265SequenceParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265SequenceParameterSet32 *in, uint32_t count) -{ - StdVideoH265SequenceParameterSet *out; - unsigned int i; - - if (!in || !count) return NULL; - - out = conversion_context_alloc(ctx, count * sizeof(*out)); - for (i = 0; i < count; i++) - { - convert_StdVideoH265SequenceParameterSet_win32_to_host(ctx, &in[i], &out[i]); - } - - return out; -} - -static inline void convert_StdVideoH265PictureParameterSet_win32_to_host(const StdVideoH265PictureParameterSet32 *in, StdVideoH265PictureParameterSet *out) -{ - if (!in) return; - - out->flags = in->flags; - out->pps_pic_parameter_set_id = in->pps_pic_parameter_set_id; - out->pps_seq_parameter_set_id = in->pps_seq_parameter_set_id; - out->sps_video_parameter_set_id = in->sps_video_parameter_set_id; - out->num_extra_slice_header_bits = in->num_extra_slice_header_bits; - out->num_ref_idx_l0_default_active_minus1 = in->num_ref_idx_l0_default_active_minus1; - out->num_ref_idx_l1_default_active_minus1 = in->num_ref_idx_l1_default_active_minus1; - out->init_qp_minus26 = in->init_qp_minus26; - out->diff_cu_qp_delta_depth = in->diff_cu_qp_delta_depth; - out->pps_cb_qp_offset = in->pps_cb_qp_offset; - out->pps_cr_qp_offset = in->pps_cr_qp_offset; - out->pps_beta_offset_div2 = in->pps_beta_offset_div2; - out->pps_tc_offset_div2 = in->pps_tc_offset_div2; - out->log2_parallel_merge_level_minus2 = in->log2_parallel_merge_level_minus2; - out->log2_max_transform_skip_block_size_minus2 = in->log2_max_transform_skip_block_size_minus2; - out->diff_cu_chroma_qp_offset_depth = in->diff_cu_chroma_qp_offset_depth; - out->chroma_qp_offset_list_len_minus1 = in->chroma_qp_offset_list_len_minus1; - memcpy(out->cb_qp_offset_list, in->cb_qp_offset_list, STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE * sizeof(int8_t)); - memcpy(out->cr_qp_offset_list, in->cr_qp_offset_list, STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE * sizeof(int8_t)); - out->log2_sao_offset_scale_luma = in->log2_sao_offset_scale_luma; - out->log2_sao_offset_scale_chroma = in->log2_sao_offset_scale_chroma; - out->pps_act_y_qp_offset_plus5 = in->pps_act_y_qp_offset_plus5; - out->pps_act_cb_qp_offset_plus5 = in->pps_act_cb_qp_offset_plus5; - out->pps_act_cr_qp_offset_plus3 = in->pps_act_cr_qp_offset_plus3; - out->pps_num_palette_predictor_initializers = in->pps_num_palette_predictor_initializers; - out->luma_bit_depth_entry_minus8 = in->luma_bit_depth_entry_minus8; - out->chroma_bit_depth_entry_minus8 = in->chroma_bit_depth_entry_minus8; - out->num_tile_columns_minus1 = in->num_tile_columns_minus1; - out->num_tile_rows_minus1 = in->num_tile_rows_minus1; - out->reserved1 = in->reserved1; - out->reserved2 = in->reserved2; - memcpy(out->column_width_minus1, in->column_width_minus1, STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE * sizeof(uint16_t)); - memcpy(out->row_height_minus1, in->row_height_minus1, STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE * sizeof(uint16_t)); - out->reserved3 = in->reserved3; - out->pScalingLists = UlongToPtr(in->pScalingLists); - out->pPredictorPaletteEntries = UlongToPtr(in->pPredictorPaletteEntries); -} - -static inline const StdVideoH265PictureParameterSet *convert_StdVideoH265PictureParameterSet_array_win32_to_host(struct conversion_context *ctx, const StdVideoH265PictureParameterSet32 *in, uint32_t count) -{ - StdVideoH265PictureParameterSet *out; - unsigned int i; - - if (!in || !count) return NULL; - - out = conversion_context_alloc(ctx, count * sizeof(*out)); - for (i = 0; i < count; i++) - { - convert_StdVideoH265PictureParameterSet_win32_to_host(&in[i], &out[i]); - } - - return out; -} - static inline void convert_VkVideoDecodeH265SessionParametersAddInfoKHR_win32_to_host(struct conversion_context *ctx, const VkVideoDecodeH265SessionParametersAddInfoKHR32 *in, VkVideoDecodeH265SessionParametersAddInfoKHR *out) { if (!in) return; @@ -24250,42 +25115,6 @@ static inline const VkVideoDecodeH265SessionParametersAddInfoKHR *convert_VkVide return out; }
-static inline void convert_StdVideoAV1SequenceHeader_win32_to_host(const StdVideoAV1SequenceHeader32 *in, StdVideoAV1SequenceHeader *out) -{ - if (!in) return; - - out->flags = in->flags; - out->seq_profile = in->seq_profile; - out->frame_width_bits_minus_1 = in->frame_width_bits_minus_1; - out->frame_height_bits_minus_1 = in->frame_height_bits_minus_1; - out->max_frame_width_minus_1 = in->max_frame_width_minus_1; - out->max_frame_height_minus_1 = in->max_frame_height_minus_1; - out->delta_frame_id_length_minus_2 = in->delta_frame_id_length_minus_2; - out->additional_frame_id_length_minus_1 = in->additional_frame_id_length_minus_1; - out->order_hint_bits_minus_1 = in->order_hint_bits_minus_1; - out->seq_force_integer_mv = in->seq_force_integer_mv; - out->seq_force_screen_content_tools = in->seq_force_screen_content_tools; - memcpy(out->reserved1, in->reserved1, 5 * sizeof(uint8_t)); - out->pColorConfig = UlongToPtr(in->pColorConfig); - out->pTimingInfo = UlongToPtr(in->pTimingInfo); -} - -static inline const StdVideoAV1SequenceHeader *convert_StdVideoAV1SequenceHeader_array_win32_to_host(struct conversion_context *ctx, const StdVideoAV1SequenceHeader32 *in, uint32_t count) -{ - StdVideoAV1SequenceHeader *out; - unsigned int i; - - if (!in || !count) return NULL; - - out = conversion_context_alloc(ctx, count * sizeof(*out)); - for (i = 0; i < count; i++) - { - convert_StdVideoAV1SequenceHeader_win32_to_host(&in[i], &out[i]); - } - - return out; -} - static inline void convert_VkVideoEncodeH264SessionParametersAddInfoKHR_win32_to_host(struct conversion_context *ctx, const VkVideoEncodeH264SessionParametersAddInfoKHR32 *in, VkVideoEncodeH264SessionParametersAddInfoKHR *out) { if (!in) return; @@ -26281,6 +27110,62 @@ static inline void convert_VkCooperativeMatrixPropertiesNV_array_host_to_win32(c } }
+static inline void convert_VkCooperativeVectorPropertiesNV_win32_to_host(const VkCooperativeVectorPropertiesNV32 *in, VkCooperativeVectorPropertiesNV *out) +{ + if (!in) return; + + out->sType = in->sType; + out->pNext = NULL; + out->inputType = in->inputType; + out->inputInterpretation = in->inputInterpretation; + out->matrixInterpretation = in->matrixInterpretation; + out->biasInterpretation = in->biasInterpretation; + out->resultType = in->resultType; + out->transpose = in->transpose; + if (in->pNext) + FIXME("Unexpected pNext\n"); +} + +static inline void convert_VkCooperativeVectorPropertiesNV_host_to_win32(const VkCooperativeVectorPropertiesNV *in, VkCooperativeVectorPropertiesNV32 *out) +{ + if (!in) return; + + out->inputType = in->inputType; + out->inputInterpretation = in->inputInterpretation; + out->matrixInterpretation = in->matrixInterpretation; + out->biasInterpretation = in->biasInterpretation; + out->resultType = in->resultType; + out->transpose = in->transpose; +} + +static inline VkCooperativeVectorPropertiesNV *convert_VkCooperativeVectorPropertiesNV_array_win32_to_host(struct conversion_context *ctx, const VkCooperativeVectorPropertiesNV32 *in, uint32_t count) +{ + VkCooperativeVectorPropertiesNV *out; + unsigned int i; + + if (!in || !count) return NULL; + + out = conversion_context_alloc(ctx, count * sizeof(*out)); + for (i = 0; i < count; i++) + { + convert_VkCooperativeVectorPropertiesNV_win32_to_host(&in[i], &out[i]); + } + + return out; +} + +static inline void convert_VkCooperativeVectorPropertiesNV_array_host_to_win32(const VkCooperativeVectorPropertiesNV *in, VkCooperativeVectorPropertiesNV32 *out, uint32_t count) +{ + unsigned int i; + + if (!in) return; + + for (i = 0; i < count; i++) + { + convert_VkCooperativeVectorPropertiesNV_host_to_win32(&in[i], &out[i]); + } +} + static inline void convert_VkPhysicalDeviceExternalBufferInfo_win32_to_host(struct conversion_context *ctx, const VkPhysicalDeviceExternalBufferInfo32 *in, VkPhysicalDeviceExternalBufferInfo *out) { const VkBaseInStructure32 *in_header; @@ -26466,6 +27351,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV: + { + VkPhysicalDeviceClusterAccelerationStructureFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV32 *in_ext = (const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->clusterAccelerationStructure = in_ext->clusterAccelerationStructure; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: { VkPhysicalDeviceVariablePointersFeatures *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -26627,6 +27523,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: + { + VkPhysicalDeviceMaintenance8FeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceMaintenance8FeaturesKHR32 *in_ext = (const VkPhysicalDeviceMaintenance8FeaturesKHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR; + out_ext->pNext = NULL; + out_ext->maintenance8 = in_ext->maintenance8; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: { VkPhysicalDeviceShaderDrawParametersFeatures *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -27617,6 +28524,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV: + { + VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV32 *in_ext = (const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->partitionedAccelerationStructure = in_ext->partitionedAccelerationStructure; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: { VkPhysicalDeviceDiagnosticsConfigFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -27974,6 +28892,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR: + { + VkPhysicalDeviceVideoMaintenance2FeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceVideoMaintenance2FeaturesKHR32 *in_ext = (const VkPhysicalDeviceVideoMaintenance2FeaturesKHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR; + out_ext->pNext = NULL; + out_ext->videoMaintenance2 = in_ext->videoMaintenance2; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR: { VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -28089,6 +29018,18 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: + { + VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV32 *in_ext = (const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->spheres = in_ext->spheres; + out_ext->linearSweptSpheres = in_ext->linearSweptSpheres; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: { VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -28328,17 +29269,6 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: - { - VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); - const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32 *in_ext = (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32 *)in_header; - out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; - out_ext->pNext = NULL; - out_ext->depthClampZeroOne = in_ext->depthClampZeroOne; - out_header->pNext = (void *)out_ext; - out_header = (void *)out_ext; - break; - } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: { VkPhysicalDeviceAddressBindingReportFeaturesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -28655,6 +29585,17 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: + { + VkPhysicalDevicePipelineOpacityMicromapFeaturesARM *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM32 *in_ext = (const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM; + out_ext->pNext = NULL; + out_ext->pipelineOpacityMicromap = in_ext->pipelineOpacityMicromap; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -28840,6 +29781,29 @@ static inline void convert_VkPhysicalDeviceFeatures2_win32_to_host(struct conver out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: + { + VkPhysicalDeviceDepthClampZeroOneFeaturesKHR *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR32 *in_ext = (const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR; + out_ext->pNext = NULL; + out_ext->depthClampZeroOne = in_ext->depthClampZeroOne; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV: + { + VkPhysicalDeviceCooperativeVectorFeaturesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + const VkPhysicalDeviceCooperativeVectorFeaturesNV32 *in_ext = (const VkPhysicalDeviceCooperativeVectorFeaturesNV32 *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV; + out_ext->pNext = NULL; + out_ext->cooperativeVector = in_ext->cooperativeVector; + out_ext->cooperativeVectorTraining = in_ext->cooperativeVectorTraining; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -28889,6 +29853,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV: + { + VkPhysicalDeviceClusterAccelerationStructureFeaturesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV); + const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV *in_ext = (const VkPhysicalDeviceClusterAccelerationStructureFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV; + out_ext->clusterAccelerationStructure = in_ext->clusterAccelerationStructure; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES: { VkPhysicalDeviceVariablePointersFeatures32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES); @@ -29022,6 +29995,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR: + { + VkPhysicalDeviceMaintenance8FeaturesKHR32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR); + const VkPhysicalDeviceMaintenance8FeaturesKHR *in_ext = (const VkPhysicalDeviceMaintenance8FeaturesKHR *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR; + out_ext->maintenance8 = in_ext->maintenance8; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES: { VkPhysicalDeviceShaderDrawParametersFeatures32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES); @@ -29870,6 +30852,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV: + { + VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV); + const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV *in_ext = (const VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV; + out_ext->partitionedAccelerationStructure = in_ext->partitionedAccelerationStructure; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV: { VkPhysicalDeviceDiagnosticsConfigFeaturesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV); @@ -30165,6 +31156,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR: + { + VkPhysicalDeviceVideoMaintenance2FeaturesKHR32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR); + const VkPhysicalDeviceVideoMaintenance2FeaturesKHR *in_ext = (const VkPhysicalDeviceVideoMaintenance2FeaturesKHR *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR; + out_ext->videoMaintenance2 = in_ext->videoMaintenance2; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR: { VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUANTIZATION_MAP_FEATURES_KHR); @@ -30260,6 +31260,16 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV: + { + VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV); + const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV *in_ext = (const VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV; + out_ext->spheres = in_ext->spheres; + out_ext->linearSweptSpheres = in_ext->linearSweptSpheres; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT: { VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT); @@ -30457,15 +31467,6 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } - case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT: - { - VkPhysicalDeviceDepthClampZeroOneFeaturesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT); - const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *in_ext = (const VkPhysicalDeviceDepthClampZeroOneFeaturesEXT *)in_header; - out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT; - out_ext->depthClampZeroOne = in_ext->depthClampZeroOne; - out_header = (void *)out_ext; - break; - } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT: { VkPhysicalDeviceAddressBindingReportFeaturesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT); @@ -30726,6 +31727,15 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM: + { + VkPhysicalDevicePipelineOpacityMicromapFeaturesARM32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM); + const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM *in_ext = (const VkPhysicalDevicePipelineOpacityMicromapFeaturesARM *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM; + out_ext->pipelineOpacityMicromap = in_ext->pipelineOpacityMicromap; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR: { VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR); @@ -30879,6 +31889,25 @@ static inline void convert_VkPhysicalDeviceFeatures2_host_to_win32(const VkPhysi out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR: + { + VkPhysicalDeviceDepthClampZeroOneFeaturesKHR32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR); + const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR *in_ext = (const VkPhysicalDeviceDepthClampZeroOneFeaturesKHR *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR; + out_ext->depthClampZeroOne = in_ext->depthClampZeroOne; + out_header = (void *)out_ext; + break; + } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV: + { + VkPhysicalDeviceCooperativeVectorFeaturesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV); + const VkPhysicalDeviceCooperativeVectorFeaturesNV *in_ext = (const VkPhysicalDeviceCooperativeVectorFeaturesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV; + out_ext->cooperativeVector = in_ext->cooperativeVector; + out_ext->cooperativeVectorTraining = in_ext->cooperativeVectorTraining; + out_header = (void *)out_ext; + break; + } default: break; } @@ -31590,6 +32619,15 @@ static inline void convert_VkPhysicalDeviceProperties2_win32_to_host(struct conv out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV: + { + VkPhysicalDeviceClusterAccelerationStructurePropertiesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV; + out_ext->pNext = NULL; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: { VkPhysicalDeviceMultiDrawPropertiesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -32087,6 +33125,15 @@ static inline void convert_VkPhysicalDeviceProperties2_win32_to_host(struct conv out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV: + { + VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV; + out_ext->pNext = NULL; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: { VkPhysicalDeviceRobustness2PropertiesEXT *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); @@ -32419,6 +33466,15 @@ static inline void convert_VkPhysicalDeviceProperties2_win32_to_host(struct conv out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV: + { + VkPhysicalDeviceCooperativeVectorPropertiesNV *out_ext = conversion_context_alloc(ctx, sizeof(*out_ext)); + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV; + out_ext->pNext = NULL; + out_header->pNext = (void *)out_ext; + out_header = (void *)out_ext; + break; + } default: FIXME("Unhandled sType %u.\n", in_header->sType); break; @@ -32456,6 +33512,22 @@ static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhy out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV: + { + VkPhysicalDeviceClusterAccelerationStructurePropertiesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV); + const VkPhysicalDeviceClusterAccelerationStructurePropertiesNV *in_ext = (const VkPhysicalDeviceClusterAccelerationStructurePropertiesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV; + out_ext->maxVerticesPerCluster = in_ext->maxVerticesPerCluster; + out_ext->maxTrianglesPerCluster = in_ext->maxTrianglesPerCluster; + out_ext->clusterScratchByteAlignment = in_ext->clusterScratchByteAlignment; + out_ext->clusterByteAlignment = in_ext->clusterByteAlignment; + out_ext->clusterTemplateByteAlignment = in_ext->clusterTemplateByteAlignment; + out_ext->clusterBottomLevelByteAlignment = in_ext->clusterBottomLevelByteAlignment; + out_ext->clusterTemplateBoundsByteAlignment = in_ext->clusterTemplateBoundsByteAlignment; + out_ext->maxClusterGeometryIndex = in_ext->maxClusterGeometryIndex; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT: { VkPhysicalDeviceMultiDrawPropertiesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT); @@ -33271,6 +34343,15 @@ static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhy out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV: + { + VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV); + const VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV *in_ext = (const VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV; + out_ext->maxPartitionCount = in_ext->maxPartitionCount; + out_header = (void *)out_ext; + break; + } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT: { VkPhysicalDeviceRobustness2PropertiesEXT32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ROBUSTNESS_2_PROPERTIES_EXT); @@ -33707,6 +34788,18 @@ static inline void convert_VkPhysicalDeviceProperties2_host_to_win32(const VkPhy out_header = (void *)out_ext; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV: + { + VkPhysicalDeviceCooperativeVectorPropertiesNV32 *out_ext = find_next_struct32(out_header, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV); + const VkPhysicalDeviceCooperativeVectorPropertiesNV *in_ext = (const VkPhysicalDeviceCooperativeVectorPropertiesNV *)in_header; + out_ext->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV; + out_ext->cooperativeVectorSupportedStages = in_ext->cooperativeVectorSupportedStages; + out_ext->cooperativeVectorTrainingFloat16Accumulation = in_ext->cooperativeVectorTrainingFloat16Accumulation; + out_ext->cooperativeVectorTrainingFloat32Accumulation = in_ext->cooperativeVectorTrainingFloat32Accumulation; + out_ext->maxCooperativeVectorComponents = in_ext->maxCooperativeVectorComponents; + out_header = (void *)out_ext; + break; + } default: break; } @@ -38527,6 +39620,32 @@ static void thunk32_vkCmdBuildAccelerationStructuresKHR(void *args) free_conversion_context(ctx); }
+#ifdef _WIN64 +static void thunk64_vkCmdBuildClusterAccelerationStructureIndirectNV(void *args) +{ + struct vkCmdBuildClusterAccelerationStructureIndirectNV_params *params = args; + + wine_cmd_buffer_from_handle(params->commandBuffer)->device->p_vkCmdBuildClusterAccelerationStructureIndirectNV(wine_cmd_buffer_from_handle(params->commandBuffer)->host.command_buffer, params->pCommandInfos); +} +#endif /* _WIN64 */ + +static void thunk32_vkCmdBuildClusterAccelerationStructureIndirectNV(void *args) +{ + struct + { + PTR32 commandBuffer; + PTR32 pCommandInfos; + } *params = args; + VkClusterAccelerationStructureCommandsInfoNV pCommandInfos_host; + struct conversion_context local_ctx; + struct conversion_context *ctx = &local_ctx; + + init_conversion_context(ctx); + convert_VkClusterAccelerationStructureCommandsInfoNV_win32_to_host(ctx, (const VkClusterAccelerationStructureCommandsInfoNV32 *)UlongToPtr(params->pCommandInfos), &pCommandInfos_host); + wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->p_vkCmdBuildClusterAccelerationStructureIndirectNV(wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->host.command_buffer, &pCommandInfos_host); + free_conversion_context(ctx); +} + #ifdef _WIN64 static void thunk64_vkCmdBuildMicromapsEXT(void *args) { @@ -38554,6 +39673,32 @@ static void thunk32_vkCmdBuildMicromapsEXT(void *args) free_conversion_context(ctx); }
+#ifdef _WIN64 +static void thunk64_vkCmdBuildPartitionedAccelerationStructuresNV(void *args) +{ + struct vkCmdBuildPartitionedAccelerationStructuresNV_params *params = args; + + wine_cmd_buffer_from_handle(params->commandBuffer)->device->p_vkCmdBuildPartitionedAccelerationStructuresNV(wine_cmd_buffer_from_handle(params->commandBuffer)->host.command_buffer, params->pBuildInfo); +} +#endif /* _WIN64 */ + +static void thunk32_vkCmdBuildPartitionedAccelerationStructuresNV(void *args) +{ + struct + { + PTR32 commandBuffer; + PTR32 pBuildInfo; + } *params = args; + VkBuildPartitionedAccelerationStructureInfoNV pBuildInfo_host; + struct conversion_context local_ctx; + struct conversion_context *ctx = &local_ctx; + + init_conversion_context(ctx); + convert_VkBuildPartitionedAccelerationStructureInfoNV_win32_to_host(ctx, (const VkBuildPartitionedAccelerationStructureInfoNV32 *)UlongToPtr(params->pBuildInfo), &pBuildInfo_host); + wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->p_vkCmdBuildPartitionedAccelerationStructuresNV(wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->host.command_buffer, &pBuildInfo_host); + free_conversion_context(ctx); +} + #ifdef _WIN64 static void thunk64_vkCmdClearAttachments(void *args) { @@ -38651,6 +39796,33 @@ static void thunk32_vkCmdControlVideoCodingKHR(void *args) free_conversion_context(ctx); }
+#ifdef _WIN64 +static void thunk64_vkCmdConvertCooperativeVectorMatrixNV(void *args) +{ + struct vkCmdConvertCooperativeVectorMatrixNV_params *params = args; + + wine_cmd_buffer_from_handle(params->commandBuffer)->device->p_vkCmdConvertCooperativeVectorMatrixNV(wine_cmd_buffer_from_handle(params->commandBuffer)->host.command_buffer, params->infoCount, params->pInfos); +} +#endif /* _WIN64 */ + +static void thunk32_vkCmdConvertCooperativeVectorMatrixNV(void *args) +{ + struct + { + PTR32 commandBuffer; + uint32_t infoCount; + PTR32 pInfos; + } *params = args; + const VkConvertCooperativeVectorMatrixInfoNV *pInfos_host; + struct conversion_context local_ctx; + struct conversion_context *ctx = &local_ctx; + + init_conversion_context(ctx); + pInfos_host = convert_VkConvertCooperativeVectorMatrixInfoNV_array_win32_to_host(ctx, (const VkConvertCooperativeVectorMatrixInfoNV32 *)UlongToPtr(params->pInfos), params->infoCount); + wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->device->p_vkCmdConvertCooperativeVectorMatrixNV(wine_cmd_buffer_from_handle((VkCommandBuffer)UlongToPtr(params->commandBuffer))->host.command_buffer, params->infoCount, pInfos_host); + free_conversion_context(ctx); +} + #ifdef _WIN64 static void thunk64_vkCmdCopyAccelerationStructureKHR(void *args) { @@ -43793,6 +44965,35 @@ static NTSTATUS thunk32_vkCompileDeferredNV(void *args) return STATUS_SUCCESS; }
+#ifdef _WIN64 +static NTSTATUS thunk64_vkConvertCooperativeVectorMatrixNV(void *args) +{ + struct vkConvertCooperativeVectorMatrixNV_params *params = args; + + TRACE("%p, %p\n", params->device, params->pInfo); + + params->result = vulkan_device_from_handle(params->device)->p_vkConvertCooperativeVectorMatrixNV(vulkan_device_from_handle(params->device)->host.device, params->pInfo); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +static NTSTATUS thunk32_vkConvertCooperativeVectorMatrixNV(void *args) +{ + struct + { + PTR32 device; + PTR32 pInfo; + VkResult result; + } *params = args; + VkConvertCooperativeVectorMatrixInfoNV pInfo_host; + + TRACE("%#x, %#x\n", params->device, params->pInfo); + + convert_VkConvertCooperativeVectorMatrixInfoNV_win32_to_host((const VkConvertCooperativeVectorMatrixInfoNV32 *)UlongToPtr(params->pInfo), &pInfo_host); + params->result = vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->p_vkConvertCooperativeVectorMatrixNV(vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->host.device, &pInfo_host); + return STATUS_SUCCESS; +} + #ifdef _WIN64 static NTSTATUS thunk64_vkCopyAccelerationStructureKHR(void *args) { @@ -48347,6 +49548,42 @@ static NTSTATUS thunk32_vkGetCalibratedTimestampsKHR(void *args) return STATUS_SUCCESS; }
+#ifdef _WIN64 +static NTSTATUS thunk64_vkGetClusterAccelerationStructureBuildSizesNV(void *args) +{ + struct vkGetClusterAccelerationStructureBuildSizesNV_params *params = args; + + TRACE("%p, %p, %p\n", params->device, params->pInfo, params->pSizeInfo); + + vulkan_device_from_handle(params->device)->p_vkGetClusterAccelerationStructureBuildSizesNV(vulkan_device_from_handle(params->device)->host.device, params->pInfo, params->pSizeInfo); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +static NTSTATUS thunk32_vkGetClusterAccelerationStructureBuildSizesNV(void *args) +{ + struct + { + PTR32 device; + PTR32 pInfo; + PTR32 pSizeInfo; + } *params = args; + VkClusterAccelerationStructureInputInfoNV pInfo_host; + VkAccelerationStructureBuildSizesInfoKHR pSizeInfo_host; + struct conversion_context local_ctx; + struct conversion_context *ctx = &local_ctx; + + TRACE("%#x, %#x, %#x\n", params->device, params->pInfo, params->pSizeInfo); + + init_conversion_context(ctx); + convert_VkClusterAccelerationStructureInputInfoNV_win32_to_host(ctx, (const VkClusterAccelerationStructureInputInfoNV32 *)UlongToPtr(params->pInfo), &pInfo_host); + convert_VkAccelerationStructureBuildSizesInfoKHR_win32_to_host((VkAccelerationStructureBuildSizesInfoKHR32 *)UlongToPtr(params->pSizeInfo), &pSizeInfo_host); + vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->p_vkGetClusterAccelerationStructureBuildSizesNV(vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->host.device, &pInfo_host, &pSizeInfo_host); + convert_VkAccelerationStructureBuildSizesInfoKHR_host_to_win32(&pSizeInfo_host, (VkAccelerationStructureBuildSizesInfoKHR32 *)UlongToPtr(params->pSizeInfo)); + free_conversion_context(ctx); + return STATUS_SUCCESS; +} + #ifdef _WIN64 static NTSTATUS thunk64_vkGetCudaModuleCacheNV(void *args) { @@ -50221,6 +51458,43 @@ static NTSTATUS thunk32_vkGetMicromapBuildSizesEXT(void *args) return STATUS_SUCCESS; }
+#ifdef _WIN64 +static NTSTATUS thunk64_vkGetPartitionedAccelerationStructuresBuildSizesNV(void *args) +{ + struct vkGetPartitionedAccelerationStructuresBuildSizesNV_params *params = args; + + TRACE("%p, %p, %p\n", params->device, params->pInfo, params->pSizeInfo); + + vulkan_device_from_handle(params->device)->p_vkGetPartitionedAccelerationStructuresBuildSizesNV(vulkan_device_from_handle(params->device)->host.device, params->pInfo, params->pSizeInfo); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +static NTSTATUS thunk32_vkGetPartitionedAccelerationStructuresBuildSizesNV(void *args) +{ + struct + { + PTR32 device; + PTR32 pInfo; + PTR32 pSizeInfo; + } *params = args; + VkPartitionedAccelerationStructureInstancesInputNV pInfo_host; + VkAccelerationStructureBuildSizesInfoKHR pSizeInfo_host; + struct conversion_context local_ctx; + struct conversion_context *ctx = &local_ctx; + + TRACE("%#x, %#x, %#x\n", params->device, params->pInfo, params->pSizeInfo); + + init_conversion_context(ctx); + convert_VkPartitionedAccelerationStructureInstancesInputNV_win32_to_host(ctx, (const VkPartitionedAccelerationStructureInstancesInputNV32 *)UlongToPtr(params->pInfo), &pInfo_host); + convert_VkAccelerationStructureBuildSizesInfoKHR_win32_to_host((VkAccelerationStructureBuildSizesInfoKHR32 *)UlongToPtr(params->pSizeInfo), &pSizeInfo_host); + vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->p_vkGetPartitionedAccelerationStructuresBuildSizesNV(vulkan_device_from_handle((VkDevice)UlongToPtr(params->device))->host.device, &pInfo_host, &pSizeInfo_host); + convert_VkPartitionedAccelerationStructureInstancesInputNV_host_to_win32(&pInfo_host, (const VkPartitionedAccelerationStructureInstancesInputNV32 *)UlongToPtr(params->pInfo)); + convert_VkAccelerationStructureBuildSizesInfoKHR_host_to_win32(&pSizeInfo_host, (VkAccelerationStructureBuildSizesInfoKHR32 *)UlongToPtr(params->pSizeInfo)); + free_conversion_context(ctx); + return STATUS_SUCCESS; +} + #ifdef _WIN64 static NTSTATUS thunk64_vkGetPerformanceParameterINTEL(void *args) { @@ -50412,6 +51686,41 @@ static NTSTATUS thunk32_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(void *a return STATUS_SUCCESS; }
+#ifdef _WIN64 +static NTSTATUS thunk64_vkGetPhysicalDeviceCooperativeVectorPropertiesNV(void *args) +{ + struct vkGetPhysicalDeviceCooperativeVectorPropertiesNV_params *params = args; + + TRACE("%p, %p, %p\n", params->physicalDevice, params->pPropertyCount, params->pProperties); + + params->result = vulkan_physical_device_from_handle(params->physicalDevice)->instance->p_vkGetPhysicalDeviceCooperativeVectorPropertiesNV(vulkan_physical_device_from_handle(params->physicalDevice)->host.physical_device, params->pPropertyCount, params->pProperties); + return STATUS_SUCCESS; +} +#endif /* _WIN64 */ + +static NTSTATUS thunk32_vkGetPhysicalDeviceCooperativeVectorPropertiesNV(void *args) +{ + struct + { + PTR32 physicalDevice; + PTR32 pPropertyCount; + PTR32 pProperties; + VkResult result; + } *params = args; + VkCooperativeVectorPropertiesNV *pProperties_host; + struct conversion_context local_ctx; + struct conversion_context *ctx = &local_ctx; + + TRACE("%#x, %#x, %#x\n", params->physicalDevice, params->pPropertyCount, params->pProperties); + + init_conversion_context(ctx); + pProperties_host = convert_VkCooperativeVectorPropertiesNV_array_win32_to_host(ctx, (VkCooperativeVectorPropertiesNV32 *)UlongToPtr(params->pProperties), *(uint32_t *)UlongToPtr(params->pPropertyCount)); + params->result = vulkan_physical_device_from_handle((VkPhysicalDevice)UlongToPtr(params->physicalDevice))->instance->p_vkGetPhysicalDeviceCooperativeVectorPropertiesNV(vulkan_physical_device_from_handle((VkPhysicalDevice)UlongToPtr(params->physicalDevice))->host.physical_device, (uint32_t *)UlongToPtr(params->pPropertyCount), pProperties_host); + convert_VkCooperativeVectorPropertiesNV_array_host_to_win32(pProperties_host, (VkCooperativeVectorPropertiesNV32 *)UlongToPtr(params->pProperties), *(uint32_t *)UlongToPtr(params->pPropertyCount)); + free_conversion_context(ctx); + return STATUS_SUCCESS; +} + #ifdef _WIN64 static NTSTATUS thunk64_vkGetPhysicalDeviceExternalBufferProperties(void *args) { @@ -54838,6 +56147,7 @@ static const char * const vk_device_extensions[] = "VK_AMD_shader_info", "VK_AMD_shader_trinary_minmax", "VK_AMD_texture_gather_bias_lod", + "VK_ARM_pipeline_opacity_micromap", "VK_ARM_rasterization_order_attachment_access", "VK_ARM_render_pass_striped", "VK_ARM_scheduling_controls", @@ -54977,6 +56287,7 @@ static const char * const vk_device_extensions[] = "VK_KHR_create_renderpass2", "VK_KHR_dedicated_allocation", "VK_KHR_deferred_host_operations", + "VK_KHR_depth_clamp_zero_one", "VK_KHR_depth_stencil_resolve", "VK_KHR_descriptor_update_template", "VK_KHR_device_group", @@ -55004,6 +56315,7 @@ static const char * const vk_device_extensions[] = "VK_KHR_maintenance4", "VK_KHR_maintenance5", "VK_KHR_maintenance6", + "VK_KHR_maintenance8", "VK_KHR_map_memory2", "VK_KHR_multiview", "VK_KHR_performance_query", @@ -55056,6 +56368,7 @@ static const char * const vk_device_extensions[] = "VK_KHR_video_encode_quantization_map", "VK_KHR_video_encode_queue", "VK_KHR_video_maintenance1", + "VK_KHR_video_maintenance2", "VK_KHR_video_queue", "VK_KHR_vulkan_memory_model", "VK_KHR_workgroup_memory_explicit_layout", @@ -55065,10 +56378,12 @@ static const char * const vk_device_extensions[] = "VK_NVX_binary_import", "VK_NVX_image_view_handle", "VK_NV_clip_space_w_scaling", + "VK_NV_cluster_acceleration_structure", "VK_NV_command_buffer_inheritance", "VK_NV_compute_shader_derivatives", "VK_NV_cooperative_matrix", "VK_NV_cooperative_matrix2", + "VK_NV_cooperative_vector", "VK_NV_copy_memory_indirect", "VK_NV_corner_sampled_image", "VK_NV_coverage_reduction_mode", @@ -55095,11 +56410,13 @@ static const char * const vk_device_extensions[] = "VK_NV_memory_decompression", "VK_NV_mesh_shader", "VK_NV_optical_flow", + "VK_NV_partitioned_acceleration_structure", "VK_NV_per_stage_descriptor_set", "VK_NV_present_barrier", "VK_NV_raw_access_chains", "VK_NV_ray_tracing", "VK_NV_ray_tracing_invocation_reorder", + "VK_NV_ray_tracing_linear_swept_spheres", "VK_NV_ray_tracing_motion_blur", "VK_NV_ray_tracing_validation", "VK_NV_representative_fragment_test", @@ -55278,11 +56595,14 @@ const unixlib_entry_t __wine_unix_call_funcs[] = (void *)thunk64_vkCmdBuildAccelerationStructureNV, (void *)thunk64_vkCmdBuildAccelerationStructuresIndirectKHR, (void *)thunk64_vkCmdBuildAccelerationStructuresKHR, + (void *)thunk64_vkCmdBuildClusterAccelerationStructureIndirectNV, (void *)thunk64_vkCmdBuildMicromapsEXT, + (void *)thunk64_vkCmdBuildPartitionedAccelerationStructuresNV, (void *)thunk64_vkCmdClearAttachments, (void *)thunk64_vkCmdClearColorImage, (void *)thunk64_vkCmdClearDepthStencilImage, (void *)thunk64_vkCmdControlVideoCodingKHR, + (void *)thunk64_vkCmdConvertCooperativeVectorMatrixNV, (void *)thunk64_vkCmdCopyAccelerationStructureKHR, (void *)thunk64_vkCmdCopyAccelerationStructureNV, (void *)thunk64_vkCmdCopyAccelerationStructureToMemoryKHR, @@ -55506,6 +56826,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = (void *)thunk64_vkCmdWriteTimestamp2, (void *)thunk64_vkCmdWriteTimestamp2KHR, thunk64_vkCompileDeferredNV, + thunk64_vkConvertCooperativeVectorMatrixNV, thunk64_vkCopyAccelerationStructureKHR, thunk64_vkCopyAccelerationStructureToMemoryKHR, thunk64_vkCopyImageToImage, @@ -55651,6 +56972,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_vkGetBufferOpaqueCaptureDescriptorDataEXT, thunk64_vkGetCalibratedTimestampsEXT, thunk64_vkGetCalibratedTimestampsKHR, + thunk64_vkGetClusterAccelerationStructureBuildSizesNV, thunk64_vkGetCudaModuleCacheNV, thunk64_vkGetDeferredOperationMaxConcurrencyKHR, thunk64_vkGetDeferredOperationResultKHR, @@ -55707,12 +57029,14 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk64_vkGetLatencyTimingsNV, thunk64_vkGetMemoryHostPointerPropertiesEXT, thunk64_vkGetMicromapBuildSizesEXT, + thunk64_vkGetPartitionedAccelerationStructuresBuildSizesNV, thunk64_vkGetPerformanceParameterINTEL, thunk64_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, thunk64_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, thunk64_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, thunk64_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, thunk64_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, + thunk64_vkGetPhysicalDeviceCooperativeVectorPropertiesNV, thunk64_vkGetPhysicalDeviceExternalBufferProperties, thunk64_vkGetPhysicalDeviceExternalBufferPropertiesKHR, thunk64_vkGetPhysicalDeviceExternalFenceProperties, @@ -55920,11 +57244,14 @@ const unixlib_entry_t __wine_unix_call_funcs[] = (void *)thunk32_vkCmdBuildAccelerationStructureNV, (void *)thunk32_vkCmdBuildAccelerationStructuresIndirectKHR, (void *)thunk32_vkCmdBuildAccelerationStructuresKHR, + (void *)thunk32_vkCmdBuildClusterAccelerationStructureIndirectNV, (void *)thunk32_vkCmdBuildMicromapsEXT, + (void *)thunk32_vkCmdBuildPartitionedAccelerationStructuresNV, (void *)thunk32_vkCmdClearAttachments, (void *)thunk32_vkCmdClearColorImage, (void *)thunk32_vkCmdClearDepthStencilImage, (void *)thunk32_vkCmdControlVideoCodingKHR, + (void *)thunk32_vkCmdConvertCooperativeVectorMatrixNV, (void *)thunk32_vkCmdCopyAccelerationStructureKHR, (void *)thunk32_vkCmdCopyAccelerationStructureNV, (void *)thunk32_vkCmdCopyAccelerationStructureToMemoryKHR, @@ -56148,6 +57475,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = (void *)thunk32_vkCmdWriteTimestamp2, (void *)thunk32_vkCmdWriteTimestamp2KHR, thunk32_vkCompileDeferredNV, + thunk32_vkConvertCooperativeVectorMatrixNV, thunk32_vkCopyAccelerationStructureKHR, thunk32_vkCopyAccelerationStructureToMemoryKHR, thunk32_vkCopyImageToImage, @@ -56293,6 +57621,7 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk32_vkGetBufferOpaqueCaptureDescriptorDataEXT, thunk32_vkGetCalibratedTimestampsEXT, thunk32_vkGetCalibratedTimestampsKHR, + thunk32_vkGetClusterAccelerationStructureBuildSizesNV, thunk32_vkGetCudaModuleCacheNV, thunk32_vkGetDeferredOperationMaxConcurrencyKHR, thunk32_vkGetDeferredOperationResultKHR, @@ -56349,12 +57678,14 @@ const unixlib_entry_t __wine_unix_call_funcs[] = thunk32_vkGetLatencyTimingsNV, thunk32_vkGetMemoryHostPointerPropertiesEXT, thunk32_vkGetMicromapBuildSizesEXT, + thunk32_vkGetPartitionedAccelerationStructuresBuildSizesNV, thunk32_vkGetPerformanceParameterINTEL, thunk32_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT, thunk32_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR, thunk32_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, thunk32_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR, thunk32_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV, + thunk32_vkGetPhysicalDeviceCooperativeVectorPropertiesNV, thunk32_vkGetPhysicalDeviceExternalBufferProperties, thunk32_vkGetPhysicalDeviceExternalBufferPropertiesKHR, thunk32_vkGetPhysicalDeviceExternalFenceProperties, diff --git a/dlls/winevulkan/vulkan_thunks.h b/dlls/winevulkan/vulkan_thunks.h index 1941b715912..23dbf19424d 100644 --- a/dlls/winevulkan/vulkan_thunks.h +++ b/dlls/winevulkan/vulkan_thunks.h @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2024 The Khronos Group Inc. + * Copyright 2015-2025 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2024 The Khronos Group Inc. + * Copyright 2021-2025 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ diff --git a/dlls/winevulkan/winevulkan.json b/dlls/winevulkan/winevulkan.json index e1d7e8f9ccf..9ce698b119f 100644 --- a/dlls/winevulkan/winevulkan.json +++ b/dlls/winevulkan/winevulkan.json @@ -2,6 +2,6 @@ "file_format_version": "1.0.0", "ICD": { "library_path": ".\winevulkan.dll", - "api_version": "1.4.303" + "api_version": "1.4.307" } } diff --git a/dlls/winevulkan/winevulkan.spec b/dlls/winevulkan/winevulkan.spec index 4c73f80eaee..b60dbb70276 100644 --- a/dlls/winevulkan/winevulkan.spec +++ b/dlls/winevulkan/winevulkan.spec @@ -3,14 +3,14 @@ # This file is generated from Vulkan vk.xml file covered # by the following copyright and permission notice: # -# Copyright 2015-2024 The Khronos Group Inc. +# Copyright 2015-2025 The Khronos Group Inc. # # SPDX-License-Identifier: Apache-2.0 OR MIT # # and from Vulkan video.xml file covered # by the following copyright and permission notice: # -# Copyright 2021-2024 The Khronos Group Inc. +# Copyright 2021-2025 The Khronos Group Inc. # SPDX-License-Identifier: Apache-2.0 OR MIT #
diff --git a/include/wine/vulkan.h b/include/wine/vulkan.h index bd9550c64c1..fc729251b44 100644 --- a/include/wine/vulkan.h +++ b/include/wine/vulkan.h @@ -3,14 +3,14 @@ * This file is generated from Vulkan vk.xml file covered * by the following copyright and permission notice: * - * Copyright 2015-2024 The Khronos Group Inc. + * Copyright 2015-2025 The Khronos Group Inc. * * SPDX-License-Identifier: Apache-2.0 OR MIT * * and from Vulkan video.xml file covered * by the following copyright and permission notice: * - * Copyright 2021-2024 The Khronos Group Inc. + * Copyright 2021-2025 The Khronos Group Inc. * SPDX-License-Identifier: Apache-2.0 OR MIT * */ @@ -67,6 +67,7 @@ #define VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR 32 #define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7 #define VK_SHADER_INDEX_UNUSED_AMDX (~0U) +#define VK_PARTITIONED_ACCELERATION_STRUCTURE_PARTITION_INDEX_GLOBAL_NV (~0U) #define VK_KHR_SURFACE_SPEC_VERSION 25 #define VK_KHR_SURFACE_EXTENSION_NAME "VK_KHR_surface" #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 @@ -607,6 +608,8 @@ #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2 #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute" +#define VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION 1 +#define VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME "VK_NV_ray_tracing_linear_swept_spheres" #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" #define VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION 1 @@ -649,6 +652,8 @@ #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" +#define VK_NV_COOPERATIVE_VECTOR_SPEC_VERSION 4 +#define VK_NV_COOPERATIVE_VECTOR_EXTENSION_NAME "VK_NV_cooperative_vector" #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1 #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space" #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 @@ -723,16 +728,28 @@ #define VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME "VK_EXT_shader_replicated_composites" #define VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION 1 #define VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME "VK_NV_ray_tracing_validation" +#define VK_NV_CLUSTER_ACCELERATION_STRUCTURE_SPEC_VERSION 2 +#define VK_NV_CLUSTER_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_NV_cluster_acceleration_structure" +#define VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_SPEC_VERSION 1 +#define VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_NV_partitioned_acceleration_structure" #define VK_EXT_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 1 #define VK_EXT_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME "VK_EXT_device_generated_commands" +#define VK_KHR_MAINTENANCE_8_SPEC_VERSION 1 +#define VK_KHR_MAINTENANCE_8_EXTENSION_NAME "VK_KHR_maintenance8" #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION 1 #define VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME "VK_MESA_image_alignment_control" #define VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION 1 #define VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clamp_control" +#define VK_KHR_VIDEO_MAINTENANCE_2_SPEC_VERSION 1 +#define VK_KHR_VIDEO_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_video_maintenance2" #define VK_HUAWEI_HDR_VIVID_SPEC_VERSION 1 #define VK_HUAWEI_HDR_VIVID_EXTENSION_NAME "VK_HUAWEI_hdr_vivid" #define VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION 1 #define VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME "VK_NV_cooperative_matrix2" +#define VK_ARM_PIPELINE_OPACITY_MICROMAP_SPEC_VERSION 1 +#define VK_ARM_PIPELINE_OPACITY_MICROMAP_EXTENSION_NAME "VK_ARM_pipeline_opacity_micromap" +#define VK_KHR_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 +#define VK_KHR_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_KHR_depth_clamp_zero_one" #define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_SPEC_VERSION 1 #define VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_vertex_attribute_robustness" #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32 @@ -828,7 +845,7 @@ #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0) #define VK_API_VERSION_1_4 VK_MAKE_API_VERSION(0, 1, 4, 0) #define VKSC_API_VERSION_1_0 VK_MAKE_API_VERSION(VKSC_API_VARIANT, 1, 0, 0) -#define VK_HEADER_VERSION 303 +#define VK_HEADER_VERSION 307 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION) #define VK_DEFINE_HANDLE(object) typedef struct object##_T* object; #define VK_USE_64_BIT_PTR_DEFINES 0 @@ -940,6 +957,7 @@ typedef VkFlags VkAccelerationStructureMotionInstanceFlagsNV; typedef VkFlags VkAccessFlags; typedef VkFlags64 VkAccessFlags2; typedef VkAccessFlags2 VkAccessFlags2KHR; +typedef VkFlags64 VkAccessFlags3KHR; typedef VkFlags VkAcquireProfilingLockFlagsKHR; typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; typedef VkFlags VkAttachmentDescriptionFlags; @@ -951,6 +969,10 @@ typedef VkFlags VkBufferViewCreateFlags; typedef VkFlags VkBuildAccelerationStructureFlagsKHR; typedef VkBuildAccelerationStructureFlagsKHR VkBuildAccelerationStructureFlagsNV; typedef VkFlags VkBuildMicromapFlagsEXT; +typedef VkFlags VkClusterAccelerationStructureAddressResolutionFlagsNV; +typedef VkFlags VkClusterAccelerationStructureClusterFlagsNV; +typedef VkFlags VkClusterAccelerationStructureGeometryFlagsNV; +typedef VkFlags VkClusterAccelerationStructureIndexFormatFlagsNV; typedef VkFlags VkColorComponentFlags; typedef VkFlags VkCommandBufferResetFlags; typedef VkFlags VkCommandBufferUsageFlags; @@ -1047,6 +1069,7 @@ typedef VkFlags VkOpticalFlowExecuteFlagsNV; typedef VkFlags VkOpticalFlowGridSizeFlagsNV; typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; typedef VkFlags VkOpticalFlowUsageFlagsNV; +typedef VkFlags VkPartitionedAccelerationStructureInstanceFlagsNV; typedef VkFlags VkPeerMemoryFeatureFlags; typedef VkPeerMemoryFeatureFlags VkPeerMemoryFeatureFlagsKHR; typedef VkFlags VkPerformanceCounterDescriptionFlagsKHR; @@ -1713,6 +1736,10 @@ static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x10000000000 static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ull; typedef VkAccessFlagBits2 VkAccessFlagBits2KHR;
+typedef VkFlags64 VkAccessFlagBits3KHR; + +static const VkAccessFlagBits3KHR VK_ACCESS_3_NONE_KHR = 0ull; + typedef enum VkAcquireProfilingLockFlagBitsKHR { VK_ACQUIRE_PROFILING_LOCK_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff, @@ -2009,6 +2036,65 @@ typedef enum VkChromaLocation } VkChromaLocation; typedef VkChromaLocation VkChromaLocationKHR;
+typedef enum VkClusterAccelerationStructureAddressResolutionFlagBitsNV +{ + VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_IMPLICIT_DATA_BIT_NV = 0x00000001, + VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SCRATCH_DATA_BIT_NV = 0x00000002, + VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_ADDRESS_ARRAY_BIT_NV = 0x00000004, + VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_DST_SIZES_ARRAY_BIT_NV = 0x00000008, + VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_ARRAY_BIT_NV = 0x00000010, + VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_INDIRECTED_SRC_INFOS_COUNT_BIT_NV = 0x00000020, + VK_CLUSTER_ACCELERATION_STRUCTURE_ADDRESS_RESOLUTION_FLAG_BITS_NV_MAX_ENUM = 0x7fffffff, +} VkClusterAccelerationStructureAddressResolutionFlagBitsNV; + +typedef enum VkClusterAccelerationStructureClusterFlagBitsNV +{ + VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_ALLOW_DISABLE_OPACITY_MICROMAPS_NV = 0x00000001, + VK_CLUSTER_ACCELERATION_STRUCTURE_CLUSTER_FLAG_BITS_NV_MAX_ENUM = 0x7fffffff, +} VkClusterAccelerationStructureClusterFlagBitsNV; + +typedef enum VkClusterAccelerationStructureGeometryFlagBitsNV +{ + VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_CULL_DISABLE_BIT_NV = 0x00000001, + VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_NO_DUPLICATE_ANYHIT_INVOCATION_BIT_NV = 0x00000002, + VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_OPAQUE_BIT_NV = 0x00000004, + VK_CLUSTER_ACCELERATION_STRUCTURE_GEOMETRY_FLAG_BITS_NV_MAX_ENUM = 0x7fffffff, +} VkClusterAccelerationStructureGeometryFlagBitsNV; + +typedef enum VkClusterAccelerationStructureIndexFormatFlagBitsNV +{ + VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_8BIT_NV = 0x00000001, + VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_16BIT_NV = 0x00000002, + VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_32BIT_NV = 0x00000004, + VK_CLUSTER_ACCELERATION_STRUCTURE_INDEX_FORMAT_FLAG_BITS_NV_MAX_ENUM = 0x7fffffff, +} VkClusterAccelerationStructureIndexFormatFlagBitsNV; + +typedef enum VkClusterAccelerationStructureOpModeNV +{ + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_IMPLICIT_DESTINATIONS_NV = 0, + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_EXPLICIT_DESTINATIONS_NV = 1, + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_COMPUTE_SIZES_NV = 2, + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_MODE_NV_MAX_ENUM = 0x7fffffff, +} VkClusterAccelerationStructureOpModeNV; + +typedef enum VkClusterAccelerationStructureOpTypeNV +{ + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV = 0, + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV = 1, + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV = 2, + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV = 3, + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV = 4, + VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_NV_MAX_ENUM = 0x7fffffff, +} VkClusterAccelerationStructureOpTypeNV; + +typedef enum VkClusterAccelerationStructureTypeNV +{ + VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_CLUSTERS_BOTTOM_LEVEL_NV = 0, + VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_NV = 1, + VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_TRIANGLE_CLUSTER_TEMPLATE_NV = 2, + VK_CLUSTER_ACCELERATION_STRUCTURE_TYPE_NV_MAX_ENUM = 0x7fffffff, +} VkClusterAccelerationStructureTypeNV; + typedef enum VkCoarseSampleOrderTypeNV { VK_COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV = 0, @@ -2122,6 +2208,10 @@ typedef enum VkComponentTypeKHR VK_COMPONENT_TYPE_UINT16_KHR = 8, VK_COMPONENT_TYPE_UINT32_KHR = 9, VK_COMPONENT_TYPE_UINT64_KHR = 10, + VK_COMPONENT_TYPE_SINT8_PACKED_NV = 1000491000, + VK_COMPONENT_TYPE_UINT8_PACKED_NV = 1000491001, + VK_COMPONENT_TYPE_FLOAT_E4M3_NV = 1000491002, + VK_COMPONENT_TYPE_FLOAT_E5M2_NV = 1000491003, VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, @@ -2160,6 +2250,15 @@ typedef enum VkConservativeRasterizationModeEXT VK_CONSERVATIVE_RASTERIZATION_MODE_EXT_MAX_ENUM = 0x7fffffff, } VkConservativeRasterizationModeEXT;
+typedef enum VkCooperativeVectorMatrixLayoutNV +{ + VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_ROW_MAJOR_NV = 0, + VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_COLUMN_MAJOR_NV = 1, + VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_INFERENCING_OPTIMAL_NV = 2, + VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_TRAINING_OPTIMAL_NV = 3, + VK_COOPERATIVE_VECTOR_MATRIX_LAYOUT_NV_MAX_ENUM = 0x7fffffff, +} VkCooperativeVectorMatrixLayoutNV; + typedef enum VkCopyAccelerationStructureModeKHR { VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR = 0, @@ -2298,6 +2397,7 @@ typedef enum VkDependencyFlagBits VK_DEPENDENCY_VIEW_LOCAL_BIT = 0x00000002, VK_DEPENDENCY_DEVICE_GROUP_BIT = 0x00000004, VK_DEPENDENCY_FEEDBACK_LOOP_BIT_EXT = 0x00000008, + VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR = 0x00000020, VK_DEPENDENCY_VIEW_LOCAL_BIT_KHR = VK_DEPENDENCY_VIEW_LOCAL_BIT, VK_DEPENDENCY_DEVICE_GROUP_BIT_KHR = VK_DEPENDENCY_DEVICE_GROUP_BIT, VK_DEPENDENCY_FLAG_BITS_MAX_ENUM = 0x7fffffff, @@ -2378,6 +2478,7 @@ typedef enum VkDescriptorType VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, + VK_DESCRIPTOR_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570000, VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7fffffff, @@ -2483,7 +2584,7 @@ typedef enum VkDriverId VK_DRIVER_ID_MESA_NVK = 24, VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, VK_DRIVER_ID_MESA_HONEYKRISP = 26, - VK_DRIVER_ID_RESERVED_27 = 27, + VK_DRIVER_ID_VULKAN_SC_EMULATION_ON_VULKAN = 27, VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, @@ -3144,6 +3245,7 @@ static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BI static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ull; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x2000000000000ull; static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x4000000000000ull; +static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV = 0x8000000000000ull; typedef VkFormatFeatureFlagBits2 VkFormatFeatureFlagBits2KHR;
typedef enum VkFragmentShadingRateCombinerOpKHR @@ -3232,6 +3334,8 @@ typedef enum VkGeometryTypeKHR VK_GEOMETRY_TYPE_TRIANGLES_KHR = 0, VK_GEOMETRY_TYPE_AABBS_KHR = 1, VK_GEOMETRY_TYPE_INSTANCES_KHR = 2, + VK_GEOMETRY_TYPE_SPHERES_NV = 1000429004, + VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV = 1000429005, VK_GEOMETRY_TYPE_TRIANGLES_NV = VK_GEOMETRY_TYPE_TRIANGLES_KHR, VK_GEOMETRY_TYPE_AABBS_NV = VK_GEOMETRY_TYPE_AABBS_KHR, VK_GEOMETRY_TYPE_KHR_MAX_ENUM = 0x7fffffff, @@ -3761,6 +3865,7 @@ typedef enum VkOpacityMicromapFormatEXT
typedef enum VkOpacityMicromapSpecialIndexEXT { + VK_OPACITY_MICROMAP_SPECIAL_INDEX_CLUSTER_GEOMETRY_DISABLE_OPACITY_MICROMAP_NV = -5, VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, @@ -3835,6 +3940,24 @@ typedef enum VkOutOfBandQueueTypeNV VK_OUT_OF_BAND_QUEUE_TYPE_NV_MAX_ENUM = 0x7fffffff, } VkOutOfBandQueueTypeNV;
+typedef enum VkPartitionedAccelerationStructureInstanceFlagBitsNV +{ + VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FACING_CULL_DISABLE_BIT_NV = 0x00000001, + VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_TRIANGLE_FLIP_FACING_BIT_NV = 0x00000002, + VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_OPAQUE_BIT_NV = 0x00000004, + VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_FORCE_NO_OPAQUE_BIT_NV = 0x00000008, + VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_ENABLE_EXPLICIT_BOUNDING_BOX_NV = 0x00000010, + VK_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCE_FLAG_BITS_NV_MAX_ENUM = 0x7fffffff, +} VkPartitionedAccelerationStructureInstanceFlagBitsNV; + +typedef enum VkPartitionedAccelerationStructureOpTypeNV +{ + VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_INSTANCE_NV = 0, + VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_UPDATE_INSTANCE_NV = 1, + VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_WRITE_PARTITION_TRANSLATION_NV = 2, + VK_PARTITIONED_ACCELERATION_STRUCTURE_OP_TYPE_NV_MAX_ENUM = 0x7fffffff, +} VkPartitionedAccelerationStructureOpTypeNV; + typedef enum VkPeerMemoryFeatureFlagBits { VK_PEER_MEMORY_FEATURE_COPY_SRC_BIT = 0x00000001, @@ -3953,6 +4076,7 @@ typedef enum VkPipelineBindPoint typedef enum VkPipelineCacheCreateFlagBits { VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT = 0x00000001, + VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR = 0x00000008, VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT_EXT = VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, VK_PIPELINE_CACHE_CREATE_FLAG_BITS_MAX_ENUM = 0x7fffffff, } VkPipelineCacheCreateFlagBits; @@ -4041,6 +4165,7 @@ static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAIL static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ull; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ull; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ull; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_BUILT_IN_PRIMITIVES_BIT_KHR = 0x00001000ull; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ull; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ull; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ull; @@ -4062,7 +4187,9 @@ static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BI static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT = 0x40000000ull; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ull; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_CAPTURE_DATA_BIT_KHR = 0x80000000ull; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV = 0x200000000ull; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x400000000ull; +static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_DISALLOW_OPACITY_MICROMAP_BIT_ARM = 0x2000000000ull; static const VkPipelineCreateFlagBits2 VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT = 0x4000000000ull; typedef VkPipelineCreateFlagBits2 VkPipelineCreateFlagBits2KHR;
@@ -4256,6 +4383,7 @@ static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUA static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ull; static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ull; static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ull; +static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONVERT_COOPERATIVE_VECTOR_MATRIX_BIT_NV = 0x100000000000ull; typedef VkPipelineStageFlagBits2 VkPipelineStageFlagBits2KHR;
typedef enum VkPointClippingBehavior @@ -4444,6 +4572,20 @@ typedef enum VkRayTracingInvocationReorderModeNV VK_RAY_TRACING_INVOCATION_REORDER_MODE_NV_MAX_ENUM = 0x7fffffff, } VkRayTracingInvocationReorderModeNV;
+typedef enum VkRayTracingLssIndexingModeNV +{ + VK_RAY_TRACING_LSS_INDEXING_MODE_LIST_NV = 0, + VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV = 1, + VK_RAY_TRACING_LSS_INDEXING_MODE_NV_MAX_ENUM = 0x7fffffff, +} VkRayTracingLssIndexingModeNV; + +typedef enum VkRayTracingLssPrimitiveEndCapsModeNV +{ + VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NONE_NV = 0, + VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_CHAINED_NV = 1, + VK_RAY_TRACING_LSS_PRIMITIVE_END_CAPS_MODE_NV_MAX_ENUM = 0x7fffffff, +} VkRayTracingLssPrimitiveEndCapsModeNV; + typedef enum VkRayTracingShaderGroupTypeKHR { VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_KHR = 0, @@ -5477,7 +5619,7 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR = 1000421000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001, @@ -5494,6 +5636,9 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000, VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001, VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV = 1000429008, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV = 1000429009, + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV = 1000429010, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = 1000434000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, @@ -5550,6 +5695,10 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_FEATURES_NV = 1000491000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_VECTOR_PROPERTIES_NV = 1000491001, + VK_STRUCTURE_TYPE_COOPERATIVE_VECTOR_PROPERTIES_NV = 1000491002, + VK_STRUCTURE_TYPE_CONVERT_COOPERATIVE_VECTOR_MATRIX_INFO_NV = 1000491004, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_VERTEX_ATTRIBUTES_FEATURES_EXT = 1000495000, @@ -5633,6 +5782,20 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV = 1000563000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_REPLICATED_COMPOSITES_FEATURES_EXT = 1000564000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV = 1000568000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_FEATURES_NV = 1000569000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_ACCELERATION_STRUCTURE_PROPERTIES_NV = 1000569001, + VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_CLUSTERS_BOTTOM_LEVEL_INPUT_NV = 1000569002, + VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_TRIANGLE_CLUSTER_INPUT_NV = 1000569003, + VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_MOVE_OBJECTS_INPUT_NV = 1000569004, + VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_INPUT_INFO_NV = 1000569005, + VK_STRUCTURE_TYPE_CLUSTER_ACCELERATION_STRUCTURE_COMMANDS_INFO_NV = 1000569006, + VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CLUSTER_ACCELERATION_STRUCTURE_CREATE_INFO_NV = 1000569007, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_FEATURES_NV = 1000570000, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PARTITIONED_ACCELERATION_STRUCTURE_PROPERTIES_NV = 1000570001, + VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_PARTITIONED_ACCELERATION_STRUCTURE_NV = 1000570002, + VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_INSTANCES_INPUT_NV = 1000570003, + VK_STRUCTURE_TYPE_BUILD_PARTITIONED_ACCELERATION_STRUCTURE_INFO_NV = 1000570004, + VK_STRUCTURE_TYPE_PARTITIONED_ACCELERATION_STRUCTURE_FLAGS_NV = 1000570005, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_EXT = 1000572000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT = 1000572001, VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_EXT = 1000572002, @@ -5647,16 +5810,23 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_SHADER_LAYOUT_INFO_EXT = 1000572012, VK_STRUCTURE_TYPE_GENERATED_COMMANDS_PIPELINE_INFO_EXT = 1000572013, VK_STRUCTURE_TYPE_GENERATED_COMMANDS_SHADER_INFO_EXT = 1000572014, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR = 1000574000, + VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR = 1000574002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_FEATURES_MESA = 1000575000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ALIGNMENT_CONTROL_PROPERTIES_MESA = 1000575001, VK_STRUCTURE_TYPE_IMAGE_ALIGNMENT_CONTROL_CREATE_INFO_MESA = 1000575002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_CONTROL_FEATURES_EXT = 1000582000, VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLAMP_CONTROL_CREATE_INFO_EXT = 1000582001, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR = 1000586000, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586001, + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586002, + VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_INLINE_SESSION_PARAMETERS_INFO_KHR = 1000586003, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HDR_VIVID_FEATURES_HUAWEI = 1000590000, VK_STRUCTURE_TYPE_HDR_VIVID_DYNAMIC_METADATA_HUAWEI = 1000590001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV = 1000593000, VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_FLEXIBLE_DIMENSIONS_PROPERTIES_NV = 1000593001, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_PROPERTIES_NV = 1000593002, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_OPACITY_MICROMAP_FEATURES_ARM = 1000596000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_ROBUSTNESS_FEATURES_EXT = 1000608000, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, @@ -5863,6 +6033,7 @@ typedef enum VkStructureType VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_KHR, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES, @@ -6401,6 +6572,7 @@ typedef enum VkVideoSessionCreateFlagBitsKHR VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004, VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_QUANTIZATION_DELTA_MAP_BIT_KHR = 0x00000008, VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_EMPHASIS_MAP_BIT_KHR = 0x00000010, + VK_VIDEO_SESSION_CREATE_INLINE_SESSION_PARAMETERS_BIT_KHR = 0x00000020, VK_VIDEO_SESSION_CREATE_FLAG_BITS_KHR_MAX_ENUM = 0x7fffffff, } VkVideoSessionCreateFlagBitsKHR;
@@ -7560,6 +7732,56 @@ typedef union VkClearValue VkClearDepthStencilValue depthStencil; } VkClearValue;
+typedef struct VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV +{ + uint32_t clusterReferencesCount; + uint32_t clusterReferencesStride; + VkDeviceAddress WINE_VK_ALIGN(8) clusterReferences; +} VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV; + +typedef struct VkClusterAccelerationStructureClustersBottomLevelInputNV +{ + VkStructureType sType; + void *pNext; + uint32_t maxTotalClusterCount; + uint32_t maxClusterCountPerAccelerationStructure; +} VkClusterAccelerationStructureClustersBottomLevelInputNV; + +typedef struct VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV +{ + uint32_t geometryIndex:24; + uint32_t reserved:5; + uint32_t geometryFlags:3; +} VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV; + +typedef struct VkClusterAccelerationStructureMoveObjectsInfoNV +{ + VkDeviceAddress WINE_VK_ALIGN(8) srcAccelerationStructure; +} VkClusterAccelerationStructureMoveObjectsInfoNV; + +typedef struct VkClusterAccelerationStructureMoveObjectsInputNV +{ + VkStructureType sType; + void *pNext; + VkClusterAccelerationStructureTypeNV type; + VkBool32 noMoveOverlap; + VkDeviceSize WINE_VK_ALIGN(8) maxMovedBytes; +} VkClusterAccelerationStructureMoveObjectsInputNV; + +typedef struct VkClusterAccelerationStructureTriangleClusterInputNV +{ + VkStructureType sType; + void *pNext; + VkFormat vertexFormat; + uint32_t maxGeometryIndexValue; + uint32_t maxClusterUniqueGeometryCount; + uint32_t maxClusterTriangleCount; + uint32_t maxClusterVertexCount; + uint32_t maxTotalTriangleCount; + uint32_t maxTotalVertexCount; + uint32_t minPositionTruncateBitCount; +} VkClusterAccelerationStructureTriangleClusterInputNV; + typedef struct VkCoarseSampleLocationNV { uint32_t pixelX; @@ -7733,6 +7955,18 @@ typedef struct VkCooperativeMatrixPropertiesNV VkScopeNV scope; } VkCooperativeMatrixPropertiesNV;
+typedef struct VkCooperativeVectorPropertiesNV +{ + VkStructureType sType; + void *pNext; + VkComponentTypeKHR inputType; + VkComponentTypeKHR inputInterpretation; + VkComponentTypeKHR matrixInterpretation; + VkComponentTypeKHR biasInterpretation; + VkComponentTypeKHR resultType; + VkBool32 transpose; +} VkCooperativeVectorPropertiesNV; + typedef struct VkCopyAccelerationStructureInfoKHR { VkStructureType sType; @@ -9139,6 +9373,14 @@ typedef struct VkMemoryBarrier2 } VkMemoryBarrier2; typedef VkMemoryBarrier2 VkMemoryBarrier2KHR;
+typedef struct VkMemoryBarrierAccessFlags3KHR +{ + VkStructureType sType; + const void *pNext; + VkAccessFlags3KHR WINE_VK_ALIGN(8) srcAccessMask3; + VkAccessFlags3KHR WINE_VK_ALIGN(8) dstAccessMask3; +} VkMemoryBarrierAccessFlags3KHR; + typedef struct VkMemoryDedicatedAllocateInfo { VkStructureType sType; @@ -9391,6 +9633,37 @@ typedef struct VkOutOfBandQueueTypeInfoNV VkOutOfBandQueueTypeNV queueType; } VkOutOfBandQueueTypeInfoNV;
+typedef struct VkPartitionedAccelerationStructureFlagsNV +{ + VkStructureType sType; + void *pNext; + VkBool32 enablePartitionTranslation; +} VkPartitionedAccelerationStructureFlagsNV; + +typedef struct VkPartitionedAccelerationStructureInstancesInputNV +{ + VkStructureType sType; + void *pNext; + VkBuildAccelerationStructureFlagsKHR flags; + uint32_t instanceCount; + uint32_t maxInstancePerPartitionCount; + uint32_t partitionCount; + uint32_t maxInstanceInGlobalPartitionCount; +} VkPartitionedAccelerationStructureInstancesInputNV; + +typedef struct VkPartitionedAccelerationStructureUpdateInstanceDataNV +{ + uint32_t instanceIndex; + uint32_t instanceContributionToHitGroupIndex; + VkDeviceAddress WINE_VK_ALIGN(8) accelerationStructure; +} VkPartitionedAccelerationStructureUpdateInstanceDataNV; + +typedef struct VkPartitionedAccelerationStructureWritePartitionTranslationDataNV +{ + uint32_t partitionIndex; + float partitionTranslation[3]; +} VkPartitionedAccelerationStructureWritePartitionTranslationDataNV; + typedef struct VkPerformanceConfigurationAcquireInfoINTEL { VkStructureType sType; @@ -9616,6 +9889,27 @@ typedef struct VkPhysicalDeviceBufferDeviceAddressFeaturesEXT } VkPhysicalDeviceBufferDeviceAddressFeaturesEXT; typedef VkPhysicalDeviceBufferDeviceAddressFeaturesEXT VkPhysicalDeviceBufferAddressFeaturesEXT;
+typedef struct VkPhysicalDeviceClusterAccelerationStructureFeaturesNV +{ + VkStructureType sType; + void *pNext; + VkBool32 clusterAccelerationStructure; +} VkPhysicalDeviceClusterAccelerationStructureFeaturesNV; + +typedef struct VkPhysicalDeviceClusterAccelerationStructurePropertiesNV +{ + VkStructureType sType; + void *pNext; + uint32_t maxVerticesPerCluster; + uint32_t maxTrianglesPerCluster; + uint32_t clusterScratchByteAlignment; + uint32_t clusterByteAlignment; + uint32_t clusterTemplateByteAlignment; + uint32_t clusterBottomLevelByteAlignment; + uint32_t clusterTemplateBoundsByteAlignment; + uint32_t maxClusterGeometryIndex; +} VkPhysicalDeviceClusterAccelerationStructurePropertiesNV; + typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { VkStructureType sType; @@ -9753,6 +10047,24 @@ typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesNV VkShaderStageFlags cooperativeMatrixSupportedStages; } VkPhysicalDeviceCooperativeMatrixPropertiesNV;
+typedef struct VkPhysicalDeviceCooperativeVectorFeaturesNV +{ + VkStructureType sType; + void *pNext; + VkBool32 cooperativeVector; + VkBool32 cooperativeVectorTraining; +} VkPhysicalDeviceCooperativeVectorFeaturesNV; + +typedef struct VkPhysicalDeviceCooperativeVectorPropertiesNV +{ + VkStructureType sType; + void *pNext; + VkShaderStageFlags cooperativeVectorSupportedStages; + VkBool32 cooperativeVectorTrainingFloat16Accumulation; + VkBool32 cooperativeVectorTrainingFloat32Accumulation; + uint32_t maxCooperativeVectorComponents; +} VkPhysicalDeviceCooperativeVectorPropertiesNV; + typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { VkStructureType sType; @@ -9849,12 +10161,13 @@ typedef struct VkPhysicalDeviceDepthClampControlFeaturesEXT VkBool32 depthClampControl; } VkPhysicalDeviceDepthClampControlFeaturesEXT;
-typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesEXT +typedef struct VkPhysicalDeviceDepthClampZeroOneFeaturesKHR { VkStructureType sType; void *pNext; VkBool32 depthClampZeroOne; -} VkPhysicalDeviceDepthClampZeroOneFeaturesEXT; +} VkPhysicalDeviceDepthClampZeroOneFeaturesKHR; +typedef VkPhysicalDeviceDepthClampZeroOneFeaturesKHR VkPhysicalDeviceDepthClampZeroOneFeaturesEXT;
typedef struct VkPhysicalDeviceDepthClipControlFeaturesEXT { @@ -10948,6 +11261,13 @@ typedef struct VkPhysicalDeviceMaintenance6Properties } VkPhysicalDeviceMaintenance6Properties; typedef VkPhysicalDeviceMaintenance6Properties VkPhysicalDeviceMaintenance6PropertiesKHR;
+typedef struct VkPhysicalDeviceMaintenance8FeaturesKHR +{ + VkStructureType sType; + void *pNext; + VkBool32 maintenance8; +} VkPhysicalDeviceMaintenance8FeaturesKHR; + typedef struct VkPhysicalDeviceMapMemoryPlacedFeaturesEXT { VkStructureType sType; @@ -11225,6 +11545,20 @@ typedef struct VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT VkBool32 pageableDeviceLocalMemory; } VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT;
+typedef struct VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV +{ + VkStructureType sType; + void *pNext; + VkBool32 partitionedAccelerationStructure; +} VkPhysicalDevicePartitionedAccelerationStructureFeaturesNV; + +typedef struct VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV +{ + VkStructureType sType; + void *pNext; + uint32_t maxPartitionCount; +} VkPhysicalDevicePartitionedAccelerationStructurePropertiesNV; + typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV { VkStructureType sType; @@ -11288,6 +11622,13 @@ typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT VkBool32 pipelineLibraryGroupHandles; } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT;
+typedef struct VkPhysicalDevicePipelineOpacityMicromapFeaturesARM +{ + VkStructureType sType; + void *pNext; + VkBool32 pipelineOpacityMicromap; +} VkPhysicalDevicePipelineOpacityMicromapFeaturesARM; + typedef struct VkPhysicalDevicePipelinePropertiesFeaturesEXT { VkStructureType sType; @@ -11466,6 +11807,14 @@ typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV;
+typedef struct VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV +{ + VkStructureType sType; + void *pNext; + VkBool32 spheres; + VkBool32 linearSweptSpheres; +} VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV; + typedef struct VkPhysicalDeviceRayTracingMaintenance1FeaturesKHR { VkStructureType sType; @@ -12275,6 +12624,13 @@ typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR VkBool32 videoMaintenance1; } VkPhysicalDeviceVideoMaintenance1FeaturesKHR;
+typedef struct VkPhysicalDeviceVideoMaintenance2FeaturesKHR +{ + VkStructureType sType; + void *pNext; + VkBool32 videoMaintenance2; +} VkPhysicalDeviceVideoMaintenance2FeaturesKHR; + typedef struct VkPhysicalDeviceVulkan11Features { VkStructureType sType; @@ -13205,6 +13561,13 @@ typedef struct VkQueueFamilyVideoPropertiesKHR VkVideoCodecOperationFlagsKHR videoCodecOperations; } VkQueueFamilyVideoPropertiesKHR;
+typedef struct VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV +{ + VkStructureType sType; + void *pNext; + VkBool32 allowClusterAccelerationStructure; +} VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV; + typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR { VkStructureType sType; @@ -13767,6 +14130,12 @@ typedef struct VkStencilOpState uint32_t reference; } VkStencilOpState;
+typedef struct VkStridedDeviceAddressNV +{ + VkDeviceAddress WINE_VK_ALIGN(8) startAddress; + VkDeviceSize WINE_VK_ALIGN(8) strideInBytes; +} VkStridedDeviceAddressNV; + typedef struct VkStridedDeviceAddressRegionKHR { VkDeviceAddress WINE_VK_ALIGN(8) deviceAddress; @@ -14919,6 +15288,14 @@ typedef struct VkWriteDescriptorSetInlineUniformBlock } VkWriteDescriptorSetInlineUniformBlock; typedef VkWriteDescriptorSetInlineUniformBlock VkWriteDescriptorSetInlineUniformBlockEXT;
+typedef struct VkWriteDescriptorSetPartitionedAccelerationStructureNV +{ + VkStructureType sType; + void *pNext; + uint32_t accelerationStructureCount; + const VkDeviceAddress *pAccelerationStructures; +} VkWriteDescriptorSetPartitionedAccelerationStructureNV; + typedef struct VkWriteIndirectExecutionSetPipelineEXT { VkStructureType sType; @@ -15417,6 +15794,23 @@ typedef struct VkAccelerationStructureGeometryInstancesDataKHR VkDeviceOrHostAddressConstKHR WINE_VK_ALIGN(8) data; } VkAccelerationStructureGeometryInstancesDataKHR;
+typedef struct VkAccelerationStructureGeometryLinearSweptSpheresDataNV +{ + VkStructureType sType; + const void *pNext; + VkFormat vertexFormat; + VkDeviceOrHostAddressConstKHR WINE_VK_ALIGN(8) vertexData; + VkDeviceSize WINE_VK_ALIGN(8) vertexStride; + VkFormat radiusFormat; + VkDeviceOrHostAddressConstKHR WINE_VK_ALIGN(8) radiusData; + VkDeviceSize WINE_VK_ALIGN(8) radiusStride; + VkIndexType indexType; + VkDeviceOrHostAddressConstKHR WINE_VK_ALIGN(8) indexData; + VkDeviceSize WINE_VK_ALIGN(8) indexStride; + VkRayTracingLssIndexingModeNV indexingMode; + VkRayTracingLssPrimitiveEndCapsModeNV endCapsMode; +} VkAccelerationStructureGeometryLinearSweptSpheresDataNV; + typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV { VkStructureType sType; @@ -15424,6 +15818,21 @@ typedef struct VkAccelerationStructureGeometryMotionTrianglesDataNV VkDeviceOrHostAddressConstKHR WINE_VK_ALIGN(8) vertexData; } VkAccelerationStructureGeometryMotionTrianglesDataNV;
+typedef struct VkAccelerationStructureGeometrySpheresDataNV +{ + VkStructureType sType; + const void *pNext; + VkFormat vertexFormat; + VkDeviceOrHostAddressConstKHR WINE_VK_ALIGN(8) vertexData; + VkDeviceSize WINE_VK_ALIGN(8) vertexStride; + VkFormat radiusFormat; + VkDeviceOrHostAddressConstKHR WINE_VK_ALIGN(8) radiusData; + VkDeviceSize WINE_VK_ALIGN(8) radiusStride; + VkIndexType indexType; + VkDeviceOrHostAddressConstKHR WINE_VK_ALIGN(8) indexData; + VkDeviceSize WINE_VK_ALIGN(8) indexStride; +} VkAccelerationStructureGeometrySpheresDataNV; + typedef struct VkAccelerationStructureGeometryTrianglesDataKHR { VkStructureType sType; @@ -15533,6 +15942,25 @@ typedef struct VkBufferImageCopy2 } VkBufferImageCopy2; typedef VkBufferImageCopy2 VkBufferImageCopy2KHR;
+typedef struct VkBuildPartitionedAccelerationStructureIndirectCommandNV +{ + VkPartitionedAccelerationStructureOpTypeNV opType; + uint32_t argCount; + VkStridedDeviceAddressNV WINE_VK_ALIGN(8) argData; +} VkBuildPartitionedAccelerationStructureIndirectCommandNV; + +typedef struct VkBuildPartitionedAccelerationStructureInfoNV +{ + VkStructureType sType; + void *pNext; + VkPartitionedAccelerationStructureInstancesInputNV input; + VkDeviceAddress WINE_VK_ALIGN(8) srcAccelerationStructureData; + VkDeviceAddress WINE_VK_ALIGN(8) dstAccelerationStructureData; + VkDeviceAddress WINE_VK_ALIGN(8) scratchData; + VkDeviceAddress WINE_VK_ALIGN(8) srcInfos; + VkDeviceAddress WINE_VK_ALIGN(8) srcInfosCount; +} VkBuildPartitionedAccelerationStructureInfoNV; + typedef struct VkClearAttachment { VkImageAspectFlags aspectMask; @@ -15547,6 +15975,65 @@ typedef struct VkClearRect uint32_t layerCount; } VkClearRect;
+typedef struct VkClusterAccelerationStructureBuildTriangleClusterInfoNV +{ + uint32_t clusterID; + VkClusterAccelerationStructureClusterFlagsNV clusterFlags; + uint32_t triangleCount:9; + uint32_t vertexCount:9; + uint32_t positionTruncateBitCount:6; + uint32_t indexType:4; + uint32_t opacityMicromapIndexType:4; + VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags; + uint16_t indexBufferStride; + uint16_t vertexBufferStride; + uint16_t geometryIndexAndFlagsBufferStride; + uint16_t opacityMicromapIndexBufferStride; + VkDeviceAddress WINE_VK_ALIGN(8) indexBuffer; + VkDeviceAddress WINE_VK_ALIGN(8) vertexBuffer; + VkDeviceAddress WINE_VK_ALIGN(8) geometryIndexAndFlagsBuffer; + VkDeviceAddress WINE_VK_ALIGN(8) opacityMicromapArray; + VkDeviceAddress WINE_VK_ALIGN(8) opacityMicromapIndexBuffer; +} VkClusterAccelerationStructureBuildTriangleClusterInfoNV; + +typedef struct VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV +{ + uint32_t clusterID; + VkClusterAccelerationStructureClusterFlagsNV clusterFlags; + uint32_t triangleCount:9; + uint32_t vertexCount:9; + uint32_t positionTruncateBitCount:6; + uint32_t indexType:4; + uint32_t opacityMicromapIndexType:4; + VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV baseGeometryIndexAndGeometryFlags; + uint16_t indexBufferStride; + uint16_t vertexBufferStride; + uint16_t geometryIndexAndFlagsBufferStride; + uint16_t opacityMicromapIndexBufferStride; + VkDeviceAddress WINE_VK_ALIGN(8) indexBuffer; + VkDeviceAddress WINE_VK_ALIGN(8) vertexBuffer; + VkDeviceAddress WINE_VK_ALIGN(8) geometryIndexAndFlagsBuffer; + VkDeviceAddress WINE_VK_ALIGN(8) opacityMicromapArray; + VkDeviceAddress WINE_VK_ALIGN(8) opacityMicromapIndexBuffer; + VkDeviceAddress WINE_VK_ALIGN(8) instantiationBoundingBoxLimit; +} VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV; + +typedef struct VkClusterAccelerationStructureInstantiateClusterInfoNV +{ + uint32_t clusterIdOffset; + uint32_t geometryIndexOffset:24; + uint32_t reserved:8; + VkDeviceAddress WINE_VK_ALIGN(8) clusterTemplateAddress; + VkStridedDeviceAddressNV WINE_VK_ALIGN(8) vertexBuffer; +} VkClusterAccelerationStructureInstantiateClusterInfoNV; + +typedef union VkClusterAccelerationStructureOpInputNV +{ + VkClusterAccelerationStructureClustersBottomLevelInputNV *pClustersBottomLevel; + VkClusterAccelerationStructureTriangleClusterInputNV *pTriangleClusters; + VkClusterAccelerationStructureMoveObjectsInputNV *pMoveObjects; +} VkClusterAccelerationStructureOpInputNV; + typedef struct VkCommandBufferBeginInfo { VkStructureType sType; @@ -15572,6 +16059,24 @@ typedef struct VkCommandBufferInheritanceViewportScissorInfoNV const VkViewport *pViewportDepths; } VkCommandBufferInheritanceViewportScissorInfoNV;
+typedef struct VkConvertCooperativeVectorMatrixInfoNV +{ + VkStructureType sType; + const void *pNext; + size_t srcSize; + VkDeviceOrHostAddressConstKHR WINE_VK_ALIGN(8) srcData; + size_t *pDstSize; + VkDeviceOrHostAddressKHR WINE_VK_ALIGN(8) dstData; + VkComponentTypeKHR srcComponentType; + VkComponentTypeKHR dstComponentType; + uint32_t numRows; + uint32_t numColumns; + VkCooperativeVectorMatrixLayoutNV srcLayout; + size_t srcStride; + VkCooperativeVectorMatrixLayoutNV dstLayout; + size_t dstStride; +} VkConvertCooperativeVectorMatrixInfoNV; + typedef struct VkCopyAccelerationStructureToMemoryInfoKHR { VkStructureType sType; @@ -16047,6 +16552,19 @@ typedef struct VkOpticalFlowExecuteInfoNV const VkRect2D *pRegions; } VkOpticalFlowExecuteInfoNV;
+typedef struct VkPartitionedAccelerationStructureWriteInstanceDataNV +{ + VkTransformMatrixKHR transform; + float explicitAABB[6]; + uint32_t instanceID; + uint32_t instanceMask; + uint32_t instanceContributionToHitGroupIndex; + VkPartitionedAccelerationStructureInstanceFlagsNV instanceFlags; + uint32_t instanceIndex; + uint32_t partitionIndex; + VkDeviceAddress WINE_VK_ALIGN(8) accelerationStructure; +} VkPartitionedAccelerationStructureWriteInstanceDataNV; + typedef struct VkPhysicalDeviceProperties { uint32_t apiVersion; @@ -16712,6 +17230,17 @@ typedef struct VkBlitImageInfo2 } VkBlitImageInfo2; typedef VkBlitImageInfo2 VkBlitImageInfo2KHR;
+typedef struct VkClusterAccelerationStructureInputInfoNV +{ + VkStructureType sType; + void *pNext; + uint32_t maxAccelerationStructureCount; + VkBuildAccelerationStructureFlagsKHR flags; + VkClusterAccelerationStructureOpTypeNV opType; + VkClusterAccelerationStructureOpModeNV opMode; + VkClusterAccelerationStructureOpInputNV opInput; +} VkClusterAccelerationStructureInputInfoNV; + typedef struct VkCopyImageInfo2 { VkStructureType sType; @@ -16854,6 +17383,13 @@ typedef struct VkShaderCreateInfoEXT const VkSpecializationInfo *pSpecializationInfo; } VkShaderCreateInfoEXT;
+typedef struct VkVideoDecodeAV1InlineSessionParametersInfoKHR +{ + VkStructureType sType; + const void *pNext; + const StdVideoAV1SequenceHeader *pStdSequenceHeader; +} VkVideoDecodeAV1InlineSessionParametersInfoKHR; + typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR { VkStructureType sType; @@ -16861,6 +17397,14 @@ typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR const StdVideoAV1SequenceHeader *pStdSequenceHeader; } VkVideoDecodeAV1SessionParametersCreateInfoKHR;
+typedef struct VkVideoDecodeH264InlineSessionParametersInfoKHR +{ + VkStructureType sType; + const void *pNext; + const StdVideoH264SequenceParameterSet *pStdSPS; + const StdVideoH264PictureParameterSet *pStdPPS; +} VkVideoDecodeH264InlineSessionParametersInfoKHR; + typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { VkStructureType sType; @@ -16880,6 +17424,15 @@ typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR const VkVideoDecodeH264SessionParametersAddInfoKHR *pParametersAddInfo; } VkVideoDecodeH264SessionParametersCreateInfoKHR;
+typedef struct VkVideoDecodeH265InlineSessionParametersInfoKHR +{ + VkStructureType sType; + const void *pNext; + const StdVideoH265VideoParameterSet *pStdVPS; + const StdVideoH265SequenceParameterSet *pStdSPS; + const StdVideoH265PictureParameterSet *pStdPPS; +} VkVideoDecodeH265InlineSessionParametersInfoKHR; + typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { VkStructureType sType; @@ -17011,6 +17564,20 @@ typedef struct VkAccelerationStructureCreateInfoNV VkAccelerationStructureInfoNV info; } VkAccelerationStructureCreateInfoNV;
+typedef struct VkClusterAccelerationStructureCommandsInfoNV +{ + VkStructureType sType; + void *pNext; + VkClusterAccelerationStructureInputInfoNV input; + VkDeviceAddress WINE_VK_ALIGN(8) dstImplicitData; + VkDeviceAddress WINE_VK_ALIGN(8) scratchData; + VkStridedDeviceAddressRegionKHR WINE_VK_ALIGN(8) dstAddressesArray; + VkStridedDeviceAddressRegionKHR WINE_VK_ALIGN(8) dstSizesArray; + VkStridedDeviceAddressRegionKHR WINE_VK_ALIGN(8) srcInfosArray; + VkDeviceAddress WINE_VK_ALIGN(8) srcInfosCount; + VkClusterAccelerationStructureAddressResolutionFlagsNV addressResolutionFlags; +} VkClusterAccelerationStructureCommandsInfoNV; + typedef struct VkComputePipelineCreateInfo { VkStructureType sType; @@ -17140,11 +17707,14 @@ typedef void (VKAPI_PTR *PFN_vkCmdBlitImage2KHR)(VkCommandBuffer, const VkBlitIm typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureNV)(VkCommandBuffer, const VkAccelerationStructureInfoNV *, VkBuffer, VkDeviceSize, VkBool32, VkAccelerationStructureNV, VkAccelerationStructureNV, VkBuffer, VkDeviceSize); typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresIndirectKHR)(VkCommandBuffer, uint32_t, const VkAccelerationStructureBuildGeometryInfoKHR *, const VkDeviceAddress *, const uint32_t *, const uint32_t * const*); typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructuresKHR)(VkCommandBuffer, uint32_t, const VkAccelerationStructureBuildGeometryInfoKHR *, const VkAccelerationStructureBuildRangeInfoKHR * const*); +typedef void (VKAPI_PTR *PFN_vkCmdBuildClusterAccelerationStructureIndirectNV)(VkCommandBuffer, const VkClusterAccelerationStructureCommandsInfoNV *); typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer, uint32_t, const VkMicromapBuildInfoEXT *); +typedef void (VKAPI_PTR *PFN_vkCmdBuildPartitionedAccelerationStructuresNV)(VkCommandBuffer, const VkBuildPartitionedAccelerationStructureInfoNV *); typedef void (VKAPI_PTR *PFN_vkCmdClearAttachments)(VkCommandBuffer, uint32_t, const VkClearAttachment *, uint32_t, const VkClearRect *); typedef void (VKAPI_PTR *PFN_vkCmdClearColorImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearColorValue *, uint32_t, const VkImageSubresourceRange *); typedef void (VKAPI_PTR *PFN_vkCmdClearDepthStencilImage)(VkCommandBuffer, VkImage, VkImageLayout, const VkClearDepthStencilValue *, uint32_t, const VkImageSubresourceRange *); typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer, const VkVideoCodingControlInfoKHR *); +typedef void (VKAPI_PTR *PFN_vkCmdConvertCooperativeVectorMatrixNV)(VkCommandBuffer, uint32_t, const VkConvertCooperativeVectorMatrixInfoNV *); typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer, const VkCopyAccelerationStructureInfoKHR *); typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureNV)(VkCommandBuffer, VkAccelerationStructureNV, VkAccelerationStructureNV, VkCopyAccelerationStructureModeKHR); typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR *); @@ -17368,6 +17938,7 @@ typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp)(VkCommandBuffer, VkPipelineSta typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2)(VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, uint32_t); typedef void (VKAPI_PTR *PFN_vkCmdWriteTimestamp2KHR)(VkCommandBuffer, VkPipelineStageFlags2, VkQueryPool, uint32_t); typedef VkResult (VKAPI_PTR *PFN_vkCompileDeferredNV)(VkDevice, VkPipeline, uint32_t); +typedef VkResult (VKAPI_PTR *PFN_vkConvertCooperativeVectorMatrixNV)(VkDevice, const VkConvertCooperativeVectorMatrixInfoNV *); typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice, VkDeferredOperationKHR, const VkCopyAccelerationStructureInfoKHR *); typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice, VkDeferredOperationKHR, const VkCopyAccelerationStructureToMemoryInfoKHR *); typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImage)(VkDevice, const VkCopyImageToImageInfo *); @@ -17514,6 +18085,7 @@ typedef uint64_t (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureAddressKHR)(VkDevice, c typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice, const VkBufferCaptureDescriptorDataInfoEXT *, void *); typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice, uint32_t, const VkCalibratedTimestampInfoKHR *, uint64_t *, uint64_t *); typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice, uint32_t, const VkCalibratedTimestampInfoKHR *, uint64_t *, uint64_t *); +typedef void (VKAPI_PTR *PFN_vkGetClusterAccelerationStructureBuildSizesNV)(VkDevice, const VkClusterAccelerationStructureInputInfoNV *, VkAccelerationStructureBuildSizesInfoKHR *); typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice, VkCudaModuleNV, size_t *, void *); typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice, VkDeferredOperationKHR); typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice, VkDeferredOperationKHR); @@ -17574,12 +18146,14 @@ typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostPointerPropertiesEXT)(VkDevice, typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice, const VkMemoryGetWin32HandleInfoKHR *, HANDLE *); typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice, VkExternalMemoryHandleTypeFlagBits, HANDLE, VkMemoryWin32HandlePropertiesKHR *); typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice, VkAccelerationStructureBuildTypeKHR, const VkMicromapBuildInfoEXT *, VkMicromapBuildSizesInfoEXT *); +typedef void (VKAPI_PTR *PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV)(VkDevice, const VkPartitionedAccelerationStructureInstancesInputNV *, VkAccelerationStructureBuildSizesInfoKHR *); typedef VkResult (VKAPI_PTR *PFN_vkGetPerformanceParameterINTEL)(VkDevice, VkPerformanceParameterTypeINTEL, VkPerformanceValueINTEL *); typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice, uint32_t *, VkTimeDomainKHR *); typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice, uint32_t *, VkTimeDomainKHR *); typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)(VkPhysicalDevice, uint32_t *, VkCooperativeMatrixFlexibleDimensionsPropertiesNV *); typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice, uint32_t *, VkCooperativeMatrixPropertiesKHR *); typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)(VkPhysicalDevice, uint32_t *, VkCooperativeMatrixPropertiesNV *); +typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)(VkPhysicalDevice, uint32_t *, VkCooperativeVectorPropertiesNV *); typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferProperties)(VkPhysicalDevice, const VkPhysicalDeviceExternalBufferInfo *, VkExternalBufferProperties *); typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)(VkPhysicalDevice, const VkPhysicalDeviceExternalBufferInfo *, VkExternalBufferProperties *); typedef void (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalFenceProperties)(VkPhysicalDevice, const VkPhysicalDeviceExternalFenceInfo *, VkExternalFenceProperties *); @@ -17775,11 +18349,14 @@ void VKAPI_CALL vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer, const VkBlitIm void VKAPI_CALL vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer, const VkAccelerationStructureInfoNV *pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset); void VKAPI_CALL vkCmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR *pInfos, const VkDeviceAddress *pIndirectDeviceAddresses, const uint32_t *pIndirectStrides, const uint32_t * const*ppMaxPrimitiveCounts); void VKAPI_CALL vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR *pInfos, const VkAccelerationStructureBuildRangeInfoKHR * const*ppBuildRangeInfos); +void VKAPI_CALL vkCmdBuildClusterAccelerationStructureIndirectNV(VkCommandBuffer commandBuffer, const VkClusterAccelerationStructureCommandsInfoNV *pCommandInfos); void VKAPI_CALL vkCmdBuildMicromapsEXT(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT *pInfos); +void VKAPI_CALL vkCmdBuildPartitionedAccelerationStructuresNV(VkCommandBuffer commandBuffer, const VkBuildPartitionedAccelerationStructureInfoNV *pBuildInfo); void VKAPI_CALL vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment *pAttachments, uint32_t rectCount, const VkClearRect *pRects); void VKAPI_CALL vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue *pColor, uint32_t rangeCount, const VkImageSubresourceRange *pRanges); void VKAPI_CALL vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue *pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange *pRanges); void VKAPI_CALL vkCmdControlVideoCodingKHR(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR *pCodingControlInfo); +void VKAPI_CALL vkCmdConvertCooperativeVectorMatrixNV(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkConvertCooperativeVectorMatrixInfoNV *pInfos); void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR *pInfo); void VKAPI_CALL vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode); void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR *pInfo); @@ -18003,6 +18580,7 @@ void VKAPI_CALL vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineSta void VKAPI_CALL vkCmdWriteTimestamp2(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); void VKAPI_CALL vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query); VkResult VKAPI_CALL vkCompileDeferredNV(VkDevice device, VkPipeline pipeline, uint32_t shader); +VkResult VKAPI_CALL vkConvertCooperativeVectorMatrixNV(VkDevice device, const VkConvertCooperativeVectorMatrixInfoNV *pInfo); VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureInfoKHR *pInfo); VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyAccelerationStructureToMemoryInfoKHR *pInfo); VkResult VKAPI_CALL vkCopyImageToImage(VkDevice device, const VkCopyImageToImageInfo *pCopyImageToImageInfo); @@ -18149,6 +18727,7 @@ uint64_t VKAPI_CALL vkGetBufferOpaqueCaptureAddressKHR(VkDevice device, const Vk VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT *pInfo, void *pData); VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR *pTimestampInfos, uint64_t *pTimestamps, uint64_t *pMaxDeviation); VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR *pTimestampInfos, uint64_t *pTimestamps, uint64_t *pMaxDeviation); +void VKAPI_CALL vkGetClusterAccelerationStructureBuildSizesNV(VkDevice device, const VkClusterAccelerationStructureInputInfoNV *pInfo, VkAccelerationStructureBuildSizesInfoKHR *pSizeInfo); VkResult VKAPI_CALL vkGetCudaModuleCacheNV(VkDevice device, VkCudaModuleNV module, size_t *pCacheSize, void *pCacheData); uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device, VkDeferredOperationKHR operation); VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(VkDevice device, VkDeferredOperationKHR operation); @@ -18209,12 +18788,14 @@ VkResult VKAPI_CALL vkGetMemoryHostPointerPropertiesEXT(VkDevice device, VkExter VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(VkDevice device, const VkMemoryGetWin32HandleInfoKHR *pGetWin32HandleInfo, HANDLE *pHandle); VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR *pMemoryWin32HandleProperties); void VKAPI_CALL vkGetMicromapBuildSizesEXT(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT *pBuildInfo, VkMicromapBuildSizesInfoEXT *pSizeInfo); +void VKAPI_CALL vkGetPartitionedAccelerationStructuresBuildSizesNV(VkDevice device, const VkPartitionedAccelerationStructureInstancesInputNV *pInfo, VkAccelerationStructureBuildSizesInfoKHR *pSizeInfo); VkResult VKAPI_CALL vkGetPerformanceParameterINTEL(VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL *pValue); VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDevice physicalDevice, uint32_t *pTimeDomainCount, VkTimeDomainKHR *pTimeDomains); VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice, uint32_t *pTimeDomainCount, VkTimeDomainKHR *pTimeDomains); VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkCooperativeMatrixFlexibleDimensionsPropertiesNV *pProperties); VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkCooperativeMatrixPropertiesKHR *pProperties); VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkCooperativeMatrixPropertiesNV *pProperties); +VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeVectorPropertiesNV(VkPhysicalDevice physicalDevice, uint32_t *pPropertyCount, VkCooperativeVectorPropertiesNV *pProperties); void VKAPI_CALL vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties); void VKAPI_CALL vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalBufferInfo *pExternalBufferInfo, VkExternalBufferProperties *pExternalBufferProperties); void VKAPI_CALL vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceExternalFenceInfo *pExternalFenceInfo, VkExternalFenceProperties *pExternalFenceProperties); @@ -18411,11 +18992,14 @@ VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(VkDevice device, uint32_t micr USE_VK_FUNC(vkCmdBuildAccelerationStructureNV) \ USE_VK_FUNC(vkCmdBuildAccelerationStructuresIndirectKHR) \ USE_VK_FUNC(vkCmdBuildAccelerationStructuresKHR) \ + USE_VK_FUNC(vkCmdBuildClusterAccelerationStructureIndirectNV) \ USE_VK_FUNC(vkCmdBuildMicromapsEXT) \ + USE_VK_FUNC(vkCmdBuildPartitionedAccelerationStructuresNV) \ USE_VK_FUNC(vkCmdClearAttachments) \ USE_VK_FUNC(vkCmdClearColorImage) \ USE_VK_FUNC(vkCmdClearDepthStencilImage) \ USE_VK_FUNC(vkCmdControlVideoCodingKHR) \ + USE_VK_FUNC(vkCmdConvertCooperativeVectorMatrixNV) \ USE_VK_FUNC(vkCmdCopyAccelerationStructureKHR) \ USE_VK_FUNC(vkCmdCopyAccelerationStructureNV) \ USE_VK_FUNC(vkCmdCopyAccelerationStructureToMemoryKHR) \ @@ -18639,6 +19223,7 @@ VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(VkDevice device, uint32_t micr USE_VK_FUNC(vkCmdWriteTimestamp2) \ USE_VK_FUNC(vkCmdWriteTimestamp2KHR) \ USE_VK_FUNC(vkCompileDeferredNV) \ + USE_VK_FUNC(vkConvertCooperativeVectorMatrixNV) \ USE_VK_FUNC(vkCopyAccelerationStructureKHR) \ USE_VK_FUNC(vkCopyAccelerationStructureToMemoryKHR) \ USE_VK_FUNC(vkCopyImageToImage) \ @@ -18766,6 +19351,7 @@ VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(VkDevice device, uint32_t micr USE_VK_FUNC(vkGetBufferOpaqueCaptureDescriptorDataEXT) \ USE_VK_FUNC(vkGetCalibratedTimestampsEXT) \ USE_VK_FUNC(vkGetCalibratedTimestampsKHR) \ + USE_VK_FUNC(vkGetClusterAccelerationStructureBuildSizesNV) \ USE_VK_FUNC(vkGetCudaModuleCacheNV) \ USE_VK_FUNC(vkGetDeferredOperationMaxConcurrencyKHR) \ USE_VK_FUNC(vkGetDeferredOperationResultKHR) \ @@ -18822,6 +19408,7 @@ VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(VkDevice device, uint32_t micr USE_VK_FUNC(vkGetLatencyTimingsNV) \ USE_VK_FUNC(vkGetMemoryHostPointerPropertiesEXT) \ USE_VK_FUNC(vkGetMicromapBuildSizesEXT) \ + USE_VK_FUNC(vkGetPartitionedAccelerationStructuresBuildSizesNV) \ USE_VK_FUNC(vkGetPerformanceParameterINTEL) \ USE_VK_FUNC(vkGetPipelineBinaryDataKHR) \ USE_VK_FUNC(vkGetPipelineCacheData) \ @@ -18938,6 +19525,7 @@ VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT(VkDevice device, uint32_t micr USE_VK_FUNC(vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV) \ USE_VK_FUNC(vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR) \ USE_VK_FUNC(vkGetPhysicalDeviceCooperativeMatrixPropertiesNV) \ + USE_VK_FUNC(vkGetPhysicalDeviceCooperativeVectorPropertiesNV) \ USE_VK_FUNC(vkGetPhysicalDeviceFeatures) \ USE_VK_FUNC(vkGetPhysicalDeviceFeatures2) \ USE_VK_FUNC(vkGetPhysicalDeviceFeatures2KHR) \