Upload
rosemary-ashlyn-ramsey
View
226
Download
0
Embed Size (px)
Citation preview
Future Directions Future Directions In GraphicsIn Graphics
David BlytheDavid BlytheSoftware ArchitectSoftware ArchitectWindows GraphicsWindows GraphicsMicrosoft CorporationMicrosoft Corporation
The VisionThe Vision
Windows delivers unparalleled graphics Windows delivers unparalleled graphics and multimedia experience in all and multimedia experience in all application areasapplication areas
GamesGamesWorkstation (CAD, Content Creation,…)Workstation (CAD, Content Creation,…)PresentationPresentationImagingImagingVideoVideo
Eagerly driving new technologies togetherEagerly driving new technologies togetherwith our hardware and software partnerswith our hardware and software partners
This SessionThis Session
Overview major technology partsOverview major technology partsProvide context for more detailed sessionsProvide context for more detailed sessions
Point out interactions between componentsPoint out interactions between components
Describe where we are going longer termDescribe where we are going longer term
Session OutlineSession Outline
Windows Graphics Big PictureWindows Graphics Big Picture
Windows Display Driver ModelWindows Display Driver Model
Rendering APIs (Direct3D, OpenGL, GDI)Rendering APIs (Direct3D, OpenGL, GDI)
Device APIs (DXGI)Device APIs (DXGI)
Desktop Window ManagerDesktop Window Manager
Media APIs (DirectX Video Acceleration)Media APIs (DirectX Video Acceleration)
Presentation APIs (WPF)Presentation APIs (WPF)
FutureFuture
Big PictureBig PictureSimplifiedSimplified
WDDM
DXVA
XPDM
GDI+
Direct3D GDI
MIL
Games(Oblivion)
DXGI
Workstation(Inventor)
Imaging(PhotoViewer)
Video(MediaPlayer)
Presentation(Office) ……
User
WindowsPresentationFoundation
OpenGL
MediaFoundationPIX
DesktopWindow Mgr
WindowsColor System
PrintPrintTerminal ServerTerminal Server
Remote AssistanceRemote Assistance……
DShow
Shell
Graphics Core In Windows VistaGraphics Core In Windows Vista
DXG Kernel Kernel-ModeDriver
User ModeUser Mode
Kernel ModeKernel Mode
IHV-writtenIHV-writtencodecode
Microsoft-Microsoft-written codewritten code
OpenGLICD
User-ModeDriver
LegacyD3D APIs
Direct3D10D3D9 OpenGL
MIL
Common pipeline (DDI)
D3D9Ex
DXVA
MediaFoundation
Win32 Kernel
GDI DXGI
PIX
WPFDWM
Windows Display Driver ModelWindows Display Driver Model
Bedrock upon which all graphics are builtBedrock upon which all graphics are builtFundamental principleFundamental principle
Graphics Just WorksGraphics Just Works
Re-architect entire driver stackRe-architect entire driver stackConsolidate 10 years of evolutionConsolidate 10 years of evolution
New driver model deliversNew driver model deliversStabilityStabilitySecuritySecurityAvailability (application virtualization)Availability (application virtualization)PerformancePerformance
Windows Display Driver ModelWindows Display Driver Model
Staged evolution of driver modelStaged evolution of driver modelWDDM 1.0 model supports current hardwareWDDM 1.0 model supports current hardware
E.g., pre-Windows Vista hardwareE.g., pre-Windows Vista hardware
Advanced model (WDDM 2.x) utilizes new Advanced model (WDDM 2.x) utilizes new hardware featureshardware features
Post Windows VistaPost Windows Vista
More efficient virtualizationMore efficient virtualization
Old Windows XP driver model still Old Windows XP driver model still supported for compatibilitysupported for compatibility
No new featuresNo new features
Windows Display Driver ModelWindows Display Driver Model
For more information: For more information: WDDM v2 and WDDM v2 and BeyondBeyond, Steve Pronovost, et al., Steve Pronovost, et al.
Rendering APIsRendering APIs
Lots to choose fromLots to choose fromGDI/GDI+GDI/GDI+
DirectDrawDirectDraw
Direct3D [3..10]Direct3D [3..10]
OpenGLOpenGL
(Windows Presentation Foundation)(Windows Presentation Foundation)
Break into categoriesBreak into categoriesLegacyLegacy
Mainstream (GDI, Direct3D 9/9Ex)Mainstream (GDI, Direct3D 9/9Ex)
New (Direct3D 10)New (Direct3D 10)
Legacy APIsLegacy APIs
DXG KernelKernel-Mode
Driver
User ModeUser Mode
Kernel ModeKernel Mode
IHV-writtenIHV-writtencodecode
Microsoft-Microsoft-written codewritten code
OpenGLICD
User-ModeDriver
LegacyD3D APIs
Direct3D10
D3D9 OpenGL
MIL
Common pipeline (DDI)
D3D9Ex
DXVA
MediaFoundation
Win32 Kernel
GDI DXGI
PIX
WPFDWM
Legacy APIsLegacy APIs
Older Direct3D immediate mode Older Direct3D immediate mode APIs supportedAPIs supported
D3DRM (retained mode) API retiredD3DRM (retained mode) API retired
Map older runtimes onto Direct3D 9 DDIsMap older runtimes onto Direct3D 9 DDIsE.g., runtimes ≤ Direct3D 8, DirectDrawE.g., runtimes ≤ Direct3D 8, DirectDraw
Fixed-function onto shaders, etc.Fixed-function onto shaders, etc.
Direct3D9 interface matches DirectX 9.0cDirect3D9 interface matches DirectX 9.0cSame behavior as Direct3D 9 on Windows XPSame behavior as Direct3D 9 on Windows XP
Maintain application compatibilityMaintain application compatibility
Direct3D9ExDirect3D9Ex
DXG Kernel Kernel-ModeDriver
IHV-writtenIHV-writtencodecode
Microsoft-Microsoft-written codewritten code
OpenGLICD
User-ModeDriver
LegacyD3D APIs
Direct3D10D3D9 OpenGL
MIL
Common pipeline (DDI)
D3D9Ex
DXVA
MediaFoundation
Win32 Kernel
GDI DXGI
PIX
WPFDWM
User ModeUser Mode
Kernel ModeKernel Mode
Direct3D9ExDirect3D9Ex
Enhanced version of Direct3D 9Enhanced version of Direct3D 9Also known as “DX9.L”Also known as “DX9.L”
Cross-process shared surfacesCross-process shared surfaces
““Unlimited memory”Unlimited memory”All memory resources are “managed”All memory resources are “managed”
Resource management controlsResource management controlsPrioritization of resourcesPrioritization of resources
Antialiased text rendering supportAntialiased text rendering supportMonochrome texture filter with large kernel sizeMonochrome texture filter with large kernel size
No more “device lost”No more “device lost”Less frequent “device removed”Less frequent “device removed”
OpenGLOpenGL
DXG Kernel Kernel-ModeDriver
User ModeUser Mode
Kernel ModeKernel Mode
IHV-writtenIHV-writtencodecode
Microsoft-Microsoft-written codewritten code
OpenGLICD
User-ModeDriver
LegacyD3D APIs
Direct3D10D3D9 OpenGL
MIL
Common pipeline (DDI)
D3D9Ex
DXVA
MediaFoundation
Win32 Kernel
GDI DXGI
PIX
WPFDWM
OpenGLOpenGL
Three options for Three options for Windows Vista DevelopersWindows Vista Developers
OpenGL 1.1 software implementation OpenGL 1.1 software implementation
XP driver model OpenGL ICDsXP driver model OpenGL ICDsNot DWM-compatible, DWM shuts offNot DWM-compatible, DWM shuts off
3rd party WDDM OpenGL ICDs3rd party WDDM OpenGL ICDsDWM compliantDWM compliant
Limited inbox support for Limited inbox support for application compatibilityapplication compatibility
Using Direct3D 9Using Direct3D 9
GDI/GDI+GDI/GDI+
Workhorse for WindowsWorkhorse for WindowsPresentation/UI, device control, etc.Presentation/UI, device control, etc.
Reduced hardware acceleration Reduced hardware acceleration in Windows Vistain Windows Vista
Necessary to accomplish Necessary to accomplish WDDM implementationWDDM implementation
Continue to tune before releaseContinue to tune before release
Continue to invest in GDI in futureContinue to invest in GDI in futureProtect API investmentProtect API investment
Enhance where feasibleEnhance where feasible
Direct3D 10 And DXGIDirect3D 10 And DXGI
DXG Kernel Kernel-ModeDriver
User ModeUser Mode
Kernel ModeKernel Mode
IHV-writtenIHV-writtencodecode
Microsoft-Microsoft-written codewritten code
OpenGLICD
User-ModeDriver
LegacyD3D APIs
Direct3D10D3D9 OpenGL
MIL
Common pipeline (DDI)
D3D9Ex
DXVA
MediaFoundation
Win32 Kernel
GDI DXGI
PIX
WPFDWM
Direct3D 10Direct3D 10
Next Version of Direct3DNext Version of Direct3D
Supported in Windows VistaSupported in Windows VistaProposed Premium Logo requirementProposed Premium Logo requirement
Major improvements inMajor improvements inHardware consistencyHardware consistency
Rigorous specification, elimination of capability bitsRigorous specification, elimination of capability bits
Programmer expressivenessProgrammer expressivenessUnified, more capable, shader programming modelUnified, more capable, shader programming model
Flexible memory modelFlexible memory model
New pipeline stagesNew pipeline stages
WDDM + Direct3D 10 are fundamental improvementWDDM + Direct3D 10 are fundamental improvementto the Windows gaming platformto the Windows gaming platform
Direct3D 10Direct3D 10
Additional information: Additional information: DirectX Graphics: DirectX Graphics: Direct3D 10 and BeyondDirect3D 10 and Beyond, , Sam GlassenbergSam Glassenberg
DXGIDXGI
Separate rendering from device managementSeparate rendering from device management
DXGI (eventually) doesDXGI (eventually) doesAdapter managementAdapter management
Display mode managementDisplay mode management
Present to monitorPresent to monitor
Output managementOutput management
Gamma/ColorGamma/Color
Improvements of GDI 256 entry tableImprovements of GDI 256 entry table
Monitor controlsMonitor controls
Long term, subsumes functionality from GDILong term, subsumes functionality from GDI
Currently only works with Direct3D 10Currently only works with Direct3D 10
Desktop Window ManagerDesktop Window Manager
New desktop experience using WPF and DirectXNew desktop experience using WPF and DirectXUses new D3D9Ex interfacesUses new D3D9Ex interfaces
Desktop Window Manager (DWM)Desktop Window Manager (DWM)Composited desktop Composited desktop
Window movement without repainting underlying windowsWindow movement without repainting underlying windows
No more dragging garbageNo more dragging garbage
Client areas from applicationsClient areas from applicationsGDI, Direct3D, WPFGDI, Direct3D, WPF
VideoVideo
Non-client areas from the Window ManagerNon-client areas from the Window Manager
Allows different views of application windowsAllows different views of application windows
Desktop Window ManagerDesktop Window Manager
Supports high-dpi displaysSupports high-dpi displaysComposition with magnificationComposition with magnification
Supports video playbackSupports video playback
Takes advantage of Direct3D 9 shadersTakes advantage of Direct3D 9 shadersFor non-client areas, transitionsFor non-client areas, transitions
Animated transitions, etc.Animated transitions, etc.
New D3D9Ex cross-process shared surfacesNew D3D9Ex cross-process shared surfacesAllows DWM to access application back buffersAllows DWM to access application back buffers
Turns off when certain application types runningTurns off when certain application types runningOverlay planes, front buffer rendering,…Overlay planes, front buffer rendering,…
Desktop Window ManagerDesktop Window Manager
surface
Desktop Window Manager
WPFApplication
D3DApplication
GDIApplication
surface surface
Full Screen Exclusive, Full Screen Exclusive, Multimon, And DWMMultimon, And DWM
Continue to allow apps to have exclusive monitor accessContinue to allow apps to have exclusive monitor accessControl video mode, gamma, etc…Control video mode, gamma, etc…
Desktop window manager disappearsDesktop window manager disappears
Other applications can continue to runOther applications can continue to runMay bump the priorities of the output-exclusive appMay bump the priorities of the output-exclusive app
Applications should recognize case where client area is occludedApplications should recognize case where client area is occluded
Background processing on the GPUBackground processing on the GPU
Multiple monitors independentMultiple monitors independentComposited desktop image per monitorComposited desktop image per monitor
Exclusive output independent for each monitorExclusive output independent for each monitor
Media APIsMedia APIs
DXG Kernel Kernel-ModeDriver
User ModeUser Mode
Kernel ModeKernel Mode
IHV-writtenIHV-writtencodecode
Microsoft-Microsoft-written codewritten code
OpenGLICD
User-ModeDriver
LegacyD3D APIs
Direct3D10D3D9 OpenGL
MIL
Common pipeline (DDI)
D3D9Ex
DXVA
MediaFoundation
Win32 Kernel
GDI DXGI
PIX
WPFDWM
ImagingImaging
Hardware accelerated photo experienceHardware accelerated photo experience12-16Mpix @ 60 fps12-16Mpix @ 60 fps
Builds on Direct3D 9 APIBuilds on Direct3D 9 API
Uses texture mapping + shading for Uses texture mapping + shading for image processingimage processing
Rely on Shader Model 2.0 capabilitiesRely on Shader Model 2.0 capabilitiesFloat16 processingFloat16 processing
Lots of accelerator memoryLots of accelerator memory
Large texture images (> 2Kx2K)Large texture images (> 2Kx2K)
Video AccelerationVideo Acceleration
Relies on more specialized hardware supportRelies on more specialized hardware supportDecode: IDCT, motion compensationDecode: IDCT, motion compensation
Processing: Deinterlace, denoise, scale, mixingProcessing: Deinterlace, denoise, scale, mixing
Content protection of high value dataContent protection of high value dataOPM, Protected Video PathOPM, Protected Video Path
Supported through DirectX Video Acceleration Supported through DirectX Video Acceleration (DXVA) APIs(DXVA) APIs
Media Center and Media Player use Media Center and Media Player use same pipelinesame pipeline
Video AccelerationVideo Acceleration
Additional information: Additional information: Windows Vista Windows VistaVideo Pipeline Architecture and Video Pipeline Architecture and Implementation, Implementation, Glenn Evans; Glenn Evans; How to How to Implement Windows Vista Content Output Implement Windows Vista Content Output Protection, Protection, Dave MarshDave Marsh
Windows Presentation Windows Presentation FoundationFoundation
Highly integrated stackHighly integrated stackLayout, text, video, audio, imagingLayout, text, video, audio, imaging
Builds on other parts of stackBuilds on other parts of stackMedia FoundationMedia Foundation
ImagingImaging
Direct3D 9Direct3D 9
WCSWCS
DWM And WPFDWM And WPF
Additional information: Additional information: Desktop and Desktop and Presentation Impact on Hardware Design, Presentation Impact on Hardware Design, Kam VedbratKam Vedbrat
Future TechnologiesFuture Technologies
Warning: These are directions Warning: These are directions not commitmentsnot commitments
Continue the visionContinue the visionRich graphics and media experienceRich graphics and media experience
Available all the time to all applicationsAvailable all the time to all applicationsRobust, efficient, applications don’t interfereRobust, efficient, applications don’t interfere
Scales across mobile, desktop,…Scales across mobile, desktop,…
Seamless print, remote, terminal serverSeamless print, remote, terminal server
Windows Display Driver ModelWindows Display Driver Model
Lots of areas to addressLots of areas to addressMove to preemptive context switching and Move to preemptive context switching and page-level memory management page-level memory management ASAPASAP
WDDMWDDM 2.12.1
Flexible multi-GPU, linked adapters (LDA)Flexible multi-GPU, linked adapters (LDA)Graphics multiprocessingGraphics multiprocessing
Power managementPower management
Boot video, VGA, ACPI/BIOSBoot video, VGA, ACPI/BIOS
Virtual Machine supportVirtual Machine support
Display/Device TechnologiesDisplay/Device Technologies
Color managed desktopColor managed desktop
Hi-def color (float16)Hi-def color (float16)
Consumer Electronics (TV) devicesConsumer Electronics (TV) devicesGreater format coverageGreater format coverage
MultimonMultimonImprove the fullscreen/windowed experienceImprove the fullscreen/windowed experience
Multi-desktop supportMulti-desktop support
MagnificationMagnification
Monitor controlsMonitor controlsDDC/CIDDC/CI
Rationalize GDI/DXGI device controlRationalize GDI/DXGI device control
Rendering TechnologiesRendering Technologies
Game applicationsGame applicationsHigher-def, procedural contentHigher-def, procedural content
Surface tessellation, order-independent transparencySurface tessellation, order-independent transparency
Shader expressivenessShader expressiveness
Presentation technologiesPresentation technologiesMove to Direct3D 10 base by 2009?Move to Direct3D 10 base by 2009?
Text, antialiasing, 2D renderingText, antialiasing, 2D rendering
Rendering qualityRendering quality
Multicore CPU investmentsMulticore CPU investmentsProcess or move data fasterProcess or move data faster
Media TechnologiesMedia Technologies
ImagingImagingDirect3D 10 provides ideal baseDirect3D 10 provides ideal baseMove to “HDR” (actually 16-bit MDR)Move to “HDR” (actually 16-bit MDR)Minor improvements for additional image formatsMinor improvements for additional image formats
16-bit fixed in addition to 16-bit float16-bit fixed in addition to 16-bit float
VideoVideoContent Protection (Protected Video Path)Content Protection (Protected Video Path)Glitch-resilienceGlitch-resilience
Preemptive context switching in WDDM 2.1 is keyPreemptive context switching in WDDM 2.1 is key
Hardware Encode/AnalysisHardware Encode/AnalysisBackground transcodingBackground transcoding
ProcessingProcessingHD-DVD compositing scenariosHD-DVD compositing scenarios
General Compute (GPGPU)General Compute (GPGPU)
GPU rapidly generalizingGPU rapidly generalizing
Good at high-bandwidth, data-parallel computeGood at high-bandwidth, data-parallel computeImage processing, video processing, physics,…Image processing, video processing, physics,…
100 GB/s, 300+ GFlops100 GB/s, 300+ GFlops
Looking at more generalized infrastructureLooking at more generalized infrastructureDon’t draw triangles to trigger computationsDon’t draw triangles to trigger computations
Enabled byEnabled byHardware implementation consistencyHardware implementation consistency
Fast CPU ↔ GPU data transferFast CPU ↔ GPU data transfer
Multi-GPU supportMulti-GPU support
Call To ActionCall To Action
Windows VistaWindows VistaHardware-accelerated graphics all the timeHardware-accelerated graphics all the time
WDDM 1.0WDDM 1.0
Direct3D 9/9Ex is everywhere – nowDirect3D 9/9Ex is everywhere – now
Rapid adoption of Direct3D 10 – it delivers the futureRapid adoption of Direct3D 10 – it delivers the future
DXVA, content protection, glitch reductionDXVA, content protection, glitch reduction
NextNextWDDM 2.1 – efficient GPU virtualizationWDDM 2.1 – efficient GPU virtualization
Direct3D 10.1 – incremental changes to 10Direct3D 10.1 – incremental changes to 10
Hi-def color, HD-DVDHi-def color, HD-DVD
Greater generalization of GPU capabilitiesGreater generalization of GPU capabilities
Additional ResourcesAdditional Resources
Email:Email:
Related SessionsRelated SessionsWDDM v2 and BeyondWDDM v2 and Beyond
DirectX Graphics: Direct3D 10 and BeyondDirectX Graphics: Direct3D 10 and Beyond
Desktop and Presentation Impact on Hardware DesignDesktop and Presentation Impact on Hardware Design
How To Support Windows Color System in Printers, Displays, How To Support Windows Color System in Printers, Displays, and Image Capture Devicesand Image Capture Devices
DXVA 2.0: A New Hardware Video Acceleration Pipeline DXVA 2.0: A New Hardware Video Acceleration Pipeline for Windowsfor Windows
Windows Vista Video Pipeline Architecture and ImplementationWindows Vista Video Pipeline Architecture and Implementation
How to Implement Windows Vista Content Output ProtectionHow to Implement Windows Vista Content Output Protection
Directx @ microsoft.comDirectx @ microsoft.com
Questions?Questions?
© 2006 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.