次の方法で共有


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 つから書き込むことができます。 ピクセル シェーダー ステージから読み取ることができます。 詳細については、「可変レート シェーディング」を参照してください。