Future Directions
In Graphics
David Blythe
Software Architect
Windows Graphics
Microsoft Corporation
The Vision
Windows delivers unparalleled graphics
and multimedia experience in all
application areas
Games
Workstation (CAD, Content Creation,…)
Presentation
Imaging
Video
Eagerly driving new technologies together
with our hardware and software partners
This Session
Overview major technology parts
Provide context for more detailed sessions
Point out interactions between components
Describe where we are going longer term
Session Outline
Windows Graphics Big Picture
Windows Display Driver Model
Rendering APIs (Direct3D, OpenGL, GDI)
Device APIs (DXGI)
Desktop Window Manager
Media APIs (DirectX Video Acceleration)
Presentation APIs (WPF)
Future
Big Picture
Simplified
WDDM
DXVA
XPDM
GDI+
Direct3D
GDI
MIL
Games
(Oblivion)
DXGI
Workstation
(Inventor)
Imaging
(PhotoViewer)
Video
(MediaPlayer)
Presentation
(Office)
…
User
Windows
Presentation
Foundation
OpenGL
Media
Foundation
PIX
Desktop
Window Mgr
Windows
Color System
Print
Terminal Server
Remote Assistance
…
DShow
Shell
Graphics Core In Windows Vista
DXG
Kernel
Kernel
-
Mode
Driver
User Mode
Kernel Mode
IHV
-
written
code
Microsoft
-
written code
OpenGL
ICD
User
-
Mode
Driver
Legacy
D3D APIs
Direct3D
10
D3D9
OpenGL
MIL
Common pipeline (DDI)
D3D9
Ex
DX
VA
Media
Foundation
Win32
Kernel
GDI
DXGI
PIX
WPF
DWM
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
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
Windows Display Driver Model
For more information:
WDDM v2 and
Beyond
, Steve Pronovost, et al.
Rendering APIs
Lots to choose from
GDI/GDI+
DirectDraw
Direct3D [3..10]
OpenGL
(Windows Presentation Foundation)
Break into categories
Legacy
Mainstream (GDI, Direct3D 9/9Ex)
New (Direct3D 10)
Legacy APIs
DXG
Kernel
Kernel
-
Mode
Driver
User Mode
Kernel Mode
IHV
-
written
code
Microsoft
-
written code
OpenGL
ICD
User
-
Mode
Driver
Legacy
D3D APIs
Direct3D
10
D3D9
OpenGL
MIL
Common pipeline (DDI)
D3D9
Ex
DX
VA
Media
Foundation
Win32 Kernel
GDI
DXGI
PIX
WPF
DWM
Legacy 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
Direct3D9Ex
DXG
Kernel
Kernel
-
Mode
Driver
IHV
-
written
code
Microsoft
-
written code
OpenGL
ICD
User
-
Mode
Driver
Legacy
D3D APIs
Direct3D
10
D3D9
OpenGL
MIL
Common pipeline (DDI)
D3D9
Ex
DX
VA
Media
Foundation
Win32 Kernel
GDI
DXGI
PIX
WPF
DWM
User Mode
Kernel Mode
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”
OpenGL
DXG
Kernel
Kernel
-
Mode
Driver
User Mode
Kernel Mode
IHV
-
written
code
Microsoft
-
written code
OpenGL
ICD
User
-
Mode
Driver
Legacy
D3D APIs
Direct3D
10
D3D9
OpenGL
MIL
Common pipeline (DDI)
D3D9
Ex
DX
VA
Media
Foundation
Win32 Kernel
GDI
DXGI
PIX
WPF
DWM
OpenGL
Three options for
Windows Vista Developers
OpenGL 1.1 software implementation
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
GDI/GDI+
Workhorse for Windows
Presentation/UI, device control, etc.
Reduced hardware acceleration
in Windows Vista
Necessary to accomplish
WDDM implementation
Continue to tune before release
Continue to invest in GDI in future
Protect API investment
Enhance where feasible
Direct3D 10 And DXGI
DXG
Kernel
Kernel
-
Mode
Driver
User Mode
Kernel Mode
IHV
-
written
code
Microsoft
-
written code
OpenGL
ICD
User
-
Mode
Driver
Legacy
D3D APIs
Direct3D
10
D3D9
OpenGL
MIL
Common pipeline (DDI)
D3D9
Ex
DX
VA
Media
Foundation
Win32 Kernel
GDI
DXGI
PIX
WPF
DWM
Direct3D 10
Next Version of Direct3D
Supported in Windows Vista
Proposed Premium Logo requirement
Major improvements in
Hardware consistency
Rigorous specification, elimination of capability bits
Programmer expressiveness
Unified, more capable, shader programming model
Flexible memory model
New pipeline stages
WDDM + Direct3D 10 are fundamental improvement
to the Windows gaming platform
Direct3D 10
Additional information:
DirectX Graphics:
Direct3D 10 and Beyond
,
Sam Glassenberg
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
Desktop Window Manager
New desktop experience using WPF 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
Desktop Window Manager
Supports high
-
dpi displays
Composition with magnification
Supports video playback
Takes advantage of Direct3D 9 shaders
For non
-
client areas, transitions
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,…
Desktop Window Manager
surface
Desktop Window Manager
WPF
Application
D3D
Application
GDI
Application
surface
surface
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
Media APIs
DXG
Kernel
Kernel
-
Mode
Driver
User Mode
Kernel Mode
IHV
-
written
code
Microsoft
-
written code
OpenGL
ICD
User
-
Mode
Driver
Legacy
D3D APIs
Direct3D
10
D3D9
OpenGL
MIL
Common pipeline (DDI)
D3D9
Ex
DX
VA
Media
Foundation
Win32 Kernel
GDI
DXGI
PIX
WPF
DWM
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)
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
Video Acceleration
Additional information:
Windows Vista
Video Pipeline Architecture and
Implementation,
Glenn Evans;
How to
Implement Windows Vista Content Output
Protection,
Dave Marsh
Windows Presentation
Foundation
Highly integrated stack
Layout, text, video, audio, imaging
Builds on other parts of stack
Media Foundation
Imaging
Direct3D 9
WCS
DWM And WPF
Additional information:
Desktop and
Presentation Impact on Hardware Design,
Kam Vedbrat
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
Windows Display Driver Model
Lots of areas to address
Move to preemptive context switching and
page
-
level memory management
ASAP
WDDM
2.1
Flexible multi
-
GPU, linked adapters (LDA)
Graphics multiprocessing
Power management
Boot video, VGA, ACPI/BIOS
Virtual Machine support
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
Rendering Technologies
Game applications
Higher
-
def, procedural content
Surface tessellation, order
-
independent transparency
Shader expressiveness
Presentation technologies
Move to Direct3D 10 base by 2009?
Text, antialiasing, 2D rendering
Rendering quality
Multicore CPU investments
Process or move data faster
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.1 is key
Hardware Encode/Analysis
Background transcoding
Processing
HD
-
DVD compositing scenarios
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
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.1
–
efficient GPU virtualization
Direct3D 10.1
–
incremental changes to 10
Hi
-
def color, HD
-
DVD
Greater generalization of GPU capabilities
Additional Resources
Email:
Related Sessions
WDDM v2 and Beyond
DirectX Graphics: Direct3D 10 and Beyond
Desktop and Presentation Impact on Hardware Design
How To Support Windows Color System in Printers, Displays,
and Image Capture Devices
DXVA 2.0: A New Hardware Video Acceleration Pipeline
for Windows
Windows Vista Video Pipeline Architecture and Implementation
How to Implement Windows Vista Content Output Protection
Directx @ microsoft.com
Questions?
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be re
gis
tered 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
dat
e 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 accu
rac
y 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.
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο