@@ -2217,6 +2217,105 @@ __attribute__((convergent)) double3 WaveReadLaneAt(double3, int32_t);
22172217_HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_read_lane_at)
22182218__attribute__((convergent)) double4 WaveReadLaneAt(double4, int32_t );
22192219
2220+ // ===----------------------------------------------------------------------===//
2221+ // WaveActiveSum builtins
2222+ // ===----------------------------------------------------------------------===//
2223+
2224+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2225+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2226+ __attribute((convergent)) half WaveActiveSum(half);
2227+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2228+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2229+ __attribute((convergent)) half2 WaveActiveSum(half2);
2230+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2231+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2232+ __attribute((convergent)) half3 WaveActiveSum(half3);
2233+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2234+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2235+ __attribute((convergent)) half4 WaveActiveSum(half4);
2236+
2237+ #ifdef __HLSL_ENABLE_16_BIT
2238+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2239+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2240+ __attribute((convergent)) int16_t WaveActiveSum(int16_t );
2241+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2242+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2243+ __attribute((convergent)) int16_t2 WaveActiveSum(int16_t2);
2244+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2245+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2246+ __attribute((convergent)) int16_t3 WaveActiveSum(int16_t3);
2247+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2248+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2249+ __attribute((convergent)) int16_t4 WaveActiveSum(int16_t4);
2250+
2251+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2252+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2253+ __attribute((convergent)) uint16_t WaveActiveSum(uint16_t );
2254+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2255+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2256+ __attribute((convergent)) uint16_t2 WaveActiveSum(uint16_t2);
2257+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2258+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2259+ __attribute((convergent)) uint16_t3 WaveActiveSum(uint16_t3);
2260+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2261+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2262+ __attribute((convergent)) uint16_t4 WaveActiveSum(uint16_t4);
2263+ #endif
2264+
2265+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2266+ __attribute((convergent)) int WaveActiveSum(int );
2267+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2268+ __attribute((convergent)) int2 WaveActiveSum(int2);
2269+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2270+ __attribute((convergent)) int3 WaveActiveSum(int3);
2271+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2272+ __attribute((convergent)) int4 WaveActiveSum(int4);
2273+
2274+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2275+ __attribute((convergent)) uint WaveActiveSum(uint);
2276+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2277+ __attribute((convergent)) uint2 WaveActiveSum(uint2);
2278+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2279+ __attribute((convergent)) uint3 WaveActiveSum(uint3);
2280+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2281+ __attribute((convergent)) uint4 WaveActiveSum(uint4);
2282+
2283+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2284+ __attribute((convergent)) int64_t WaveActiveSum(int64_t );
2285+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2286+ __attribute((convergent)) int64_t2 WaveActiveSum(int64_t2);
2287+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2288+ __attribute((convergent)) int64_t3 WaveActiveSum(int64_t3);
2289+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2290+ __attribute((convergent)) int64_t4 WaveActiveSum(int64_t4);
2291+
2292+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2293+ __attribute((convergent)) uint64_t WaveActiveSum(uint64_t );
2294+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2295+ __attribute((convergent)) uint64_t2 WaveActiveSum(uint64_t2);
2296+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2297+ __attribute((convergent)) uint64_t3 WaveActiveSum(uint64_t3);
2298+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2299+ __attribute((convergent)) uint64_t4 WaveActiveSum(uint64_t4);
2300+
2301+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2302+ __attribute((convergent)) float WaveActiveSum(float );
2303+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2304+ __attribute((convergent)) float2 WaveActiveSum(float2);
2305+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2306+ __attribute((convergent)) float3 WaveActiveSum(float3);
2307+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2308+ __attribute((convergent)) float4 WaveActiveSum(float4);
2309+
2310+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2311+ __attribute((convergent)) double WaveActiveSum(double );
2312+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2313+ __attribute((convergent)) double2 WaveActiveSum(double2);
2314+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2315+ __attribute((convergent)) double3 WaveActiveSum(double3);
2316+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2317+ __attribute((convergent)) double4 WaveActiveSum(double4);
2318+
22202319// ===----------------------------------------------------------------------===//
22212320// sign builtins
22222321// ===----------------------------------------------------------------------===//
0 commit comments