radv: only expose VK_SUBGROUP_FEATURE_ARITHMETIC_BIT for VI+
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 7 Nov 2018 16:06:27 +0000 (17:06 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 8 Nov 2018 09:41:41 +0000 (10:41 +0100)
Inclusive and exclusives scan are missing because older chips
don't have llvm.amdgcn.update.dpp.

This fixes crashes with dEQP-VK.subgroups.arithmetic.*.

CC: mesa-stable@lists.freedesktop.org
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_device.c

index d68111c25bf7dc89bad91df811d37e388df0feed..92254bed2e111352201c5adcd9cd8c056851f72e 100644 (file)
@@ -1058,12 +1058,12 @@ void radv_GetPhysicalDeviceProperties2(
                         * is fixed in LLVM.
                         */
                        properties->supportedOperations =
-                                                       VK_SUBGROUP_FEATURE_ARITHMETIC_BIT |
                                                        VK_SUBGROUP_FEATURE_BASIC_BIT |
                                                        VK_SUBGROUP_FEATURE_BALLOT_BIT |
                                                        VK_SUBGROUP_FEATURE_QUAD_BIT;
                        if (pdevice->rad_info.chip_class >= VI) {
                                properties->supportedOperations |=
+                                                       VK_SUBGROUP_FEATURE_ARITHMETIC_BIT |
                                                        VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
                                                        VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT;
                        }