Windows 디스플레이 드라이버 모델

Windows Display Driver Model

Windows Display Driver Model(WDM)[1]은 Windows Vista [2]이후 Microsoft Windows 버전을 실행하는 비디오 카드 드라이버용 그래픽 드라이버 아키텍처입니다.

이전 Windows 2000Windows XP 디스플레이 드라이버 모델 XDM/XPDM을[3] 대체하는 것으로, 보다 뛰어난 퍼포먼스의 그래픽스, 새로운 그래픽 기능과 [2]안정성을 실현하는 것을 목적으로 하고 있습니다.Windows Vista 및 Windows 7 의 디스플레이 드라이버는, WDM 또는 XDM [4]의 어느쪽인가를 선택할 수 있습니다.그러나 Windows 8에서 XDM이 제거되면서 WDM이 유일한 [5]옵션이 되었습니다.

WDM은 Direct3D 위에서 실행되는 컴포지팅 윈도 매니저인 Desktop Window Manager를 사용하여 데스크톱과 애플리케이션을 렌더링하는 데 필요한 기능을 제공합니다.기본적인 디바이스 관리 및 작성에 필요한 새로운 DXGI 인터페이스도 지원합니다.WDM 사양에는 적어도 Direct3D 9 지원 비디오 카드가 필요하며, 레거시 Direct3D 응용 프로그램을 실행하기 위해서는 디스플레이 드라이버가 Direct3D 9Ex 런타임용 디바이스 드라이버 인터페이스를 구현해야 합니다.옵션으로 Direct3D 10 이상의 런타임 인터페이스를 구현할 수도 있습니다.

WDM에 의한 기능

WDM 드라이버는, 이전의 디스플레이 드라이버 모델에서는 균일하게 제공되지 않았던 새로운 기능의 영역을 실현합니다.여기에는 다음이 포함됩니다.

가상화 비디오 메모리

그래픽스 환경에서 가상화란 명령 스트림에 위조된 명령을 삽입해도 (사용자 모드에서) 개별 프로세스가 인접 프로세스의 메모리를 인식할 수 없음을 의미합니다.WDM 드라이버를 사용하면, 비디오 메모리를 가상화해,[6] 비디오 메모리로부터 시스템 RAM 에 비디오 데이터를 페이징 할 수 있습니다.이용 가능한 비디오 메모리가 모든 비디오 데이터 및 텍스처를 저장하기에 불충분한 것으로 판명되었을 경우, 현재 사용되지 않는 데이터는 시스템 RAM 또는 디스크로 이동됩니다.스왑 아웃된 데이터가 필요한 경우 데이터를 다시 가져옵니다.가상화는 이전 드라이버 모델(XP 드라이버 모델 등)에서 어느 정도 지원할 수 있었지만 런타임 수준에서 처리하는 것이 아니라 드라이버의 책임이었습니다.

스케줄

런타임은 동시 그래픽 [7]컨텍스트 예약을 처리합니다. 명령어 목록은 GPU에 의해 실행 대기열에 배치되며, 더 중요한 태스크가 도착하고 실행이 시작되지 않은 경우 런타임에 의해 선행될 수 있습니다.이는 하나의 작업을 중단할 수 없기 때문에 필요 이상으로 시간이 오래 걸리고 컴퓨터의 응답성이 저하되는 CPU의 네이티브 스레드와는 다릅니다.스레드 간의 협력을 통해 네이티브 스레드와 라이트 스레드 간의 하이브리드 스케줄링 알고리즘은 매끄러운 병렬 처리를 달성할 수 있습니다.스케줄링은 새로운 개념이 아니지만 이전에는 개별 드라이버 개발자의 책임이었다는 점에 유의하십시오.WDM은 GPU 태스크의 실행을 제어함으로써 여러 벤더 간에 경험을 통합하려고 합니다.

Direct3D 표면의 교차 프로세스 공유

Direct3D 그래픽 표면은 2D 또는 3D 장면을 렌더링하는 데 사용되는 텍스처 메시에 대한 정보를 포함하는 메모리 영역입니다.WDM을 사용하면 Direct3D 표면을 [8]여러 프로세스에서 공유할 수 있습니다.따라서, 애플리케이션은, 다른 애플리케이션에 의해서 작성된 메쉬를 렌더링중의 씬(scene)에 통합할 수 있습니다.WDM 이전의 프로세스 간에 텍스처를 공유하는 것은 어려웠습니다.새로운 디바이스의 경우 데이터를 비디오 메모리에서 시스템 메모리로 복사한 후 비디오 메모리로 되돌려야 했기 때문입니다.

폴트 톨러런스 향상

WDM 회복에 성공했음을 사용자에게 경고하는 Windows Vista
Windows XP 에서는, 안전하게 정지할 수 있는 디스플레이 드라이버의 크래시를 유저에게 경고합니다.

WDM 드라이버가 행업 하거나 장해가 발생했을 경우,[2][9] 그래픽스 스택은 드라이버를 재기동합니다.그래픽스 하드웨어의 장해가 대행 수신되어 필요에 따라서 드라이버가 리셋 됩니다.

