@@ -2468,6 +2468,105 @@ __attribute__((convergent)) double3 WaveReadLaneAt(double3, int32_t);
24682468_HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_read_lane_at)
24692469__attribute__((convergent)) double4 WaveReadLaneAt(double4, int32_t );
24702470
2471+ // ===----------------------------------------------------------------------===//
2472+ // WaveActiveSum builtins
2473+ // ===----------------------------------------------------------------------===//
2474+
2475+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2476+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2477+ __attribute__((convergent)) half WaveActiveSum(half);
2478+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2479+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2480+ __attribute__((convergent)) half2 WaveActiveSum(half2);
2481+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2482+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2483+ __attribute__((convergent)) half3 WaveActiveSum(half3);
2484+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2485+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2486+ __attribute__((convergent)) half4 WaveActiveSum(half4);
2487+
2488+ #ifdef __HLSL_ENABLE_16_BIT
2489+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2490+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2491+ __attribute__((convergent)) int16_t WaveActiveSum(int16_t );
2492+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2493+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2494+ __attribute__((convergent)) int16_t2 WaveActiveSum(int16_t2);
2495+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2496+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2497+ __attribute__((convergent)) int16_t3 WaveActiveSum(int16_t3);
2498+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2499+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2500+ __attribute__((convergent)) int16_t4 WaveActiveSum(int16_t4);
2501+
2502+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2503+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2504+ __attribute__((convergent)) uint16_t WaveActiveSum(uint16_t );
2505+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2506+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2507+ __attribute__((convergent)) uint16_t2 WaveActiveSum(uint16_t2);
2508+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2509+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2510+ __attribute__((convergent)) uint16_t3 WaveActiveSum(uint16_t3);
2511+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2512+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2513+ __attribute__((convergent)) uint16_t4 WaveActiveSum(uint16_t4);
2514+ #endif
2515+
2516+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2517+ __attribute__((convergent)) int WaveActiveSum(int );
2518+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2519+ __attribute__((convergent)) int2 WaveActiveSum(int2);
2520+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2521+ __attribute__((convergent)) int3 WaveActiveSum(int3);
2522+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2523+ __attribute__((convergent)) int4 WaveActiveSum(int4);
2524+
2525+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2526+ __attribute__((convergent)) uint WaveActiveSum(uint);
2527+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2528+ __attribute__((convergent)) uint2 WaveActiveSum(uint2);
2529+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2530+ __attribute__((convergent)) uint3 WaveActiveSum(uint3);
2531+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2532+ __attribute__((convergent)) uint4 WaveActiveSum(uint4);
2533+
2534+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2535+ __attribute__((convergent)) int64_t WaveActiveSum(int64_t );
2536+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2537+ __attribute__((convergent)) int64_t2 WaveActiveSum(int64_t2);
2538+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2539+ __attribute__((convergent)) int64_t3 WaveActiveSum(int64_t3);
2540+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2541+ __attribute__((convergent)) int64_t4 WaveActiveSum(int64_t4);
2542+
2543+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2544+ __attribute__((convergent)) uint64_t WaveActiveSum(uint64_t );
2545+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2546+ __attribute__((convergent)) uint64_t2 WaveActiveSum(uint64_t2);
2547+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2548+ __attribute__((convergent)) uint64_t3 WaveActiveSum(uint64_t3);
2549+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2550+ __attribute__((convergent)) uint64_t4 WaveActiveSum(uint64_t4);
2551+
2552+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2553+ __attribute__((convergent)) float WaveActiveSum(float );
2554+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2555+ __attribute__((convergent)) float2 WaveActiveSum(float2);
2556+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2557+ __attribute__((convergent)) float3 WaveActiveSum(float3);
2558+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2559+ __attribute__((convergent)) float4 WaveActiveSum(float4);
2560+
2561+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2562+ __attribute__((convergent)) double WaveActiveSum(double );
2563+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2564+ __attribute__((convergent)) double2 WaveActiveSum(double2);
2565+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2566+ __attribute__((convergent)) double3 WaveActiveSum(double3);
2567+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2568+ __attribute__((convergent)) double4 WaveActiveSum(double4);
2569+
24712570// ===----------------------------------------------------------------------===//
24722571// sign builtins
24732572// ===----------------------------------------------------------------------===//
0 commit comments