diff --git a/wgpu-hal/src/vulkan/adapter.rs b/wgpu-hal/src/vulkan/adapter.rs index 95d74ef9ed..ad42b068e0 100644 --- a/wgpu-hal/src/vulkan/adapter.rs +++ b/wgpu-hal/src/vulkan/adapter.rs @@ -453,7 +453,7 @@ impl PhysicalDeviceFeatures { { Some( vk::PhysicalDeviceSubgroupSizeControlFeatures::builder() - .subgroup_size_control(true) + .subgroup_size_control(requested_features.contains(wgt::Features::SUBGROUP)) .build(), ) } else { @@ -952,8 +952,8 @@ impl PhysicalDeviceProperties { extensions.push(vk::ExtImageRobustnessFn::name()); } - // Require `VK_EXT_subgroup_size_control` if it is available - if self.supports_extension(vk::ExtSubgroupSizeControlFn::name()) { + // Require `VK_EXT_subgroup_size_control` if the associated feature was requested + if requested_features.contains(wgt::Features::SUBGROUP) { extensions.push(vk::ExtSubgroupSizeControlFn::name()); } }