D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE enumeration (d3d12sdklayers.h)
Specifies the type of shader patching used by GPU-Based Validation at either the device or command list level.
Syntax
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
} ;
Constants
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_NONE Value: 0 No shader patching is to be done. This will retain the original shader bytecode. Can lead to errors in some of the GPU-Based Validation state tracking as the unpatched shader may still change resource state (see Common state promotion) but the promotion will be untracked without patching the shader. This can improve performance but no validation will be performed and may also lead to misleading GPU-Based Validation errors. Use this mode very carefully. |
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_STATE_TRACKING_ONLY Shaders can be patched with resource state tracking code but no validation. This may improve performance but no validation will be performed. |
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_UNGUARDED_VALIDATION The default. Shaders are patched with validation code but erroneous instructions will still be executed. |
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATION Shaders are patched with validation code and erroneous instructions are skipped in execution. This can help avoid crashes or device removal. |
NUM_D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODES Unused, simply the count of the number of modes. |
Remarks
This enum is used by the D3D12_DEBUG_DEVICE_GPU_BASED_VALIDATION_SETTINGS structure.
Requirements
Requirement | Value |
---|---|
Header | d3d12sdklayers.h |