build: Update to header 1.4.307
diff --git a/CMakeLists.txt b/CMakeLists.txt index b759d49..8e273ee 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -18,7 +18,7 @@ # ~~~ cmake_minimum_required(VERSION 3.17.2) -project(VULKAN_LOADER VERSION 1.4.306 LANGUAGES C) +project(VULKAN_LOADER VERSION 1.4.307 LANGUAGES C) option(CODE_COVERAGE "Enable Code Coverage" OFF) if (CODE_COVERAGE)
diff --git a/loader/generated/vk_layer_dispatch_table.h b/loader/generated/vk_layer_dispatch_table.h index a28ae26..8473b9b 100644 --- a/loader/generated/vk_layer_dispatch_table.h +++ b/loader/generated/vk_layer_dispatch_table.h
@@ -291,6 +291,9 @@ // ---- VK_NV_optical_flow extension commands PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV GetPhysicalDeviceOpticalFlowImageFormatsNV; + // ---- VK_NV_cooperative_vector extension commands + PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV GetPhysicalDeviceCooperativeVectorPropertiesNV; + // ---- VK_NV_cooperative_matrix2 extension commands PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV; } VkLayerInstanceDispatchTable; @@ -1152,6 +1155,10 @@ PFN_vkGetFramebufferTilePropertiesQCOM GetFramebufferTilePropertiesQCOM; PFN_vkGetDynamicRenderingTilePropertiesQCOM GetDynamicRenderingTilePropertiesQCOM; + // ---- VK_NV_cooperative_vector extension commands + PFN_vkConvertCooperativeVectorMatrixNV ConvertCooperativeVectorMatrixNV; + PFN_vkCmdConvertCooperativeVectorMatrixNV CmdConvertCooperativeVectorMatrixNV; + // ---- VK_NV_low_latency2 extension commands PFN_vkSetLatencySleepModeNV SetLatencySleepModeNV; PFN_vkLatencySleepNV LatencySleepNV; @@ -1167,6 +1174,14 @@ PFN_vkGetScreenBufferPropertiesQNX GetScreenBufferPropertiesQNX; #endif // VK_USE_PLATFORM_SCREEN_QNX + // ---- VK_NV_cluster_acceleration_structure extension commands + PFN_vkGetClusterAccelerationStructureBuildSizesNV GetClusterAccelerationStructureBuildSizesNV; + PFN_vkCmdBuildClusterAccelerationStructureIndirectNV CmdBuildClusterAccelerationStructureIndirectNV; + + // ---- VK_NV_partitioned_acceleration_structure extension commands + PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV GetPartitionedAccelerationStructuresBuildSizesNV; + PFN_vkCmdBuildPartitionedAccelerationStructuresNV CmdBuildPartitionedAccelerationStructuresNV; + // ---- VK_EXT_device_generated_commands extension commands PFN_vkGetGeneratedCommandsMemoryRequirementsEXT GetGeneratedCommandsMemoryRequirementsEXT; PFN_vkCmdPreprocessGeneratedCommandsEXT CmdPreprocessGeneratedCommandsEXT;
diff --git a/loader/generated/vk_loader_extensions.c b/loader/generated/vk_loader_extensions.c index 374005d..5f909cb 100644 --- a/loader/generated/vk_loader_extensions.c +++ b/loader/generated/vk_loader_extensions.c
@@ -312,6 +312,9 @@ // ---- VK_NV_optical_flow extension commands LOOKUP_GIPA(GetPhysicalDeviceOpticalFlowImageFormatsNV); + // ---- VK_NV_cooperative_vector extension commands + LOOKUP_GIPA(GetPhysicalDeviceCooperativeVectorPropertiesNV); + // ---- VK_NV_cooperative_matrix2 extension commands LOOKUP_GIPA(GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV); @@ -1190,6 +1193,10 @@ table->GetFramebufferTilePropertiesQCOM = (PFN_vkGetFramebufferTilePropertiesQCOM)gdpa(dev, "vkGetFramebufferTilePropertiesQCOM"); table->GetDynamicRenderingTilePropertiesQCOM = (PFN_vkGetDynamicRenderingTilePropertiesQCOM)gdpa(dev, "vkGetDynamicRenderingTilePropertiesQCOM"); + // ---- VK_NV_cooperative_vector extension commands + table->ConvertCooperativeVectorMatrixNV = (PFN_vkConvertCooperativeVectorMatrixNV)gdpa(dev, "vkConvertCooperativeVectorMatrixNV"); + table->CmdConvertCooperativeVectorMatrixNV = (PFN_vkCmdConvertCooperativeVectorMatrixNV)gdpa(dev, "vkCmdConvertCooperativeVectorMatrixNV"); + // ---- VK_NV_low_latency2 extension commands table->SetLatencySleepModeNV = (PFN_vkSetLatencySleepModeNV)gdpa(dev, "vkSetLatencySleepModeNV"); table->LatencySleepNV = (PFN_vkLatencySleepNV)gdpa(dev, "vkLatencySleepNV"); @@ -1205,6 +1212,14 @@ table->GetScreenBufferPropertiesQNX = (PFN_vkGetScreenBufferPropertiesQNX)gdpa(dev, "vkGetScreenBufferPropertiesQNX"); #endif // VK_USE_PLATFORM_SCREEN_QNX + // ---- VK_NV_cluster_acceleration_structure extension commands + table->GetClusterAccelerationStructureBuildSizesNV = (PFN_vkGetClusterAccelerationStructureBuildSizesNV)gdpa(dev, "vkGetClusterAccelerationStructureBuildSizesNV"); + table->CmdBuildClusterAccelerationStructureIndirectNV = (PFN_vkCmdBuildClusterAccelerationStructureIndirectNV)gdpa(dev, "vkCmdBuildClusterAccelerationStructureIndirectNV"); + + // ---- VK_NV_partitioned_acceleration_structure extension commands + table->GetPartitionedAccelerationStructuresBuildSizesNV = (PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV)gdpa(dev, "vkGetPartitionedAccelerationStructuresBuildSizesNV"); + table->CmdBuildPartitionedAccelerationStructuresNV = (PFN_vkCmdBuildPartitionedAccelerationStructuresNV)gdpa(dev, "vkCmdBuildPartitionedAccelerationStructuresNV"); + // ---- VK_EXT_device_generated_commands extension commands table->GetGeneratedCommandsMemoryRequirementsEXT = (PFN_vkGetGeneratedCommandsMemoryRequirementsEXT)gdpa(dev, "vkGetGeneratedCommandsMemoryRequirementsEXT"); table->CmdPreprocessGeneratedCommandsEXT = (PFN_vkCmdPreprocessGeneratedCommandsEXT)gdpa(dev, "vkCmdPreprocessGeneratedCommandsEXT"); @@ -1513,6 +1528,9 @@ // ---- VK_NV_optical_flow extension commands table->GetPhysicalDeviceOpticalFlowImageFormatsNV = (PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)gpa(inst, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV"); + // ---- VK_NV_cooperative_vector extension commands + table->GetPhysicalDeviceCooperativeVectorPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV)gpa(inst, "vkGetPhysicalDeviceCooperativeVectorPropertiesNV"); + // ---- VK_NV_cooperative_matrix2 extension commands table->GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV)gpa(inst, "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV"); } @@ -3057,6 +3075,10 @@ if (!strcmp(name, "GetFramebufferTilePropertiesQCOM")) return (void *)table->GetFramebufferTilePropertiesQCOM; if (!strcmp(name, "GetDynamicRenderingTilePropertiesQCOM")) return (void *)table->GetDynamicRenderingTilePropertiesQCOM; + // ---- VK_NV_cooperative_vector extension commands + if (!strcmp(name, "ConvertCooperativeVectorMatrixNV")) return (void *)table->ConvertCooperativeVectorMatrixNV; + if (!strcmp(name, "CmdConvertCooperativeVectorMatrixNV")) return (void *)table->CmdConvertCooperativeVectorMatrixNV; + // ---- VK_NV_low_latency2 extension commands if (!strcmp(name, "SetLatencySleepModeNV")) return (void *)table->SetLatencySleepModeNV; if (!strcmp(name, "LatencySleepNV")) return (void *)table->LatencySleepNV; @@ -3072,6 +3094,14 @@ if (!strcmp(name, "GetScreenBufferPropertiesQNX")) return (void *)table->GetScreenBufferPropertiesQNX; #endif // VK_USE_PLATFORM_SCREEN_QNX + // ---- VK_NV_cluster_acceleration_structure extension commands + if (!strcmp(name, "GetClusterAccelerationStructureBuildSizesNV")) return (void *)table->GetClusterAccelerationStructureBuildSizesNV; + if (!strcmp(name, "CmdBuildClusterAccelerationStructureIndirectNV")) return (void *)table->CmdBuildClusterAccelerationStructureIndirectNV; + + // ---- VK_NV_partitioned_acceleration_structure extension commands + if (!strcmp(name, "GetPartitionedAccelerationStructuresBuildSizesNV")) return (void *)table->GetPartitionedAccelerationStructuresBuildSizesNV; + if (!strcmp(name, "CmdBuildPartitionedAccelerationStructuresNV")) return (void *)table->CmdBuildPartitionedAccelerationStructuresNV; + // ---- VK_EXT_device_generated_commands extension commands if (!strcmp(name, "GetGeneratedCommandsMemoryRequirementsEXT")) return (void *)table->GetGeneratedCommandsMemoryRequirementsEXT; if (!strcmp(name, "CmdPreprocessGeneratedCommandsEXT")) return (void *)table->CmdPreprocessGeneratedCommandsEXT; @@ -3385,6 +3415,9 @@ // ---- VK_NV_optical_flow extension commands if (!strcmp(name, "GetPhysicalDeviceOpticalFlowImageFormatsNV")) return (void *)table->GetPhysicalDeviceOpticalFlowImageFormatsNV; + // ---- VK_NV_cooperative_vector extension commands + if (!strcmp(name, "GetPhysicalDeviceCooperativeVectorPropertiesNV")) return (void *)table->GetPhysicalDeviceCooperativeVectorPropertiesNV; + // ---- VK_NV_cooperative_matrix2 extension commands if (!strcmp(name, "GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV")) return (void *)table->GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV; @@ -9581,6 +9614,66 @@ } +// ---- VK_NV_cooperative_vector extension trampoline/terminators + +VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeVectorPropertiesNV( + VkPhysicalDevice physicalDevice, + uint32_t* pPropertyCount, + VkCooperativeVectorPropertiesNV* pProperties) { + const VkLayerInstanceDispatchTable *disp; + VkPhysicalDevice unwrapped_phys_dev = loader_unwrap_physical_device(physicalDevice); + if (VK_NULL_HANDLE == unwrapped_phys_dev) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetPhysicalDeviceCooperativeVectorPropertiesNV: Invalid physicalDevice " + "[VUID-vkGetPhysicalDeviceCooperativeVectorPropertiesNV-physicalDevice-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp = loader_get_instance_layer_dispatch(physicalDevice); + return disp->GetPhysicalDeviceCooperativeVectorPropertiesNV(unwrapped_phys_dev, pPropertyCount, pProperties); +} + +VKAPI_ATTR VkResult VKAPI_CALL terminator_GetPhysicalDeviceCooperativeVectorPropertiesNV( + VkPhysicalDevice physicalDevice, + uint32_t* pPropertyCount, + VkCooperativeVectorPropertiesNV* pProperties) { + struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physicalDevice; + struct loader_icd_term *icd_term = phys_dev_term->this_icd_term; + if (NULL == icd_term->dispatch.GetPhysicalDeviceCooperativeVectorPropertiesNV) { + loader_log(icd_term->this_instance, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT, 0, + "ICD associated with VkPhysicalDevice does not support GetPhysicalDeviceCooperativeVectorPropertiesNV"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return icd_term->dispatch.GetPhysicalDeviceCooperativeVectorPropertiesNV(phys_dev_term->phys_dev, pPropertyCount, pProperties); +} + +VKAPI_ATTR VkResult VKAPI_CALL ConvertCooperativeVectorMatrixNV( + VkDevice device, + const VkConvertCooperativeVectorMatrixInfoNV* pInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkConvertCooperativeVectorMatrixNV: Invalid device " + "[VUID-vkConvertCooperativeVectorMatrixNV-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + return disp->ConvertCooperativeVectorMatrixNV(device, pInfo); +} + +VKAPI_ATTR void VKAPI_CALL CmdConvertCooperativeVectorMatrixNV( + VkCommandBuffer commandBuffer, + uint32_t infoCount, + const VkConvertCooperativeVectorMatrixInfoNV* pInfos) { + const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCmdConvertCooperativeVectorMatrixNV: Invalid commandBuffer " + "[VUID-vkCmdConvertCooperativeVectorMatrixNV-commandBuffer-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->CmdConvertCooperativeVectorMatrixNV(commandBuffer, infoCount, pInfos); +} + + // ---- VK_NV_low_latency2 extension trampoline/terminators VKAPI_ATTR VkResult VKAPI_CALL SetLatencySleepModeNV( @@ -9688,6 +9781,66 @@ #endif // VK_USE_PLATFORM_SCREEN_QNX +// ---- VK_NV_cluster_acceleration_structure extension trampoline/terminators + +VKAPI_ATTR void VKAPI_CALL GetClusterAccelerationStructureBuildSizesNV( + VkDevice device, + const VkClusterAccelerationStructureInputInfoNV* pInfo, + VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetClusterAccelerationStructureBuildSizesNV: Invalid device " + "[VUID-vkGetClusterAccelerationStructureBuildSizesNV-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->GetClusterAccelerationStructureBuildSizesNV(device, pInfo, pSizeInfo); +} + +VKAPI_ATTR void VKAPI_CALL CmdBuildClusterAccelerationStructureIndirectNV( + VkCommandBuffer commandBuffer, + const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos) { + const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCmdBuildClusterAccelerationStructureIndirectNV: Invalid commandBuffer " + "[VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-commandBuffer-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->CmdBuildClusterAccelerationStructureIndirectNV(commandBuffer, pCommandInfos); +} + + +// ---- VK_NV_partitioned_acceleration_structure extension trampoline/terminators + +VKAPI_ATTR void VKAPI_CALL GetPartitionedAccelerationStructuresBuildSizesNV( + VkDevice device, + const VkPartitionedAccelerationStructureInstancesInputNV* pInfo, + VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(device); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkGetPartitionedAccelerationStructuresBuildSizesNV: Invalid device " + "[VUID-vkGetPartitionedAccelerationStructuresBuildSizesNV-device-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->GetPartitionedAccelerationStructuresBuildSizesNV(device, pInfo, pSizeInfo); +} + +VKAPI_ATTR void VKAPI_CALL CmdBuildPartitionedAccelerationStructuresNV( + VkCommandBuffer commandBuffer, + const VkBuildPartitionedAccelerationStructureInfoNV* pBuildInfo) { + const VkLayerDispatchTable *disp = loader_get_dispatch(commandBuffer); + if (NULL == disp) { + loader_log(NULL, VULKAN_LOADER_FATAL_ERROR_BIT | VULKAN_LOADER_ERROR_BIT | VULKAN_LOADER_VALIDATION_BIT, 0, + "vkCmdBuildPartitionedAccelerationStructuresNV: Invalid commandBuffer " + "[VUID-vkCmdBuildPartitionedAccelerationStructuresNV-commandBuffer-parameter]"); + abort(); /* Intentionally fail so user can correct issue. */ + } + disp->CmdBuildPartitionedAccelerationStructuresNV(commandBuffer, pBuildInfo); +} + + // ---- VK_EXT_device_generated_commands extension trampoline/terminators VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsEXT( @@ -12199,6 +12352,20 @@ return true; } + // ---- VK_NV_cooperative_vector extension commands + if (!strcmp("vkGetPhysicalDeviceCooperativeVectorPropertiesNV", name)) { + *addr = (void *)GetPhysicalDeviceCooperativeVectorPropertiesNV; + return true; + } + if (!strcmp("vkConvertCooperativeVectorMatrixNV", name)) { + *addr = (void *)ConvertCooperativeVectorMatrixNV; + return true; + } + if (!strcmp("vkCmdConvertCooperativeVectorMatrixNV", name)) { + *addr = (void *)CmdConvertCooperativeVectorMatrixNV; + return true; + } + // ---- VK_NV_low_latency2 extension commands if (!strcmp("vkSetLatencySleepModeNV", name)) { *addr = (void *)SetLatencySleepModeNV; @@ -12235,6 +12402,26 @@ } #endif // VK_USE_PLATFORM_SCREEN_QNX + // ---- VK_NV_cluster_acceleration_structure extension commands + if (!strcmp("vkGetClusterAccelerationStructureBuildSizesNV", name)) { + *addr = (void *)GetClusterAccelerationStructureBuildSizesNV; + return true; + } + if (!strcmp("vkCmdBuildClusterAccelerationStructureIndirectNV", name)) { + *addr = (void *)CmdBuildClusterAccelerationStructureIndirectNV; + return true; + } + + // ---- VK_NV_partitioned_acceleration_structure extension commands + if (!strcmp("vkGetPartitionedAccelerationStructuresBuildSizesNV", name)) { + *addr = (void *)GetPartitionedAccelerationStructuresBuildSizesNV; + return true; + } + if (!strcmp("vkCmdBuildPartitionedAccelerationStructuresNV", name)) { + *addr = (void *)CmdBuildPartitionedAccelerationStructuresNV; + return true; + } + // ---- VK_EXT_device_generated_commands extension commands if (!strcmp("vkGetGeneratedCommandsMemoryRequirementsEXT", name)) { *addr = (void *)GetGeneratedCommandsMemoryRequirementsEXT; @@ -12796,6 +12983,9 @@ // ---- VK_NV_optical_flow extension commands .GetPhysicalDeviceOpticalFlowImageFormatsNV = terminator_GetPhysicalDeviceOpticalFlowImageFormatsNV, + // ---- VK_NV_cooperative_vector extension commands + .GetPhysicalDeviceCooperativeVectorPropertiesNV = terminator_GetPhysicalDeviceCooperativeVectorPropertiesNV, + // ---- VK_NV_cooperative_matrix2 extension commands .GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = terminator_GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV, };
diff --git a/loader/generated/vk_loader_extensions.h b/loader/generated/vk_loader_extensions.h index 689a3ae..caa38dd 100644 --- a/loader/generated/vk_loader_extensions.h +++ b/loader/generated/vk_loader_extensions.h
@@ -477,6 +477,9 @@ // ---- VK_NV_optical_flow extension commands PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV GetPhysicalDeviceOpticalFlowImageFormatsNV; + // ---- VK_NV_cooperative_vector extension commands + PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV GetPhysicalDeviceCooperativeVectorPropertiesNV; + // ---- VK_NV_cooperative_matrix2 extension commands PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV; };
diff --git a/loader/loader.rc b/loader/loader.rc index dd7ab1b..5e5fcc4 100644 --- a/loader/loader.rc +++ b/loader/loader.rc
@@ -22,8 +22,8 @@ #include "winres.h" // All set through CMake -#define VER_FILE_VERSION 1, 4, 306, 0 -#define VER_FILE_DESCRIPTION_STR "1.4.306.Dev Build" +#define VER_FILE_VERSION 1, 4, 307, 0 +#define VER_FILE_DESCRIPTION_STR "1.4.307.Dev Build" #define VER_FILE_VERSION_STR "Vulkan Loader - Dev Build" #define VER_COPYRIGHT_STR "Copyright (C) 2015-2025"
diff --git a/scripts/known_good.json b/scripts/known_good.json index 577ed9f..cfc8e4e 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json
@@ -7,7 +7,7 @@ "sub_dir": "Vulkan-Headers", "build_dir": "Vulkan-Headers/build", "install_dir": "Vulkan-Headers/build/install", - "commit": "v1.4.306" + "commit": "v1.4.307" }, { "name": "googletest",