D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE列挙 (d3d12sdklayers.h)

デバイスレベルまたはコマンドリストレベルで GPU-Based 検証で使用されるシェーダーパッチの種類を指定します。

構文

typedef enum D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE {
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE = 0,
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY,
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION,
  D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION,
  NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES
} ;

定数

 
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE
値: 0
シェーダーにパッチを適用する必要はありません。 これにより、元のシェーダーバイトコードが保持されます。 パッチが適用されていないシェーダーはリソースの状態を変更する可能性があるため、GPU-Based 検証状態の追跡の一部でエラーが発生する可能性がありますが ( 「共通状態の昇格」を参照)、シェーダーにパッチを適用せずに昇格は追跡されません。 これにより、パフォーマンスが向上する可能性がありますが、検証は実行されません。また、検証エラー GPU-Based 誤解を招く可能性もあります。 このモードは慎重に使用してください。
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY
シェーダーには、リソース状態追跡コードを使用してパッチを適用できますが、検証は適用されません。 これによりパフォーマンスが向上する可能性がありますが、検証は実行されません。
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION
これが既定値です。 シェーダーには検証コードが適用されますが、誤った命令は引き続き実行されます。
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION
シェーダーには検証コードが適用され、誤った命令は実行時にスキップされます。 これは、クラッシュやデバイスの削除を回避するのに役立ちます。
NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES
未使用。単にモードの数。

解説

この列挙型は、 D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS 構造体によって使用されます。

要件

   
Header d3d12sdklayers.h

関連項目

デバッグ レイヤー列挙型

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