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 셰이더를 사용하려면 런타임에서 DoublePrecisionFloatShaderOps를 TRUE로 설정해야 합니다.
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 |