From: Mike Schuchardt Date: Mon, 21 Jun 2021 17:10:48 +0000 (-0700) Subject: build: Update to header 1.2.182 X-Git-Tag: upstream/1.3.208~106 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dbd221b2bc7acbfe993be40fbfbf4f4a0a1ed816;p=platform%2Fupstream%2FVulkan-Tools.git build: Update to header 1.2.182 - Update known-good - Add support for printing `int64_t` in `scripts/vulkaninfo_generator.py` - Disable codegen for VK_HUAWEI_subpass_shading KhronosGroup/Vulkan-Docs#1564 - Generate source Change-Id: I4417e99ed37da510bfaf94d676e22ac3fb088d5d --- diff --git a/build-android/vulkan-headers_revision_android b/build-android/vulkan-headers_revision_android index d62a5a4..2868b04 100644 --- a/build-android/vulkan-headers_revision_android +++ b/build-android/vulkan-headers_revision_android @@ -1 +1 @@ -v1.2.181 +v1.2.182 diff --git a/common/vulkan_wrapper.cpp b/common/vulkan_wrapper.cpp index 03b8dd9..ffdb3f1 100644 --- a/common/vulkan_wrapper.cpp +++ b/common/vulkan_wrapper.cpp @@ -934,6 +934,8 @@ PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV; PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV; PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV; PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV; +PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT; +PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT; PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT; PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT; PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT; @@ -942,12 +944,16 @@ PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV; PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV; PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV; PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; +PFN_vkGetSubpassShadingMaxWorkgroupSizeHUAWEI vkGetSubpassShadingMaxWorkgroupSizeHUAWEI; +PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT; PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT; PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT; PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT; +PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT; +PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT; PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR; PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR; PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR; diff --git a/icd/generated/mock_icd.cpp b/icd/generated/mock_icd.cpp index c80d6c8..8f4cc84 100644 --- a/icd/generated/mock_icd.cpp +++ b/icd/generated/mock_icd.cpp @@ -4904,6 +4904,26 @@ static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNV( +static VKAPI_ATTR VkResult VKAPI_CALL AcquireDrmDisplayEXT( + VkPhysicalDevice physicalDevice, + int32_t drmFd, + VkDisplayKHR display) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} + +static VKAPI_ATTR VkResult VKAPI_CALL GetDrmDisplayEXT( + VkPhysicalDevice physicalDevice, + int32_t drmFd, + uint32_t connectorId, + VkDisplayKHR* display) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} + + @@ -4964,6 +4984,7 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateEnumNV( + #ifdef VK_USE_PLATFORM_WIN32_KHR static VKAPI_ATTR VkResult VKAPI_CALL AcquireWinrtDisplayNV( @@ -5019,6 +5040,7 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetVertexInputEXT( //Not a CREATE or DESTROY function } + #ifdef VK_USE_PLATFORM_FUCHSIA static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandleFUCHSIA( @@ -5131,6 +5153,30 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetColor +static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiEXT( + VkCommandBuffer commandBuffer, + uint32_t drawCount, + const VkMultiDrawInfoEXT* pVertexInfo, + uint32_t instanceCount, + uint32_t firstInstance, + uint32_t stride) +{ +//Not a CREATE or DESTROY function +} + +static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiIndexedEXT( + VkCommandBuffer commandBuffer, + uint32_t drawCount, + const VkMultiDrawIndexedInfoEXT* pIndexInfo, + uint32_t instanceCount, + uint32_t firstInstance, + uint32_t stride, + const int32_t* pVertexOffset) +{ +//Not a CREATE or DESTROY function +} + + static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR( VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, diff --git a/icd/generated/mock_icd.h b/icd/generated/mock_icd.h index c3d6039..dea7ae6 100644 --- a/icd/generated/mock_icd.h +++ b/icd/generated/mock_icd.h @@ -81,6 +81,7 @@ static const std::unordered_map instance_extension_map = {"VK_KHR_surface_protected_capabilities", 1}, {"VK_EXT_validation_features", 5}, {"VK_EXT_headless_surface", 1}, + {"VK_EXT_acquire_drm_display", 1}, {"VK_EXT_directfb_surface", 1}, {"VK_QNX_screen_surface", 1}, }; @@ -280,6 +281,7 @@ static const std::unordered_map device_extension_map = { {"VK_KHR_shader_subgroup_uniform_control_flow", 1}, {"VK_KHR_zero_initialize_workgroup_memory", 1}, {"VK_NV_fragment_shading_rate_enums", 1}, + {"VK_NV_ray_tracing_motion_blur", 1}, {"VK_EXT_ycbcr_2plane_444_formats", 1}, {"VK_EXT_fragment_density_map2", 1}, {"VK_QCOM_rotated_copy_commands", 1}, @@ -290,11 +292,14 @@ static const std::unordered_map device_extension_map = { {"VK_NV_acquire_winrt_display", 1}, {"VK_VALVE_mutable_descriptor_type", 1}, {"VK_EXT_vertex_input_dynamic_state", 2}, + {"VK_EXT_physical_device_drm", 1}, {"VK_FUCHSIA_external_memory", 1}, {"VK_FUCHSIA_external_semaphore", 1}, + {"VK_HUAWEI_subpass_shading", 0}, {"VK_EXT_extended_dynamic_state2", 1}, {"VK_EXT_color_write_enable", 1}, {"VK_EXT_global_priority_query", 1}, + {"VK_EXT_multi_draw", 1}, }; @@ -3014,6 +3019,18 @@ static VKAPI_ATTR void VKAPI_CALL DestroyIndirectCommandsLayoutNV( +static VKAPI_ATTR VkResult VKAPI_CALL AcquireDrmDisplayEXT( + VkPhysicalDevice physicalDevice, + int32_t drmFd, + VkDisplayKHR display); + +static VKAPI_ATTR VkResult VKAPI_CALL GetDrmDisplayEXT( + VkPhysicalDevice physicalDevice, + int32_t drmFd, + uint32_t connectorId, + VkDisplayKHR* display); + + @@ -3056,6 +3073,7 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateEnumNV( + #ifdef VK_USE_PLATFORM_WIN32_KHR static VKAPI_ATTR VkResult VKAPI_CALL AcquireWinrtDisplayNV( @@ -3091,6 +3109,7 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetVertexInputEXT( uint32_t vertexAttributeDescriptionCount, const VkVertexInputAttributeDescription2EXT* pVertexAttributeDescriptions); + #ifdef VK_USE_PLATFORM_FUCHSIA static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryZirconHandleFUCHSIA( @@ -3160,6 +3179,24 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetColor +static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiEXT( + VkCommandBuffer commandBuffer, + uint32_t drawCount, + const VkMultiDrawInfoEXT* pVertexInfo, + uint32_t instanceCount, + uint32_t firstInstance, + uint32_t stride); + +static VKAPI_ATTR void VKAPI_CALL CmdDrawMultiIndexedEXT( + VkCommandBuffer commandBuffer, + uint32_t drawCount, + const VkMultiDrawIndexedInfoEXT* pIndexInfo, + uint32_t instanceCount, + uint32_t firstInstance, + uint32_t stride, + const int32_t* pVertexOffset); + + static VKAPI_ATTR VkResult VKAPI_CALL CreateAccelerationStructureKHR( VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, @@ -3831,6 +3868,8 @@ static const std::unordered_map name_to_funcptr_map = { {"vkCmdBindPipelineShaderGroupNV", (void*)CmdBindPipelineShaderGroupNV}, {"vkCreateIndirectCommandsLayoutNV", (void*)CreateIndirectCommandsLayoutNV}, {"vkDestroyIndirectCommandsLayoutNV", (void*)DestroyIndirectCommandsLayoutNV}, + {"vkAcquireDrmDisplayEXT", (void*)AcquireDrmDisplayEXT}, + {"vkGetDrmDisplayEXT", (void*)GetDrmDisplayEXT}, {"vkCreatePrivateDataSlotEXT", (void*)CreatePrivateDataSlotEXT}, {"vkDestroyPrivateDataSlotEXT", (void*)DestroyPrivateDataSlotEXT}, {"vkSetPrivateDataEXT", (void*)SetPrivateDataEXT}, @@ -3873,6 +3912,8 @@ static const std::unordered_map name_to_funcptr_map = { {"vkGetPhysicalDeviceScreenPresentationSupportQNX", (void*)GetPhysicalDeviceScreenPresentationSupportQNX}, #endif {"vkCmdSetColorWriteEnableEXT", (void*)CmdSetColorWriteEnableEXT}, + {"vkCmdDrawMultiEXT", (void*)CmdDrawMultiEXT}, + {"vkCmdDrawMultiIndexedEXT", (void*)CmdDrawMultiIndexedEXT}, {"vkCreateAccelerationStructureKHR", (void*)CreateAccelerationStructureKHR}, {"vkDestroyAccelerationStructureKHR", (void*)DestroyAccelerationStructureKHR}, {"vkCmdBuildAccelerationStructuresKHR", (void*)CmdBuildAccelerationStructuresKHR}, diff --git a/icd/generated/vk_typemap_helper.h b/icd/generated/vk_typemap_helper.h index 0c8a795..5bfe826 100644 --- a/icd/generated/vk_typemap_helper.h +++ b/icd/generated/vk_typemap_helper.h @@ -4755,6 +4755,33 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV; +}; + +template <> struct LvlSTypeMap { + typedef VkAccelerationStructureGeometryMotionTrianglesDataNV Type; +}; + +// Map type VkAccelerationStructureMotionInfoNV to id VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV; +}; + +template <> struct LvlSTypeMap { + typedef VkAccelerationStructureMotionInfoNV Type; +}; + +// Map type VkPhysicalDeviceRayTracingMotionBlurFeaturesNV to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceRayTracingMotionBlurFeaturesNV Type; +}; + // Map type VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_2_PLANE_444_FORMATS_FEATURES_EXT; @@ -4865,6 +4892,15 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceDrmPropertiesEXT Type; +}; + #ifdef VK_USE_PLATFORM_FUCHSIA // Map type VkImportMemoryZirconHandleInfoFUCHSIA to id VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA template <> struct LvlTypeMap { @@ -4976,6 +5012,24 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceMultiDrawFeaturesEXT Type; +}; + +// Map type VkPhysicalDeviceMultiDrawPropertiesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceMultiDrawPropertiesEXT Type; +}; + // Map type VkAccelerationStructureGeometryTrianglesDataKHR to id VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR; diff --git a/scripts/generate_source.py b/scripts/generate_source.py index a2002aa..301b7ca 100755 --- a/scripts/generate_source.py +++ b/scripts/generate_source.py @@ -66,6 +66,7 @@ def main(argv): cmd = [common_codegen.repo_relative(os.path.join('scripts','kvt_genvk.py')), '-registry', os.path.abspath(os.path.join(args.registry, 'vk.xml')), + '-removeExtensions', 'VK_HUAWEI_subpass_shading', '-quiet', '-directory', output_path, filename] print(' '.join(cmd)) try: diff --git a/scripts/generate_vulkan_wrapper.py b/scripts/generate_vulkan_wrapper.py index 344f1a7..392aa35 100755 --- a/scripts/generate_vulkan_wrapper.py +++ b/scripts/generate_vulkan_wrapper.py @@ -1073,6 +1073,11 @@ VK_QCOM_render_pass_transform = Extension(name='VK_QCOM_render_pass_transform', VK_EXT_device_memory_report = Extension(name='VK_EXT_device_memory_report', version=2, guard=None, commands=[ ]) +VK_EXT_acquire_drm_display = Extension(name='VK_EXT_acquire_drm_display', version=1, guard=None, commands=[ + Command(name='vkAcquireDrmDisplayEXT', dispatch='VkPhysicalDevice'), + Command(name='vkGetDrmDisplayEXT', dispatch='VkPhysicalDevice'), +]) + VK_EXT_robustness2 = Extension(name='VK_EXT_robustness2', version=1, guard=None, commands=[ ]) @@ -1102,6 +1107,9 @@ VK_NV_fragment_shading_rate_enums = Extension(name='VK_NV_fragment_shading_rate_ Command(name='vkCmdSetFragmentShadingRateEnumNV', dispatch='VkCommandBuffer'), ]) +VK_NV_ray_tracing_motion_blur = Extension(name='VK_NV_ray_tracing_motion_blur', version=1, guard=None, commands=[ +]) + VK_EXT_ycbcr_2plane_444_formats = Extension(name='VK_EXT_ycbcr_2plane_444_formats', version=1, guard=None, commands=[ ]) @@ -1129,6 +1137,14 @@ VK_EXT_vertex_input_dynamic_state = Extension(name='VK_EXT_vertex_input_dynamic_ Command(name='vkCmdSetVertexInputEXT', dispatch='VkCommandBuffer'), ]) +VK_EXT_physical_device_drm = Extension(name='VK_EXT_physical_device_drm', version=1, guard=None, commands=[ +]) + +VK_HUAWEI_subpass_shading = Extension(name='VK_HUAWEI_subpass_shading', version=0, guard=None, commands=[ + Command(name='vkGetSubpassShadingMaxWorkgroupSizeHUAWEI', dispatch='VkRenderPass'), + Command(name='vkCmdSubpassShadingHUAWEI', dispatch='VkCommandBuffer'), +]) + VK_EXT_extended_dynamic_state2 = Extension(name='VK_EXT_extended_dynamic_state2', version=1, guard=None, commands=[ Command(name='vkCmdSetPatchControlPointsEXT', dispatch='VkCommandBuffer'), Command(name='vkCmdSetRasterizerDiscardEnableEXT', dispatch='VkCommandBuffer'), @@ -1144,6 +1160,11 @@ VK_EXT_color_write_enable = Extension(name='VK_EXT_color_write_enable', version= VK_EXT_global_priority_query = Extension(name='VK_EXT_global_priority_query', version=1, guard=None, commands=[ ]) +VK_EXT_multi_draw = Extension(name='VK_EXT_multi_draw', version=1, guard=None, commands=[ + Command(name='vkCmdDrawMultiEXT', dispatch='VkCommandBuffer'), + Command(name='vkCmdDrawMultiIndexedEXT', dispatch='VkCommandBuffer'), +]) + VK_KHR_acceleration_structure = Extension(name='VK_KHR_acceleration_structure', version=11, guard=None, commands=[ Command(name='vkCreateAccelerationStructureKHR', dispatch='VkDevice'), Command(name='vkDestroyAccelerationStructureKHR', dispatch='VkDevice'), @@ -1517,6 +1538,7 @@ extensions = [ VK_EXT_texel_buffer_alignment, VK_QCOM_render_pass_transform, VK_EXT_device_memory_report, + VK_EXT_acquire_drm_display, VK_EXT_robustness2, VK_EXT_custom_border_color, VK_GOOGLE_user_type, @@ -1525,6 +1547,7 @@ extensions = [ VK_NV_device_diagnostics_config, VK_QCOM_render_pass_store_ops, VK_NV_fragment_shading_rate_enums, + VK_NV_ray_tracing_motion_blur, VK_EXT_ycbcr_2plane_444_formats, VK_EXT_fragment_density_map2, VK_QCOM_rotated_copy_commands, @@ -1533,9 +1556,12 @@ extensions = [ VK_NV_acquire_winrt_display, VK_VALVE_mutable_descriptor_type, VK_EXT_vertex_input_dynamic_state, + VK_EXT_physical_device_drm, + VK_HUAWEI_subpass_shading, VK_EXT_extended_dynamic_state2, VK_EXT_color_write_enable, VK_EXT_global_priority_query, + VK_EXT_multi_draw, VK_KHR_acceleration_structure, VK_KHR_ray_tracing_pipeline, VK_KHR_ray_query, diff --git a/scripts/known_good.json b/scripts/known_good.json index 7cb4b0f..72bdbe4 100644 --- a/scripts/known_good.json +++ b/scripts/known_good.json @@ -6,7 +6,7 @@ "sub_dir" : "Vulkan-Headers", "build_dir" : "Vulkan-Headers/build", "install_dir" : "Vulkan-Headers/build/install", - "commit" : "v1.2.181" + "commit" : "v1.2.182" }, { "name" : "MoltenVK", @@ -30,7 +30,7 @@ "sub_dir" : "Vulkan-Loader", "build_dir" : "Vulkan-Loader/build", "install_dir" : "Vulkan-Loader/build/install", - "commit" : "v1.2.181", + "commit" : "v1.2.182", "deps" : [ { "var_name" : "VULKAN_HEADERS_INSTALL_DIR", diff --git a/scripts/vulkaninfo_generator.py b/scripts/vulkaninfo_generator.py index 4bec23f..fc4b145 100644 --- a/scripts/vulkaninfo_generator.py +++ b/scripts/vulkaninfo_generator.py @@ -102,7 +102,7 @@ struct_blacklist = ['VkConformanceVersion'] # iostream or custom outputter handles these types predefined_types = ['char', 'VkBool32', 'uint32_t', 'uint8_t', 'int32_t', - 'float', 'uint64_t', 'size_t', 'VkDeviceSize'] + 'float', 'uint64_t', 'size_t', 'VkDeviceSize', 'int64_t'] # Types that need pNext Chains built. 'extends' is the xml tag used in the structextends member. 'type' can be device, instance, or both EXTENSION_CATEGORIES = OrderedDict((('phys_device_props2', {'extends': 'VkPhysicalDeviceProperties2', 'type': 'both'}), diff --git a/vulkaninfo/generated/vulkaninfo.hpp b/vulkaninfo/generated/vulkaninfo.hpp index 5a9eced..b7dfbaf 100644 --- a/vulkaninfo/generated/vulkaninfo.hpp +++ b/vulkaninfo/generated/vulkaninfo.hpp @@ -814,6 +814,7 @@ std::vectorVkShaderStageFlagBitsGetStrings(VkShaderStageFlagBits v if (0x2000 & value) strings.push_back("SHADER_STAGE_CALLABLE_BIT_KHR"); if (0x40 & value) strings.push_back("SHADER_STAGE_TASK_BIT_NV"); if (0x80 & value) strings.push_back("SHADER_STAGE_MESH_BIT_NV"); + if (0x4000 & value) strings.push_back("SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI"); return strings; } void DumpVkShaderStageFlags(Printer &p, std::string name, VkShaderStageFlags value, int width = 0) { @@ -1163,6 +1164,15 @@ void DumpVkPhysicalDeviceDriverProperties(Printer &p, std::string name, VkPhysic p.PrintKeyString("driverInfo", obj.driverInfo, 18); DumpVkConformanceVersion(p, "conformanceVersion", obj.conformanceVersion, 18); } +void DumpVkPhysicalDeviceDrmPropertiesEXT(Printer &p, std::string name, VkPhysicalDeviceDrmPropertiesEXT &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyBool("hasPrimary", static_cast(obj.hasPrimary), 12); + p.PrintKeyBool("hasRender", static_cast(obj.hasRender), 12); + p.PrintKeyValue("primaryMajor", obj.primaryMajor, 12); + p.PrintKeyValue("primaryMinor", obj.primaryMinor, 12); + p.PrintKeyValue("renderMajor", obj.renderMajor, 12); + p.PrintKeyValue("renderMinor", obj.renderMinor, 12); +} void DumpVkPhysicalDeviceExtendedDynamicState2FeaturesEXT(Printer &p, std::string name, VkPhysicalDeviceExtendedDynamicState2FeaturesEXT &obj) { ObjectWrapper object{p, name}; p.PrintKeyBool("extendedDynamicState2", static_cast(obj.extendedDynamicState2), 39); @@ -1541,6 +1551,14 @@ void DumpVkPhysicalDeviceMemoryPriorityFeaturesEXT(Printer &p, std::string name, ObjectWrapper object{p, name}; p.PrintKeyBool("memoryPriority", static_cast(obj.memoryPriority), 14); } +void DumpVkPhysicalDeviceMultiDrawFeaturesEXT(Printer &p, std::string name, VkPhysicalDeviceMultiDrawFeaturesEXT &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyBool("multiDraw", static_cast(obj.multiDraw), 9); +} +void DumpVkPhysicalDeviceMultiDrawPropertiesEXT(Printer &p, std::string name, VkPhysicalDeviceMultiDrawPropertiesEXT &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyValue("maxMultiDrawCount", obj.maxMultiDrawCount, 17); +} void DumpVkPhysicalDeviceMultiviewFeatures(Printer &p, std::string name, VkPhysicalDeviceMultiviewFeatures &obj) { ObjectWrapper object{p, name}; p.PrintKeyBool("multiview", static_cast(obj.multiview), 27); @@ -2061,6 +2079,7 @@ pNextChainInfos get_chain_infos() { {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES, sizeof(VkPhysicalDeviceDescriptorIndexingProperties)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISCARD_RECTANGLE_PROPERTIES_EXT, sizeof(VkPhysicalDeviceDiscardRectanglePropertiesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, sizeof(VkPhysicalDeviceDriverProperties)}, + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT, sizeof(VkPhysicalDeviceDrmPropertiesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT, sizeof(VkPhysicalDeviceExternalMemoryHostPropertiesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, sizeof(VkPhysicalDeviceFloatControlsProperties)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_2_PROPERTIES_EXT, sizeof(VkPhysicalDeviceFragmentDensityMap2PropertiesEXT)}, @@ -2070,6 +2089,7 @@ pNextChainInfos get_chain_infos() { {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT, sizeof(VkPhysicalDeviceInlineUniformBlockPropertiesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT, sizeof(VkPhysicalDeviceLineRasterizationPropertiesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES, sizeof(VkPhysicalDeviceMaintenance3Properties)}, + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT, sizeof(VkPhysicalDeviceMultiDrawPropertiesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES, sizeof(VkPhysicalDeviceMultiviewProperties)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PCI_BUS_INFO_PROPERTIES_EXT, sizeof(VkPhysicalDevicePCIBusInfoPropertiesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_PROPERTIES_KHR, sizeof(VkPhysicalDevicePerformanceQueryPropertiesKHR)}, @@ -2124,6 +2144,7 @@ pNextChainInfos get_chain_infos() { {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT, sizeof(VkPhysicalDeviceInlineUniformBlockFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT, sizeof(VkPhysicalDeviceLineRasterizationFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT, sizeof(VkPhysicalDeviceMemoryPriorityFeaturesEXT)}, + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT, sizeof(VkPhysicalDeviceMultiDrawFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES, sizeof(VkPhysicalDeviceMultiviewFeatures)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PERFORMANCE_QUERY_FEATURES_KHR, sizeof(VkPhysicalDevicePerformanceQueryFeaturesKHR)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES_EXT, sizeof(VkPhysicalDevicePipelineCreationCacheControlFeaturesEXT)}, @@ -2235,6 +2256,12 @@ void chain_iterator_phys_device_props2(Printer &p, AppInstance &inst, AppGpu &gp DumpVkPhysicalDeviceDriverProperties(p, version.minor >= 2 ?"VkPhysicalDeviceDriverProperties":"VkPhysicalDeviceDriverPropertiesKHR", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME))) { + VkPhysicalDeviceDrmPropertiesEXT* props = (VkPhysicalDeviceDrmPropertiesEXT*)structure; + DumpVkPhysicalDeviceDrmPropertiesEXT(p, "VkPhysicalDeviceDrmPropertiesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME))) { VkPhysicalDeviceExternalMemoryHostPropertiesEXT* props = (VkPhysicalDeviceExternalMemoryHostPropertiesEXT*)structure; @@ -2292,6 +2319,12 @@ void chain_iterator_phys_device_props2(Printer &p, AppInstance &inst, AppGpu &gp DumpVkPhysicalDeviceMaintenance3Properties(p, version.minor >= 1 ?"VkPhysicalDeviceMaintenance3Properties":"VkPhysicalDeviceMaintenance3PropertiesKHR", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_MULTI_DRAW_EXTENSION_NAME))) { + VkPhysicalDeviceMultiDrawPropertiesEXT* props = (VkPhysicalDeviceMultiDrawPropertiesEXT*)structure; + DumpVkPhysicalDeviceMultiDrawPropertiesEXT(p, "VkPhysicalDeviceMultiDrawPropertiesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_MULTIVIEW_EXTENSION_NAME) || version.minor >= 1)) { @@ -2606,6 +2639,12 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, void * place, DumpVkPhysicalDeviceMemoryPriorityFeaturesEXT(p, "VkPhysicalDeviceMemoryPriorityFeaturesEXT", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_MULTI_DRAW_EXTENSION_NAME))) { + VkPhysicalDeviceMultiDrawFeaturesEXT* props = (VkPhysicalDeviceMultiDrawFeaturesEXT*)structure; + DumpVkPhysicalDeviceMultiDrawFeaturesEXT(p, "VkPhysicalDeviceMultiDrawFeaturesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_MULTIVIEW_EXTENSION_NAME) || version.minor >= 1)) {