Skip to content

Commit 0b32144

Browse files
Firestar99LegNeato
authored andcommitted
subgroup ops refactor, matches glsl more closely
1 parent 5ec1cc8 commit 0b32144

11 files changed

+486
-1226
lines changed

crates/spirv-std/src/arch/subgroup.rs

+476-1,216
Large diffs are not rendered by default.

tests/ui/arch/subgroup/subgroup_ballot_bit_count.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use spirv_std::arch::{GroupOperation, SubgroupMask};
66
use spirv_std::spirv;
77

88
unsafe fn subgroup_ballot_bit_count(ballot: SubgroupMask) -> u32 {
9-
spirv_std::arch::subgroup_ballot_bit_count::<{ GroupOperation::Reduce as u32 }>(ballot)
9+
spirv_std::arch::subgroup_ballot_bit_count(ballot)
1010
}
1111

1212
#[spirv(compute(threads(1, 1, 1)))]

tests/ui/arch/subgroup/subgroup_ballot_bit_count.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
%1 = OpFunction %2 None %3
22
%4 = OpFunctionParameter %5
33
%6 = OpLabel
4-
OpLine %7 493 8
4+
OpLine %7 513 0
55
%8 = OpGroupNonUniformBallotBitCount %2 %9 Reduce %4
66
OpNoLine
77
OpReturnValue %8

tests/ui/arch/subgroup/subgroup_i_add_clustered.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use spirv_std::arch::{GroupOperation, SubgroupMask};
77
use spirv_std::spirv;
88

99
unsafe fn subgroup_i_add_clustered(value: u32) -> u32 {
10-
spirv_std::arch::subgroup_i_add_clustered::<8, _>(value)
10+
spirv_std::arch::subgroup_clustered_i_add::<8, _>(value)
1111
}
1212

1313
#[spirv(compute(threads(32, 1, 1)))]

tests/ui/arch/subgroup/subgroup_i_add_clustered.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
%1 = OpFunction %2 None %3
22
%4 = OpFunctionParameter %2
33
%5 = OpLabel
4-
OpLine %6 784 8
4+
OpLine %6 811 0
55
%7 = OpGroupNonUniformIAdd %2 %8 ClusteredReduce %4 %9
66
OpNoLine
77
OpReturnValue %7

tests/ui/arch/subgroup/subgroup_i_add_exclusive_scan.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use spirv_std::arch::{GroupOperation, SubgroupMask};
77
use spirv_std::spirv;
88

99
unsafe fn subgroup_i_add_exclusive_scan(value: u32) -> u32 {
10-
spirv_std::arch::subgroup_i_add::<{ GroupOperation::ExclusiveScan as u32 }, _>(value)
10+
spirv_std::arch::subgroup_exclusive_i_add(value)
1111
}
1212

1313
#[spirv(compute(threads(32, 1, 1)))]

tests/ui/arch/subgroup/subgroup_i_add_exclusive_scan.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
%1 = OpFunction %2 None %3
22
%4 = OpFunctionParameter %2
33
%5 = OpLabel
4-
OpLine %6 743 8
4+
OpLine %6 798 0
55
%7 = OpGroupNonUniformIAdd %2 %8 ExclusiveScan %4
66
OpNoLine
77
OpReturnValue %7

tests/ui/arch/subgroup/subgroup_i_add_inclusive_scan.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use spirv_std::arch::{GroupOperation, SubgroupMask};
77
use spirv_std::spirv;
88

99
unsafe fn subgroup_i_add_inclusive_scan(value: u32) -> u32 {
10-
spirv_std::arch::subgroup_i_add::<{ GroupOperation::InclusiveScan as u32 }, _>(value)
10+
spirv_std::arch::subgroup_inclusive_i_add(value)
1111
}
1212

1313
#[spirv(compute(threads(32, 1, 1)))]

tests/ui/arch/subgroup/subgroup_i_add_inclusive_scan.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
%1 = OpFunction %2 None %3
22
%4 = OpFunctionParameter %2
33
%5 = OpLabel
4-
OpLine %6 743 8
4+
OpLine %6 798 0
55
%7 = OpGroupNonUniformIAdd %2 %8 InclusiveScan %4
66
OpNoLine
77
OpReturnValue %7

tests/ui/arch/subgroup/subgroup_i_add_reduce.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use spirv_std::arch::{GroupOperation, SubgroupMask};
77
use spirv_std::spirv;
88

99
unsafe fn subgroup_i_add_reduce(value: u32) -> u32 {
10-
spirv_std::arch::subgroup_i_add::<{ GroupOperation::Reduce as u32 }, _>(value)
10+
spirv_std::arch::subgroup_i_add(value)
1111
}
1212

1313
#[spirv(compute(threads(32, 1, 1)))]

tests/ui/arch/subgroup/subgroup_i_add_reduce.stderr

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
%1 = OpFunction %2 None %3
22
%4 = OpFunctionParameter %2
33
%5 = OpLabel
4-
OpLine %6 743 8
4+
OpLine %6 798 0
55
%7 = OpGroupNonUniformIAdd %2 %8 Reduce %4
66
OpNoLine
77
OpReturnValue %7

0 commit comments

Comments
 (0)