Shader Model 6
All non-quad related Wave Intrinsics are available in all shader stages. Quad wave intrinsics are available only in pixel and compute shaders.
In this section
Topic | Description |
---|---|
QuadReadAcrossDiagonal |
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. |
QuadReadAcrossX |
Returns the specified local value read from the other lane in this quad in the X direction. |
QuadReadAcrossY |
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. |