@@ -2358,6 +2358,105 @@ __attribute__((convergent)) double3 WaveReadLaneAt(double3, int32_t);
23582358_HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_read_lane_at)
23592359__attribute__((convergent)) double4 WaveReadLaneAt(double4, int32_t );
23602360
2361+ // ===----------------------------------------------------------------------===//
2362+ // WaveActiveSum builtins
2363+ // ===----------------------------------------------------------------------===//
2364+
2365+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2366+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2367+ __attribute((convergent)) half WaveActiveSum(half);
2368+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2369+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2370+ __attribute((convergent)) half2 WaveActiveSum(half2);
2371+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2372+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2373+ __attribute((convergent)) half3 WaveActiveSum(half3);
2374+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2375+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2376+ __attribute((convergent)) half4 WaveActiveSum(half4);
2377+
2378+ #ifdef __HLSL_ENABLE_16_BIT
2379+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2380+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2381+ __attribute((convergent)) int16_t WaveActiveSum(int16_t );
2382+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2383+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2384+ __attribute((convergent)) int16_t2 WaveActiveSum(int16_t2);
2385+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2386+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2387+ __attribute((convergent)) int16_t3 WaveActiveSum(int16_t3);
2388+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2389+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2390+ __attribute((convergent)) int16_t4 WaveActiveSum(int16_t4);
2391+
2392+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2393+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2394+ __attribute((convergent)) uint16_t WaveActiveSum(uint16_t );
2395+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2396+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2397+ __attribute((convergent)) uint16_t2 WaveActiveSum(uint16_t2);
2398+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2399+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2400+ __attribute((convergent)) uint16_t3 WaveActiveSum(uint16_t3);
2401+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2402+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2403+ __attribute((convergent)) uint16_t4 WaveActiveSum(uint16_t4);
2404+ #endif
2405+
2406+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2407+ __attribute((convergent)) int WaveActiveSum(int );
2408+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2409+ __attribute((convergent)) int2 WaveActiveSum(int2);
2410+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2411+ __attribute((convergent)) int3 WaveActiveSum(int3);
2412+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2413+ __attribute((convergent)) int4 WaveActiveSum(int4);
2414+
2415+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2416+ __attribute((convergent)) uint WaveActiveSum(uint);
2417+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2418+ __attribute((convergent)) uint2 WaveActiveSum(uint2);
2419+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2420+ __attribute((convergent)) uint3 WaveActiveSum(uint3);
2421+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2422+ __attribute((convergent)) uint4 WaveActiveSum(uint4);
2423+
2424+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2425+ __attribute((convergent)) int64_t WaveActiveSum(int64_t );
2426+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2427+ __attribute((convergent)) int64_t2 WaveActiveSum(int64_t2);
2428+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2429+ __attribute((convergent)) int64_t3 WaveActiveSum(int64_t3);
2430+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2431+ __attribute((convergent)) int64_t4 WaveActiveSum(int64_t4);
2432+
2433+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2434+ __attribute((convergent)) uint64_t WaveActiveSum(uint64_t );
2435+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2436+ __attribute((convergent)) uint64_t2 WaveActiveSum(uint64_t2);
2437+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2438+ __attribute((convergent)) uint64_t3 WaveActiveSum(uint64_t3);
2439+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2440+ __attribute((convergent)) uint64_t4 WaveActiveSum(uint64_t4);
2441+
2442+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2443+ __attribute((convergent)) float WaveActiveSum(float );
2444+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2445+ __attribute((convergent)) float2 WaveActiveSum(float2);
2446+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2447+ __attribute((convergent)) float3 WaveActiveSum(float3);
2448+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2449+ __attribute((convergent)) float4 WaveActiveSum(float4);
2450+
2451+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2452+ __attribute((convergent)) double WaveActiveSum(double );
2453+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2454+ __attribute((convergent)) double2 WaveActiveSum(double2);
2455+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2456+ __attribute((convergent)) double3 WaveActiveSum(double3);
2457+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2458+ __attribute((convergent)) double4 WaveActiveSum(double4);
2459+
23612460// ===----------------------------------------------------------------------===//
23622461// sign builtins
23632462// ===----------------------------------------------------------------------===//
0 commit comments