Module: Mesa
Branch: main
Commit: c01f0bbbec968f3d56884780c152df556a105187
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c01f0bbbec968f3d56884780c152df556a105187

Author: Chad Versace <[email protected]>
Date:   Wed Aug 10 16:05:06 2022 -0700

venus: Enable VK_KHR_zero_initialize_workgroup_memory

Signed-off-by: Chad Versace <[email protected]>
Reviewed-by: Yiwei Zhang <[email protected]>
Reviewed-by: Ryan Neph <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18000>

---

 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;

Reply via email to