From: Mike Schuchardt Date: Tue, 20 Jul 2021 17:20:43 +0000 (-0700) Subject: build: Update to header 1.2.185 X-Git-Tag: upstream/1.3.208~95 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8d582b0bfecf55a672c153649cae074bfa52bdbb;p=platform%2Fupstream%2FVulkan-Tools.git build: Update to header 1.2.185 - Update known-good - Re-enable code generation for VK_HUAWEI_subpass_shading - Generate source Change-Id: Ibb8d8898c9cdbb655c8162e76b68fa465fe8f912 --- diff --git a/build-android/vulkan-headers_revision_android b/build-android/vulkan-headers_revision_android index 183cdbe..4c8f01e 100644 --- a/build-android/vulkan-headers_revision_android +++ b/build-android/vulkan-headers_revision_android @@ -1 +1 @@ -v1.2.184 +v1.2.185 diff --git a/common/vulkan_wrapper.cpp b/common/vulkan_wrapper.cpp index 2d1a05e..c1e90b0 100644 --- a/common/vulkan_wrapper.cpp +++ b/common/vulkan_wrapper.cpp @@ -376,6 +376,7 @@ int InitVulkan(void) { dlsym(libvulkan, "vkGetPhysicalDeviceFragmentShadingRatesKHR")); vkCmdSetFragmentShadingRateKHR = reinterpret_cast(dlsym(libvulkan, "vkCmdSetFragmentShadingRateKHR")); + vkWaitForPresentKHR = reinterpret_cast(dlsym(libvulkan, "vkWaitForPresentKHR")); vkGetBufferDeviceAddressKHR = reinterpret_cast(dlsym(libvulkan, "vkGetBufferDeviceAddressKHR")); vkGetBufferOpaqueCaptureAddressKHR = @@ -791,6 +792,7 @@ PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR; PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; +PFN_vkWaitForPresentKHR vkWaitForPresentKHR; PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR; @@ -946,6 +948,7 @@ PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV; PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT; PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI; PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI; +PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI; PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV; PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT; PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT; diff --git a/common/vulkan_wrapper.h b/common/vulkan_wrapper.h index 8a42425..38c8ade 100644 --- a/common/vulkan_wrapper.h +++ b/common/vulkan_wrapper.h @@ -348,6 +348,9 @@ extern PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR; extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR; extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR; +// VK_KHR_present_wait +extern PFN_vkWaitForPresentKHR vkWaitForPresentKHR; + // VK_KHR_buffer_device_address extern PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR; extern PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR; diff --git a/icd/generated/mock_icd.cpp b/icd/generated/mock_icd.cpp index 0b65a41..5f84821 100644 --- a/icd/generated/mock_icd.cpp +++ b/icd/generated/mock_icd.cpp @@ -3299,6 +3299,17 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateKHR( +static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR( + VkDevice device, + VkSwapchainKHR swapchain, + uint64_t presentId, + uint64_t timeout) +{ +//Not a CREATE or DESTROY function + return VK_SUCCESS; +} + + static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressKHR( VkDevice device, @@ -3400,6 +3411,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableInternalRepresentatio + #ifdef VK_ENABLE_BETA_EXTENSIONS static VKAPI_ATTR void VKAPI_CALL CmdEncodeVideoKHR( @@ -4848,6 +4860,7 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT( + static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV( VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, @@ -5084,9 +5097,18 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreZirconHandleFUCHSIA( #endif /* VK_USE_PLATFORM_FUCHSIA */ +static VKAPI_ATTR void VKAPI_CALL CmdBindInvocationMaskHUAWEI( + VkCommandBuffer commandBuffer, + VkImageView imageView, + VkImageLayout imageLayout) +{ +//Not a CREATE or DESTROY function +} + + static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryRemoteAddressNV( VkDevice device, - const VkMemoryGetRemoteAddressInfoNV* getMemoryRemoteAddressInfo, + const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress) { //Not a CREATE or DESTROY function diff --git a/icd/generated/mock_icd.h b/icd/generated/mock_icd.h index c7ce1ee..8c0a3e4 100644 --- a/icd/generated/mock_icd.h +++ b/icd/generated/mock_icd.h @@ -246,6 +246,7 @@ static const std::unordered_map device_extension_map = { {"VK_EXT_buffer_device_address", 2}, {"VK_EXT_tooling_info", 1}, {"VK_EXT_separate_stencil_usage", 1}, + {"VK_KHR_present_wait", 1}, {"VK_NV_cooperative_matrix", 1}, {"VK_NV_coverage_reduction_mode", 1}, {"VK_EXT_fragment_shader_interlock", 1}, @@ -261,6 +262,7 @@ static const std::unordered_map device_extension_map = { {"VK_EXT_extended_dynamic_state", 1}, {"VK_KHR_deferred_host_operations", 4}, {"VK_KHR_pipeline_executable_properties", 1}, + {"VK_EXT_shader_atomic_float2", 1}, {"VK_EXT_shader_demote_to_helper_invocation", 1}, {"VK_NV_device_generated_commands", 3}, {"VK_NV_inherited_viewport_scissor", 1}, @@ -272,6 +274,7 @@ static const std::unordered_map device_extension_map = { {"VK_GOOGLE_user_type", 1}, {"VK_KHR_pipeline_library", 1}, {"VK_KHR_shader_non_semantic_info", 1}, + {"VK_KHR_present_id", 1}, {"VK_EXT_private_data", 1}, {"VK_EXT_pipeline_creation_cache_control", 3}, {"VK_KHR_video_encode_queue", 2}, @@ -296,6 +299,7 @@ static const std::unordered_map device_extension_map = { {"VK_FUCHSIA_external_memory", 1}, {"VK_FUCHSIA_external_semaphore", 1}, {"VK_HUAWEI_subpass_shading", 2}, + {"VK_HUAWEI_invocation_mask", 1}, {"VK_NV_external_memory_rdma", 1}, {"VK_EXT_extended_dynamic_state2", 1}, {"VK_EXT_color_write_enable", 1}, @@ -1981,6 +1985,13 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetFragmentShadingRateKHR( +static VKAPI_ATTR VkResult VKAPI_CALL WaitForPresentKHR( + VkDevice device, + VkSwapchainKHR swapchain, + uint64_t presentId, + uint64_t timeout); + + static VKAPI_ATTR VkDeviceAddress VKAPI_CALL GetBufferDeviceAddressKHR( VkDevice device, @@ -2038,6 +2049,7 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetPipelineExecutableInternalRepresentatio + #ifdef VK_ENABLE_BETA_EXTENSIONS static VKAPI_ATTR void VKAPI_CALL CmdEncodeVideoKHR( @@ -2984,6 +2996,7 @@ static VKAPI_ATTR void VKAPI_CALL CmdSetStencilOpEXT( + static VKAPI_ATTR void VKAPI_CALL GetGeneratedCommandsMemoryRequirementsNV( VkDevice device, const VkGeneratedCommandsMemoryRequirementsInfoNV* pInfo, @@ -3138,9 +3151,15 @@ static VKAPI_ATTR VkResult VKAPI_CALL GetSemaphoreZirconHandleFUCHSIA( #endif /* VK_USE_PLATFORM_FUCHSIA */ +static VKAPI_ATTR void VKAPI_CALL CmdBindInvocationMaskHUAWEI( + VkCommandBuffer commandBuffer, + VkImageView imageView, + VkImageLayout imageLayout); + + static VKAPI_ATTR VkResult VKAPI_CALL GetMemoryRemoteAddressNV( VkDevice device, - const VkMemoryGetRemoteAddressInfoNV* getMemoryRemoteAddressInfo, + const VkMemoryGetRemoteAddressInfoNV* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress); @@ -3685,6 +3704,7 @@ static const std::unordered_map name_to_funcptr_map = { {"vkSignalSemaphoreKHR", (void*)SignalSemaphoreKHR}, {"vkGetPhysicalDeviceFragmentShadingRatesKHR", (void*)GetPhysicalDeviceFragmentShadingRatesKHR}, {"vkCmdSetFragmentShadingRateKHR", (void*)CmdSetFragmentShadingRateKHR}, + {"vkWaitForPresentKHR", (void*)WaitForPresentKHR}, {"vkGetBufferDeviceAddressKHR", (void*)GetBufferDeviceAddressKHR}, {"vkGetBufferOpaqueCaptureAddressKHR", (void*)GetBufferOpaqueCaptureAddressKHR}, {"vkGetDeviceMemoryOpaqueCaptureAddressKHR", (void*)GetDeviceMemoryOpaqueCaptureAddressKHR}, @@ -3907,6 +3927,7 @@ static const std::unordered_map name_to_funcptr_map = { #ifdef VK_USE_PLATFORM_FUCHSIA {"vkGetSemaphoreZirconHandleFUCHSIA", (void*)GetSemaphoreZirconHandleFUCHSIA}, #endif + {"vkCmdBindInvocationMaskHUAWEI", (void*)CmdBindInvocationMaskHUAWEI}, {"vkGetMemoryRemoteAddressNV", (void*)GetMemoryRemoteAddressNV}, {"vkCmdSetPatchControlPointsEXT", (void*)CmdSetPatchControlPointsEXT}, {"vkCmdSetRasterizerDiscardEnableEXT", (void*)CmdSetRasterizerDiscardEnableEXT}, diff --git a/icd/generated/vk_typemap_helper.h b/icd/generated/vk_typemap_helper.h index 60683f3..8e19c9e 100644 --- a/icd/generated/vk_typemap_helper.h +++ b/icd/generated/vk_typemap_helper.h @@ -2289,6 +2289,15 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDevicePresentWaitFeaturesKHR Type; +}; + // Map type VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR; @@ -2352,6 +2361,24 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PRESENT_ID_KHR; +}; + +template <> struct LvlSTypeMap { + typedef VkPresentIdKHR Type; +}; + +// Map type VkPhysicalDevicePresentIdFeaturesKHR to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR +template <> struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDevicePresentIdFeaturesKHR Type; +}; + #ifdef VK_ENABLE_BETA_EXTENSIONS // Map type VkVideoEncodeInfoKHR to id VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR template <> struct LvlTypeMap { @@ -4467,6 +4494,15 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT Type; +}; + // Map type VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT to id VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT; @@ -4956,6 +4992,15 @@ template <> struct LvlSTypeMap struct LvlTypeMap { + static const VkStructureType kSType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI; +}; + +template <> struct LvlSTypeMap { + typedef VkPhysicalDeviceInvocationMaskFeaturesHUAWEI Type; +}; + // Map type VkMemoryGetRemoteAddressInfoNV to id VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV template <> struct LvlTypeMap { static const VkStructureType kSType = VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV; diff --git a/scripts/generate_source.py b/scripts/generate_source.py index 301b7ca..a2002aa 100755 --- a/scripts/generate_source.py +++ b/scripts/generate_source.py @@ -66,7 +66,6 @@ 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 da1ff75..6a75e5a 100755 --- a/scripts/generate_vulkan_wrapper.py +++ b/scripts/generate_vulkan_wrapper.py @@ -532,6 +532,10 @@ VK_KHR_surface_protected_capabilities = Extension(name='VK_KHR_surface_protected VK_KHR_separate_depth_stencil_layouts = Extension(name='VK_KHR_separate_depth_stencil_layouts', version=1, guard=None, commands=[ ]) +VK_KHR_present_wait = Extension(name='VK_KHR_present_wait', version=1, guard=None, commands=[ + Command(name='vkWaitForPresentKHR', dispatch='VkDevice'), +]) + VK_KHR_uniform_buffer_standard_layout = Extension(name='VK_KHR_uniform_buffer_standard_layout', version=1, guard=None, commands=[ ]) @@ -561,6 +565,9 @@ VK_KHR_pipeline_library = Extension(name='VK_KHR_pipeline_library', version=1, g VK_KHR_shader_non_semantic_info = Extension(name='VK_KHR_shader_non_semantic_info', version=1, guard=None, commands=[ ]) +VK_KHR_present_id = Extension(name='VK_KHR_present_id', version=1, guard=None, commands=[ +]) + VK_KHR_synchronization2 = Extension(name='VK_KHR_synchronization2', version=1, guard=None, commands=[ Command(name='vkCmdSetEvent2KHR', dispatch='VkCommandBuffer'), Command(name='vkCmdResetEvent2KHR', dispatch='VkCommandBuffer'), @@ -1049,6 +1056,9 @@ VK_EXT_extended_dynamic_state = Extension(name='VK_EXT_extended_dynamic_state', Command(name='vkCmdSetStencilOpEXT', dispatch='VkCommandBuffer'), ]) +VK_EXT_shader_atomic_float2 = Extension(name='VK_EXT_shader_atomic_float2', version=1, guard=None, commands=[ +]) + VK_EXT_shader_demote_to_helper_invocation = Extension(name='VK_EXT_shader_demote_to_helper_invocation', version=1, guard=None, commands=[ ]) @@ -1145,6 +1155,10 @@ VK_HUAWEI_subpass_shading = Extension(name='VK_HUAWEI_subpass_shading', version= Command(name='vkCmdSubpassShadingHUAWEI', dispatch='VkCommandBuffer'), ]) +VK_HUAWEI_invocation_mask = Extension(name='VK_HUAWEI_invocation_mask', version=1, guard=None, commands=[ + Command(name='vkCmdBindInvocationMaskHUAWEI', dispatch='VkCommandBuffer'), +]) + VK_NV_external_memory_rdma = Extension(name='VK_NV_external_memory_rdma', version=1, guard=None, commands=[ Command(name='vkGetMemoryRemoteAddressNV', dispatch='VkDevice'), ]) @@ -1409,12 +1423,14 @@ extensions = [ VK_KHR_spirv_1_4, VK_KHR_surface_protected_capabilities, VK_KHR_separate_depth_stencil_layouts, + VK_KHR_present_wait, VK_KHR_uniform_buffer_standard_layout, VK_KHR_buffer_device_address, VK_KHR_deferred_host_operations, VK_KHR_pipeline_executable_properties, VK_KHR_pipeline_library, VK_KHR_shader_non_semantic_info, + VK_KHR_present_id, VK_KHR_synchronization2, VK_KHR_shader_subgroup_uniform_control_flow, VK_KHR_zero_initialize_workgroup_memory, @@ -1536,6 +1552,7 @@ extensions = [ VK_EXT_host_query_reset, VK_EXT_index_type_uint8, VK_EXT_extended_dynamic_state, + VK_EXT_shader_atomic_float2, VK_EXT_shader_demote_to_helper_invocation, VK_NV_device_generated_commands, VK_NV_inherited_viewport_scissor, @@ -1562,6 +1579,7 @@ extensions = [ VK_EXT_vertex_input_dynamic_state, VK_EXT_physical_device_drm, VK_HUAWEI_subpass_shading, + VK_HUAWEI_invocation_mask, VK_NV_external_memory_rdma, VK_EXT_extended_dynamic_state2, VK_EXT_color_write_enable, diff --git a/scripts/known_good.json b/scripts/known_good.json index 34648a7..424755c 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.184" + "commit" : "v1.2.185" }, { "name" : "MoltenVK", @@ -30,7 +30,7 @@ "sub_dir" : "Vulkan-Loader", "build_dir" : "Vulkan-Loader/build", "install_dir" : "Vulkan-Loader/build/install", - "commit" : "v1.2.184", + "commit" : "v1.2.185", "deps" : [ { "var_name" : "VULKAN_HEADERS_INSTALL_DIR", diff --git a/vulkaninfo/generated/vulkaninfo.hpp b/vulkaninfo/generated/vulkaninfo.hpp index df4c127..2f39df2 100644 --- a/vulkaninfo/generated/vulkaninfo.hpp +++ b/vulkaninfo/generated/vulkaninfo.hpp @@ -623,6 +623,7 @@ std::vectorVkImageUsageFlagBitsGetStrings(VkImageUsageFlagBits val if (0x2000 & value) strings.push_back("IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR"); if (0x4000 & value) strings.push_back("IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR"); if (0x8000 & value) strings.push_back("IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR"); + if (0x40000 & value) strings.push_back("IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI"); return strings; } void DumpVkImageUsageFlags(Printer &p, std::string name, VkImageUsageFlags value, int width = 0) { @@ -1629,6 +1630,14 @@ void DumpVkPhysicalDevicePortabilitySubsetPropertiesKHR(Printer &p, std::string p.PrintKeyValue("minVertexInputBindingStrideAlignment", obj.minVertexInputBindingStrideAlignment, 36); } #endif // VK_ENABLE_BETA_EXTENSIONS +void DumpVkPhysicalDevicePresentIdFeaturesKHR(Printer &p, std::string name, VkPhysicalDevicePresentIdFeaturesKHR &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyBool("presentId", static_cast(obj.presentId), 9); +} +void DumpVkPhysicalDevicePresentWaitFeaturesKHR(Printer &p, std::string name, VkPhysicalDevicePresentWaitFeaturesKHR &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyBool("presentWait", static_cast(obj.presentWait), 11); +} void DumpVkPhysicalDevicePrivateDataFeaturesEXT(Printer &p, std::string name, VkPhysicalDevicePrivateDataFeaturesEXT &obj) { ObjectWrapper object{p, name}; p.PrintKeyBool("privateData", static_cast(obj.privateData), 11); @@ -1717,6 +1726,21 @@ void DumpVkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(Printer &p, std::st ObjectWrapper object{p, name}; p.PrintKeyBool("separateDepthStencilLayouts", static_cast(obj.separateDepthStencilLayouts), 27); } +void DumpVkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(Printer &p, std::string name, VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT &obj) { + ObjectWrapper object{p, name}; + p.PrintKeyBool("shaderBufferFloat16Atomics", static_cast(obj.shaderBufferFloat16Atomics), 31); + p.PrintKeyBool("shaderBufferFloat16AtomicAdd", static_cast(obj.shaderBufferFloat16AtomicAdd), 31); + p.PrintKeyBool("shaderBufferFloat16AtomicMinMax", static_cast(obj.shaderBufferFloat16AtomicMinMax), 31); + p.PrintKeyBool("shaderBufferFloat32AtomicMinMax", static_cast(obj.shaderBufferFloat32AtomicMinMax), 31); + p.PrintKeyBool("shaderBufferFloat64AtomicMinMax", static_cast(obj.shaderBufferFloat64AtomicMinMax), 31); + p.PrintKeyBool("shaderSharedFloat16Atomics", static_cast(obj.shaderSharedFloat16Atomics), 31); + p.PrintKeyBool("shaderSharedFloat16AtomicAdd", static_cast(obj.shaderSharedFloat16AtomicAdd), 31); + p.PrintKeyBool("shaderSharedFloat16AtomicMinMax", static_cast(obj.shaderSharedFloat16AtomicMinMax), 31); + p.PrintKeyBool("shaderSharedFloat32AtomicMinMax", static_cast(obj.shaderSharedFloat32AtomicMinMax), 31); + p.PrintKeyBool("shaderSharedFloat64AtomicMinMax", static_cast(obj.shaderSharedFloat64AtomicMinMax), 31); + p.PrintKeyBool("shaderImageFloat32AtomicMinMax", static_cast(obj.shaderImageFloat32AtomicMinMax), 31); + p.PrintKeyBool("sparseImageFloat32AtomicMinMax", static_cast(obj.sparseImageFloat32AtomicMinMax), 31); +} void DumpVkPhysicalDeviceShaderAtomicFloatFeaturesEXT(Printer &p, std::string name, VkPhysicalDeviceShaderAtomicFloatFeaturesEXT &obj) { ObjectWrapper object{p, name}; p.PrintKeyBool("shaderBufferFloat32Atomics", static_cast(obj.shaderBufferFloat32Atomics), 28); @@ -2158,6 +2182,8 @@ pNextChainInfos get_chain_infos() { #ifdef VK_ENABLE_BETA_EXTENSIONS {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, sizeof(VkPhysicalDevicePortabilitySubsetFeaturesKHR)}, #endif // VK_ENABLE_BETA_EXTENSIONS + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR, sizeof(VkPhysicalDevicePresentIdFeaturesKHR)}, + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR, sizeof(VkPhysicalDevicePresentWaitFeaturesKHR)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT, sizeof(VkPhysicalDevicePrivateDataFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES, sizeof(VkPhysicalDeviceProtectedMemoryFeatures)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT, sizeof(VkPhysicalDeviceProvokingVertexFeaturesEXT)}, @@ -2167,6 +2193,7 @@ pNextChainInfos get_chain_infos() { {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES, sizeof(VkPhysicalDeviceSamplerYcbcrConversionFeatures)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES, sizeof(VkPhysicalDeviceScalarBlockLayoutFeatures)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES, sizeof(VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures)}, + {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT, sizeof(VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT, sizeof(VkPhysicalDeviceShaderAtomicFloatFeaturesEXT)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, sizeof(VkPhysicalDeviceShaderAtomicInt64Features)}, {VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR, sizeof(VkPhysicalDeviceShaderClockFeaturesKHR)}, @@ -2690,6 +2717,18 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, void * place, p.AddNewline(); } #endif // VK_ENABLE_BETA_EXTENSIONS + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_PRESENT_ID_EXTENSION_NAME))) { + VkPhysicalDevicePresentIdFeaturesKHR* props = (VkPhysicalDevicePresentIdFeaturesKHR*)structure; + DumpVkPhysicalDevicePresentIdFeaturesKHR(p, "VkPhysicalDevicePresentIdFeaturesKHR", *props); + p.AddNewline(); + } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_WAIT_FEATURES_KHR && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_KHR_PRESENT_WAIT_EXTENSION_NAME))) { + VkPhysicalDevicePresentWaitFeaturesKHR* props = (VkPhysicalDevicePresentWaitFeaturesKHR*)structure; + DumpVkPhysicalDevicePresentWaitFeaturesKHR(p, "VkPhysicalDevicePresentWaitFeaturesKHR", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES_EXT && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_PRIVATE_DATA_EXTENSION_NAME))) { VkPhysicalDevicePrivateDataFeaturesEXT* props = (VkPhysicalDevicePrivateDataFeaturesEXT*)structure; @@ -2747,6 +2786,12 @@ void chain_iterator_phys_device_features2(Printer &p, AppGpu &gpu, void * place, DumpVkPhysicalDeviceSeparateDepthStencilLayoutsFeatures(p, version.minor >= 2 ?"VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures":"VkPhysicalDeviceSeparateDepthStencilLayoutsFeaturesKHR", *props); p.AddNewline(); } + if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT && + (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME))) { + VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT* props = (VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT*)structure; + DumpVkPhysicalDeviceShaderAtomicFloat2FeaturesEXT(p, "VkPhysicalDeviceShaderAtomicFloat2FeaturesEXT", *props); + p.AddNewline(); + } if (structure->sType == VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT && (gpu.CheckPhysicalDeviceExtensionIncluded(VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME))) { VkPhysicalDeviceShaderAtomicFloatFeaturesEXT* props = (VkPhysicalDeviceShaderAtomicFloatFeaturesEXT*)structure;