Windows XP의 드라이버는 하드웨어 장애를 사용자에게 보고하거나 사일런트 리커버리를 시도함으로써 필요에 따라 자유롭게 대처할 수 있었습니다.디스플레이 드라이버를 안전하게 정지할 수 있는 경우에 따라서는, Windows XP 가 대신에 디스플레이 드라이버의 크래시에 대해 경고하는 것과 동시에, 비디오 드라이버를 무효로 해, 화면 해상도를 640 x 480(컬러 16)로 낮출 수 있습니다.WDM 드라이버를 사용하면 화면 해상도는 영향을 받지 않습니다.모든 하드웨어 장애로 인해 드라이버가 리셋되고 팝업으로 사용자에게 통지되므로 벤더 간에 동작이 통일됩니다.

이전 드라이버는 커널 모드로 완전히 구현되었지만 WDM은 부분적으로 사용자 모드로 구현되었습니다.회복 불가능한 오류로 인해 사용자 모드 영역에 장애가 발생하면 이전 드라이버 모델에서처럼 블루 스크린 오류가 발생하지 않고 애플리케이션이 예기치 않게 종료됩니다.

WDM 에서는, 그래픽 하드웨어를 리셋 해,[2] 재기동하지 않고 드라이버를 갱신할 수도 있습니다.

제한 사항

새로운 드라이버 모델에서는 고정 함수 파이프라인이 2.0 셰이더로 변환되었기 때문에 그래픽 하드웨어가 적어도 셰이더 모델 2.0을 지원해야 합니다.다만, 2009년의 Microsoft에 의하면, Windows Vista 를 실행하고 있는 하드웨어의 약 1~2 %만이 XDM [10]를 사용하고, 나머지의 WDM 는 이미 대응하고 있습니다.또, 그 외의 하드웨어 기능도 필요하기 때문에, 인텔 GMA 900 등, SM 2.0 대응의 하드웨어의 일부는 WDM 인증에 [11]불합격합니다.

WDM 드라이버 모델 1.0의 제한 중 하나는 멀티 어댑터 멀티 모니터 설정에서 여러 드라이버를 지원하지 않는다는 것입니다.멀티 모니터 시스템에 모니터에 전원을 공급하고 있는 그래픽 어댑터가 여러 개 있는 경우, 양쪽 어댑터는 같은 WDM 드라이버를 사용해야 합니다.복수의 드라이버를 사용하고 있는 경우, Windows 는 [12]그 드라이버를 무효로 합니다.WDM 1.1에는 이 [13]제한이 없습니다.

WDM 1.0/1.1 에서는, 스패닝 모드(데스크탑을 2대의 [14][15]모니터에 걸쳐 배치) 등, 드라이버에 의해서 이전에 취급되고 있던 일부의 모드는 사용할 [12][16]수 없습니다.다만, 듀얼 뷰는 아직 사용할 수 있습니다.

새로운 디스플레이 드라이버 모델 필요

Windows Display Driver Model에서 사용할 수 있는 주요 시나리오 중 하나는 데스크톱관리자입니다.DWM에 의해 관리되는 데스크톱 및 응용 프로그램 창은 Direct3D 응용 프로그램이기 때문에 열려 있는 창의 수는 필요한 비디오 메모리의 양에 직접 영향을 미칩니다.열려 있는 창의 수에 제한이 없기 때문에 사용 가능한 비디오 메모리가 부족하여 가상화가 필요할 수 있습니다.DWM이 최종 데스크톱에 구성하는 윈도 콘텐츠는 프로세스별로 생성되기 때문에 프로세스 간 표면 공유가 필요합니다.또한 DWM 관리 데스크톱에서는 DWM과 함께 다른 DirectX 응용 프로그램이 실행될 수 있기 때문에 공유 방식으로 GPU에 액세스할 수 있어야 하므로 스케줄링이 필요합니다.

이것은, Microsoft 가 Windows Vista 로 컴포지트 데스크탑을 실장하고 있는 경우에서도 마찬가지이지만, 이론적으로는 컴포지트 데스크탑이 새로운 디스플레이 드라이버 모델을 필요로 하는 것은 아닙니다.컴포지트 데스크톱의 구현은 Windows Vista 이전에 Quartz, Compiz, Window FX 등의 다른 플랫폼에서 성공적으로 수행되었습니다.Microsoft가 시도한 어프로치는 WDM의 기능과 퍼포먼스를 표준화함으로써 여러 벤더의 다양한 GPU에서 WDM이 통일된 환경을 구현하도록 하는 것이었습니다.다른 드라이버 모델에서 누락된 소프트웨어 기능은 확장 기능이나 덜 제한적이거나 단순히 다른 드라이버 모델이 있는 경우 중요하지 않을 수 있습니다.

역사

WDM 1.0

Windows Vista 에서는, 퍼포먼스가 향상해, 신뢰성이 향상해, HDCP등의 새로운 테크놀로지를 서포트하도록 설계된 새로운 디스플레이 드라이버 아키텍처로서 WDM 1.0이 도입되었습니다.정전 시 안정성을 높이기 위해 최대 절전 모드와 절전 모드 기능을 결합하이브리드 슬립(Hybrid Sleep)에도 [2][why?]WDM이 필요합니다.

