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,