다음을 통해 공유


D3D12_DESCRIPTOR_RANGE_FLAGS 열거형(d3d12.h)

설명자와 루트 서명 1.1 설명에서 참조하는 데이터의 변동성을 지정하여 일부 드라이버 최적화를 사용하도록 설정할 수 있습니다.

Syntax

typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS {
  D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
  D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
  D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
  D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
  D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
  D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000
} ;

상수

 
D3D12_DESCRIPTOR_RANGE_FLAG_NONE
값: 0
기본 동작 설명자는 정적이며 기본 가정은 데이터에 대해 이루어집니다(SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE 및 UAV: DATA_VOLATILE).
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
값: 0x1
이것이 유일한 플래그 집합인 경우 설명자는 휘발성이며 데이터에 대한 기본 가정이 수행됩니다(SRV/CBV: DATA_STATIC_WHILE_SET_AT_EXECUTE 및 UAV: DATA_VOLATILE).

이 플래그가 DATA_VOLATILE 결합된 경우 설명자와 데이터는 모두 휘발성이며 루트 서명 버전 1.0과 동일합니다.

이 플래그가 DATA_STATIC_WHILE_SET_AT_EXECUTE 결합된 경우 설명자는 휘발성입니다. 이렇게 하면 명령 목록 실행 중에 변경할 수 없으므로 실행 중에 루트 설명자 테이블을 통해 설정된 동안 데이터가 정적이라는 추가 선언을 결합하는 것이 유효합니다. 기본 설명자는 데이터가 정적으로 약속되는 것보다 더 오랫동안 효과적으로 정적입니다.
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
값: 0x2
설명자는 정적이며 데이터는 휘발성입니다.
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
값: 0x4
설명자는 정적이며 데이터는 실행 시 설정되는 동안 정적입니다.
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
값: 0x8
설명자와 데이터는 모두 정적입니다. 따라서 드라이버 최적화의 가능성이 최대화됩니다.
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS
값: 0x10000
정적 설명자( D3D12_DESCRIPTOR_RANGE_FLAG_NONE 참조)와 동일한 이점을 제공합니다. 단, 드라이버가 버퍼를 루트 설명자로 승격할 수 없다는 점을 제외하면 경계 검사를 유지해야 하며 루트 설명자에는 해당 항목이 없기 때문입니다.

설명

이 열거형은 D3D12_DESCRIPTOR_RANGE1 구조체에서 사용됩니다.

설명자가 참조하는 데이터만의 변동성을 지정하려면 D3D12_ROOT_DESCRIPTOR_FLAGS 참조하세요.

요구 사항

   
머리글 d3d12.h

추가 정보

핵심 열거형

루트 서명 버전 1.1