Share via


WGF11 ストリームアウト

この自動テストでは、グラフィックス ドライバーまたはハードウェアの D3D ストリームアウト動作が Microsoft Direct3D の仕様を満たしていることを検証します。

このトピックは次のテスト ジョブに適用されます。

  • WGF11 ストリームアウト

  • WGF11 ストリームアウト (WoW64)

テストの詳細

   
仕様
  • Device.Graphics.AdapterRender.D3D111Core.D3D111CorePrimary
  • Device.Graphics.AdapterRender.D3D11Core.D3D11CorePrimary
  • Device.Graphics.AdapterRender.D3D101Core.D3D101CorePrimary
  • Device.Graphics.AdapterRender.D3D10Core.D3D10CorePrimary
プラットフォーム
  • Windows 10、クライアント エディション (x86)
  • Windows 10、クライアント エディション (x64)
  • Windows Server 2016 (x64)
  • Windows 10、クライアント エディション (Arm64)
サポートされているリリース
  • Windows 10
  • Windows 10 バージョン 1511
  • Windows 10 Version 1607
  • Windows 10 Version 1703
  • Windows 10 バージョン 1709
  • Windows 10 バージョン 1803
  • Windows 10 Version 1809
  • Windows 10 バージョン 1903
  • Windows 10 への次の更新プログラム
予想される実行時間 (分) 2
カテゴリ 互換性
タイムアウト (分) 120
再起動が必要です false
特別な構成が必要です false
Type automatic

 

その他のドキュメント

この機能領域のテストには、前提条件、セットアップ、トラブルシューティング情報など、次のトピックに記載されている追加のドキュメントが含まれている場合があります。

テストの実行

テストを実行する前に、「グラフィック アダプターまたはチップセットのテストの前提条件に関するページ」で説明されているテスト要件に従って、テストのセットアップを完了します。

トラブルシューティング

HLK テスト エラーの一般的なトラブルシューティングについては、「Windows HLK テストのエラーのトラブルシューティング」を参照してください。

トラブルシューティング情報については、「Device.Graphics テストのトラブルシューティング」を参照してください。

すべてのテスト ケースで合格または不合格が返されます。 特定のエラーの詳細については、ログ ファイル内のテスト結果を確認してください。 テスト対象の機能をサポートしない機能レベルで実行すると、テストで SKIP が返される場合があります。 キャッチされない例外がある場合は、テストで BLOCKED が返される場合があります (フレームワークにより最後にキャッチされログに記録されます)。 テストの詳細を確認するには、Windows HLK Manager のテスト ログを確認します。

詳細

