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 结构使用。

要求

   
标头 d3d12sdklayers.h

请参阅

调试层枚举

使用 D3D12 调试层 GPU-Based 验证