diff --git a/CMakeLists.txt b/CMakeLists.txt index 7aa817be4..f03a69bbc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,7 @@ cmake_minimum_required(VERSION 3.22.1) # The VERSION field is generated with the "--generated-version" flag in the generate_source.py script -project(Vulkan-Tools VERSION 1.4.358) +project(Vulkan-Tools VERSION 1.4.359) # This variable enables downstream users to customize the target API # variant (e.g. Vulkan SC) diff --git a/icd/VkICD_mock_icd.json.in b/icd/VkICD_mock_icd.json.in index ad57df083..c6c6bb50b 100644 --- a/icd/VkICD_mock_icd.json.in +++ b/icd/VkICD_mock_icd.json.in @@ -2,6 +2,6 @@ "file_format_version": "1.0.1", "ICD": { "library_path": "@JSON_LIBRARY_PATH@", - "api_version": "1.4.358" + "api_version": "1.4.359" } } \ No newline at end of file diff --git a/icd/generated/function_declarations.h b/icd/generated/function_declarations.h index e7c224463..c88f9a4a6 100644 --- a/icd/generated/function_declarations.h +++ b/icd/generated/function_declarations.h @@ -566,6 +566,7 @@ static const std::unordered_map device_extension_map = { {"VK_SEC_pipeline_cache_incremental_mode", VK_SEC_PIPELINE_CACHE_INCREMENTAL_MODE_SPEC_VERSION}, {"VK_EXT_shader_uniform_buffer_unsized_array", VK_EXT_SHADER_UNIFORM_BUFFER_UNSIZED_ARRAY_SPEC_VERSION}, {"VK_NV_compute_occupancy_priority", VK_NV_COMPUTE_OCCUPANCY_PRIORITY_SPEC_VERSION}, + {"VK_EXT_cooperative_matrix_maintenance1", VK_EXT_COOPERATIVE_MATRIX_MAINTENANCE_1_SPEC_VERSION}, {"VK_EXT_shader_subgroup_partitioned", VK_EXT_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION}, {"VK_EXT_shader_ocp_microscaling_types", VK_EXT_SHADER_OCP_MICROSCALING_TYPES_SPEC_VERSION}, {"VK_VALVE_shader_mixed_float_dot_product", VK_VALVE_SHADER_MIXED_FLOAT_DOT_PRODUCT_SPEC_VERSION}, @@ -3140,6 +3141,10 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceQueueFamilyDataGraphOptic static VKAPI_ATTR void VKAPI_CALL CmdSetComputeOccupancyPriorityNV(VkCommandBuffer commandBuffer, const VkComputeOccupancyPriorityParametersNV* pParameters); + +static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixProperties2EXT( + VkPhysicalDevice physicalDevice, const VkPhysicalDeviceCooperativeMatrixInfo2EXT* pCooperativeMatrixInfo, + uint32_t* pPropertyCount, VkCooperativeMatrixProperties2EXT* pProperties); #ifdef VK_USE_PLATFORM_UBM_SEC static VKAPI_ATTR VkResult VKAPI_CALL CreateUbmSurfaceSEC(VkInstance instance, const VkUbmSurfaceCreateInfoSEC* pCreateInfo, @@ -4201,6 +4206,7 @@ static const std::unordered_map name_to_funcptr_map = { {"vkGetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM", (void*)GetPhysicalDeviceQueueFamilyDataGraphOpticalFlowImageFormatsARM}, {"vkCmdSetComputeOccupancyPriorityNV", (void*)CmdSetComputeOccupancyPriorityNV}, + {"vkGetPhysicalDeviceCooperativeMatrixProperties2EXT", (void*)GetPhysicalDeviceCooperativeMatrixProperties2EXT}, #ifdef VK_USE_PLATFORM_UBM_SEC {"vkCreateUbmSurfaceSEC", (void*)CreateUbmSurfaceSEC}, #endif diff --git a/icd/generated/function_definitions.h b/icd/generated/function_definitions.h index d43e6c680..6cf9a9383 100644 --- a/icd/generated/function_definitions.h +++ b/icd/generated/function_definitions.h @@ -4719,6 +4719,12 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetComputeOccupancyPriorityNV(VkCommandBuff const VkComputeOccupancyPriorityParametersNV* pParameters) { // Not a CREATE or DESTROY function } +static VKAPI_ATTR VkResult VKAPI_CALL GetPhysicalDeviceCooperativeMatrixProperties2EXT( + VkPhysicalDevice physicalDevice, const VkPhysicalDeviceCooperativeMatrixInfo2EXT* pCooperativeMatrixInfo, + uint32_t* pPropertyCount, VkCooperativeMatrixProperties2EXT* pProperties) { + // Not a CREATE or DESTROY function + return VK_SUCCESS; +} #ifdef VK_USE_PLATFORM_UBM_SEC static VKAPI_ATTR VkResult VKAPI_CALL CreateUbmSurfaceSEC(VkInstance instance, const VkUbmSurfaceCreateInfoSEC* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface) { diff --git a/icd/generated/vk_typemap_helper.h b/icd/generated/vk_typemap_helper.h index fcdaf9e00..480fd2c76 100644 --- a/icd/generated/vk_typemap_helper.h +++ b/icd/generated/vk_typemap_helper.h @@ -13847,6 +13847,40 @@ struct LvlSTypeMap +struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_2_EXT; +}; + +template <> +struct LvlSTypeMap { + typedef VkCooperativeMatrixProperties2EXT Type; +}; + +// Map type VkPhysicalDeviceCooperativeMatrixInfo2EXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_INFO_2_EXT +template <> +struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_INFO_2_EXT; +}; + +template <> +struct LvlSTypeMap { + typedef VkPhysicalDeviceCooperativeMatrixInfo2EXT Type; +}; + +// Map type VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT to id +// VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_MAINTENANCE_1_FEATURES_EXT +template <> +struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_MAINTENANCE_1_FEATURES_EXT; +}; + +template <> +struct LvlSTypeMap { + typedef VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT Type; +}; + // Map type VkPhysicalDeviceShaderSubgroupPartitionedFeaturesEXT to id // VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_PARTITIONED_FEATURES_EXT template <> diff --git a/scripts/known_good.json b/scripts/known_good.json index 3bdaf9c32..8fd310a3e 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.358" + "commit": "v1.4.359" }, { "name": "MoltenVK", @@ -56,7 +56,7 @@ "cmake_options": [ "-DLOADER_USE_UNSAFE_FILE_SEARCH=ON" ], - "commit": "v1.4.358", + "commit": "v1.4.359", "build_platforms": [ "windows", "linux", diff --git a/vulkaninfo/generated/vulkaninfo.hpp b/vulkaninfo/generated/vulkaninfo.hpp index b6aaace15..8bae190f3 100644 --- a/vulkaninfo/generated/vulkaninfo.hpp +++ b/vulkaninfo/generated/vulkaninfo.hpp @@ -1196,6 +1196,8 @@ std::string VkDriverIdString(VkDriverId value) { return "DRIVER_ID_MESA_GFXSTREAM"; case (VK_DRIVER_ID_APE_SOFT): return "DRIVER_ID_APE_SOFT"; + case (VK_DRIVER_ID_RESERVED_31): + return "DRIVER_ID_RESERVED_31"; default: return std::string("UNKNOWN_VkDriverId_value") + std::to_string(value); } @@ -4771,6 +4773,8 @@ void DumpVkPhysicalDeviceConservativeRasterizationPropertiesEXT(Printer &p, std: const VkPhysicalDeviceConservativeRasterizationPropertiesEXT &obj); void DumpVkPhysicalDeviceCooperativeMatrixFeaturesKHR(Printer &p, std::string name, const VkPhysicalDeviceCooperativeMatrixFeaturesKHR &obj); +void DumpVkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT( + Printer &p, std::string name, const VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT &obj); void DumpVkPhysicalDeviceCooperativeMatrixPropertiesKHR(Printer &p, std::string name, const VkPhysicalDeviceCooperativeMatrixPropertiesKHR &obj); void DumpVkPhysicalDeviceCopyMemoryIndirectFeaturesKHR(Printer &p, std::string name, @@ -5588,6 +5592,16 @@ void DumpVkPhysicalDeviceCooperativeMatrixFeaturesKHR(Printer &p, std::string na p.PrintKeyBool("cooperativeMatrix", static_cast(obj.cooperativeMatrix)); p.PrintKeyBool("cooperativeMatrixRobustBufferAccess", static_cast(obj.cooperativeMatrixRobustBufferAccess)); } +void DumpVkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT( + Printer &p, std::string name, const VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT &obj) { + ObjectWrapper object{p, name}; + p.SetMinKeyWidth(37); + p.PrintKeyBool("cooperativeMatrixProperties2", static_cast(obj.cooperativeMatrixProperties2)); + p.PrintKeyBool("cooperativeMatrixReductions", static_cast(obj.cooperativeMatrixReductions)); + p.PrintKeyBool("cooperativeMatrixConversions", static_cast(obj.cooperativeMatrixConversions)); + p.PrintKeyBool("cooperativeMatrixPerElementOperations", static_cast(obj.cooperativeMatrixPerElementOperations)); + p.PrintKeyBool("cooperativeMatrixGetCoordinate", static_cast(obj.cooperativeMatrixGetCoordinate)); +} void DumpVkPhysicalDeviceCooperativeMatrixPropertiesKHR(Printer &p, std::string name, const VkPhysicalDeviceCooperativeMatrixPropertiesKHR &obj) { ObjectWrapper object{p, name}; @@ -9701,6 +9715,7 @@ struct phys_device_features2_chain { VkPhysicalDeviceComputeShaderDerivativesFeaturesKHR PhysicalDeviceComputeShaderDerivativesFeaturesKHR{}; VkPhysicalDeviceConditionalRenderingFeaturesEXT PhysicalDeviceConditionalRenderingFeaturesEXT{}; VkPhysicalDeviceCooperativeMatrixFeaturesKHR PhysicalDeviceCooperativeMatrixFeaturesKHR{}; + VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT{}; VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR PhysicalDeviceCopyMemoryIndirectFeaturesKHR{}; VkPhysicalDeviceCustomBorderColorFeaturesEXT PhysicalDeviceCustomBorderColorFeaturesEXT{}; VkPhysicalDeviceCustomResolveFeaturesEXT PhysicalDeviceCustomResolveFeaturesEXT{}; @@ -9894,6 +9909,8 @@ struct phys_device_features2_chain { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_KHR; PhysicalDeviceConditionalRenderingFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT; PhysicalDeviceCooperativeMatrixFeaturesKHR.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR; + PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT.sType = + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_MAINTENANCE_1_FEATURES_EXT; PhysicalDeviceCopyMemoryIndirectFeaturesKHR.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR; PhysicalDeviceCustomBorderColorFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT; PhysicalDeviceCustomResolveFeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_RESOLVE_FEATURES_EXT; @@ -10158,6 +10175,9 @@ struct phys_device_features2_chain { chain_members.push_back(reinterpret_cast(&PhysicalDeviceConditionalRenderingFeaturesEXT)); if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME)) chain_members.push_back(reinterpret_cast(&PhysicalDeviceCooperativeMatrixFeaturesKHR)); + if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_COOPERATIVE_MATRIX_MAINTENANCE_1_EXTENSION_NAME)) + chain_members.push_back( + reinterpret_cast(&PhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT)); if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_COPY_MEMORY_INDIRECT_EXTENSION_NAME)) chain_members.push_back(reinterpret_cast(&PhysicalDeviceCopyMemoryIndirectFeaturesKHR)); if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME)) @@ -10724,6 +10744,13 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, bool show_pro DumpVkPhysicalDeviceCooperativeMatrixFeaturesKHR(p, name, *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_MAINTENANCE_1_FEATURES_EXT) { + const VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT *props = + (const VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT *)structure; + const char *name = "VkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT"; + DumpVkPhysicalDeviceCooperativeMatrixMaintenance1FeaturesEXT(p, name, *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_KHR) { const VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR *props = (const VkPhysicalDeviceCopyMemoryIndirectFeaturesKHR *)structure;