@@ -2396,6 +2396,105 @@ __attribute__((convergent)) double3 WaveReadLaneAt(double3, int32_t);
23962396_HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_read_lane_at)
23972397__attribute__((convergent)) double4 WaveReadLaneAt(double4, int32_t );
23982398
2399+ // ===----------------------------------------------------------------------===//
2400+ // WaveActiveSum builtins
2401+ // ===----------------------------------------------------------------------===//
2402+
2403+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2404+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2405+ __attribute((convergent)) half WaveActiveSum(half);
2406+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2407+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2408+ __attribute((convergent)) half2 WaveActiveSum(half2);
2409+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2410+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2411+ __attribute((convergent)) half3 WaveActiveSum(half3);
2412+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2413+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2414+ __attribute((convergent)) half4 WaveActiveSum(half4);
2415+
2416+ #ifdef __HLSL_ENABLE_16_BIT
2417+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2418+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2419+ __attribute((convergent)) int16_t WaveActiveSum(int16_t );
2420+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2421+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2422+ __attribute((convergent)) int16_t2 WaveActiveSum(int16_t2);
2423+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2424+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2425+ __attribute((convergent)) int16_t3 WaveActiveSum(int16_t3);
2426+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2427+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2428+ __attribute((convergent)) int16_t4 WaveActiveSum(int16_t4);
2429+
2430+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2431+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2432+ __attribute((convergent)) uint16_t WaveActiveSum(uint16_t );
2433+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2434+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2435+ __attribute((convergent)) uint16_t2 WaveActiveSum(uint16_t2);
2436+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2437+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2438+ __attribute((convergent)) uint16_t3 WaveActiveSum(uint16_t3);
2439+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2440+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2441+ __attribute((convergent)) uint16_t4 WaveActiveSum(uint16_t4);
2442+ #endif
2443+
2444+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2445+ __attribute((convergent)) int WaveActiveSum(int );
2446+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2447+ __attribute((convergent)) int2 WaveActiveSum(int2);
2448+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2449+ __attribute((convergent)) int3 WaveActiveSum(int3);
2450+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2451+ __attribute((convergent)) int4 WaveActiveSum(int4);
2452+
2453+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2454+ __attribute((convergent)) uint WaveActiveSum(uint);
2455+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2456+ __attribute((convergent)) uint2 WaveActiveSum(uint2);
2457+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2458+ __attribute((convergent)) uint3 WaveActiveSum(uint3);
2459+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2460+ __attribute((convergent)) uint4 WaveActiveSum(uint4);
2461+
2462+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2463+ __attribute((convergent)) int64_t WaveActiveSum(int64_t );
2464+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2465+ __attribute((convergent)) int64_t2 WaveActiveSum(int64_t2);
2466+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2467+ __attribute((convergent)) int64_t3 WaveActiveSum(int64_t3);
2468+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2469+ __attribute((convergent)) int64_t4 WaveActiveSum(int64_t4);
2470+
2471+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2472+ __attribute((convergent)) uint64_t WaveActiveSum(uint64_t );
2473+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2474+ __attribute((convergent)) uint64_t2 WaveActiveSum(uint64_t2);
2475+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2476+ __attribute((convergent)) uint64_t3 WaveActiveSum(uint64_t3);
2477+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2478+ __attribute((convergent)) uint64_t4 WaveActiveSum(uint64_t4);
2479+
2480+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2481+ __attribute((convergent)) float WaveActiveSum(float );
2482+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2483+ __attribute((convergent)) float2 WaveActiveSum(float2);
2484+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2485+ __attribute((convergent)) float3 WaveActiveSum(float3);
2486+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2487+ __attribute((convergent)) float4 WaveActiveSum(float4);
2488+
2489+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2490+ __attribute((convergent)) double WaveActiveSum(double );
2491+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2492+ __attribute((convergent)) double2 WaveActiveSum(double2);
2493+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2494+ __attribute((convergent)) double3 WaveActiveSum(double3);
2495+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2496+ __attribute((convergent)) double4 WaveActiveSum(double4);
2497+
23992498// ===----------------------------------------------------------------------===//
24002499// sign builtins
24012500// ===----------------------------------------------------------------------===//
0 commit comments