Shader Model 6

Shader model 6.0 adds a range of wave operation intrinsics for the pixel and compute shaders.

In this section

Topic Description
QuadReadAccrossDiagonal
Returns the specified local value which is read from the diagonally opposite lane in this quad.
QuadReadLaneAt
Returns the specified source value from the lane identified by the lane ID within the current quad.
QuadReadAccrossX
Returns the specified local value read from the other lane in this quad in the X direction.
QuadReadAccrossY
Returns the specified source value read from the other lane in this quad in the Y direction.
WaveActiveAllEqual
Returns true if the expression is the same for every active lane in the current wave (and thus uniform across it).
WaveActiveBitAnd
Returns the bitwise AND of all the values of the expression across all active lanes in the current wave and replicates it back to all active lanes.
WaveActiveBitOr
Returns the bitwise OR of all the values of the expression across all active lanes in the current wave and replicates it back to all active lanes.
WaveActiveBitXor
Returns the bitwise XOR of all the values of the expression across all active lanes in the current wave and replicates it back to all active lanes.
WaveActiveCountBits
Counts the number of boolean variables which evaluate to true across all active lanes in the current wave, and replicates the result to all lanes in the wave.
WaveActiveMax
Returns the maximum value of the expression across all active lanes in the current wave and replicates it back to all active lanes.
WaveActiveMin
Returns the minimum value of the expression across all active lanes in the current wave replicates it back to all active lanes.
WaveActiveProduct
Multiplies the values of the expression together across all active lanes in the current wave and replicates it back to all active lanes.
WaveActiveSum
Sums up the value of the expression across all active lanes in the current wave and replicates it to all lanes in the current wave.
WaveActiveAllTrue
Returns true if the expression is true in all active lanes in the current wave.
WaveActiveAnyTrue
Returns true if the expression is true in any of the active lanes in the current wave.
WaveActiveBallot
Returns a 4-bit unsigned integer bitmask of the evaluation of the Boolean expression for all active lanes in the specified wave.
WaveGetLaneCount
Returns the number of lanes in a wave on this architecture.
WaveGetLaneIndex
Returns the index of the current lane within the current wave.
WaveIsFirstLane
Returns true only for the active lane in the current wave with the smallest index.
WavePrefixCountBits
Returns the sum of all the specified boolean variables set to true across all active lanes with indices smaller than the current lane.
WavePrefixProduct
Returns the product of all of the values in the active lanes in this wave with indices less than this lane.
WavePrefixSum
Returns the sum of all of the values in the active lanes with smaller indices than this one.
WaveReadLaneFirst
Returns the value of the expression for the active lane of the current wave with the smallest index.
WaveReadLaneAt
Returns the value of the expression for the given lane index within the specified wave.

Overview of Shader Model 6

Shader Models vs Shader Profiles