Another try

This commit is contained in:
CamilleLaVey
2026-07-02 00:39:32 -04:00
committed by crueter
parent 7a3ab68439
commit bcaeece578
2 changed files with 3 additions and 1 deletions
@@ -447,6 +447,7 @@ void SetupCapabilities(const Profile& profile, const Info& info, EmitContext& ct
}
if (info.uses_quad_shuffles && profile.support_quad_shuffles) {
ctx.AddCapability(spv::Capability::GroupNonUniformQuad);
ctx.AddCapability(spv::Capability::GroupNonUniformShuffle);
}
if (info.uses_int64_bit_atomics && profile.support_int64_atomics) {
ctx.AddCapability(spv::Capability::Int64Atomics);
@@ -228,7 +228,8 @@ Id EmitQuadBroadcast(EmitContext& ctx, Id value, Id lane) {
}
Id EmitQuadSwap(EmitContext& ctx, Id value, Id direction) {
return ctx.OpGroupNonUniformQuadSwap(ctx.U32[1], SubgroupScope(ctx), value, direction);
const Id xor_mask{ctx.OpIAdd(ctx.U32[1], direction, ctx.Const(1u))};
return ctx.OpGroupNonUniformShuffleXor(ctx.U32[1], SubgroupScope(ctx), value, xor_mask);
}
Id EmitFSwizzleAdd(EmitContext& ctx, Id op_a, Id op_b, Id swizzle) {