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 |