WDM 1.1

Windows 7은 WDM 1.1로 알려진 WDM에 대한 주요 추가를 지원합니다.이 새로운 버전의 자세한 내용은 WinHEC 2008에서 공개되었습니다.신기능은 다음과 같습니다.[10]

GDI 및 Direct2D/DirectWrite 조작의 하드웨어 액셀러레이션에 의해, Windows Vista [21][22][23]와 같이, DWM 컴포지팅 엔진은 GDI/GDI+ 로 사용되는 모든 서페이스의 시스템 메모리 카피를 보관 유지할 필요가 없어지기 때문에, Windows 7 에서는 메모리의 풋 프린트를 삭감할 수 있습니다.

DXGI 1.1, Direct3D 11, Direct2D 및 DirectWrite는 Windows Vista Platform Update에서 사용할 수 있게 되었습니다.단, Vista의 GDI/GDI+는 소프트웨어[24] 렌더링에 의존하고 있으며 데스크톱 윈도 매니저는 Direct3D 9Ex를 [25]계속 사용하고 있습니다.

WDM 1.1 드라이버는 WDM 1.0 사양과의 하위 호환성이 있습니다.플랫폼 업데이트 [10]유무에 관계없이 Windows Vista에서 1.0 드라이버와 1.1 드라이버를 모두 사용할 수 있습니다.

WDM 1.2

Windows 8 에는, WDM[26][27] 1.2 와 DXGI 1.2 [27][28]가 탑재되어 있습니다.새로운 기능은 Build 2011 컨퍼런스에서 처음 소개되었으며 성능 향상과 입체 3D 렌더링 및 비디오 재생 지원을 포함합니다.

다른 주요 특징. 그래픽 처리 장치의 촘촘한 입상(DMA버퍼, 원시적이고, 삼각형, 픽셀 또는instruction-level)[29]감소 메모리 공간의 개선 자원 공유 빠르게 시간 초과 검출 회복과 선제적 다중 작업(565,5551,4444)Windows8에 의무적인 것입니다 16비트 색 면 구성 방식, 그리고 Direct3D11비디오 su을 포함한다.pports YUV 4:4/4:2/4:2:2:0/4:1 비디오 형식, 8, 10, 및 16비트 팔레트화된 형식.[30]

WDM 1.2 는, Microsoft Basic Display[31] Driver 나 WARP 베이스Microsoft Basic Render Driver 등, 표시 전용 및 렌더 전용의 WDM 드라이버를 서포트하고 있습니다.

WDM 1.0/1.1에서는 "배치 큐"의 정밀도를 사용하여 기본적인 작업 스케줄링을 할 수 있습니다.멀티태스킹의 향상과 고속 컨텍스트 스위칭 및 가상 메모리의 지원은 WinHEC 2006에서 발표[32][33][34]가칭 WDM 2.0 및 WDM 2.1 버전에서는 당초 기대되고 있었습니다.

WDM 1.3

Windows 8.1에는 WDM 1.3 및[35] DXGI 1.[36]3이 포함되어 있습니다.새롭게 추가된 기능에는 DXGI 어댑터 메모리 사용량 트리밍, 멀티플레인 오버레이, 중복되는 스왑 체인 및 스왑 체인 스케일링 기능, 스왑 체인 및 짧은 레이텐시 스왑 체인 프레젠테이션용 백버퍼 서브 영역 선택 기능 등이 있습니다.드라이버 기능 추가에는 무선 디스플레이(미라캐스트), YUV 포맷 범위, 크로스 어댑터 리소스 및 GPU 엔진 열거 기능이 포함됩니다.그래픽스 커널 퍼포먼스 향상.[1]

WDM 2.0

Windows 10 에는, 가상 메모리 [37]어드레싱을 서포트하는 GPU용의 커널 모드 드라이버의 워크로드를 큰폭으로 삭감하도록 설계된 WDM 2.0 이 포함되어 있어, 유저 모드 드라이버로 멀티스레딩 병렬 처리를 가능하게 해, CPU [38][39][40][41]사용율을 저감 할 수 있습니다.Windows 10 에는, DXGI 1.4 [42]도 탑재되어 있습니다.

Build 2014에서 발표된 Direct3D 12 API에는 WDM 2.0이 필요합니다.새로운 API는 자동 자원 관리 및 파이프라인 관리 태스크를 없애고 개발자가 어댑터 메모리와 렌더링 상태를 완전히 낮은 수준으로 제어할 수 있도록 합니다.

Windows 8.1 및 Windows Phone의 디스플레이 드라이버 모델은 Windows 10의 [43]통합 모델로 통합되었습니다.

각 GPU에 프로세스별 가상 주소 공간을 제공하는 새로운 메모리 모델이 구현되었습니다.비디오 메모리의 다이렉트어드레싱은, WDDMv2에 의해서도 서포트되고 있습니다만, 이것은 레거시 케이스로 간주되고 있습니다.IHV는 가상 주소 지정을 지원하는 새로운 하드웨어를 개발할 것으로 예상됩니다.이 새로운 메모리 모델을 활성화하기 위해 DDI가 대폭 변경되었습니다.

WDM 2.1

Windows 10 Anniversary Update(버전 1607)에는 Shader Model 6.0(기능 레벨 12_0 및 12_1의 [44]필수)을 지원하는 WDM 2.1과 ITU-T Variable Refresh 2100/20Rec에 의해 정의된 10비트 하이 다이내믹 레인지, 와이드 가뮤트[45] 포맷인 DXGI 1.5가 포함되어 있습니다.

WDM 2.2

Windows 10 Creators Update(버전 1703)에는 Windows Mixed Reality 플랫폼용 입체 렌더링 기능을 갖춘 가상, 증강혼합 현실에 맞게 조정된 WDM 2.2와 DXGI 1.6이 [47]포함되어 있습니다.

WDM 2.3

Windows 10 Fall Creators Update (버전 1709)에는 WDM 2.3이 포함되어 있습니다.다음은 Windows 10 버전 1709에서 [48]Windows Display 드라이버를 개발하기 위한 새로운 기능의 목록입니다.

  • Shader Model 6.1, 지원 뷰 인스턴스화 및 중심 의미 [49]추가.
  • Display ColorSpace Transform DDI는 합성 후 디스플레이 파이프라인에 적용되는 색 공간 변환을 추가로 제어합니다.
  • D3D12 Copy Queue Timestamp Queries 기능을 사용하면 응용 프로그램은 COPY 명령어목록/큐에 타임스탬프 쿼리를 발행할 수 있습니다.이러한 타임스탬프는 다른 엔진의 타임스탬프와 동일하게 기능하도록 지정됩니다.
  • Direct3D12 런타임으로의 비디오 통합 강화: 하드웨어 가속 비디오 디코딩, 콘텐츠 보호 및 비디오 처리

WDM 2.4

Windows 2018년 4월 10일 업데이트(버전 1803)에는 WDM 2.4가 포함되어 있습니다.Windows 10 버전 1803 에서는, 드라이버의 개발을 표시하는 업데이트에는 다음의[50] 기능이 있습니다.

  • 셰이더 모델 6.2, 16비트 스칼라 지원 및 데노멀 값으로 동작을 [51]선택할 수 있는 기능 추가.
  • 간접 표시 UMDF 클래스 확장을 사용하면 드라이버는 SRM을 렌더링 GPU에 전달하고 사용 중인 SRM 버전을 쿼리하는 메커니즘을 가질 수 있습니다.
  • IOMMU 하드웨어 기반 GPU 분리 지원으로 시스템 메모리에 대한 GPU 액세스를 제한하여 보안을 강화합니다.
  • GPU 반가상화 지원.디스플레이 드라이버는 Hyper-V 가상화 환경에 렌더링 기능을 제공합니다.
  • 휘도: 복수의 디스플레이를 서포트하는 새로운 인터페이스로, 보정된 nit 베이스의 휘도 레벨로 설정할 수 있습니다.
  • D3D11 비트스트림 암호화.CENC, CENS, CBC1 및 CBCS가 8바이트 또는 16바이트의 초기화 벡터에 의해 공개됩니다.
  • D3D11 D3D12 비디오 디코드 히스토그램: 고정 기능 하드웨어를 히스토그램에 활용하여 HDR/EDR 시나리오의 톤 매핑 품질을 향상시킬 수 있습니다.
  • D3D12 비디오 디코드는 디코드 계층 II를 지원하므로 애플리케이션이 할당 비용을 상각하고 해상도 변경 시 최대 메모리 사용량을 줄일 수 있습니다.
  • 링크드 어댑터(LDA) 노드 전체에서 작동하는 원자 셰이더 명령 지원을 추가하는 새로운 교차 노드 공유 계층인 타일 리소스 계층LDA atomics를 통해 분할 프레임 렌더링(SFR) 등의 여러 GPU 렌더링 기술을 구현할 수 있습니다.
  • GPU 디더링 지원.HDR10 over HDMI 2.0 등 모니터 링크에서 물리적으로 이용 가능한 것보다 더 높은 유효 비트 깊이가 필요한 시나리오에서 운영체제가 디더링을 명시적으로 요구할 수 있습니다.
  • 후처리 컬러 인핸스 오버라이드.특정 어플리케이션 시나리오에 따라 디스플레이의 컬러를 강화 또는 변경하는 후처리를 드라이버에 일시적으로 비활성화하도록 요구하여 디스플레이에서 색채의 정확한 동작을 강제하고 OEM 또는 IHV 전용 디스플레이 컬러와 안전하게 공존할 수 있습니다.시멘트를 사용합니다.
  • Direct3D12 비디오, 새로운 API 및 DDI를 통해 하드웨어 가속 비디오 디코딩, 콘텐츠 보호 및 비디오 처리에 액세스할 수 있습니다.
  • DisplayID는 VESA의 디스플레이를 지원하도록 설계된 새로운 DDI입니다.그래픽 어댑터에 의해 제어되는 디스플레이에서 쿼리되는 ID 기술자.
  • GPU 퍼포먼스 데이터: 엔진과 메모리의 온도, 팬 속도, 클럭 속도, 메모리 대역폭, 소비전력, 전압 등의 GPU 하드웨어에 대한 정보를 공개하기 위한 확장입니다.
  • Support Contextless Present는 IHV가 새로운 드라이버를 탑재할 수 있도록 지원하는 드라이버 캡입니다.
  • OS의 외장/탈부착 GPU 지원 기능이 향상되어 탈부착 가능한 GPU에 대한 지원이 향상되었습니다.
  • 커널 모드 디바이스 드라이버 인터페이스가 변경된 Display Diagnostics를 통해 디스플레이 컨트롤러 드라이버가 진단 이벤트를 운영 체제에 보고할 수 있습니다.
  • 그래픽스 전원 컴포넌트를 공유하여 그래픽스 이외의 드라이버를 그래픽스 디바이스의 전원 관리에 참여시킬 수 있습니다.
  • 공유 텍스처가 개선되어 프로세스와 Direct3D 디바이스 간에 공유할 수 있는 텍스처의 타입이 증가.메모리 복사를 최소한으로 억제해 흑백을 서포트합니다.

