@@ -28,80 +28,80 @@ T subgroupExclusiveAdd(T value) {
2828
2929template<typename T>
3030T subgroupMul (T value) {
31- return spirv::groupMul (3 , 0 , value);
31+ return spirv::groupMul (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
3232}
3333template<typename T>
3434T subgroupInclusiveMul (T value) {
35- return spirv::groupMul (3 , 1 , value);
35+ return spirv::groupMul (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
3636}
3737template<typename T>
3838T subgroupExclusiveMul (T value) {
39- return spirv::groupMul (3 , 2 , value);
39+ return spirv::groupMul (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
4040}
4141
4242template<typename T>
4343T subgroupAnd (T value) {
44- return spirv::groupBitwiseAnd (3 , 0 , value);
44+ return spirv::groupBitwiseAnd (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
4545}
4646template<typename T>
4747T subgroupInclusiveAnd (T value) {
48- return spirv::groupBitwiseAnd (3 , 1 , value);
48+ return spirv::groupBitwiseAnd (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
4949}
5050template<typename T>
5151T subgroupExclusiveAnd (T value) {
52- return spirv::groupBitwiseAnd (3 , 2 , value);
52+ return spirv::groupBitwiseAnd (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
5353}
5454
5555template<typename T>
5656T subgroupOr (T value) {
57- return spirv::groupBitwiseOr (3 , 0 , value);
57+ return spirv::groupBitwiseOr (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
5858}
5959template<typename T>
6060T subgroupInclusiveOr (T value) {
61- return spirv::groupBitwiseOr (3 , 1 , value);
61+ return spirv::groupBitwiseOr (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
6262}
6363template<typename T>
6464T subgroupExclusiveOr (T value) {
65- return spirv::groupBitwiseOr (3 , 2 , value);
65+ return spirv::groupBitwiseOr (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
6666}
6767
6868template<typename T>
6969T subgroupXor (T value) {
70- return spirv::groupBitwiseXor (3 , 0 , value);
70+ return spirv::groupBitwiseXor (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
7171}
7272template<typename T>
7373T subgroupInclusiveXor (T value) {
74- return spirv::groupBitwiseXor (3 , 1 , value);
74+ return spirv::groupBitwiseXor (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
7575}
7676template<typename T>
7777T subgroupExclusiveXor (T value) {
78- return spirv::groupBitwiseXor (3 , 2 , value);
78+ return spirv::groupBitwiseXor (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
7979}
8080
8181template<typename T>
8282T subgroupMin (T value) {
83- return spirv::groupBitwiseMin (3 , 0 , value);
83+ return spirv::groupBitwiseMin (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
8484}
8585template<typename T>
8686T subgroupInclusiveMin (T value) {
87- return spirv::groupBitwiseMin (3 , 1 , value);
87+ return spirv::groupBitwiseMin (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
8888}
8989template<typename T>
9090T subgroupExclusiveMin (T value) {
91- return spirv::groupBitwiseMin (3 , 2 , value);
91+ return spirv::groupBitwiseMin (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
9292}
9393
9494template<typename T>
9595T subgroupMax (T value) {
96- return spirv::groupBitwiseMax (3 , 0 , value);
96+ return spirv::groupBitwiseMax (spv::ScopeSubgroup, spv::GroupOperationReduce , value);
9797}
9898template<typename T>
9999T subgroupInclusiveMax (T value) {
100- return spirv::groupBitwiseMax (3 , 1 , value);
100+ return spirv::groupBitwiseMax (spv::ScopeSubgroup, spv::GroupOperationInclusiveScan , value);
101101}
102102template<typename T>
103103T subgroupExclusiveMax (T value) {
104- return spirv::groupBitwiseMax (3 , 2 , value);
104+ return spirv::groupBitwiseMax (spv::ScopeSubgroup, spv::GroupOperationExclusiveScan , value);
105105}
106106
107107}
0 commit comments