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

Author: Faith Ekstrand <[email protected]>
Date:   Fri Nov 17 10:54:55 2023 -0600

nvk: Advertise the rest of the subgroup ops

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26264>

---

 src/nouveau/vulkan/nvk_physical_device.c | 6 +++++-
 src/nouveau/vulkan/nvk_shader.c          | 2 ++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/nouveau/vulkan/nvk_physical_device.c 
b/src/nouveau/vulkan/nvk_physical_device.c
index 05596d001b7..bad5a5aeeca 100644
--- a/src/nouveau/vulkan/nvk_physical_device.c
+++ b/src/nouveau/vulkan/nvk_physical_device.c
@@ -542,9 +542,13 @@ nvk_get_device_properties(const struct nvk_instance 
*instance,
       /* Vulkan 1.1 properties */
       .subgroupSize = 32,
       .subgroupSupportedStages = nvk_nak_stages(info),
-      .subgroupSupportedOperations = VK_SUBGROUP_FEATURE_BALLOT_BIT |
+      .subgroupSupportedOperations = VK_SUBGROUP_FEATURE_ARITHMETIC_BIT |
+                                     VK_SUBGROUP_FEATURE_BALLOT_BIT |
                                      VK_SUBGROUP_FEATURE_BASIC_BIT |
+                                     VK_SUBGROUP_FEATURE_CLUSTERED_BIT |
+                                     VK_SUBGROUP_FEATURE_QUAD_BIT |
                                      VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
+                                     VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT |
                                      VK_SUBGROUP_FEATURE_VOTE_BIT,
       .subgroupQuadOperationsInAllStages = false,
       .pointClippingBehavior = 
VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY,
diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c
index ea39de37a36..8e09eee10e7 100644
--- a/src/nouveau/vulkan/nvk_shader.c
+++ b/src/nouveau/vulkan/nvk_shader.c
@@ -141,8 +141,10 @@ nvk_physical_device_spirv_options(const struct 
nvk_physical_device *pdev,
          .runtime_descriptor_array = true,
          .shader_clock = true,
          .shader_viewport_index_layer = true,
+         .subgroup_arithmetic = true,
          .subgroup_ballot = true,
          .subgroup_basic = true,
+         .subgroup_quad = true,
          .subgroup_shuffle = true,
          .subgroup_vote = true,
          .tessellation = true,

Reply via email to