D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS structure (d3d12sdklayers.h)

Describes settings used by GPU-Based Validation.

Syntax

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;

Members

MaxMessagesPerCommandList

Specifies a UINT that limits the number of messages that can be stored in the GPU-Based Validation message log. The default value is 256. Since many identical errors can be produced in a single Draw/Dispatch call it may be useful to increase this number. Note this can become a memory burden if a large number of command lists are used as there is a committed message log per command list.

DefaultShaderPatchMode

Specifies the D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE that GPU-Based Validation uses when injecting validation code into shaders, except when overridden by per-command-list GPU-Based Validation settings (see D3D12_DEBUG_COMMAND_LIST_GPU_BASED_VALIDATION_SETTINGS). The default value is D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION.

PipelineStateCreateFlags

Specifies one of the D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAGS that indicates how GPU-Based Validation handles patching pipeline states. The default value is D3D12_GPU_BASED_VALIDATION_PIPELINE_STATE_CREATE_FLAG_NONE.

Remarks

Point to an object using this structure with the pData member of ID3D12DebugDevice1::SetDebugParameter to configure device-wide GPU-Based Validation settings.

Individual command lists can override the default shader patch mode using ID3D12DebugCommandList1::SetDebugParameter.

Requirements

   
Header d3d12sdklayers.h (include D3d12sdklayers_RS1.h)

See also

Debug Layer Structures

SetEnableGPUBasedValidation

Using D3D12 Debug Layer GPU-Based Validation