WDM 2.5

Windows 2018년 10월 10일 업데이트(버전 1809)에는 WDM 2.5가 [52]포함되어 있습니다.Windows 10 버전 1809의 디스플레이 드라이버 개발 업데이트에는 다음과 같은 [53]기능이 포함되어 있습니다.

  • 셰이더 모델 6.3, DirectX12 레이트레이싱(DXR)[54] 지원 추가
  • 레이트레이싱, Direct3D 12에서 하드웨어 가속 레이트레이싱을 지원합니다.
  • 유니버설 드라이버 요건, 드라이버는 DirectX 11 및 DirectX12 사용자 모드 드라이버와 커널 모드 드라이버 및 이들 컴포넌트에 의해 로드되는 기타 DLL이 유니버설 API에 준거하고 있는지 확인해야 합니다.
  • SRV-Only Tiled Resource Tier 3(타일형 리소스 계층 3)은 타일형 리소스의 새로운 기능 비트입니다.순서 없는 액세스 및 렌더 타깃 운영 지원 없이 스파스 볼륨 텍스처를 표시합니다.
  • 렌더 패스(Render Pass)는 Direct3D 12에서 렌더 패스 개념을 도입하여 새로운 API를 기존 드라이버에서 실행하여 사용자 모드 드라이버가 CPU의 높은 패널티 없이 최적의 렌더링 경로를 선택할 수 있도록 합니다.
  • 메타 명령어. DirectML에 대한 미리 보기 지원을 추가합니다. DirectML은 고성능 하드웨어 가속 머신 러닝용 DirectX 12 라이브러리입니다.Windows 10 버전 1903 이후에서는 메타 명령과 DirectML이 Windows의 [55]안정적인 부분입니다.
  • HDR Brightness Impensation(HDR 휘도 보정)은, SDR 컨텐츠의 레퍼런스 화이트를 유저가 요구하는 값으로 끌어올려, SDR 컨텐츠를 통상의 200~240 니트로 재현할 수 있습니다.또, 하드웨어/드라이버가 FP16 픽셀 포맷에 의한 HDR 출력을 서포트하고 있는지, 또는 ARGB10 픽셀 포맷에만 대응하고 있는지를 리포트할 수 있습니다.
  • SDR White Level: OS 컴포지터가 모든 SDR 콘텐츠, HDR 모드로 동작하는 디스플레이에 적용하는 SDR 화이트레벨 값을 그래픽 드라이버에 알립니다.
  • Display Synchronization(디스플레이 동기화) - 디스플레이가 드라이버에 의해 노출되었을 때 디스플레이를 활성화하기 전에 운영 체제가 디스플레이 동기화 기능을 확인할 수 있습니다.
  • 추적 대상 워크로드는 프로세서의 고속 실행과 소비 전력의 절감을 보다 효과적으로 제어하기 위해 실험적인 기능으로 추가되었지만 Windows 10 버전 2004에서는 삭제되었으며 보안 수정의 일환으로 이전 OS 버전에서는 폐지되었습니다.

WDM 2.6

