For more information about the validation process, click here.
Download the complete DirectX SDK, which contains the DirectX Runtime and all DirectX software required to create DirectX compliant applications.
This DirectX SDK release contains updates to tools, utilities, samples, documentation, and runtime debug files for x64 and x86 platforms.
For additional information please see Microsoft DirectX Developer Center along with reviewing the Readme for last-minute updates.
Users wishing to install the DirectX runtime for the purposes of playing a game should instead install the DirectX Websetup. See related resources at the bottom of this page.
Supported Operating System
Windows 7, Windows Vista, Windows XP 64-bit, Windows XP Service Pack 3
- Click the Download button on this page to start the download
- Do one of the following:
- To start the installation immediately, click Run.
- To save the download to your computer for installation at a later time, click Save.
- To cancel the installation, click Cancel.
What's New in the February 2010 DirectX SDK
This version of the DirectX SDK contains the following new features, tools, and documentation.
Improvements to PIX
PIX has much-improved support for analysis of programs that use Direct3D 11 features, including compute shaders, tessellation, and dynamic shader class linkage. PIX features such as pixel history, the shader debugger, the mesh viewer, frame counters, and screenshots now work for these Direct3D 11 programs.
The new "Playback Device" control in the Events pane enables the user to force PIX Direct3D playback to use the REF device.
Mesh viewer data can be exported to a CSV file by right-clicking the data tables displayed in the PreVS, PostVS, or PostGS views.
The texture viewer now supports the following additional formats:
XNAMath C++ SIMD Math Library
A minor revision to the library (version 2.02), includes a number of customer-reported fixes, optimizations, and improvements. Included are notable fixes to XMStoreColor(), XMQuaternionRotationMatrix(), XMVectorATan2(), and XMVectorATan2Est().
Direct3D 11 Deployment
The Direct3D 11 Deployment for Game Developers article and D3D11InstallHelper Sample have been updated to include guidance for corporate network users in a locally managed Windows Server Update Services (WSUS) environment. For these developers, KB 971644 is not applicable and they should refer to KB 971512 instead.
Enhancements to Voice Reuse Scenarios
Implementation changes to simplify voice reuse were made to IXAudio2SourceVoice::FlushSourceBuffers, IXAudio2SourceVoice::SetSourceSamplingRate, and IXAudio2SourceVoice::Stop. These changes enable titles to minimize the performance cost of creating and destroying multiple voices during the game.
Reverb and Mixing Performance Optimizations
We have optimized the codepaths for several of the less common channel mixing scenarios for mixing within the audio graph.
For a description of what was added in previous releases, see Features Introduced in Previous Releases in the DirectX SDK documentation.
Known Issues with the February 2010 SDK
Message: The DirectX component 'd3d10sdklayers.dll' is currently in use by other applications
The following message sometimes appears during setup or uninstall:
The DirectX component 'd3d10sdklayers.dll' is current in use by other applications
If you encounter this message, select Ignore and reboot your system after setup or uninstall is complete. This issue occurs only on Windows 7 and Windows Server 2008 R2.
PIX Crashes on Call to GetImmediateContext
In the February 2010 release, PIX crashes if the target application calls D3D11CreateDevice() or D3D11CreateDeviceAndSwapChain() with a NULL ppImmediateContext, then later calls GetImmediateContext() to get the immediate context. To work around the issue, pass a non-NULL pointer for ppImmediateContext. This issue will be corrected in an upcoming release.
Support for Visual Studio 2005 and Visual Studio 2010
In the next release, the DirectX SDK will add support for Visual Studio 2010. At that time, the DirectX SDK will no longer support Visual Studio 2005; the February 2010 release will be the last release to support Visual Studio 2005. The next release will continue to support Visual Studio 2008.
Support for DirectSetup
Beginning with the next release of the DirectX SDK, DirectSetup will no longer support operating systems earlier than Windows XP Service Pack 2 and Windows Server 2003 Service Pack 1.
Direct3D 11 Runtime
To obtain the Direct3D 11 runtime, please obtain an RTM version of Windows 7 or follow the procedure described in KB 971644 (or KB 971512 for corporate network users). For more details, see Direct3D 11 Deployment for Game Developers.
The Effects runtime for Direct3D 11 (FX11) is available as shared source in the DirectX SDK. For more information, please refer to Effects (Direct3D 11) and Effect System Interfaces (Direct3D 11) in the Windows Graphics documentation. The Effects 11 source is now located in the samples directory.
DirectX 11 Runtime Symbols
The modern DirectX Runtime is part of the operating system (OS), and symbols for the DirectX components (Direct3D, DirectInput, DirectSound, etc.) are provided as part of the OS symbol packages. DirectX 11 Runtime symbols are included in the Windows 7 and Windows Server 2008 R2 symbols packages available on the Microsoft website. However, we recommend using the Microsoft symbols server instead for the most current and correct set of symbols when debugging DirectX applications.
Note that DirectX 11 Runtime symbols for the down-level KB 971644 and KB 971512 update for Windows Vista and Windows Server 2008 are not included in the OS offline symbols package. They can be obtained from the Microsoft symbol server.
The Provided D3D9D.dll for Windows XP is Versioned for Service Pack 2
The D3D9D.dll that is included in the February 2010 DirectX SDK is versioned for Windows XP SP2. If you use this DLL on Windows XP SP3 with an application that uses the Windows Presentation Framework (WPF), the code in the DLL will assert. This issue does not occur on Windows Vista or Windows 7. If you require only debug output, that is, you do not require symbols, you could also use the checked version of D3D9.dll, which is compatible with Windows XP SP3. Just rename the checked D3D9.dll to D3D9D.dll. The checked version of D3D9.dll is available to MSDN subscribers.
Control Panel for DirectX 9 Debug Output is Specific to 32-bit or 64-bit Applications
In order to turn DirectX 9 debug output on or off, you must use the DirectX control panel appropriate to the application being debugged. Use the 64-bit DirectX control panel for 64-bit applications and the x86 DirectX control panel for 32-bit applications.
D3DCompiler_42.dll Moved to New Cab
Beginning in the August 2009 DirectX SDK release, D3DCompiler_42.dll has been moved out of the D3DX CAB to a new CAB: D3DCompiler_42_*.CAB. The D3D_Compiler functionality implements the offline HLSL compiler for D3D 9, 10, or 11. This change decouples compiler from D3DX.
HLSL Runtime Compiling for Shader Models that Do Not Allow NaN or Infinity Literals
When compiling code that looks like the following:
pow(max(0, f), e)
If the result of max(0,f) is 0, the statement will be evaluated as exp(-inf * e), which may cause the following error message: (error X4579: NaN and infinity literals not allowed by shader model). This is because pow(0, e) will be expanded to exp(log(0) * e), which will evaluated as exp(-inf * e).
The workaround for compiling code like this, for a shader model that does not allow NaN or infinity literals, is to change 0 in max(0, f) to 0.00001f, or some other acceptably small non-zero value.
This scenario typically fails during a call to ID3DXEffectCompiler when compiling for shader models that do not allow NaN and infinity literals (such as DX9 shader targets). It is a regression from the November 2008 release. The result may show up when debugging a game that exits at startup and generates an error message such as "nonzero reference count" or "an error occurred in the device creation callback function".
New Warning X3206: Implicit Truncation of Vector Type
Beginning in the August 2009 release of the DirectX SDK, the HLSL compiler will warn when an implicit truncation of a vector type occurs. For example, the follow code would elicit the warning.
float4 FastShadow ( float3 vLightPos, float4 vDiffColor )
float2 vLightMax = vLightPos + g_fFilterSize;
if ( bTextured ) In.vDiffColor.xyz *= DiffuseTex.Sample ( DiffuseSampler, In.vTCoord );
To avoid the warning, swizzle out the vector components as shown below.
float4 FastShadow ( float3 vLightPos, float4 vDiffColor )
float2 vLightMax = vLightPos.xy + g_fFilterSize;
if ( bTextured ) In.vDiffColor.xyz *= DiffuseTex.Sample ( DiffuseSampler, In.vTCoord ).xyz;
IXACT3Engine::PrepareWave Doesn't Support xWMA
In the March 2008 and later SDKs, the IXACT3Engine::PrepareWave doesn't support xWMA. If you want to use xWMA in XACT, you can prepare those waves by calling one of the following methods:
Building Samples Using the Visual Studio 2005 Project Files Results In Harmless Warning
Developers who build the samples may see the following harmless warning:
manifest authoring warning 81010002: Unrecognized Element "requestedPrivileges" in namespace "urn:schemas-microsoft-com:asm.v2".
This is a known issue with the manifest tool (mt.exe) that ships in Visual Studio 2005 SP1. To remove this warning, developers should update their versions of mt.exe to the version that ships in the Windows SDK. Developers should update the instances of mt.exe that ship in Visual Studio 2005 SP1, found in the following three locations:
Symbols for DirectX
The latest and most complete source for debugging symbols is the Microsoft Symbol Server. We recommend using the symbol server rather than using the included partial symbols package. For instructions about using the Microsoft Symbol Server, see http://www.microsoft.com/whdc/devtools/debugging/debugstart.mspx.
Installation Notes for All Platforms
- This SDK is supported on the most recent service packs of the following operating systems: Windows XP, Windows Server 2003, Windows Server 2008, Windows Vista, and Windows 7. This SDK supports Visual Studio 2005 and Visual Studio 2008.
- Before installing the current DirectX SDK, remove previous versions of the DirectX SDK.
- Use the Samples Browser to install samples included with the DirectX SDK.
- Some samples require that you have installed the latest Microsoft Windows SDK on your system.
- If you are using Visual Studio and run the Platform SDK Integration tool, all custom include and library paths will be erased, including those added by the DirectX SDK. To fix the issue, developers need to either reinstall the DirectX SDK or manually add the paths to Visual Studio.
- If you encounter compilation issues related to the DirectX headers, make sure that the include directories in Visual Studio are set correctly. On the Win32 platform, make sure that there is a reference to the DirectX headers. "$(DXSDK_DIR)include" should appear in the include directory "$(VCInstallDir)Include."
- Several virus protection software applications interfere with SDK installation. They may require you to disable virus protection software until SDK installation is completed.
- Your system may be corrupted, or cryptographic services may be disabled, if you encounter the following error message during installation: "A cabinet file is necessary for installation and cannot be trusted." To resolve the problem, try the following:
- Enable cryptographic services. On the Start menu, right-click My Computer, and then click Manage. The Computer Management window appears. In the left navigation pane, click Services and Applications. In the right pane, double-click Services, and then double-click Cryptographic Services. The Cryptographic Services Properties property sheet appears. On the General tab, ensure that Service Status is Started, and that Startup Type is Automatic.
- If you are running Windows on a FAT32 drive, run scandisk.
- Try the resolution steps in Detecting digital signing issues in Windows XP.
- Try the resolution steps in You cannot install some updates or programs.
- Remove temporary files in the %temp% folder. If you are installing an end-user runtime, also remove "%windir%\system32\directx\websetup Error."
- External firewall programs may indicate that the file InstallDeveloperFiles.exe wants to access the Internet. This is by design, and should be enabled.
This release provides a "Windows DirectX Graphics" documentation collection which includes the Direct3D 9, Direct3D 10.x, Direct3D 11, D3DX, DXGI, and HLSL content formerly located in the main DirectX SDK documentation collection.