--- 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.