다음을 통해 공유


D3D12_GPU_BASED_VALIDATION_SHADER_PATCH_MODE 열거형(d3d12sdklayers.h)

디바이스 또는 명령 목록 수준에서 GPU-Based 유효성 검사에 사용되는 셰이더 패치 유형을 지정합니다.

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
} ;

상수

 
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 유효성 검사 사용