From 62006c2f96a158500f636d470bfa313837897d4b Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Fri, 17 Nov 2023 10:54:55 -0600 Subject: [PATCH] nvk: Advertise the rest of the subgroup ops Part-of: --- src/nouveau/vulkan/nvk_physical_device.c | 6 +++++- src/nouveau/vulkan/nvk_shader.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/nouveau/vulkan/nvk_physical_device.c b/src/nouveau/vulkan/nvk_physical_device.c index 05596d001b7..bad5a5aeeca 100644 --- a/src/nouveau/vulkan/nvk_physical_device.c +++ b/src/nouveau/vulkan/nvk_physical_device.c @@ -542,9 +542,13 @@ nvk_get_device_properties(const struct nvk_instance *instance, /* Vulkan 1.1 properties */ .subgroupSize = 32, .subgroupSupportedStages = nvk_nak_stages(info), - .subgroupSupportedOperations = VK_SUBGROUP_FEATURE_BALLOT_BIT | + .subgroupSupportedOperations = VK_SUBGROUP_FEATURE_ARITHMETIC_BIT | + VK_SUBGROUP_FEATURE_BALLOT_BIT | VK_SUBGROUP_FEATURE_BASIC_BIT | + VK_SUBGROUP_FEATURE_CLUSTERED_BIT | + VK_SUBGROUP_FEATURE_QUAD_BIT | VK_SUBGROUP_FEATURE_SHUFFLE_BIT | + VK_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT | VK_SUBGROUP_FEATURE_VOTE_BIT, .subgroupQuadOperationsInAllStages = false, .pointClippingBehavior = VK_POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY, diff --git a/src/nouveau/vulkan/nvk_shader.c b/src/nouveau/vulkan/nvk_shader.c index ea39de37a36..8e09eee10e7 100644 --- a/src/nouveau/vulkan/nvk_shader.c +++ b/src/nouveau/vulkan/nvk_shader.c @@ -141,8 +141,10 @@ nvk_physical_device_spirv_options(const struct nvk_physical_device *pdev, .runtime_descriptor_array = true, .shader_clock = true, .shader_viewport_index_layer = true, + .subgroup_arithmetic = true, .subgroup_ballot = true, .subgroup_basic = true, + .subgroup_quad = true, .subgroup_shuffle = true, .subgroup_vote = true, .tessellation = true,