shader: share scalar condition results with direct subgroup votes

Co-authored-by: fxpw <fxpw@outlook.com>
This commit is contained in:
nmzikandfxpw committed 2026-10-15 22:28:01 +02:00
1 parent 50844badbf
commit bb2d6dbeb3
7 files changed
+109 -18

No files matched your search

@@ -764,13 +764,17 @@ void DefineModule(EmitterState& state) {
state.builder.RequireCapability(spv::CapabilityImageGatherExtended);
}
if (state.lane_count == 2 || state.program.info.subgroup_barrier ||
state.program.info.subgroup_ballot || state.program.info.subgroup_shuffle ||
state.program.info.subgroup_ballot || state.program.info.subgroup_vote ||
state.program.info.subgroup_shuffle ||
state.program.info.subgroup_arithmetic || state.program.info.subgroup_local_invocation_id) {
state.builder.RequireCapability(spv::CapabilityGroupNonUniform);
}
if (state.lane_count == 2 || state.program.info.subgroup_ballot) {
state.builder.RequireCapability(spv::CapabilityGroupNonUniformBallot);
}
if (state.program.info.subgroup_vote) {
state.builder.RequireCapability(spv::CapabilityGroupNonUniformVote);
}
if (state.program.info.subgroup_shuffle) {
state.builder.RequireCapability(spv::CapabilityGroupNonUniformShuffle);
}