@@ -2067,6 +2067,105 @@ _HLSL_AVAILABILITY(shadermodel, 6.0)
20672067_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_is_first_lane)
20682068__attribute__((convergent)) bool WaveIsFirstLane();
20692069
2070+ // ===----------------------------------------------------------------------===//
2071+ // WaveActiveSum builtins
2072+ // ===----------------------------------------------------------------------===//
2073+
2074+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2075+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2076+ __attribute((convergent)) half WaveActiveSum(half);
2077+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2078+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2079+ __attribute((convergent)) half2 WaveActiveSum(half2);
2080+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2081+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2082+ __attribute((convergent)) half3 WaveActiveSum(half3);
2083+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2084+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2085+ __attribute((convergent)) half4 WaveActiveSum(half4);
2086+
2087+ #ifdef __HLSL_ENABLE_16_BIT
2088+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2089+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2090+ __attribute((convergent)) int16_t WaveActiveSum(int16_t );
2091+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2092+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2093+ __attribute((convergent)) int16_t2 WaveActiveSum(int16_t2);
2094+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2095+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2096+ __attribute((convergent)) int16_t3 WaveActiveSum(int16_t3);
2097+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2098+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2099+ __attribute((convergent)) int16_t4 WaveActiveSum(int16_t4);
2100+
2101+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2102+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2103+ __attribute((convergent)) uint16_t WaveActiveSum(uint16_t );
2104+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2105+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2106+ __attribute((convergent)) uint16_t2 WaveActiveSum(uint16_t2);
2107+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2108+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2109+ __attribute((convergent)) uint16_t3 WaveActiveSum(uint16_t3);
2110+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2111+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_active_sum)
2112+ __attribute((convergent)) uint16_t4 WaveActiveSum(uint16_t4);
2113+ #endif
2114+
2115+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2116+ __attribute((convergent)) int WaveActiveSum(int );
2117+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2118+ __attribute((convergent)) int2 WaveActiveSum(int2);
2119+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2120+ __attribute((convergent)) int3 WaveActiveSum(int3);
2121+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2122+ __attribute((convergent)) int4 WaveActiveSum(int4);
2123+
2124+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2125+ __attribute((convergent)) uint WaveActiveSum(uint);
2126+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2127+ __attribute((convergent)) uint2 WaveActiveSum(uint2);
2128+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2129+ __attribute((convergent)) uint3 WaveActiveSum(uint3);
2130+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2131+ __attribute((convergent)) uint4 WaveActiveSum(uint4);
2132+
2133+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2134+ __attribute((convergent)) int64_t WaveActiveSum(int64_t );
2135+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2136+ __attribute((convergent)) int64_t2 WaveActiveSum(int64_t2);
2137+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2138+ __attribute((convergent)) int64_t3 WaveActiveSum(int64_t3);
2139+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2140+ __attribute((convergent)) int64_t4 WaveActiveSum(int64_t4);
2141+
2142+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2143+ __attribute((convergent)) uint64_t WaveActiveSum(uint64_t );
2144+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2145+ __attribute((convergent)) uint64_t2 WaveActiveSum(uint64_t2);
2146+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2147+ __attribute((convergent)) uint64_t3 WaveActiveSum(uint64_t3);
2148+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2149+ __attribute((convergent)) uint64_t4 WaveActiveSum(uint64_t4);
2150+
2151+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2152+ __attribute((convergent)) float WaveActiveSum(float );
2153+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2154+ __attribute((convergent)) float2 WaveActiveSum(float2);
2155+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2156+ __attribute((convergent)) float3 WaveActiveSum(float3);
2157+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2158+ __attribute((convergent)) float4 WaveActiveSum(float4);
2159+
2160+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2161+ __attribute((convergent)) double WaveActiveSum(double );
2162+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2163+ __attribute((convergent)) double2 WaveActiveSum(double2);
2164+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2165+ __attribute((convergent)) double3 WaveActiveSum(double3);
2166+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
2167+ __attribute((convergent)) double4 WaveActiveSum(double4);
2168+
20702169// ===----------------------------------------------------------------------===//
20712170// sign builtins
20722171// ===----------------------------------------------------------------------===//
0 commit comments