1 / 44

Windows Graphics Architecture

Windows Graphics Architecture. Leonardo Blanco Development Lead Desktop and Graphics Team Microsoft Corporation. Session Outline. Windows graphics big picture Windows Display Driver Model Rendering APIs (D3D, OpenGL, GDI) Device APIs (DXGI) Media APIs (DirectX Video Acceleration)

sef
Download Presentation

Windows Graphics Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows Graphics Architecture Leonardo Blanco Development Lead Desktop and Graphics Team Microsoft Corporation

  2. Session Outline • Windows graphics big picture • Windows Display Driver Model • Rendering APIs (D3D, OpenGL, GDI) • Device APIs (DXGI) • Media APIs (DirectX Video Acceleration) • Presentation APIs (WPF) • Desktop Window Manager

  3. The Vision • Windows delivers unparalleled graphics and multimedia experience in all application areas • Games • Workstation (CAD, Content Creation, etc) • Presentation • Imaging • Video • Eagerly driving new technologies together with our hardware and software partners

  4. Graphics/Gaming/Multimedia/Presentation Stacks Game (e.g. Halo) HEWS/DCC (e.g. Maya) Imaging (e.g. DIS) Video (e.g., WMP) Presentation (e.g. Office) User Application MCE Desktop WM Shell/UX System Application Control Panels Help IE 3rd party Game Engine WinForms WPF MFC/ATL Application Framework Splash DUser User WPF/E Avalon CoreUI Common Controls High-Level Abstraction Trident MS HTML Managed DirectX MILCore PIX/ DaVinci Media Foundation CLR Mid-Level Abstraction Windows Codecs D3DX/ HLSL WCS DShow GDI+ Low-Level Abstraction OpenGL Direct3D DXVA DDraw GDI DDI/User Mode Driver DDI/user-mode Driver Memory Management, Scheduling, Device Management Win32k kstream Kernel Display Controller 3D Engine 2D Engine/ De-interlace… Video Decode Video Encode Print Driver/ Hardware

  5. Big PictureSimplified Workstation(Inventor) Games(Oblivion) Imaging(PhotoViewer) Video(MediaPlayer) Presentation(Office) … UIFrameworks WindowsPresentationFoundation WindowsExplorer DesktopWindowManager WIC PIX MediaFoundation DShow MIL TextLayout Windows Color System GDI+ OpenGL Direct3D DXVA DXGI User GDI XPDM WDDM PrintTerminal ServerRemote Assistance…

  6. Graphics Core In Windows Vista Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  7. Windows Display Driver Model Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  8. Windows Display Driver Model • Bedrock upon which all graphics are built • Fundamental principle • Graphics Just Works • Re-architect entire driver stack • Consolidate 10 years of evolution • New driver model delivers • Stability • Security • Availability (application virtualization) • Performance

  9. Windows Display Driver Model • Staged evolution of driver model • WDDM 1.0 model supports current hardware • E.g., pre-Windows Vista hardware • Advanced model (WDDM 2.x) utilizes new hardware features • Post Windows Vista • More efficient virtualization • Old Windows XP driver model still supported for compatibility • No new features

  10. Rendering APIs • Lots to choose from • GDI/GDI+ • DirectDraw • Direct3D [3..10] • OpenGL • Windows Presentation Foundation • Break into categories • Legacy • Mainline (GDI, Direct3D 9/9Ex) • New (Direct3D 10, WPF)

  11. GDI And GDI+ Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  12. GDI/GDI+ • Workhorse for Windows • Presentation/UI, device control, etc • Reduced hardware acceleration in Windows Vista • Necessary to accomplish WDDM implementation • Continue to invest in GDI in future • Protect API investment • Enhance where feasible

  13. Legacy Direct3D APIs Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  14. Legacy Direct3D APIs • Older Direct3D immediate mode APIs supported • D3DRM (retained mode) API retired • Map older runtimes onto Direct3D 9 DDIs • E.g., runtimes ≤ Direct3D 8, DirectDraw • Fixed-function onto shaders, etc • Direct3D9 interface matches DirectX 9.0c • Same behavior as Direct3D 9 on Windows XP • Maintain application compatibility

  15. Direct3D9Ex Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  16. Direct3D9Ex • Enhanced version of Direct3D 9 • Also known as “DX9.L” • Cross-process shared surfaces • “Unlimited memory” • All memory resources are “managed” • Resource management controls • Prioritization of resources • Antialiased text rendering support • Monochrome texture filter with large kernel size • No more “device lost” • Less frequent “device removed”

  17. OpenGL Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  18. OpenGL • Three options for Windows Vista Developers • OpenGL 1.1 software implementation • Windows XP driver model OpenGL ICDs • Not DWM-compatible, DWM shuts off • 3rd party WDDM OpenGL ICDs • DWM compliant • Limited inbox support for application compatibility • Using Direct3D 9

  19. Direct3D 10 And DXGI Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  20. Direct3D 10 • Latest version of Direct3D • Supported in Windows Vista • Premium Logo requirement in ‘08 • Major improvements in • Hardware consistency • Programmer expressiveness • WDDM + Direct3D 10 are fundamental improvement to the Windows gaming platform

  21. DXGI • Separate rendering from device management • DXGI (eventually) does • Adapter management • Display mode management • Present to monitor • Output management • Gamma/Color • Improvements of GDI 256 entry table • Monitor controls • Long term, subsumes functionality from GDI • Currently only works with Direct3D 10

  22. Media Integration Layer Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  23. Media Integration Layer • New for Windows Vista • Serves WPF and DWM • Integrates text, 2D, images, video, animation • Supports remote desktop • Composition model • Use Direct3D for HW acceleration • Software fallback • Text services (line services) • Paragraph, line layout • Font mapping • Rendering/Rasterization

  24. Windows Presentation Foundation • Highly integrated stack • Layout, text, video, audio, imaging • Builds on other parts of stack • Media Integration Layer • Media Foundation • Imaging • Direct3D9Ex • Windows Color System

  25. Media And Imaging Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  26. Video Acceleration • Relies on more specialized hardware support • Decode: IDCT, motion compensation • Processing: Deinterlace, denoise, scale, mixing • Content protection of high value data • OPM, Protected Video Path • Supported through DirectX Video Acceleration (DXVA) APIs • Media Center and Media Player use same pipeline

  27. Imaging • Hardware accelerated photo experience • 12-16Mpix @ 60 fps • Builds on Direct3D 9 API • Uses texture mapping + shading for image processing • Rely on Shader Model 2.0 capabilities • Float16 processing • Lots of accelerator memory • Large texture images (> 2Kx2K)

  28. Image Codecs • Image I/O, parsing • Metadata, thumbnails • Compress, Decompress • Popular formats built-in • Extension for others • Secure, Reliable • Central source (WIC)

  29. Desktop Window Manager Microsoft-writtencode IHV-writtencode WPF DWM GDI+ MediaFoundation PIX WIC MIL OpenGLICD GDI D3D<9 DXVA D3D9 D3D9Ex D3D10 DXGI OpenGL User-modedriver Common pipeline (DDI) User mode Kernel mode Kernel-modedriver Win32 Kernel DXG Kernel

  30. Desktop Window Manager • New desktop experience using MIL and DirectX • Uses new D3D9Ex interfaces • Desktop Window Manager (DWM) • Composited desktop • Window movement without repainting underlying windows • No more dragging garbage • Client areas from applications • GDI, Direct3D, WPF • Video • Non-client areas from the Window Manager • Allows different views of application windows

  31. Desktop Window Manager WPFApplication Direct3DApplication GDIApplication surface surface surface Desktop Window Manager

  32. Desktop Window Manager • Supports high-DPI displays • Composition with magnification • Supports video playback • Takes advantage of Direct3D 9 shaders • Animated transitions, etc • New D3D9Ex cross-process shared surfaces • Allows DWM to access application back buffers • Turns off when certain application types running • Overlay planes, front buffer rendering,…

  33. Full Screen Exclusive, Multimon, And DWM • Continue to allow apps to have exclusive monitor access • Control video mode, gamma, etc… • Desktop Window Manager disappears • Other applications can continue to run • May bump the priorities of the output-exclusive app • Applications should recognize case where client area is occluded • Background processing on the GPU • Multiple monitors independent • Composited desktop image per monitor • Exclusive output independent for each monitor

  34. Future Technologies • Warning: These are directions not commitments • Continue the vision • Rich graphics and media experience • Available all the time to all applications • Robust, efficient, applications don’t interfere • Scales across mobile, desktop,… • Seamless print, remote, Terminal Server

  35. Windows Display Driver Model • Lots of areas to address • Move to preemptive context switching and page-level memory management ASAP WDDM 2.x • Flexible multi-GPU, linked adapters (LDA) • Graphics multiprocessing • Power management • Boot video, VGA, ACPI/BIOS • Virtual Machine support

  36. Display/Device Technologies • Color managed desktop • Hi-def color (float16) • Consumer Electronics (TV) devices • Greater format coverage • Multimon • Improve the fullscreen/windowed experience • Multi-desktop support • Magnification • Monitor controls • DDC/CI • Rationalize GDI/DXGI device control

  37. Rendering Technologies • Interoperability of rendering APIs • Game applications • Higher-def, procedural content • Surface tessellation, order-independent transparency • Shader expressiveness • Mainstream API • Native code access • Text, antialiasing, 2D rendering • Rendering quality • Multicore CPU investments • Process or move data faster

  38. Media Technologies • Imaging • Direct3D 10 provides ideal base • Move to “HDR” (actually 16-bit MDR) • Minor improvements for additional image formats • 16-bit fixed in addition to 16-bit float • Video • Content Protection (Protected Video Path) • Glitch-resilience • Preemptive context switching in WDDM 2.x is key • Hardware Encode/Analysis • Background transcoding • Processing • HD-DVD compositing scenarios

  39. General Compute (GPGPU) • GPU rapidly generalizing • Good at high-bandwidth, data-parallel compute • Image processing, video processing, physics,… • 100 GB/s, 300+ GFlops • Looking at more generalized infrastructure • Don’t draw triangles to trigger computations • Enabled by • Hardware implementation consistency • Fast CPU ↔ GPU data transfer • Multi-GPU support

  40. Call To Action • Windows Vista • Hardware-accelerated graphics all the time • WDDM 1.0 • Direct3D 9/9Ex is everywhere – now • Rapid adoption of Direct3D 10 – it delivers the future • DXVA, content protection, glitch reduction • Next • WDDM 2.x – efficient GPU virtualization • Direct3D 10.1 – incremental changes to 10 • Greater generalization of GPU capabilities • Hi-def color, HD-DVD

  41. Additional Resources Directx @ microsoft.com • E-mail: • Related content • CLN-T359 – Windows Display Driver Model Drivers: Key Features • CLN-C364 – Direct3D Test Framework • CLN-C362 – Kernel Graphics Infrastructure for Display Devices and Mobiles • CLN-P365 – CPU and GPU Directions

  42. Questions?

  43. FACT:29 digital cameras carry the “Certified for Windows Vista” logo as of April 1

  44. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related