Windows 10 May 10 Update(버전 1903)에는 WDM 2.6이 포함되어 있습니다.Windows 10 버전1903 에서는, 다음의 기능이 [56]개발되고 있습니다.

  • Shader Model 6.4, 저정밀 패킹 도트 제품 내장 기능 및 라이브러리 서브 오브젝트를 지원하여 광선 [57]추적을 단순화합니다.
  • Super Wet Ink: IHV가 네이티브로 지원하지 않는 형식 및 모드로 텍스처를 작성할 수 있으며 하드웨어/드라이버가 네이티브로 지원하는 포맷에 대한 리소스 투영으로 해결되어 내부 드라이버를 최적화할 수 있습니다.
  • 거친 픽셀 음영이라고도 하는 가변 속도 음영: 렌더링된 이미지 간에 다양한 속도로 렌더링 성능/전력을 할당할 수 있는 메커니즘입니다.2개의 계층(계층 1과 계층 2)이 있습니다.
  • Diagnostic Info를 수집합니다.이것에 의해, operating system은 렌더링 기능과 디스플레이 기능 양쪽의 드라이버로부터 프라이빗 데이터를 수집할 수 있습니다.이 신기능은 WDM 2.6의 요건입니다.
  • 백그라운드 처리: 사용자 모드 드라이버는 원하는 스레드 동작을 표현하고 런타임은 이를 제어/모니터링할 수 있습니다.API를 통해 애플리케이션은 워크로드에 적합한 백그라운드 처리량과 해당 작업을 수행할 시기를 조정할 수 있습니다.
  • 드라이버의 핫 업데이트를 통해 서버 다운타임을 줄이고 커널 모드 드라이버에 대한 드라이버의 보안 핫 패치를 사용할 수 있습니다.

WDM 2.7

Windows 10 May 10 Update[58] (Version 2004)에는 WDM 2.7이 포함되어 있습니다.Windows 10 버전 2004 에서는, 드라이버의 개발을 표시하는 업데이트에는 다음의 [59]기능이 있습니다.

  • Shader Model 6.5, 새로운 파이프라인 기능 및 추가 Wave 내장 [60]기능에 대한 지원을 추가합니다.
  • 하드웨어 가속 GPU 스케줄링: 시스템 설정의 추가 옵션으로 마스크됩니다.이 기능을 활성화하면 고주파 작업이 전용 GPU 기반 스케줄링 프로세서로 오프로드되어 CPU 스케줄링 오버헤드가 줄어듭니다.애드혹 하드웨어 및 드라이버 [61]지원이 필요합니다.
  • 샘플러 피드백:[62] 장면에서 리소스 사용률을 보다 세밀하게 조정할 수 있습니다.2개의 계층(계층 0.9 및 계층 1.0)[63]이 있습니다.
  • DirectX Raytracing(DXR) Tier 1.1. 인라인 레이트레이싱, 간접 레이스 디스패치, 새로운 레이트레이싱을 작성하지 않고 상태 오브젝트를 늘리고 액셀러레이션 [64]구조를 위한 추가 정점 포맷을 도입합니다.
  • 기존 파이프라인(Input Assembler-Vertex-Hull-Teselator-Domain-Geometry 및 Stream Output 스테이지)[65]을 대체하는 새로운 옵션 지오메트리 파이프라인인 메쉬 및 증폭 셰이더 스테이지.
  • 메모리 할당 제어가 향상되어 레지던스 제어가 향상되었으며 새로 생성된 [66]힙을 명시적으로 0으로 만들지 않을 수 있습니다.
  • Direct3D 9 리소스 인터옵션을 통해 Direct3D 12 [67]응용 프로그램에 Direct3D 9 리소스를 투영할 수 있습니다.
  • Direct3D 12 Video Protected Resource 지원.Direct3D 12 [68]응용 프로그램에서 보호된 콘텐츠를 재생할 수 있습니다.

WDM 2.8

Windows 10 Insider Preview Manganese에는 WDM 2.8이 포함되어 있지만 이를 지원하는 드라이버는 공개되지 않았으며 Iron 및 Cobolt 개발 릴리즈에서는 생략되었습니다.

WDM 2.9

Windows 10 Insider Preview 「Iron」의 WDM 2.9 에서는, Windows Subsystem for Linux 2(WSL [69]2)의 GPU 하드웨어 액셀러레이션과 기능 레벨[70] 12_2 및 HLSL Shader Model 6.[71]6 의 서포트가 실현됩니다.

WDM 3.0

Windows 11 RTM Final RTM Release (버전 21H2)에는 WDM 3.0이 [72][73]포함되어 있습니다.이것에 의해,[75] Windows Subsystem for[74] Linux 의 그래픽 아키텍쳐가 개선되어 다음과 같은 특징이 있습니다.

  • WSL 패키지로 컴파일된 Linux용 사용자 모드 드라이버.
  • Linux에 마운트된 호스트 드라이버
  • 다이내믹 리프레시 레이트[76]
  • Direct3D 12 비디오 부호화[77]

WDM 3.1