以下に、StreamOut 準拠テスト計画の概要を示します。

  • 一般的なストリームアウト テスト ケース

    • 入力データを VB を使用してパイプラインに渡し、変換されたデータを VS または GS からストリームアウトします。

      Note

         GS の場合は、入力プリミティブごとに複数の出力プリミティブを生成することで、増幅の問題を検討します。

       

    • 異なるプリミティブ型、バッファー サイズ、生成回数、vand バッファー オフセットで循環します。

    • 複数の Draw() 呼び出しを行い、SO データの追加をテストします。

    • GS の場合は、異なる "maxvertexcount" プロパティを持つシェーダーで循環します。

      場合によっては、この値をオーバーフローして、完全なプリミティブのみが保持されるようにします。

    • 異なる入力プリミティブ型と出力トポロジで循環する可能性があります。

    • 期待されるクエリ結果を確認します。

      • STREAMOUTPUTSTATS

      • STREAMOVERFLOWPREDICATE

    • 不完全なプリミティブ書き込みをテストします。

    • 回転順序と先頭頂点の処理をテストします。

    • SO バッファーあたり最大 227 個の SO 頂点を使用できます。

      Note

         これは非常に大きなリソースであるため、これが機能するのは、おそらく 1 つまたは 2 つのテスト ケースに対してのみです。

       

  • 単純な単一バッファー テスト

    • 複数の宣言シナリオでの循環:

      • シンプル。

      • ギャップは残しておきます。

      • 出力レジスタを複数の SO 要素に分割します。

      • 出力レジスタを単一の SO 要素にマージします。

    • 異なる SO 頂点サイズで循環します。

      64 コンポーネントの SO 頂点の制限を検証します。

  • 単純な複数バッファー テスト

    • バッファーのサイズとオフセットを混在させて、バッファーが異なるタイミングでオーバーフローするようにします。

    • 複数の宣言シナリオでの循環:

      • シンプル。

      • 出力スロットをスキップします。

      • 出力レジスタを複数の SO 要素に分割します。

      • 部分レジスタ コンポーネントをストリームアウトします。

      • 0 以外のスロットで単一のバッファーにストリームアウトします。

  • ストリーム出力バッファーのピンポン処理

    • 単純な単一バッファー テストと単純な複数バッファー テストに似ていますが、少し工夫されています。

      • 最初に、バッファー A と B を正のオフセットでバインドします。

      • -1 のオフセット値を使用してバッファー A をバインドします。

      • Draw()

      • -1 のオフセット値を使用してバッファー B をバインドします。

      • Draw()

      • 必要に応じて繰り返します。

    • 複数バッファーのシナリオでは、必要に応じて、Draw() 呼び出し間で一部の SO バッファーだけをピンポン処理することを検討してください。

  • 同じターゲット バッファーを使用した SO 頂点サイズの変更

    • "太い" 頂点ストライドを単一のバッファーに設定してから、Draw() を実行し、次に "細い" SO 頂点ストライドを設定してから Draw() を再度実行することに焦点を当てたカスタム テスト ケース。

    • STREAMOUTPUTSTATS を調べます。

    • "太い" 頂点のストリーミング中にオーバーフローを監視し、細い頂点をターゲットに追加できないようにします。

      Note

         この手順では、必ずオーバーフローした状態がバッファーに "固定" されるように、ピンポン処理を検討してください。

       

  • アドレス指定可能なストリーム出力 (D3D11)

    RasterizedStream とデータの 複数のベクターをテストします。

    • ラスタライザーにストリームを送信する場合は、必ず、最終的な結果でそのストリームの頂点データが使用されるようにします。

    • gs_4_x シェーダーを使用する場合でも、必ず、機能レベル 11 のストリームからデータの複数のベクターを出力できるようにします。

    • ストリーム出力バッファー内の要素のサイズに厳密に整合されていないストライドをテストします。

    • ストリーム出力宣言を使用して計算されたサイズに基づいてランタイムがストライドを決定する場合に、ストリーム出力が機能することを検証します。 ランタイムは、作成コマンド呼び出しのストライド パラメーターが両方とも NULL の場合にこれを実行します。

  • 機能レベルとクエリ動作をテストします。

    • 機能レベル 10 と 10.1 を使用する場合は、必ず、ストリーム 0 のみをストリーム出力に使用できるようにします。

    • 機能レベル 10 と 10.1 を使用する場合は、必ず、gs_4_x シェーダーのみを使用できるようにします。 複数のバッファーが使用されている場合は、必ず、ストリーム 0 から出力できるデータのベクターは 1 つだけにします。

    • D3D11_QUERY_SO_STATISTICS クエリと D3D11_QUERY_SO_OVERFLOW_PREDICATE クエリは、すべてのストリームの合計に対して正しいデータを返す必要があります。 D3D11_QUERY_SO_STATISTICS_STREAMn クエリと D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAMn クエリは、各ストリームに対して正しいデータを返します。 現在、単一ストリームのケースに対応するテスト ケースがあります。 次のものが検証されます。

      • ストリーム出力バッファーに書き込まれるプリミティブの予想される数。

      • プリミティブの予想されるサイズ (すべてバッファーに出力される場合)。

      • オーバーフロー述語は、あるバッファーへの書き込み時に、そのバッファーがオーバーフローするとトリガーされます。

      • ストリーム内の 1 つのバッファーが満たされると、そのストリーム内のすべてのバッファーへの書き込みができなくなります。

      • 未定義のストリームに対するクエリの結果は影響を受けません。

コマンド構文

コマンド オプション 説明

Wgf11streamout

テストを実行します。 オプションを指定しない場合、テストではデバイスが列挙されます。

-FeatureLevel:XX.X

テストされた機能レベルを設定します。ここで、XX.X は、テストを実行する機能レベル (10.0、10.1、または 11.0) です。

Note

   このテスト バイナリのコマンド ライン ヘルプを表示するには、「/?」と入力します。

 

ファイル一覧

ファイル 場所

Configdisplay.exe

<[testbinroot]>\nttest\windowstest\tools\

D3d11_1sdklayers.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

D3d11ref.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

D3d11sdklayers.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

D3dcompiler_test.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support

D3dx10_test.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

d3dx11_test.dll

<[testbinroot]>\nttest\windowstest\graphics\d3d\support\

TDRWatch.exe

<[testbinroot]>\nttest\windowstest\graphics\

Wgf11streamout.exe

<[testbinroot]>\nttest\windowstest\graphics\d3d\conf

 

パラメーター

パラメーター名 パラメーターの説明
MODIFIEDCMDLINE テスト実行可能ファイルの追加のコマンド ライン引数
LLU_NetAccessOnly net user の LLU 名
ConfigDisplayCommandLine ConfigDisplay のカスタム コマンド ライン。 既定値: logo
TDRArgs /get または /set