次の方法で共有


D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS構造体 (d3d12sdklayers.h)

GPU-Based 検証で使用される設定について説明します。

構文

typedef struct D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS {
  UINT                                                   MaxMessagesPerCommandList;
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE           DefaultShaderPatchMode;
  D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS PipelineStateCreateFlags;
} D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS;

メンバー

MaxMessagesPerCommandList

GPU-Based 検証メッセージ ログに格納できるメッセージの数を制限する UINT を指定します。 既定値は 256 です。 1 回の Draw/Dispatch 呼び出しで同じエラーを多数生成できるため、この数を増やすと便利な場合があります。 これは、コマンド リストごとにコミットされたメッセージ ログがあるため、多数のコマンド リストが使用される場合、メモリの負担になる可能性があることに注意してください。

DefaultShaderPatchMode

検証コードをシェーダーに挿入するときに GPU-Based 検証が使用する D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE を指定します。ただし、コマンド リストごとの検証設定 GPU-Based オーバーライドされる場合を除きます ( D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGSを参照)。 既定値は D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION です。

PipelineStateCreateFlags

パイプラインの状態にパッチを適用する方法を示す D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS の 1 つ GPU-Based 指定します。 既定値は D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE です。

解説

ID3D12DebugDevice1::SetDebugParameterpData メンバーでこの構造を使用するオブジェクトをポイントして、デバイス全体の GPU-Based 検証設定を構成します。

個々のコマンド リストは、 ID3D12DebugCommandList1::SetDebugParameter を使用して、既定のシェーダー パッチ モードをオーバーライドできます。

要件

   
Header d3d12sdklayers.h (D3d12sdklayers_RS1.h を含む)

関連項目

デバッグ レイヤー構造体

SetEnableGPUBasedValidation

D3D12 デバッグ レイヤー GPU-Based 検証の使用