Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
All non-quad-related wave intrinsics are available in all shader stages. In shader model 6.0, quad wave intrinsics are available in pixel and compute shaders, but the quad layout in compute shaders isn't defined. Shader model 6.6 defines the quad layout for compute shaders and adds support for quad wave intrinsics in amplification and mesh 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 and 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 uint4 containing a bitmask of the evaluation of the Boolean expression for all active lanes in the current 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. |