Introducing Direct3D 11.1 and 11.2
With the release of Windows 8 came a minor release of Direct3D, Version 11.1 and the DXGI API, Version 1.2. A number of features that do not require Windows Display Driver Model (WDDM) 1.2 were later made available for Windows 7 and Windows Server 2008 R2 with the Platform Update for Windows 7 SP1 and Windows Server 2008 R2 SP1.
Now with the release of Windows 8.1 in October 2013 and the arrival of the Xbox One not long after, Microsoft has provided another minor release of Direct3D, Version 11.2 and DXGI Version 1.3. These further updates are not available on previous versions of Windows 7 or Windows 8.
Direct3D 11.1 and DXGI 1.2 features
Direct3D 11.1 introduces a number of enhancements and additional features, including:
- Unordered Access Views (UAVs) can now be used in any shader stage, not just the pixel and compute shaders
- A larger number of UAVs can be used when you bind resources to the output merger stage
- Support for reducing memory bandwidth and power consumption (HLSL minimum precision and swap chain dirty regions and scroll present parameters)
- Shader tracing and compiler enhancements
- Direct3D device sharing
- Create larger constant buffers than a shader can access (by binding a subset of a constant buffer)
- Support logical operations in a render target with new blend state options
- Create SRV/RTV and UAVs to video resources so that Direct3D shaders can process video resources
- Ability to use Direct3D in Session 0 processes (from background services)
- Extended resource sharing for shared Texture2D resources
DXGI 1.2 enhancements include:
- A new flip-model swap chain
- Support for stereoscopic 3D displays
- Restricting output to a specific display
- Support for dirty rectangles and scrolled areas that can reduce memory bandwidth and power consumption
- Events for notification of application occlusion status (that is, knowing when rendering is not necessary)
- A new desktop duplication API that replaces the previous mirror drivers
- Improved event-based synchronization to share resources
- Additional debugging APIs
Direct3D 11.2 and DXGI 1.3 features
Direct3D 11.2 is a smaller incremental update by comparison and includes the following enhancements:
- HLSL compilation within Windows Store apps under Windows 8.1. This feature was missing from Windows 8 Windows Store apps and now allows applications to compile shaders at runtime for Windows Store apps.
- HLSL shader linking, adding support for precompiled HLSL functions that can be packaged into libraries and linked into shaders at runtime.
- Support for tiled resources, large resources that use small amounts of physical memory—suitable for large terrains.
- Ability to annotate graphics commands, sending strings and an integer value to Event Tracing for Windows (ETW).
DXGI 1.3 enhancements include:
- Overlapping swap chains and scaling, for example, presenting a swap chain that is rendered at a lower resolution, then up-scaling and overlapping with a UI swap chain at the displays native resolution.
- Trim device command, allowing memory to be released temporarily. Suitable for when an application is being suspended and to reduce the chances that it will be terminated to reclaim resources for other apps.
- Ability to set the source size of the back buffer allowing the swap chain to be resized (smaller) without recreating the swap chain resources.
- Ability to implement more flexible and lower frame latencies by specifying the maximum frame latency (number of frames that can be queued at one time) and retrieving a wait handle to use with WaitForSingleObjectEx before commencing the next frame's drawing commands.