[vulkan, spirv] Fall back to scalar warp intrinsics in the geometry stage when unsupported

This commit is contained in:
PavelBARABANOV
2026-08-31 02:26:30 +03:00
parent 106a61c943
commit cfb243159d
6 changed files with 91 additions and 7 deletions
@@ -440,7 +440,8 @@ void SetupCapabilities(const Profile& profile, const Info& info, EmitContext& ct
}
if ((info.uses_subgroup_vote || info.uses_subgroup_invocation_id ||
info.uses_subgroup_shuffles) &&
profile.support_vote && profile.SupportsSubgroupStage(ctx.stage)) {
profile.support_vote &&
(ctx.stage != Stage::Geometry || profile.support_subgroup_in_geometry_stage)) {
ctx.AddCapability(spv::Capability::GroupNonUniformBallot);
ctx.AddCapability(spv::Capability::GroupNonUniformShuffle);
if (!profile.warp_size_potentially_larger_than_guest) {