> ## 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_FEATURE_DATA_D3D12_OPTIONS

> 현재 그래픽 드라이버의 Direct3D 12 기능 옵션을 설명합니다.

현재 그래픽 드라이버의 Direct3D 12 기능 옵션을 설명합니다.

## 구문

```cpp theme={null}
typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS
{
    BOOL DoublePrecisionFloatShaderOps;
    BOOL OutputMergerLogicOp;
    D3D12_SHADER_MIN_PRECISION_SUPPORT MinPrecisionSupport;
    D3D12_TILED_RESOURCES_TIER TiledResourcesTier;
    D3D12_RESOURCE_BINDING_TIER ResourceBindingTier;
    BOOL PSSpecifiedStencilRefSupported;
    BOOL TypedUAVLoadAdditionalFormats;
    BOOL ROVsSupported;
    D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
    UINT MaxGPUVirtualAddressBitsPerResource;
    BOOL StandardSwizzle64KBSupported;
    D3D12_CROSS_NODE_SHARING_TIER CrossNodeSharingTier;
    BOOL CrossAdapterRowMajorTextureSupported;
    BOOL VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
    D3D12_RESOURCE_HEAP_TIER ResourceHeapTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS
```

### 멤버

*DoublePrecisionFloatShaderOps*\
형식: BOOL

셰이더 연산에 **double** 형식이 허용되는지 여부를 지정합니다.
**TRUE**이면 double 형식이 허용됩니다. 그렇지 않으면 **FALSE**입니다.
지원되는 연산은 Direct3D 11의 [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options) 구조체의 **ExtendedDoublesShaderInstructions** 멤버에 해당합니다.

**double** 형식으로 컴파일된 HLSL 셰이더를 사용하려면 런타임이 **DoublePrecisionFloatShaderOps**를 **TRUE**로 설정해야 합니다.

*OutputMergerLogicOp*\
형식: BOOL

블렌드 상태에서 논리 연산을 사용할 수 있는지 여부를 지정합니다. 논리 연산을 블렌드 상태에서 사용할 수 있으면 런타임이 이 멤버를 **TRUE**로 설정하고, 그렇지 않으면 **FALSE**로 설정합니다. 이 멤버는 기능 수준 9.1, 9.2 및 9.3에서 **FALSE**입니다. 이 멤버는 기능 수준 10, 10.1 및 11에서 선택 사항입니다. 이 멤버는 기능 수준 11.1 및 12에서 **TRUE**입니다.

*MinPrecisionSupport*\
형식: D3D12\_SHADER\_MIN\_PRECISION\_SUPPORT

비트 OR 연산을 사용하여 결합된 [D3D12\_SHADER\_MIN\_PRECISION\_SUPPORT](/reference/graphics/d3d12/enums/d3d12_shader_min_precision_support_public) 형식의 값 조합입니다. 결과 값은 드라이버가 셰이더 단계에 대해 지원하는 최소 정밀도 수준을 지정합니다. 0 값은 드라이버가 모든 셰이더 단계에 대해 전체 32비트 정밀도만 지원함을 나타냅니다.

*TiledResourcesTier*\
형식: D3D12\_TILED\_RESOURCES\_TIER

하드웨어와 드라이버가 타일 리소스를 지원하는지 여부를 지정합니다. 런타임은 이 멤버를 하드웨어와 드라이버가 타일 리소스를 지원하는지 여부와 어떤 계층 수준을 지원하는지를 나타내는 [D3D12\_TILED\_RESOURCES\_TIER](/reference/graphics/d3d12/enums/d3d12_tiled_resources_tier_public) 형식의 값으로 설정합니다.

*ResourceBindingTier*\
형식: D3D12\_RESOURCE\_BINDING\_TIER

하드웨어와 드라이버가 리소스 바인딩을 지원하는 수준을 지정합니다. 런타임은 이 멤버를 계층 수준을 나타내는 [D3D12\_RESOURCE\_BINDING\_TIER](/reference/graphics/d3d12/enums/d3d12_resource_binding_tier_public) 형식의 값으로 설정합니다.

*PSSpecifiedStencilRefSupported*\
형식: BOOL

픽셀 셰이더 스텐실 참조가 지원되는지 여부를 지정합니다. **TRUE**이면 지원되고, 그렇지 않으면 **FALSE**입니다.

*TypedUAVLoadAdditionalFormats*\
형식: BOOL

형식 지정된 순서 없는 액세스 뷰(UAV)에 대한 추가 형식 로딩이 지원되는지 여부를 지정합니다.
**TRUE**이면 지원되고, 그렇지 않으면 **FALSE**입니다.

*ROVsSupported*\
형식: BOOL

[Rasterizer Order Views](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/directx-12-glossary)(ROV)가 지원되는지 여부를 지정합니다. **TRUE**이면 지원되고, 그렇지 않으면 **FALSE**입니다.

