예외

Direct3D 11의 일부 기능은 기능 수준에서 완전히 지정되지 않습니다. 이 항목에서는 하위 하드웨어에서 Direct3D 11을 사용할 때의 예외에 대해 설명합니다. 기능 수준이 정의되고 업데이트된 드라이버가 필요하거나 다른 GPU가 광범위하게 다른 구현을 구현한 후에 기능이 추가되었을 수 있습니다. 기능 수준 예외를 다음 그룹으로 수집할 수 있습니다.

10Level9 참조 섹션에는 다양한 ID3D11DeviceID3D11DeviceContext 메서드가 다양한 10Level9 기능 수준에서 작동하는 방식의 차이점이 나열되어 있습니다.

확장 형식

확장 형식은 기능 수준 10_0 및 10_1의 경우 Direct3D 10.1 및 Direct3D 11에 추가된 픽셀 형식입니다. 확장 형식에는 업데이트된 드라이버가 필요합니다(Direct3D 10_1 이하의 경우). ID3D11Device::CheckFormatSupportID3D11Device::CheckFeatureSupport를 사용하여 이러한 확장 형식에 대한 지원을 쿼리합니다.

확장 형식:

  • 구성 요소당 8비트 리소스의 BGRA 순서에 대한 지원을 추가합니다.
  • 정수-값 스왑 체인 버퍼의 캐스팅을 허용합니다. 이렇게 하면 애플리케이션에서 _SRGB 접미사를 추가하거나 제거하거나 XR_BIAS 스왑 체인에 렌더링할 수 있습니다.
  • DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM 대한 선택적 지원을 추가합니다.
  • 포함된 데이터가 sRGB로 인코딩되지 않은 것처럼 DXGI_FORMAT_R16G16B16A16_FLOAT 스왑 체인이 표시되도록 보장합니다.

확장 형식의 전체 집합은 XR_BIAS 형식을 제외하고 완전히 지원되거나 지원되지 않습니다. XR_BIAS 형식은 다음과 같습니다.

  • 9개 수준에서 지원되지 않음
  • 10_0 또는 10_1 수준에서 선택 사항
  • 11_0 수준에서 보장됨

다중 샘플 앤티앨리어싱

MSAA 구현은 GPU 구현에서 거의 공통점이 없습니다. 기능 수준 10.1에는 잘 정의된 미니마가 추가되었지만, 낮은 기능 수준에서 는 ID3D11Device::CheckMultisampleQualityLevels를 사용하여 MSAA를 명시적으로 테스트해야 합니다.

Texture2D 크기

기능 수준은 최소 크기를 만들 수 있음을 보장합니다. 그러나 애플리케이션은 GPU에서 지원하는 전체 크기까지 더 큰 텍스처를 만들 수 있습니다. 최대값을 초과하는 경우 애플리케이션은 ID3D11Device::CreateTexture2D 와 같은 메서드에서 오류가 발생할 것으로 예상해야 합니다.

기능 수준 9에 대한 어댑터의 특수 동작

D3D_FEATURE_LEVEL_9_2 및 D3D_FEATURE_LEVEL_9_3 D3D_FEATURE_LEVEL_9_1 세 가지 가장 낮은 기능 수준은 공통 구현 DLL을 공유하고 IDXGIAdapter 인수를 D3D11CreateDevice[AndSwapchain]에 템플릿 어댑터로 처리하고 디바이스 만들기의 일부로 자체 어댑터를 만듭니다. 즉, 생성 루틴에 전달된 IDXGIAdapter 는 IDXGIDevice::GetAdapter를 통해 디바이스에서 검색된 어댑터와 동일하지 않습니다. 이 경우 전달된 어댑터에서 열거된 IDXGIOutputs 는 디바이스의 어댑터가 해당 출력을 소유하지 않으므로 수준 9 디바이스를 사용하여 전체 화면을 입력하는 데 사용할 수 없습니다. 전달된 템플릿 어댑터를 삭제하고 DIRECT3D 디바이스 인터페이스에서 QueryInterface를 사용하여 IDXGIDevice를 검색할 수 있는 IDXGIDevice ::GetAdapter를 사용하여 디바이스의 만든 어댑터를 검색하는 것이 좋습니다.

하위 하드웨어의 Direct3D 11