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