@@ -28,80 +28,80 @@ T subgroupExclusiveAdd(T value) {
28
28
29
29
template<typename T>
30
30
T subgroupMul (T value) {
31
- return spirv::groupMul (3 , 0 , value);
31
+ return spirv::groupMul (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
32
32
}
33
33
template<typename T>
34
34
T subgroupInclusiveMul (T value) {
35
- return spirv::groupMul (3 , 1 , value);
35
+ return spirv::groupMul (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
36
36
}
37
37
template<typename T>
38
38
T subgroupExclusiveMul (T value) {
39
- return spirv::groupMul (3 , 2 , value);
39
+ return spirv::groupMul (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
40
40
}
41
41
42
42
template<typename T>
43
43
T subgroupAnd (T value) {
44
- return spirv::groupBitwiseAnd (3 , 0 , value);
44
+ return spirv::groupBitwiseAnd (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
45
45
}
46
46
template<typename T>
47
47
T subgroupInclusiveAnd (T value) {
48
- return spirv::groupBitwiseAnd (3 , 1 , value);
48
+ return spirv::groupBitwiseAnd (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
49
49
}
50
50
template<typename T>
51
51
T subgroupExclusiveAnd (T value) {
52
- return spirv::groupBitwiseAnd (3 , 2 , value);
52
+ return spirv::groupBitwiseAnd (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
53
53
}
54
54
55
55
template<typename T>
56
56
T subgroupOr (T value) {
57
- return spirv::groupBitwiseOr (3 , 0 , value);
57
+ return spirv::groupBitwiseOr (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
58
58
}
59
59
template<typename T>
60
60
T subgroupInclusiveOr (T value) {
61
- return spirv::groupBitwiseOr (3 , 1 , value);
61
+ return spirv::groupBitwiseOr (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
62
62
}
63
63
template<typename T>
64
64
T subgroupExclusiveOr (T value) {
65
- return spirv::groupBitwiseOr (3 , 2 , value);
65
+ return spirv::groupBitwiseOr (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
66
66
}
67
67
68
68
template<typename T>
69
69
T subgroupXor (T value) {
70
- return spirv::groupBitwiseXor (3 , 0 , value);
70
+ return spirv::groupBitwiseXor (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
71
71
}
72
72
template<typename T>
73
73
T subgroupInclusiveXor (T value) {
74
- return spirv::groupBitwiseXor (3 , 1 , value);
74
+ return spirv::groupBitwiseXor (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
75
75
}
76
76
template<typename T>
77
77
T subgroupExclusiveXor (T value) {
78
- return spirv::groupBitwiseXor (3 , 2 , value);
78
+ return spirv::groupBitwiseXor (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
79
79
}
80
80
81
81
template<typename T>
82
82
T subgroupMin (T value) {
83
- return spirv::groupBitwiseMin (3 , 0 , value);
83
+ return spirv::groupBitwiseMin (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
84
84
}
85
85
template<typename T>
86
86
T subgroupInclusiveMin (T value) {
87
- return spirv::groupBitwiseMin (3 , 1 , value);
87
+ return spirv::groupBitwiseMin (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
88
88
}
89
89
template<typename T>
90
90
T subgroupExclusiveMin (T value) {
91
- return spirv::groupBitwiseMin (3 , 2 , value);
91
+ return spirv::groupBitwiseMin (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
92
92
}
93
93
94
94
template<typename T>
95
95
T subgroupMax (T value) {
96
- return spirv::groupBitwiseMax (3 , 0 , value);
96
+ return spirv::groupBitwiseMax (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
97
97
}
98
98
template<typename T>
99
99
T subgroupInclusiveMax (T value) {
100
- return spirv::groupBitwiseMax (3 , 1 , value);
100
+ return spirv::groupBitwiseMax (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
101
101
}
102
102
template<typename T>
103
103
T subgroupExclusiveMax (T value) {
104
- return spirv::groupBitwiseMax (3 , 2 , value);
104
+ return spirv::groupBitwiseMax (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
105
105
}
106
106
107
107
}
0 commit comments