HLSL シェーダー モデル 6.4
HLSL シェーダー モデル 6.4 に追加された機械学習組み込み関数について説明します。
シェーダー モデル 6.4
これらの組み込み関数は、シェーダー モデル 6.4 の必須/サポートされる機能です。 そのため、シェーダー モデル 6.4 の使用を保証する以外に、個別の機能ビット チェックは必要ありません。 これらのルーチンでサポートされる最小クライアントは、Windows 10 バージョン 1903 です。
シェーディング言語の組み込み関数
4 つの要素の符号なし整数 Dot-Product と累積
uint32 dot4add_u8packed(uint32 a, uint32 b, uint32 acc); // ubyte4 a, b;
add を含む 4 次元符号なし整数ドット積。 2 つの入力 DWORD の符号なし 8 ビット int バイトの対応する各ペアを乗算し、結果を 32 ビット符号なし整数アキュムレータに合計します。 この命令は、32 ビット幅の単一 SIMD レーン内で動作します。 入力も 32 ビットの量と見なされます。
4 要素の符号付き整数 Dot-Product と累積
int32 dot4add_i8packed(uint32 a, uint32 b, int32 acc); // signed byte4 a, b;
add を含む 4 次元符号付き整数ドット積。 2 つの入力 DWORD の符号付き 8 ビット int バイトの対応する各ペアを乗算し、結果を 32 ビット符号付き整数アキュムレータに合計します。 この命令は、32 ビット幅の単一 SIMD レーン内で動作します。 入力も 32 ビットの量と見なされます。
単精度浮動小数点 2 要素 Dot-Product および累積
float dot2add( half2 a, half2 b, float acc );
加算を含む half2 ベクトルの 2 次元浮動小数点ドット積。 2 つの半精度浮動小数点入力ベクトルの要素を乗算し、結果を 32 ビット浮動小数点アキュムレータに合計します。 この命令は、32 ビット幅の単一 SIMD レーン内で動作します。 入力は、同じレーンにパックされた 16 ビットの量です。
これは、精度の低い機能ビット (ネイティブの半分と短いサポートが存在することを示します) で説明します。
SV_ShadingRate
uint shadingRate : SV_ShadingRate
ピクセル シェーダーの呼び出しごとに書き込まれるターゲット ピクセルの数を表す符号なし整数。 有効な値は、D3D12_SHADING_RATE列挙値のセットに属します。
このシステム値は、D3D12_VARIABLE_SHADING_RATE_TIER_2 以上のプラットフォームで使用できます。 これは、頂点シェーダー またはジオメトリ シェーダー ステージの 1 つから書き込むことができます。 ピクセル シェーダー ステージから読み取ることができます。 詳細については、「可変レート シェーディング」を参照してください。