================ @@ -2015,6 +2015,13 @@ _HLSL_AVAILABILITY(shadermodel, 6.0) _HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_is_first_lane) __attribute__((convergent)) bool WaveIsFirstLane(); +// \brief Returns the value of the expression for the given lane index within +// the specified wave. +template <typename T> +_HLSL_AVAILABILITY(shadermodel, 6.0) +_HLSL_BUILTIN_ALIAS(__builtin_hlsl_wave_read_lane_at) + __attribute__((convergent)) T WaveReadLaneAt(T, int32_t); ---------------- llvm-beanz wrote:
> Fwiw, this is also true for the `select` intrinsic and we use the arbitrary > type template. `select` is a little different, there are two overloads of it, one for numeric types and one for samplers. Really it should have worked with any type, but gen_intrin_main isn't expressive enough. https://github.com/llvm/llvm-project/pull/111010 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits