シェーダー モデル 6

クワッドに関連しないすべてのウェーブ組み込み関数は、すべてのシェーダー ステージで使用できます。 シェーダー モデル 6.0 では、クワッドウェーブ組み込み関数はピクセル シェーダーとコンピューティング シェーダーで使用できますが、計算シェーダーのクワッド レイアウトは定義されていません。 シェーダー モデル 6.6 では、計算シェーダーのクワッド レイアウトを定義し、増幅シェーダーとメッシュ シェーダーでクワッドウェーブ組み込みのサポートを追加します。

このセクションでは、次の操作を行います。

話題 形容
QuadReadAcrossDiagonal
このクワッド内の斜め反対側のレーンから読み取られた、指定されたローカル値を返します。
QuadReadLaneAt
現在のクワッド内のレーン ID で識別されるレーンから、指定したソース値を返します。
QuadReadAcrossX
このクワッド内の他のレーンから X 方向に読み取られた、指定されたローカル値を返します。
QuadReadAcrossY
このクワッド内の他のレーンから Y 方向に読み取られた指定されたソース値を返します。
WaveActiveAllEqual
式が現在のウェーブ内のすべてのアクティブレーンで同じ (したがって、その間で均一である) 場合は true を返します。
WaveActiveBitAnd
現在のウェーブ内のすべてのアクティブなレーンにわたって式のすべての値のビットごとの AND を返し、すべてのアクティブなレーンにレプリケートします。
WaveActiveBitOr
現在のウェーブ内のすべてのアクティブ レーンにわたって式のすべての値のビットごとの OR を返し、すべてのアクティブなレーンにレプリケートします。
WaveActiveBitXor
現在のウェーブ内のすべてのアクティブ レーンにわたって式のすべての値のビットごとの XOR を返し、すべてのアクティブなレーンにレプリケートします。
WaveActiveCountBits
現在のウェーブ内のすべてのアクティブレーンで true と評価されるブール変数の数をカウントし、ウェーブ内のすべてのレーンに結果をレプリケートします。
WaveActiveMax
現在のウェーブ内のすべてのアクティブなレーンにわたって式の最大値を返し、すべてのアクティブなレーンにレプリケートします。
WaveActiveMin
現在のウェーブ内のすべてのアクティブなレーンにわたって式の最小値を返し、すべてのアクティブなレーンにレプリケートします。
WaveActiveProduct
式の値を現在のウェーブ内のすべてのアクティブ レーンに乗算し、すべてのアクティブレーンにレプリケートします。
WaveActiveSum
現在のウェーブ内のすべてのアクティブなレーンにわたって式の値を合計し、現在のウェーブ内のすべてのレーンにレプリケートします。
WaveActiveAllTrue
現在のウェーブ内のすべてのアクティブなレーンで式が true の場合は true を返します。
WaveActiveAnyTrue
現在のウェーブ内のアクティブなレーンのいずれかで式が true の場合は true を返します。
WaveActiveBallot
現在のウェーブ内のすべてのアクティブレーンのブール式の評価のビットマスクを含む uint4 を返します。
WaveGetLaneCount
このアーキテクチャのウェーブ内のレーンの数を返します。
WaveGetLaneIndex
現在のウェーブ内の現在のレーンのインデックスを返します。
WaveIsFirstLane
インデックスが最も小さい現在のウェーブ内のアクティブレーンに対してのみ true を返します。
WavePrefixCountBits
現在のレーンより小さいインデックスを持つすべてのアクティブレーンで true に設定されたすべての指定されたブール変数の合計を返します。
WavePrefixProduct
このレーンより小さいインデックスを持つ、このウェーブ内のアクティブなレーン内のすべての値の積を返します。
WavePrefixSum
アクティブ レーン内のすべての値の合計を、この値より小さいインデックスで返します。
WaveReadLaneFirst
インデックスが最も小さい現在のウェーブのアクティブ レーンの式の値を返します。
WaveReadLaneAt
指定したウェーブ内の指定されたレーン インデックスの式の値を返します。

シェーダー モデル 6 の概要

シェーダー モデルとシェーダー プロファイル