--- layout: stdlib-reference --- # WaveShuffle ## Description ## Signature
/// Requires Capability Set 1:
T WaveShuffle<T>(
    T value,
    int lane)
    where T : __BuiltinType;

/// Requires Capability Set 1:
vector<T, N> WaveShuffle<T, N:int>(
    vector<T, N> value,
    int lane)
    where T : __BuiltinType;

/// Requires Capability Set 2:
matrix<T, N, M> WaveShuffle<T, N:int, M:int>(
    matrix<T, N, M> value,
    int lane)
    where T : __BuiltinType;

## Generic Parameters #### T: \_\_BuiltinType #### N : int #### M : int ## Parameters #### value : [T](waveshuffle-04.html#typeparam-T) #### lane : int #### value : [vector](../types/vector/index.html)\<[T](../types/vector/index.html#typeparam-T), [N](../types/vector/index.html#decl-N)\> #### value : [matrix](../types/matrix/index.html)\<[T](../types/matrix/t-0.html), [N](../types/matrix/index.html#decl-N), [M](../types/matrix/index.html#decl-M)\> ## Availability and Requirements ### Capability Set 1 Defined for the following targets: #### hlsl Available in all stages. #### glsl Available in all stages. #### cuda Available in all stages. #### metal Available in all stages. #### wgsl Available in all stages. #### spirv Available in all stages. Requires capability: `spvGroupNonUniformShuffle`. ### Capability Set 2 Defined for the following targets: #### hlsl Available in all stages. #### cuda Available in all stages.