radv: enable VK_SUBGROUP_FEATURE_ARITHMETIC_BIT
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 18 Sep 2018 13:27:52 +0000 (15:27 +0200)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 19 Sep 2018 11:36:10 +0000 (13:36 +0200)
All CTS pass on Polaris/Vega with LLVM 6, 7 and master, so
I think it's safe to enable the feature.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_shader.c

index f9169d9d0126882eaff191b1dadad1c995bb62b6..7e46a57fb57d7024f512718adc725e7123896b93 100644 (file)
@@ -1061,6 +1061,7 @@ void radv_GetPhysicalDeviceProperties2(
                        properties->subgroupSize = 64;
                        properties->supportedStages = VK_SHADER_STAGE_ALL;
                        properties->supportedOperations =
+                                                       VK_SUBGROUP_FEATURE_ARITHMETIC_BIT |
                                                        VK_SUBGROUP_FEATURE_BASIC_BIT |
                                                        VK_SUBGROUP_FEATURE_BALLOT_BIT |
                                                        VK_SUBGROUP_FEATURE_QUAD_BIT |
index c59b783f4afb8e42e3d262b27811e79b681be900..9c038a5570dd6112c24ec0ede7e1f8529e04a12c 100644 (file)
@@ -212,6 +212,7 @@ radv_shader_compile_to_nir(struct radv_device *device,
                                .int64 = true,
                                .int16 = true,
                                .multiview = true,
+                               .subgroup_arithmetic = true,
                                .subgroup_ballot = true,
                                .subgroup_basic = true,
                                .subgroup_quad = true,