Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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_NONEValue: 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_ONLYShaders 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_VALIDATIONThe default. Shaders are patched with validation code but erroneous instructions will still be executed. |
D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE_GUARDED_VALIDATIONShaders 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_MODESUnused, 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 |