> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_DESCRIPTOR_RANGE_FLAGS

> 루트 서명 1.1 설명에서 설명자와 그것이 참조하는 데이터의 휘발성을 지정하며, 이를 통해 일부 드라이버 최적화를 활성화할 수 있습니다.

루트 서명 1.1 설명에서 설명자와 그것이 참조하는 데이터의 휘발성을 지정하며, 이를 통해 일부 드라이버 최적화를 활성화할 수 있습니다.

## 구문

```cpp theme={null}
typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS
{
    D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
    D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 1,
    D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 2,
    D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 4,
    D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 8,
    D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 65536
} D3D12_DESCRIPTOR_RANGE_FLAGS
```

## 상수

| 상수                                                                                   | 설명                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| D3D12\_DESCRIPTOR\_RANGE\_FLAG\_NONE                                                 | 기본 동작입니다. 설명자는 정적이며 데이터에 대해 기본 가정이 이루어집니다(SRV/CBV의 경우: DATA\_STATIC\_WHILE\_SET\_AT\_EXECUTE, UAV의 경우: DATA\_VOLATILE).                                                                                                                                                                                                                                                                                                |
| D3D12\_DESCRIPTOR\_RANGE\_FLAG\_DESCRIPTORS\_VOLATILE                                | 이 플래그만 설정된 경우 설명자는 휘발성이며 데이터에 대해 기본 가정이 이루어집니다(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                                       | 설명자는 정적이고 데이터는 휘발성입니다.                                                                                                                                                                                                                                                                                                                                                                                                 |
| D3D12\_DESCRIPTOR\_RANGE\_FLAG\_DATA\_STATIC\_WHILE\_SET\_AT\_EXECUTE                | 설명자는 정적이며 데이터는 실행 시 설정될 때 정적입니다.                                                                                                                                                                                                                                                                                                                                                                                       |
| D3D12\_DESCRIPTOR\_RANGE\_FLAG\_DATA\_STATIC                                         | 설명자와 데이터 모두 정적입니다. 이는 드라이버 최적화의 잠재력을 극대화합니다.                                                                                                                                                                                                                                                                                                                                                                           |
| D3D12\_DESCRIPTOR\_RANGE\_FLAG\_DESCRIPTORS\_STATIC\_KEEPING\_BUFFER\_BOUNDS\_CHECKS | 정적 설명자와 동일한 이점을 제공하지만(**D3D12\_DESCRIPTOR\_RANGE\_FLAG\_NONE** 참조), 최적화를 위해 드라이버가 버퍼를 루트 설명자로 승격하는 것은 허용되지 않습니다. 왜냐하면 이들은 경계 검사를 유지해야 하고 루트 설명자에는 이러한 검사가 없기 때문입니다.                                                                                                                                                                                                                                                    |

## 설명

이 열거형은 [D3D12\_DESCRIPTOR\_RANGE1](/reference/graphics/d3d12/structs/d3d12_descriptor_range1_public) 구조체에서 사용됩니다.

설명자가 참조하는 데이터의 휘발성만 지정하려면 [D3D12\_ROOT\_DESCRIPTOR\_FLAGS](/reference/graphics/d3d12/enums/d3d12_root_descriptor_flags_public)를 참조하세요.

## 요구 사항

**헤더:** d3d12\_xs.h 또는 d3d12\_x.h\
**라이브러리:** d3d12\_xs.lib 또는 d3d12\_x.lib\
**지원 플랫폼**: XBOX Series 콘솔 및 XBOX One 제품군

## 함께 보기

[핵심 열거형](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-enumerations)

[루트 서명 버전 1.1](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/root-signature-version-1-1)


## Related topics

- [D3D12_ROOT_DESCRIPTOR_FLAGS](/ko/reference/graphics/d3d12/enums/d3d12_root_descriptor_flags_public.md)
- [D3D12_DESCRIPTOR_RANGE1](/ko/reference/graphics/d3d12/structs/d3d12_descriptor_range1_public.md)
- [GetRootSignatureDescAtVersion](/ko/reference/graphics/d3d12/interfaces/id3d12versionedrootsignaturedeserializer/methods/id3d12versionedrootsignaturedeserializer_getrootsignaturedescatversion_public.md)
- [D3D12_DESCRIPTOR_RANGE](/ko/reference/graphics/d3d12/structs/d3d12_descriptor_range_public.md)
- [D3D12_DESCRIPTOR_RANGE_TYPE](/ko/reference/graphics/d3d12/enums/d3d12_descriptor_range_type_public.md)
