Direct3D 10.1 Features - Win32 apps (original) (raw)

Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Direct3D 10.1 Features

In this article

Direct3D 10.1 extends the feature set of Direct3D 10.0 with the following new features:

The new features require a 10.1 device type (see ID3D10Device1 Interface) which can be created by calling D3D10CreateDevice1, or you can create the device and swap chain at the same time by calling D3D10CreateDeviceAndSwapChain1.

In Windows Vista Service Pack 1, Direct3D 10.0 and Direct3D 10.1 DLLs exist side-by-side on the system. To access 10.1 features, do either of the following:

Accessing 10.1 Features on Vista Gold and Vista Service Pack 1

Developers that wish to support Vista Gold as well as SP1 will have to account for the lack of the new 10.1 API extensions on Vista Gold. Both DXUT and D3DX10 will provide convenience functions to create the appropriate device, based on the DLLs available on the system and the available hardware (10.0 or 10.1). The 10.1 device inherits from the 10.0 device, and can be retrieved using QueryInterface(). It is recommended that each application keeps track of the device type and maintains a pointer to the 10.1 device (if available) to avoid frequent QueryInterface calls when 10.1 functionality is desired. Likewise, where 10.1 resource views and state objects are associated by an application's custom class, it is recommended that the application track whether the object is a 10.0 or 10.1 type to avoid redundant QueryInterface() calls. D3DX10 includes a set of utility functions to simplify this process (see D3DX10CreateDevice and D3DX10CreateDeviceAndSwapChain).

Accessing 10.1 Features on Vista Service Pack 1 Exclusively

Some developers may choose to require Vista Service Pack 1, which will be distributed broadly to end-users and includes a series of improvements outside of Direct3D 10.1. These developers can use the Direct3D 10.1 headers and libraries exclusively, taking a dependency on the Direct3D 10.1 DLLs which support both 10.0 and 10.1 hardware (some calls may fail, however, on 10.0 devices where the new functionality is not supported).

Some additional notes:

Programming Guide for Direct3D 10


Feedback

Additional resources

In this article