@@ -2802,6 +2802,105 @@ __attribute__((convergent)) double3 WaveActiveSum(double3);
28022802_HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_active_sum)
28032803__attribute__((convergent)) double4 WaveActiveSum(double4);
28042804
2805+ // ===----------------------------------------------------------------------===//
2806+ // WavePrefixSum builtins
2807+ // ===----------------------------------------------------------------------===//
2808+
2809+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2810+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2811+ __attribute__((convergent)) half WavePrefixSum(half);
2812+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2813+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2814+ __attribute__((convergent)) half2 WavePrefixSum(half2);
2815+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2816+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2817+ __attribute__((convergent)) half3 WavePrefixSum(half3);
2818+ _HLSL_16BIT_AVAILABILITY (shadermodel, 6.0 )
2819+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2820+ __attribute__((convergent)) half4 WavePrefixSum(half4);
2821+
2822+ #ifdef __HLSL_ENABLE_16_BIT
2823+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2824+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2825+ __attribute__((convergent)) int16_t WavePrefixSum(int16_t );
2826+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2827+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2828+ __attribute__((convergent)) int16_t2 WavePrefixSum(int16_t2);
2829+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2830+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2831+ __attribute__((convergent)) int16_t3 WavePrefixSum(int16_t3);
2832+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2833+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2834+ __attribute__((convergent)) int16_t4 WavePrefixSum(int16_t4);
2835+
2836+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2837+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2838+ __attribute__((convergent)) uint16_t WavePrefixSum(uint16_t );
2839+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2840+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2841+ __attribute__((convergent)) uint16_t2 WavePrefixSum(uint16_t2);
2842+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2843+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2844+ __attribute__((convergent)) uint16_t3 WavePrefixSum(uint16_t3);
2845+ _HLSL_AVAILABILITY (shadermodel, 6.0 )
2846+ _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_prefix_sum)
2847+ __attribute__((convergent)) uint16_t4 WavePrefixSum(uint16_t4);
2848+ #endif
2849+
2850+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2851+ __attribute__((convergent)) int WavePrefixSum(int );
2852+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2853+ __attribute__((convergent)) int2 WavePrefixSum(int2);
2854+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2855+ __attribute__((convergent)) int3 WavePrefixSum(int3);
2856+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2857+ __attribute__((convergent)) int4 WavePrefixSum(int4);
2858+
2859+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2860+ __attribute__((convergent)) uint WavePrefixSum(uint);
2861+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2862+ __attribute__((convergent)) uint2 WavePrefixSum(uint2);
2863+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2864+ __attribute__((convergent)) uint3 WavePrefixSum(uint3);
2865+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2866+ __attribute__((convergent)) uint4 WavePrefixSum(uint4);
2867+
2868+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2869+ __attribute__((convergent)) int64_t WavePrefixSum(int64_t );
2870+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2871+ __attribute__((convergent)) int64_t2 WavePrefixSum(int64_t2);
2872+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2873+ __attribute__((convergent)) int64_t3 WavePrefixSum(int64_t3);
2874+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2875+ __attribute__((convergent)) int64_t4 WavePrefixSum(int64_t4);
2876+
2877+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2878+ __attribute__((convergent)) uint64_t WavePrefixSum(uint64_t );
2879+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2880+ __attribute__((convergent)) uint64_t2 WavePrefixSum(uint64_t2);
2881+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2882+ __attribute__((convergent)) uint64_t3 WavePrefixSum(uint64_t3);
2883+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2884+ __attribute__((convergent)) uint64_t4 WavePrefixSum(uint64_t4);
2885+
2886+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2887+ __attribute__((convergent)) float WavePrefixSum(float );
2888+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2889+ __attribute__((convergent)) float2 WavePrefixSum(float2);
2890+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2891+ __attribute__((convergent)) float3 WavePrefixSum(float3);
2892+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2893+ __attribute__((convergent)) float4 WavePrefixSum(float4);
2894+
2895+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2896+ __attribute__((convergent)) double WavePrefixSum(double );
2897+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2898+ __attribute__((convergent)) double2 WavePrefixSum(double2);
2899+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2900+ __attribute__((convergent)) double3 WavePrefixSum(double3);
2901+ _HLSL_BUILTIN_ALIAS (__builtin_hlsl_wave_prefix_sum)
2902+ __attribute__((convergent)) double4 WavePrefixSum(double4);
2903+
28052904// ===----------------------------------------------------------------------===//
28062905// sign builtins
28072906// ===----------------------------------------------------------------------===//
0 commit comments