From c01f0bbbec968f3d56884780c152df556a105187 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Wed, 10 Aug 2022 16:05:06 -0700 Subject: [PATCH] venus: Enable VK_KHR_zero_initialize_workgroup_memory Signed-off-by: Chad Versace Reviewed-by: Yiwei Zhang Reviewed-by: Ryan Neph Part-of: --- docs/features.txt | 2 +- src/virtio/vulkan/vn_physical_device.c | 5 +++++ src/virtio/vulkan/vn_physical_device.h | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/features.txt b/docs/features.txt index 90a0c13a993..5cffde12dd5 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -481,7 +481,7 @@ Vulkan 1.3 -- all DONE: anv, radv, lvp VK_KHR_shader_non_semantic_info DONE (anv, radv, tu, v3dv, vn) VK_KHR_shader_terminate_invocation DONE (anv, lvp, radv, tu, vn) VK_KHR_synchronization2 DONE (anv, lvp, panvk, radv, tu) - VK_KHR_zero_initialize_workgroup_memory DONE (anv, lvp, radv, tu) + VK_KHR_zero_initialize_workgroup_memory DONE (anv, lvp, radv, tu, vn) VK_EXT_4444_formats DONE (anv, lvp, radv, tu, v3dv, vn) VK_EXT_extended_dynamic_state DONE (anv, lvp, radv, tu, vn) VK_EXT_extended_dynamic_state2 DONE (anv, lvp, radv, tu, vn) diff --git a/src/virtio/vulkan/vn_physical_device.c b/src/virtio/vulkan/vn_physical_device.c index b9b5206bb29..64b01618d40 100644 --- a/src/virtio/vulkan/vn_physical_device.c +++ b/src/virtio/vulkan/vn_physical_device.c @@ -152,6 +152,9 @@ vn_physical_device_init_features(struct vn_physical_device *physical_dev) VN_ADD_EXT_TO_PNEXT(exts->EXT_texture_compression_astc_hdr, feats->texture_compression_astc_hdr, TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, features2); + VN_ADD_EXT_TO_PNEXT(exts->KHR_zero_initialize_workgroup_memory, + feats->zero_initialize_workgroup_memory, + ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, features2); /* EXT */ VN_ADD_EXT_TO_PNEXT(exts->EXT_conditional_rendering, @@ -1053,6 +1056,7 @@ vn_physical_device_get_passthrough_extensions( .KHR_shader_integer_dot_product = true, .KHR_shader_non_semantic_info = true, .KHR_shader_terminate_invocation = true, + .KHR_zero_initialize_workgroup_memory = true, .EXT_4444_formats = true, .EXT_extended_dynamic_state = true, .EXT_extended_dynamic_state2 = true, @@ -1678,6 +1682,7 @@ vn_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice, CASE(SHADER_INTEGER_DOT_PRODUCT_FEATURES, shader_integer_dot_product); CASE(SHADER_TERMINATE_INVOCATION_FEATURES, shader_terminate_invocation); CASE(TEXTURE_COMPRESSION_ASTC_HDR_FEATURES, texture_compression_astc_hdr); + CASE(ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES, zero_initialize_workgroup_memory); /* EXT */ CASE(CONDITIONAL_RENDERING_FEATURES_EXT, conditional_rendering); diff --git a/src/virtio/vulkan/vn_physical_device.h b/src/virtio/vulkan/vn_physical_device.h index 64c8880cde3..503132cc7a8 100644 --- a/src/virtio/vulkan/vn_physical_device.h +++ b/src/virtio/vulkan/vn_physical_device.h @@ -39,6 +39,8 @@ struct vn_physical_device_features { shader_terminate_invocation; VkPhysicalDeviceTextureCompressionASTCHDRFeatures texture_compression_astc_hdr; + VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures + zero_initialize_workgroup_memory; /* EXT */ VkPhysicalDeviceConditionalRenderingFeaturesEXT conditional_rendering;