*ConservativeRasterizationTier*\
형식: D3D12\_CONSERVATIVE\_RASTERIZATION\_TIER

하드웨어와 드라이버가 보수적 래스터화(conservative rasterization)를 지원하는 수준을 지정합니다. 런타임은 이 멤버를 계층 수준을 나타내는 [D3D12\_CONSERVATIVE\_RASTERIZATION\_TIER](/reference/graphics/d3d12/enums/d3d12_conservative_rasterization_tier_public) 형식의 값으로 설정합니다.

*MaxGPUVirtualAddressBitsPerResource*\
형식: UINT

이 필드를 사용하지 마세요. 대신 더 정확한 [D3D12\_FEATURE\_DATA\_GPU\_VIRTUAL\_ADDRESS\_SUPPORT](/reference/graphics/d3d12/structs/d3d12_feature_data_gpu_virtual_address_support_public) 쿼리(**MaxGPUVirtualAddressBitsPerResource** 멤버가 있는 구조체)를 사용하세요.

*StandardSwizzle64KBSupported*\
형식: BOOL

하드웨어가 64KB 표준 스위즐 패턴을 가진 텍스처를 지원하면 TRUE입니다.
이 패턴에 대한 지원은 텍스처 내의 각 차원에 대해 거의 등변에 가까운 지역성을 제공하면서 zero-copy 텍스처 최적화를 가능하게 합니다.
텍스처 스위즐 옵션 및 제한 사항에 대해서는 [D3D12\_TEXTURE\_LAYOUT](/reference/graphics/d3d12_x/enums/d3d12_texture_layout)을 참조하세요.

*CrossNodeSharingTier*\
형식: D3D12\_CROSS\_NODE\_SHARING\_TIER

Tier 1 Emulated, Tier 1, Tier 2와 같이 여러 노드를 가진 어댑터의 노드 간 공유 수준을 지정하는 [D3D12\_CROSS\_NODE\_SHARING\_TIER](/reference/graphics/d3d12/enums/d3d12_cross_node_sharing_tier_public) 열거형 상수입니다.

*CrossAdapterRowMajorTextureSupported*\
형식: BOOL

FALSE는 장치가 크로스 어댑터 행 우선(row-major) 텍스처에 대한 복사 작업만 지원함을 의미합니다.
TRUE는 장치가 크로스 어댑터 행 우선 텍스처의 셰이더 리소스 뷰, 순서 없는 액세스 뷰 및 렌더 타겟 뷰를 지원함을 의미합니다.
"크로스 어댑터(Cross-adapter)"는 여러 어댑터 사이(다른 IHV의 어댑터를 포함하여)를 의미합니다.

*VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation*\
형식: BOOL

래스터라이저에 데이터를 공급하는 셰이더의 뷰포트(VP) 및 렌더 타겟(RT) 배열 인덱스가 지오메트리 셰이더 에뮬레이션 없이 지원되는지 여부입니다.
[D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS3](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options3) 구조체의 **VPAndRTArrayIndexFromAnyShaderFeedingRasterizer** 멤버와 비교하세요.
[ID3D12ShaderReflection::GetRequiresFlags](https://learn.microsoft.com/en-us/windows/desktop/api/d3d12shader/nf-d3d12shader-id3d12shaderreflection-getrequiresflags)에서 #define D3D\_SHADER\_REQUIRES\_VIEWPORT\_AND\_RT\_ARRAY\_INDEX\_FROM\_ANY\_SHADER\_FEEDING\_RASTERIZER를 참조하세요.

*ResourceHeapTier*\
형식: D3D12\_RESOURCE\_HEAP\_TIER

하드웨어와 드라이버가 리소스 형식과 관련된 힙 속성을 요구하는 수준을 지정합니다.
런타임은 이 멤버를 [D3D12\_RESOURCE\_HEAP\_TIER](/reference/graphics/d3d12/enums/d3d12_resource_heap_tier_public) 열거형 상수로 설정합니다.

## 설명

[D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_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/conservative-rasterization)

[핵심 구조체](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)

[D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public)

[Rasterizer Ordered Views](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/rasterizer-order-views)


## Related topics

- [D3D12_CONSERVATIVE_RASTERIZATION_TIER](/ko/reference/graphics/d3d12/enums/d3d12_conservative_rasterization_tier_public.md)
- [D3D12_RESOURCE_BINDING_TIER](/ko/reference/graphics/d3d12/enums/d3d12_resource_binding_tier_public.md)
- [D3D12_CROSS_NODE_SHARING_TIER](/ko/reference/graphics/d3d12/enums/d3d12_cross_node_sharing_tier_public.md)
- [D3D12_SHADER_MIN_PRECISION_SUPPORT](/ko/reference/graphics/d3d12/enums/d3d12_shader_min_precision_support_public.md)
- [D3D12_RESOURCE_HEAP_TIER](/ko/reference/graphics/d3d12/enums/d3d12_resource_heap_tier_public.md)
