summaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2018-05-30 08:50:03 +0200
committerBas Nieuwenhuizen <[email protected]>2018-05-30 13:49:46 +0200
commitc2799574eb104218ac4f6b8a3d64b8a0f8c89525 (patch)
treef83a901f53ae632179f5112882e135efb8090e77 /src/amd
parent02c7916298e8e29b130735bd30e97c57d40a197f (diff)
radv: Only expose subgroup shuffles on VI+.
The current implementation depends on bpermute, which is VI+. Fixes: f2c6a550611 "radv: enable subgroup capabilities" Reviewed-by: Daniel Schürmann <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/vulkan/radv_device.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 61b4fba23f8..93b6e611067 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -963,9 +963,12 @@ void radv_GetPhysicalDeviceProperties2(
VK_SUBGROUP_FEATURE_BASIC_BIT |
VK_SUBGROUP_FEATURE_BALLOT_BIT |
VK_SUBGROUP_FEATURE_QUAD_BIT |
- VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
- VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT |
VK_SUBGROUP_FEATURE_VOTE_BIT;
+ if (pdevice->rad_info.chip_class >= VI) {
+ properties->supportedOperations |=
+ VK_SUBGROUP_FEATURE_SHUFFLE_BIT |
+ VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT;
+ }
properties->quadOperationsInAllStages = true;
break;
}