diff --git a/CMakeLists.txt b/CMakeLists.txt index d7b83b751..f2ef55af1 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.328) +project(Vulkan-Tools VERSION 1.4.329) # 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 83ac8d563..1699f14cb 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.328" + "api_version": "1.4.329" } } \ No newline at end of file diff --git a/icd/generated/function_declarations.h b/icd/generated/function_declarations.h index c6710d0f4..4a61f2d27 100644 --- a/icd/generated/function_declarations.h +++ b/icd/generated/function_declarations.h @@ -224,6 +224,7 @@ static const std::unordered_map device_extension_map = { {"VK_KHR_shader_relaxed_extended_instruction", VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION}, {"VK_KHR_maintenance7", VK_KHR_MAINTENANCE_7_SPEC_VERSION}, {"VK_KHR_maintenance8", VK_KHR_MAINTENANCE_8_SPEC_VERSION}, + {"VK_KHR_shader_fma", VK_KHR_SHADER_FMA_SPEC_VERSION}, {"VK_KHR_maintenance9", VK_KHR_MAINTENANCE_9_SPEC_VERSION}, {"VK_KHR_video_maintenance2", VK_KHR_VIDEO_MAINTENANCE_2_SPEC_VERSION}, {"VK_KHR_depth_clamp_zero_one", VK_KHR_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION}, diff --git a/icd/generated/vk_typemap_helper.h b/icd/generated/vk_typemap_helper.h index 5d0a695bc..ad1defe0f 100644 --- a/icd/generated/vk_typemap_helper.h +++ b/icd/generated/vk_typemap_helper.h @@ -4586,6 +4586,15 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceShaderFmaFeaturesKHR Type; +}; + // Map type VkPhysicalDeviceMaintenance9FeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR; diff --git a/scripts/known_good.json b/scripts/known_good.json index c681362fd..1930dd571 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.328" + "commit": "v1.4.329" }, { "name": "MoltenVK", @@ -56,7 +56,7 @@ "cmake_options": [ "-DLOADER_USE_UNSAFE_FILE_SEARCH=ON" ], - "commit": "v1.4.328", + "commit": "v1.4.329", "build_platforms": [ "windows", "linux", diff --git a/tests/icd/mock_icd_tests.cpp b/tests/icd/mock_icd_tests.cpp index 3dfa0bfe4..06fc124f9 100644 --- a/tests/icd/mock_icd_tests.cpp +++ b/tests/icd/mock_icd_tests.cpp @@ -240,7 +240,7 @@ TEST_F(MockICD, CommandBufferOperations) { } VkResult create_surface(VkInstance instance, VkSurfaceKHR& surface) { - VkDisplaySurfaceCreateInfoKHR surf_create_info{}; + VkDisplaySurfaceCreateInfoKHR surf_create_info{VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR}; return vkCreateDisplayPlaneSurfaceKHR(instance, &surf_create_info, nullptr, &surface); } diff --git a/vulkaninfo/generated/vulkaninfo.hpp b/vulkaninfo/generated/vulkaninfo.hpp index 85a72be38..f4b9c0083 100644 --- a/vulkaninfo/generated/vulkaninfo.hpp +++ b/vulkaninfo/generated/vulkaninfo.hpp @@ -4591,6 +4591,13 @@ void DumpVkPhysicalDeviceShaderFloatControls2Features(Printer &p, std::string na p.SetMinKeyWidth(20); p.PrintKeyBool("shaderFloatControls2", static_cast(obj.shaderFloatControls2)); } +void DumpVkPhysicalDeviceShaderFmaFeaturesKHR(Printer &p, std::string name, const VkPhysicalDeviceShaderFmaFeaturesKHR &obj) { + ObjectWrapper object{p, name}; + p.SetMinKeyWidth(16); + p.PrintKeyBool("shaderFmaFloat16", static_cast(obj.shaderFmaFloat16)); + p.PrintKeyBool("shaderFmaFloat32", static_cast(obj.shaderFmaFloat32)); + p.PrintKeyBool("shaderFmaFloat64", static_cast(obj.shaderFmaFloat64)); +} void DumpVkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT(Printer &p, std::string name, const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT &obj) { ObjectWrapper object{p, name}; p.SetMinKeyWidth(23); @@ -6604,6 +6611,7 @@ struct phys_device_features2_chain { VkPhysicalDeviceShaderFloat16Int8Features PhysicalDeviceShaderFloat16Int8Features{}; VkPhysicalDeviceShaderFloat8FeaturesEXT PhysicalDeviceShaderFloat8FeaturesEXT{}; VkPhysicalDeviceShaderFloatControls2Features PhysicalDeviceShaderFloatControls2Features{}; + VkPhysicalDeviceShaderFmaFeaturesKHR PhysicalDeviceShaderFmaFeaturesKHR{}; VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT PhysicalDeviceShaderImageAtomicInt64FeaturesEXT{}; VkPhysicalDeviceShaderIntegerDotProductFeatures PhysicalDeviceShaderIntegerDotProductFeatures{}; char VkPhysicalDeviceShaderIntegerDotProductFeatures_padding[64]; @@ -6766,6 +6774,7 @@ struct phys_device_features2_chain { PhysicalDeviceShaderFloat16Int8Features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES; PhysicalDeviceShaderFloat8FeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT8_FEATURES_EXT; PhysicalDeviceShaderFloatControls2Features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES; + PhysicalDeviceShaderFmaFeaturesKHR.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR; PhysicalDeviceShaderImageAtomicInt64FeaturesEXT.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT; PhysicalDeviceShaderIntegerDotProductFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES; PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR; @@ -7082,6 +7091,8 @@ struct phys_device_features2_chain { if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME)) && (gpu.api_version < VK_API_VERSION_1_4 || show_promoted_structs)) chain_members.push_back(reinterpret_cast(&PhysicalDeviceShaderFloatControls2Features)); + if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_SHADER_FMA_EXTENSION_NAME)) + chain_members.push_back(reinterpret_cast(&PhysicalDeviceShaderFmaFeaturesKHR)); if (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME)) chain_members.push_back(reinterpret_cast(&PhysicalDeviceShaderImageAtomicInt64FeaturesEXT)); if ((gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME)) @@ -8105,6 +8116,12 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, bool show_pro } p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FMA_FEATURES_KHR) { + const VkPhysicalDeviceShaderFmaFeaturesKHR* props = (const VkPhysicalDeviceShaderFmaFeaturesKHR*)structure; + const char* name = "VkPhysicalDeviceShaderFmaFeaturesKHR"; + DumpVkPhysicalDeviceShaderFmaFeaturesKHR(p, name, *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT) { const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT* props = (const VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT*)structure; const char* name = "VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT";