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

Author: Connor Abbott <[email protected]>
Date:   Tue Dec  7 12:11:31 2021 +0100

tu: Expose subgroup arithmetic

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

---

 src/freedreno/vulkan/tu_device.c | 3 ++-
 src/freedreno/vulkan/tu_shader.c | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c
index d3794a71fe8..44189f784d6 100644
--- a/src/freedreno/vulkan/tu_device.c
+++ b/src/freedreno/vulkan/tu_device.c
@@ -857,7 +857,8 @@ tu_get_physical_device_properties_1_1(struct 
tu_physical_device *pdevice,
                                     VK_SUBGROUP_FEATURE_VOTE_BIT |
                                     VK_SUBGROUP_FEATURE_BALLOT_BIT |
                                     VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
-                                    VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT;
+                                    VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT |
+                                    VK_SUBGROUP_FEATURE_ARITHMETIC_BIT;
    if (pdevice->info->a6xx.has_getfiberid) {
       p->subgroupSupportedStages |= VK_SHADER_STAGE_ALL_GRAPHICS;
       p->subgroupSupportedOperations |= VK_SUBGROUP_FEATURE_QUAD_BIT;
diff --git a/src/freedreno/vulkan/tu_shader.c b/src/freedreno/vulkan/tu_shader.c
index 186e4348515..56d0179fa19 100644
--- a/src/freedreno/vulkan/tu_shader.c
+++ b/src/freedreno/vulkan/tu_shader.c
@@ -83,6 +83,7 @@ tu_spirv_to_nir(struct tu_device *dev,
          .subgroup_vote = true,
          .subgroup_quad = true,
          .subgroup_shuffle = true,
+         .subgroup_arithmetic = true,
          .physical_storage_buffer_address = true,
       },
    };

Reply via email to