D3D12_FEATURE_DATA_D3D12_OPTIONS 구조체(d3d12.h)

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

구문

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

셰이더 작업에 이중 형식이 허용되는지 여부를 지정합니다. TRUE이면 이중 형식이 허용됩니다. 그렇지 않으면 FALSE입니다. 지원되는 작업은 D3D11_FEATURE_DATA_D3D11_OPTIONS 구조체의 Direct3D 11 ExtendedDoublesShaderInstructions 멤버와 동일합니다.

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

OutputMergerLogicOp

논리 작업을 혼합 상태에서 사용할 수 있는지 여부를 지정합니다. 논리 작업을 혼합 상태에서 사용할 수 있고 그렇지 않으면 FALSE 인 경우 런타임은 이 멤버를 TRUE 로 설정합니다. 이 멤버는 기능 수준 9.1, 9.2 및 9.3에 대해 FALSE 입니다. 이 멤버는 기능 수준 10, 10.1 및 11에 대한 선택 사항입니다. 이 멤버는 기능 수준 11.1 및 12에 대해 TRUE 입니다.

MinPrecisionSupport

비트 OR 연산을 사용하여 결합된 D3D12_SHADER_MIN_PRECISION_SUPPORT 형식 값의 조합입니다. 결과 값은 드라이버가 셰이더 단계에 대해 지원하는 최소 정밀도 수준을 지정합니다. 값이 0이면 드라이버가 모든 셰이더 단계에 대해 전체 32비트 정밀도만 지원한다는 것을 나타냅니다.

TiledResourcesTier

하드웨어 및 드라이버가 타일식 리소스를 지원하는지 여부를 지정합니다. 런타임은 이 멤버를 하드웨어 및 드라이버가 타일식 리소스를 지원하는지와 어떤 계층 수준에서 지원하는지 나타내는 D3D12_TILED_RESOURCES_TIER 형식의 값으로 설정합니다.

ResourceBindingTier

하드웨어 및 드라이버가 리소스 바인딩을 지원하는 수준을 지정합니다. 런타임은 이 멤버를 계층 수준을 나타내는 D3D12_RESOURCE_BINDING_TIER 형식의 값으로 설정합니다.

PSSpecifiedStencilRefSupported

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

TypedUAVLoadAdditionalFormats

UAV(정렬되지 않은 액세스 뷰)에 대한 추가 형식 로드가 지원되는지 여부를 지정합니다. TRUE이면 지원됩니다. 그렇지 않으면 FALSE입니다.

ROVsSupported

ROM( 래스터라이저 순서 뷰 )이 지원되는지 여부를 지정합니다. TRUE이면 지원됩니다. 그렇지 않으면 FALSE입니다.

ConservativeRasterizationTier

하드웨어 및 드라이버가 보수적인 래스터화를 지원하는 수준을 지정합니다. 런타임은 이 멤버를 계층 수준을 나타내는 D3D12_CONSERVATIVE_RASTERIZATION_TIER 형식의 값으로 설정합니다.

MaxGPUVirtualAddressBitsPerResource

이 필드를 사용하지 마세요. 대신 더 정확한 D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT 쿼리( MaxGPUVirtualAddressBitsPerResource 멤버가 있는 구조)를 사용합니다.

StandardSwizzle64KBSupported

TRUE이면 하드웨어가 64KB 표준 스위즐 패턴의 텍스처를 지원합니다. 이 패턴을 지원하면 텍스처 내의 각 차원에 대해 거의 동등한 지역성을 제공하면서 복사 텍스처 최적화를 0으로 설정할 수 있습니다. 텍스처 스위즐 옵션 및 제한 사항은 D3D12_TEXTURE_LAYOUT.

CrossNodeSharingTier

계층 1 에뮬레이트, 계층 1 또는 계층 2와 같이 여러 노드가 있는 어댑터의 노드 간에 공유 수준을 지정하는 D3D12_CROSS_NODE_SHARING_TIER 열거 형 상수입니다.

CrossAdapterRowMajorTextureSupported

FALSE는 디바이스가 어댑터 간 행 주 텍스처 간 복사 작업만 지원한다는 것을 의미합니다. TRUE는 디바이스가 셰이더 리소스 뷰, 순서가 지정되지 않은 액세스 보기 및 어댑터 간 행 주 텍스처의 렌더링 대상 뷰를 지원한다는 것을 의미합니다. "교차 어댑터"는 여러 어댑터(다른 IHV에서도)를 의미합니다.

VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation

래스터라이저를 공급하는 셰이더의 뷰포트(VP) 및 RT(렌더링 대상) 배열 인덱스가 기하 도형 셰이더 에뮬레이션 없이 지원되는지 여부입니다. D3D11_FEATURE_DATA_D3D11_OPTIONS3 구조체의 VPAndRTArrayIndexFromAnyShaderFeedingRasterizer 멤버를 비교합니다. ID3D12ShaderReflection::GetRequiresFlags에서 #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 참조하세요.

ResourceHeapTier

하드웨어 및 드라이버에 리소스 종류와 관련된 힙 특성이 필요한 수준을 지정합니다. 런타임은 이 멤버를 D3D12_RESOURCE_HEAP_TIER 열거형 상수로 설정합니다.

설명

D3D12_FEATURE 참조하세요.

요구 사항

요구 사항
헤더 d3d12.h

추가 정보

일반 래스터화

핵심 구조체

D3D12_FEATURE

ROV(정렬된 래스터라이저 보기)