다음을 통해 공유


WDDM 아키텍처

WDDM(Windows 디스플레이 드라이버 모델)에는 사용자 모드 및 커널 모드 구성 요소가 있습니다. 다음 그림에서는 WDDM 아키텍처의 다양한 구성 요소를 보여 줍니다.

사용자 모드 및 커널 모드 구성 요소가 있는 WDDM 아키텍처를 보여 주는 다이어그램

시스템 제공 모듈은 그림에 흰색 상자로 표시됩니다. 회색 상자는 파트너가 제공할 수 있는 모듈을 나타냅니다. 애플리케이션은 파트너가 시스템 제공 또는 개발할 수 있습니다.

시스템 제공 모듈

다음 시스템 제공 모듈은 WDDM 아키텍처의 일부입니다.

  • Direct3D 런타임은 애플리케이션용 애플리케이션 API를 제공하는 사용자 모드 구성 요소입니다. 다양한 서비스를 제공하며 애플리케이션, UMD(사용자 모드 그래픽 드라이버) 및 gdi32.dll 간의 상호 작용을 관리합니다.

  • gdi32.dll D3D 런타임 또는 파트너 그래픽 클라이언트가 연결하는 사용자 모드 라이브러리입니다. 런타임 또는 클라이언트는 DirectX 커널 하위 시스템(Dxgkrnl)에서 적절한 커널 모드 함수로 호출을 라우팅하는 gdi32 "thunk"를 호출합니다.

  • Dxgkrnl 은 Windows 운영 체제의 커널 모드 그래픽 하위 시스템의 핵심 구성 요소입니다. 운영 체제, UMD 및 커널 모드 디스플레이 미니포트 드라이버(KMD) 간의 통신을 용이하게 합니다. Dxgkrnl에는 디스플레이 포트 드라이버, 메모리 관리자(VidMm) 및 스케줄러(VidSch)와 같은 하위 구성 요소가 포함됩니다. Dxgkrnl 은 다음 시스템 파일로 구성됩니다.

    • dxgmms2.sys. WDDM 버전 2.0 이상용 GPU/NPU 스케줄러 및 비디오 메모리 관리자를 구현합니다.
    • dxgmms1.sys. WDDM 2.0 이전 버전의 WDDM용 GPU/NPU 스케줄러 및 비디오 메모리 관리자를 구현합니다.
    • 필요한 dxgmms.sys 파일 로드, 사용자 모드에서 D3DKMTXxx 호출의 초기 처리, 디스플레이 모드, GPU 가상화, 전원 관리, 커널 임원과의 인터페이스 등 DirectX 커널 하위 시스템의 다른 모든 것을 처리하는 dxgkrnl.sys.
  • Win32 GDI 및 Win32k.sys 일부 애플리케이션에서 여전히 사용되는 레거시 구성 요소입니다.

타사 제공 모듈

  • UMD는 Direct3D 런타임이 로드하는 DLL(동적 연결 라이브러리)입니다.

  • KMD는 Dxgkrnl 및 그래픽 하드웨어와 통신합니다.

그래픽 하드웨어 공급업체는 UMD와 KMD를 모두 제공해야 합니다.

  • 타사 파트너 그래픽 클라이언트는 자체 API 및 프레임워크가 있는 사용자 모드 구성 요소입니다. gdi32 unks를 호출하여 커널 모드 그래픽 하위 시스템과 통신합니다. Microsoft에서 알고 있는 클라이언트는 D3DKMT_CLIENTHINT 나열됩니다.