From 9d2aa67c473f9830cbb581926bb995c0b2581833 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 25 Jul 2019 00:00:37 -0500 Subject: [PATCH] anv: Disable subgroup arithmetic on gen7 Reviewed-by: Lionel Landwerlin --- src/intel/vulkan/anv_device.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 217a779..f37435f 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -1580,13 +1580,20 @@ void anv_GetPhysicalDeviceProperties2( properties->supportedOperations = VK_SUBGROUP_FEATURE_BASIC_BIT | VK_SUBGROUP_FEATURE_VOTE_BIT | - VK_SUBGROUP_FEATURE_ARITHMETIC_BIT | VK_SUBGROUP_FEATURE_BALLOT_BIT | VK_SUBGROUP_FEATURE_SHUFFLE_BIT | VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT | - VK_SUBGROUP_FEATURE_CLUSTERED_BIT | VK_SUBGROUP_FEATURE_QUAD_BIT; - properties->quadOperationsInAllStages = true; + if (pdevice->info.gen >= 8) { + /* TODO: There's no technical reason why these can't be made to + * work on gen7 but they don't at the moment so it's best to leave + * the feature disabled than enabled and broken. + */ + properties->supportedOperations |= + VK_SUBGROUP_FEATURE_ARITHMETIC_BIT | + VK_SUBGROUP_FEATURE_CLUSTERED_BIT; + } + properties->quadOperationsInAllStages = pdevice->info.gen >= 8; break; } -- 2.7.4