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

指定一个 UINT,用于限制可存储在 GPU-Based 验证消息日志中的消息数。 默认值为 256。 由于在单个绘图/调度调用中可能会生成许多相同的错误,因此增加此数字可能很有用。 请注意,如果使用大量命令列表,则这会成为内存负担,因为每个命令列表都有已提交的消息日志。

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

指定指示 GPU-Based 验证如何处理修补管道状态的D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS之一。 默认值为 D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE。

备注

通过 ID3D12DebugDevice1::SetDebugParameterpData 成员使用此结构指向对象,以配置设备范围的 GPU-Based 验证设置。

单个命令列表可以使用 ID3D12DebugCommandList1::SetDebugParameter 替代默认着色器修补模式。

要求

   
标头 d3d12sdklayers.h (包括 D3d12sdklayers_RS1.h)

请参阅

调试层结构

SetEnableGPUBasedValidation

使用 D3D12 调试层 GPU-Based 验证