@@ -38,27 +38,6 @@ __clc__get_group_scratch_float() __asm("__clc__get_group_scratch_float");
38
38
__local double *
39
39
__clc__get_group_scratch_double () __asm("__clc__get_group_scratch_double" );
40
40
41
- #define __CLC_DECLARE_SHUFFLES (TYPE , TYPE_MANGLED ) \
42
- _CLC_DECL TYPE _Z28__spirv_SubgroupShuffleINTELI##TYPE_MANGLED##ET_S0_j( \
43
- TYPE, int); \
44
- _CLC_DECL TYPE \
45
- _Z30__spirv_SubgroupShuffleUpINTELI##TYPE_MANGLED##ET_S0_S0_j( \
46
- TYPE, TYPE, unsigned int);
47
-
48
- __CLC_DECLARE_SHUFFLES (char , a );
49
- __CLC_DECLARE_SHUFFLES (unsigned char , h );
50
- __CLC_DECLARE_SHUFFLES (short , s );
51
- __CLC_DECLARE_SHUFFLES (unsigned short, t );
52
- __CLC_DECLARE_SHUFFLES (int , i );
53
- __CLC_DECLARE_SHUFFLES (unsigned int , j );
54
- __CLC_DECLARE_SHUFFLES (half , DF16_ );
55
- __CLC_DECLARE_SHUFFLES (float , f );
56
- __CLC_DECLARE_SHUFFLES (long , l );
57
- __CLC_DECLARE_SHUFFLES (unsigned long, m );
58
- __CLC_DECLARE_SHUFFLES (double , d );
59
-
60
- #undef __CLC_DECLARE_SHUFFLES
61
-
62
41
#define __CLC_APPEND (NAME , SUFFIX ) NAME##SUFFIX
63
42
64
43
#define __CLC_ADD (x , y ) (x + y)
@@ -71,22 +50,19 @@ __CLC_DECLARE_SHUFFLES(double, d);
71
50
#define __CLC_LOGICAL_OR (x , y ) (x || y)
72
51
#define __CLC_LOGICAL_AND (x , y ) (x && y)
73
52
74
- #define __CLC_SUBGROUP_COLLECTIVE_BODY (OP , TYPE , TYPE_MANGLED , IDENTITY ) \
53
+ #define __CLC_SUBGROUP_COLLECTIVE_BODY (OP , TYPE , IDENTITY ) \
75
54
uint sg_lid = __spirv_SubgroupLocalInvocationId(); \
76
55
/* Can't use XOR/butterfly shuffles; some lanes may be inactive */ \
77
56
for (int o = 1 ; o < __spirv_SubgroupMaxSize (); o *= 2 ) { \
78
- TYPE contribution = \
79
- _Z30__spirv_SubgroupShuffleUpINTELI ##TYPE_MANGLED ##ET_S0_S0_j(x, x, \
80
- o); \
57
+ TYPE contribution = __spirv_SubgroupShuffleUpINTEL (x , x , o ); \
81
58
bool inactive = (sg_lid < o ); \
82
59
contribution = (inactive ) ? IDENTITY : contribution ; \
83
60
x = OP (x , contribution ); \
84
61
} \
85
62
/* For Reduce, broadcast result from highest active lane */ \
86
63
TYPE result ; \
87
64
if (op == Reduce ) { \
88
- result = _Z28__spirv_SubgroupShuffleINTELI ##TYPE_MANGLED ##ET_S0_j( \
89
- x, __spirv_SubgroupSize() - 1); \
65
+ result = __spirv_SubgroupShuffleINTEL (x , __spirv_SubgroupSize () - 1 ); \
90
66
* carry = result ; \
91
67
} /* For InclusiveScan, use results as computed */ \
92
68
else if (op == InclusiveScan ) { \
@@ -95,101 +71,100 @@ __CLC_DECLARE_SHUFFLES(double, d);
95
71
} /* For ExclusiveScan, shift and prepend identity */ \
96
72
else if (op == ExclusiveScan ) { \
97
73
* carry = x ; \
98
- result = _Z30__spirv_SubgroupShuffleUpINTELI ##TYPE_MANGLED ##ET_S0_S0_j( \
99
- x, x, 1); \
74
+ result = __spirv_SubgroupShuffleUpINTEL (x , x , 1 ); \
100
75
if (sg_lid == 0 ) { \
101
76
result = IDENTITY ; \
102
77
} \
103
78
} \
104
79
return result ;
105
80
106
- #define __CLC_SUBGROUP_COLLECTIVE (NAME , OP , TYPE , TYPE_MANGLED , IDENTITY ) \
81
+ #define __CLC_SUBGROUP_COLLECTIVE (NAME , OP , TYPE , IDENTITY ) \
107
82
_CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __CLC_APPEND( \
108
83
__clc__Subgroup, NAME)(uint op, TYPE x, TYPE * carry) { \
109
- __CLC_SUBGROUP_COLLECTIVE_BODY(OP, TYPE, TYPE_MANGLED, IDENTITY) \
84
+ __CLC_SUBGROUP_COLLECTIVE_BODY(OP, TYPE, IDENTITY) \
110
85
}
111
86
112
- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , char , a , 0 )
113
- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , uchar , h , 0 )
114
- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , short , s , 0 )
115
- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , ushort , t , 0 )
116
- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , int , i , 0 )
117
- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , uint , j , 0 )
118
- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , long , l , 0 )
119
- __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , ulong , m , 0 )
120
- __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , half , DF16_ , 0 )
121
- __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , float , f , 0 )
122
- __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , double , d , 0 )
123
-
124
- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , char , a , 1 )
125
- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , uchar , h , 1 )
126
- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , short , s , 1 )
127
- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , ushort , t , 1 )
128
- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , int , i , 1 )
129
- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , uint , j , 1 )
130
- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , long , l , 1 )
131
- __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , ulong , m , 1 )
132
- __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , half , DF16_ , 1 )
133
- __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , float , f , 1 )
134
- __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , double , d , 1 )
135
-
136
- __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , char , a , CHAR_MAX )
137
- __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , uchar , h , UCHAR_MAX )
138
- __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , short , s , SHRT_MAX )
139
- __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , ushort , t , USHRT_MAX )
140
- __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , int , i , INT_MAX )
141
- __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , uint , j , UINT_MAX )
142
- __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , long , l , LONG_MAX )
143
- __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , ulong , m , ULONG_MAX )
144
- __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , half , DF16_ , INFINITY )
145
- __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , float , f , INFINITY )
146
- __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , double , d , INFINITY )
147
-
148
- __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , char , a , CHAR_MIN )
149
- __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , uchar , h , 0 )
150
- __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , short , s , SHRT_MIN )
151
- __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , ushort , t , 0 )
152
- __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , int , i , INT_MIN )
153
- __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , uint , j , 0 )
154
- __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , long , l , LONG_MIN )
155
- __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , ulong , m , 0 )
156
- __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , half , DF16_ , - INFINITY )
157
- __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , float , f , - INFINITY )
158
- __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , double , d , - INFINITY )
159
-
160
- __CLC_SUBGROUP_COLLECTIVE (All , __CLC_AND , bool , a , true)
161
- __CLC_SUBGROUP_COLLECTIVE (Any , __CLC_OR , bool , a , false)
162
-
163
- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , uchar , h , ~0 )
164
- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , uchar , h , 0 )
165
- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , uchar , h , 0 )
166
- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , char , a , ~0 )
167
- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , char , a , 0 )
168
- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , char , a , 0 )
169
-
170
- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , ushort , t , ~0 )
171
- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , ushort , t , 0 )
172
- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , ushort , t , 0 )
173
- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , short , s , ~0 )
174
- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , short , s , 0 )
175
- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , short , s , 0 )
176
-
177
- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , uint , j , ~0 )
178
- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , uint , j , 0 )
179
- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , uint , j , 0 )
180
- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , int , i , ~0 )
181
- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , int , i , 0 )
182
- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , int , i , 0 )
183
-
184
- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , ulong , m , ~0l )
185
- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , ulong , m , 0l )
186
- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , ulong , m , 0l )
187
- __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , long , l , ~0l )
188
- __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , long , l , 0l )
189
- __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , long , l , 0l )
190
-
191
- __CLC_SUBGROUP_COLLECTIVE (LogicalOrKHR , __CLC_LOGICAL_OR , bool , a , false)
192
- __CLC_SUBGROUP_COLLECTIVE (LogicalAndKHR , __CLC_LOGICAL_AND , bool , a , true)
87
+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , char , 0 )
88
+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , uchar , 0 )
89
+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , short , 0 )
90
+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , ushort , 0 )
91
+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , int , 0 )
92
+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , uint , 0 )
93
+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , long , 0 )
94
+ __CLC_SUBGROUP_COLLECTIVE (IAdd , __CLC_ADD , ulong , 0 )
95
+ __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , half , 0 )
96
+ __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , float , 0 )
97
+ __CLC_SUBGROUP_COLLECTIVE (FAdd , __CLC_ADD , double , 0 )
98
+
99
+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , char , 1 )
100
+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , uchar , 1 )
101
+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , short , 1 )
102
+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , ushort , 1 )
103
+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , int , 1 )
104
+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , uint , 1 )
105
+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , long , 1 )
106
+ __CLC_SUBGROUP_COLLECTIVE (IMulKHR , __CLC_MUL , ulong , 1 )
107
+ __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , half , 1 )
108
+ __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , float , 1 )
109
+ __CLC_SUBGROUP_COLLECTIVE (FMulKHR , __CLC_MUL , double , 1 )
110
+
111
+ __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , char , CHAR_MAX )
112
+ __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , uchar , UCHAR_MAX )
113
+ __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , short , SHRT_MAX )
114
+ __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , ushort , USHRT_MAX )
115
+ __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , int , INT_MAX )
116
+ __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , uint , UINT_MAX )
117
+ __CLC_SUBGROUP_COLLECTIVE (SMin , __CLC_MIN , long , LONG_MAX )
118
+ __CLC_SUBGROUP_COLLECTIVE (UMin , __CLC_MIN , ulong , ULONG_MAX )
119
+ __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , half , INFINITY )
120
+ __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , float , INFINITY )
121
+ __CLC_SUBGROUP_COLLECTIVE (FMin , __CLC_MIN , double , INFINITY )
122
+
123
+ __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , char , CHAR_MIN )
124
+ __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , uchar , 0 )
125
+ __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , short , SHRT_MIN )
126
+ __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , ushort , 0 )
127
+ __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , int , INT_MIN )
128
+ __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , uint , 0 )
129
+ __CLC_SUBGROUP_COLLECTIVE (SMax , __CLC_MAX , long , LONG_MIN )
130
+ __CLC_SUBGROUP_COLLECTIVE (UMax , __CLC_MAX , ulong , 0 )
131
+ __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , half , - INFINITY )
132
+ __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , float , - INFINITY )
133
+ __CLC_SUBGROUP_COLLECTIVE (FMax , __CLC_MAX , double , - INFINITY )
134
+
135
+ __CLC_SUBGROUP_COLLECTIVE (All , __CLC_AND , bool , true)
136
+ __CLC_SUBGROUP_COLLECTIVE (Any , __CLC_OR , bool , false)
137
+
138
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , uchar , ~0 )
139
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , uchar , 0 )
140
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , uchar , 0 )
141
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , char , ~0 )
142
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , char , 0 )
143
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , char , 0 )
144
+
145
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , ushort , ~0 )
146
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , ushort , 0 )
147
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , ushort , 0 )
148
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , short , ~0 )
149
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , short , 0 )
150
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , short , 0 )
151
+
152
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , uint , ~0 )
153
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , uint , 0 )
154
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , uint , 0 )
155
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , int , ~0 )
156
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , int , 0 )
157
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , int , 0 )
158
+
159
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , ulong , ~0l )
160
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , ulong , 0l )
161
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , ulong , 0l )
162
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseAndKHR , __CLC_AND , long , ~0l )
163
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseOrKHR , __CLC_OR , long , 0l )
164
+ __CLC_SUBGROUP_COLLECTIVE (BitwiseXorKHR , __CLC_XOR , long , 0l )
165
+
166
+ __CLC_SUBGROUP_COLLECTIVE (LogicalOrKHR , __CLC_LOGICAL_OR , bool , false)
167
+ __CLC_SUBGROUP_COLLECTIVE (LogicalAndKHR , __CLC_LOGICAL_AND , bool , true)
193
168
194
169
#undef __CLC_SUBGROUP_COLLECTIVE_BODY
195
170
#undef __CLC_SUBGROUP_COLLECTIVE
@@ -380,10 +355,9 @@ long __clc__3d_to_linear_local_id(ulong3 id) {
380
355
381
356
#define __CLC_GROUP_BROADCAST (TYPE , TYPE_MANGLED ) \
382
357
_CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __spirv_GroupBroadcast( \
383
- int scope, TYPE x, ulong local_id) { \
358
+ int scope, TYPE x, ulong local_id) { \
384
359
if (scope == Subgroup) { \
385
- return _Z28__spirv_SubgroupShuffleINTELI##TYPE_MANGLED##ET_S0_j( \
386
- x, local_id); \
360
+ return __spirv_SubgroupShuffleINTEL(x, local_id); \
387
361
} \
388
362
bool source = (__spirv_LocalInvocationIndex() == local_id); \
389
363
__local TYPE *scratch = __CLC_APPEND(__clc__get_group_scratch_, TYPE)(); \
@@ -396,17 +370,17 @@ long __clc__3d_to_linear_local_id(ulong3 id) {
396
370
return result; \
397
371
} \
398
372
_CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __spirv_GroupBroadcast( \
399
- int scope, TYPE x, ulong2 local_id) { \
373
+ int scope, TYPE x, ulong2 local_id) { \
400
374
ulong linear_local_id = __clc__2d_to_linear_local_id(local_id); \
401
375
return __spirv_GroupBroadcast(scope, x, linear_local_id); \
402
376
} \
403
377
_CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __spirv_GroupBroadcast( \
404
- int scope, TYPE x, ulong3 local_id) { \
378
+ int scope, TYPE x, ulong3 local_id) { \
405
379
ulong linear_local_id = __clc__3d_to_linear_local_id(local_id); \
406
380
return __spirv_GroupBroadcast(scope, x, linear_local_id); \
407
381
} \
408
382
_CLC_DEF _CLC_OVERLOAD _CLC_CONVERGENT TYPE __spirv_GroupBroadcast( \
409
- int scope, TYPE x, uint local_id) { \
383
+ int scope, TYPE x, uint local_id) { \
410
384
return __spirv_GroupBroadcast(scope, x, (ulong)local_id); \
411
385
}
412
386
__CLC_GROUP_BROADCAST (char , a );
0 commit comments