Windows 11 Insider Preview 빌드 22621.1 (버전 22H2)에는 WDM 3.1이 포함되어 있습니다.

  • IOMMU DMA 재매핑[78]

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Windows Display Driver Model (WDDM) Design Guide". MSDN. Microsoft. Retrieved 19 February 2015.
  2. ^ a b c d e "Windows Vista Display Driver Model". MSDN. Microsoft. July 2006. Archived from the original on 2010-05-06. Retrieved 9 December 2013.
  3. ^ "XPDM vs. WDDM". MSDN. Microsoft. 16 November 2013. Retrieved 16 December 2013.
  4. ^ "Windows 2000 Display Driver Model (XDDM) Design Guide". Windows Dev Center - Hardware. Microsoft. 16 November 2013. Retrieved 9 December 2013.
  5. ^ "Roadmap for Developing Drivers for the Windows 2000 Display Driver Model (XDDM)". Windows Dev Center - Hardware. Microsoft. 16 November 2013. Retrieved 16 December 2013. XDDM and VGA drivers will not compile on Windows 8 and later versions
  6. ^ "Graphics Memory Reporting through WDDM". MSDN. Microsoft. 9 January 2007. Retrieved 9 December 2013.
  7. ^ Schechter, Greg (2 April 2006). "The role of the Windows Display Driver Model in the DWM". Greg Schechter's Blog. Microsoft. Archived from the original on 20 April 2010. Retrieved 9 December 2013.
  8. ^ "Cross Process Resource Sharing". MSDN. Microsoft. 10 December 2009. Retrieved 9 December 2013.
  9. ^ "Timeout Detection and Recovery of GPUs through WDDM". Timeout Detection and Recovery: Microsoft. Archived from the original on 6 September 2011. Retrieved 4 September 2011.
  10. ^ a b c d "Graphics Guide for Windows 7". Microsoft. 12 June 2009.
  11. ^ 인텔의 GMA900 WDM 드라이버 없음: "HW 스케줄러" 없음, Beyond 3D, 2006년 10월 26일
  12. ^ a b "MultiMonitor Support and Windows Vista". Retrieved 20 October 2007.
  13. ^ Blythe, David. "Working With the Windows 7 Graphics Architecture". WinHEC 2008. Microsoft. Archived from the original on October 20, 2013. Retrieved 9 December 2013.
  14. ^ Windows XP에서 사용할 수 있던 제어판 기능이 Windows Vista에서 사용할 수 없게 되었습니까?
  15. ^ Windows VistaCatalyst Control Center에서 사용할 없는 스트레칭 데스크톱 또는 스패닝모드 2009년 11월 17일 웨이백머신에서 아카이브
  16. ^ "Description of DualView in Windows XP (Revision 1.5)". Support. Microsoft. 15 January 2006. Retrieved 9 December 2013.
  17. ^ "GDI Hardware Acceleration". MSDN. Microsoft. Retrieved 14 June 2009.
  18. ^ "DXVA-HD DDI". MSDN. Microsoft. Retrieved 13 June 2009.
  19. ^ "Overlay DDI". MSDN. Microsoft. Retrieved 13 June 2009.
  20. ^ "Multiple Monitors and Video Present Networks". MSDN. Microsoft. Retrieved 14 July 2010.
  21. ^ Schechter, Greg (3 May 2006). "Redirecting GDI, DirectX, and WPF applications". Greg Schechter's Blog. Microsoft. Archived from the original on 5 March 2010. Retrieved 9 December 2013.
  22. ^ Chitre, Ameet (25 August 2009). Sinofsky, Steven (ed.). "Engineering Windows 7 Graphics Performance". Engineering Windows 7. Microsoft. Retrieved 9 December 2013.
  23. ^ Mulcahy, Tom (11 February 2009). "Windows And Video Memory". Zemblanity. Microsoft. Retrieved 9 December 2013.
  24. ^ Olsen, Thomas (29 October 2008). "Introducing the Microsoft Direct2D API". Tom's Blog. Microsoft. Retrieved 9 December 2013.
  25. ^ Mark Lawrence (25 November 2009). "Internet Explorer announces to use DirectWrite & Direct2D (comment from Microsoft official)". Archived from the original on 2014-04-08.
  26. ^ "Windows Developer Preview - New for Display devices". MSDN. Microsoft. 16 November 2013. Retrieved 9 December 2013.
  27. ^ a b "Windows Display Driver Model Enhancements in Windows Developer Preview". MSDN. Microsoft. 28 September 2012. Retrieved 9 December 2013.
  28. ^ "DXGI 1.2 Improvements". MSDN. Microsoft. 16 November 2013. Retrieved 9 December 2013.
  29. ^ "DXGI_Graphics_Preemption_Granularity Enumeration". MSDN. Microsoft. 16 November 2013. Retrieved 9 December 2013.
  30. ^ "DXGI_FORMAT enumeration". MSDN. Microsoft. 16 November 2013. Retrieved 9 December 2013.
  31. ^ "Microsoft Basic Display Driver - Windows drivers".
  32. ^ Al-Kady, Nabeel. "Display Driver Logistics And Testing". WinHEC 2006. Microsoft. Retrieved 9 December 2013.
  33. ^ Pronovost, Steve. "Windows Display Driver Model (WDDM) v2 And Beyond". WinHEC 2006. Microsoft. Retrieved 9 December 2013.
  34. ^ Dan Warne (June 1, 2006). "Windows graphics system to be overhauled". APC Magazine. Retrieved 20 February 2015.
  35. ^ "What's new for Windows 8.1 Preview display drivers (WDDM 1.3)". MSDN. Microsoft. 16 November 2013. Retrieved 9 December 2013.
  36. ^ "DXGI 1.3 Improvements". MSDN. Microsoft. 16 November 2013. Retrieved 9 December 2013.
  37. ^ "What's new for Windows 10 Insider Preview display drivers (WDDM 2.0)". Microsoft. Retrieved 3 June 2015.
  38. ^ McMullen, Max (2 April 2014). Direct3D 12 API Preview. MSDN. Retrieved 3 June 2015.
  39. ^ Moreton, Henry (2014-03-20). "DirectX 12: A Major Stride for Gaming NVIDIA Blog". Blogs.nvidia.com. Retrieved 2014-03-26.
  40. ^ "DirectX 12 - DirectX Developer Blog - Site Home - MSDN Blogs". Blogs.msdn.com. 2014-03-20. Retrieved 2014-03-26.
  41. ^ Smith, Ryan (6 February 2015). "The DirectX 12 Performance Preview: AMD, NVIDIA, & Star Swarm". AnandTech. Purch.
  42. ^ MSDN - DXGI 1.4의 개량점
  43. ^ tedhudek. "What's new in driver development". docs.microsoft.com. Retrieved 2018-10-08.
  44. ^ "HLSL Shader Model 6.0 - Win32 apps".
  45. ^ "High Dynamic Range and Wide Color Gamut (Windows)". msdn.microsoft.com. Archived from the original on 2016-09-13.
  46. ^ "Variable refresh rate displays - Win32 apps".
  47. ^ "Channel9 has joined Microsoft Learn".
  48. ^ "Driver development additions for Windows 10, version 1709 - Display". docs.microsoft.com. Retrieved 2020-04-14.
  49. ^ "Shader Model 6.1". github.com/microsoft/DirectXShaderCompiler. Retrieved 2017-12-01.
  50. ^ "What's new in Windows 10, version 1803 - Display". docs.microsoft.com. Retrieved 2020-04-28.
  51. ^ "Shader Model 6.2". github.com/microsoft/DirectXShaderCompiler. Retrieved 2017-12-01.
  52. ^ "Features added in prior WDDM 2.X versions - WDDM 2.5". Microsoft Docs. Retrieved 2020-03-28.
  53. ^ "Windows Drivers - What's new in Windows 10, version 1809 - Display". Microsoft Docs. Retrieved 2020-04-28.
  54. ^ "Shader Model 6.3". github.com/microsoft/DirectXShaderCompiler. Retrieved 2019-03-11.
  55. ^ "Getting Started with DirectML". github.com/microsoft/DirectML. 26 November 2021.
  56. ^ "Features added in prior WDDM 2.X versions - WDDM 2.6". docs.microsoft.com. Retrieved 2020-03-24.
  57. ^ "Shader Model 6.4". github.com/microsoft/DirectXShaderCompiler. Retrieved 2019-04-11.
  58. ^ "Dev Preview of New DirectX 12 Features". devblogs.microsoft.com. 28 October 2019. Retrieved 2019-10-28.
  59. ^ "What's new for Windows 10 display and graphics drivers". docs.microsoft.com. Retrieved 2020-05-12.
  60. ^ "HLSL Shader Model 6.5". microsoft.github.io. Retrieved 2019-10-15.
  61. ^ "Hardware Accelerated GPU Scheduling". devblogs.microsoft.com. 30 June 2020. Retrieved 2020-06-30.
  62. ^ "Coming to DirectX 12— Sampler Feedback: some useful once-hidden data, unlocked". devblogs.microsoft.com. 4 November 2019. Retrieved 2019-11-04.
  63. ^ "DirectX-Specs - Sampler Feedback - Feature Support". microsoft.github.io. Retrieved 2019-11-04.
  64. ^ "DirectX Raytracing (DXR) Tier 1.1". devblogs.microsoft.com. 6 November 2019. Retrieved 2019-11-06.
  65. ^ "Coming to DirectX 12— Mesh Shaders and Amplification Shaders: Reinventing the Geometry Pipeline". devblogs.microsoft.com. 8 November 2019. Retrieved 2019-11-08.
  66. ^ "Coming to DirectX 12: More control over memory allocation". devblogs.microsoft.com. 11 November 2019. Retrieved 2019-11-11.
  67. ^ "Coming to DirectX 12: D3D9On12 and D3D11On12 Resource Interop APIs". devblogs.microsoft.com. 13 November 2019. Retrieved 2019-11-13.
  68. ^ "D3D12 Video Protected Resource Support". microsoft.github.io. Retrieved 2019-05-29.
  69. ^ "DirectX ❤ Linux". devblogs.microsoft.com. 19 May 2020. Retrieved 2020-05-19.
  70. ^ "New in DirectX— Feature Level 12_2". 27 August 2020.
  71. ^ "Announcing HLSL Shader Model 6.6". 20 April 2021.
  72. ^ "How to get Windows 11". 4 October 2021.
  73. ^ "Download Windows 11". Microsoft.
  74. ^ "WSL Graphics Architecture". xdc2020.x.org. Retrieved 2020-09-16.
  75. ^ "What's new for Windows 11 display and graphics drivers - Windows drivers".
  76. ^ "Dynamic refresh rate – Get the best of both worlds". 28 June 2021.
  77. ^ "D3D12 video encoding - Windows drivers".
  78. ^ lorihollasch. "IOMMU DMA remapping - Windows drivers". docs.microsoft.com. Retrieved 2022-07-24.