![]() DirectX Software Development KitBrief DescriptionAugust 2009 Download the complete DirectX SDK, which contains the DirectX Runtime and all DirectX software required to create DirectX compliant applications. On This PageQuick Details
OverviewThis 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. System Requirements
Instructions
Additional InformationThis section contains the following: What's New in the August 2009 DirectX SDK This version of the DirectX SDK contains the following new features, tools, and documentation. Direct3D 11 RTM The August 2009 DirectX SDK contains the first official release of the DirectX developer resources for Direct3D 11, DXGI 1.1, Direct2D, and DirectWrite. Developers can now publish and distribute Direct3D 11 applications and games that leverage all of the software and hardware features of DirectX 11 in Windows 7 and Windows Vista. To obtain the Direct3D 11 runtime, please obtain an RTM version of Windows 7 or follow the procedure described in KB 971644. For more details, see Direct3D 11 Deployment for Game Developers All headers, import libraries, and symbol files (.pdb files) are no longer marked as beta with the "_beta" suffix and now link to the RTM versions of the runtimes. In addition, the HLSL compiler features for Direct3D 11 are now of release quality. The beta DLLs are no longer available in the DirectX SDK. Effects 11 The new Effects runtime for Direct3D 11 is now available. Effects 11 is provided in two parts: the D3DCompiler library and FXC. Both now support the new fx_5_0 target. Features of this new target include support for all Direct3D 11 features such as hull shaders, domain shaders, interfaces, and DirectCompute, as well as grouping of techniques within a single Effect file using the fxgroup keyword. Please refer to the documentation for more information (Effects (Direct3D 11)). The Effects 11 runtime is provided as source in the Utilities directory, including Visual Studio 2005 and 2008 projects for building the runtime into a library for use in applications. Features include effect cloning for multithreaded operation, the new shader stages, unordered access views, interfaces, and extended user-defined state control. For more information, please refer to the Effects 11 API documentation (Effect System Interfaces (Direct3D 11)). Direct3D Compute Shader Extensions (D3DCSX) Included in the August 2009 DirectX SDK is the D3DCSX library, which includes new technologies for utilizing DirectCompute for advanced processing on the GPU. This first version includes implementations of scan and Fast-Fourier transform that utilize Direct3D 11 capable GPUs. Scan is a data-parallel algorithm for fast calculation of averages, sums, min, max, and other values from large data sets. The Fast-Fourier transform provides conversion from temporally sampled data to frequency information. Please refer to the documentation Compute Shader Overview for more information. New and Improved Samples The August 2009 release includes many new samples across a broad range of areas.
The August 2009 release includes the most recent version of the Games for Windows documentation (1.4.2009). Changes include:
The August 2009 release includes an updated XNA Test Case Tool. The XNA Test Case Tool facilitates the process of verifying that a title meets all the technical requirements and test requirements needed to receive the Games for Windows brand. This update adds the following new features:
Utilities\bin\x86\Microsoft XNA Test Tools\MicrosoftXNATestTools.msi XNA Math Improvements The August 2009 release includes an updated XNA Math, version 2.01. XNA Math now has new compiler directive, XM_STRICT_VECTOR4. This opt-in directive disallows the usage of XboxMath-like member accessors such as .x, .y, and .z. This makes it easier to write portable XNA Math code. Additionally, XNA Math has added conversion support for the following Windows graphics formats:
This release includes an updated DirectX Capabilities Viewer utility and Graphics Card Capabilities spreadsheet with details on Direct3D 11, DXGI 1.1, 10level9 feature levels, and the WARP10 software rendering device. The Texture Conversion tool for Direct3D 10, texconv10, has been replaced by texconvex which supports all DXGI 1.x formats for Direct3D 10 and Direct3D 11. The DXERR9 library has been removed. The DXERR library supports all current error codes. The DirectX Control Panel has been updated to support the Direct3D 11 debug layer. Note that both the Direct3D 10 and Direct3D 11 debug layers are controlled by the same settings. Documentation Organization The August 2009 release includes a new "Windows 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. Known Issues with the August 2009 SDK Direct3D 11 Samples may fail to start on Windows Vista For the August 2009 DirectX SDK, all the samples and tools use the RTM versions of the Direct3D 11 Runtime OS components. These components are not installed by the DirectX SDK Developer Runtime nor by the DirectSetup REDIST. Deploying these components on Windows Vista or Windows Server 2008 requires installing KB 971644, which in turn requires that Service Pack 2 for these operating system is already installed. Windows 7 and Windows Server 2008 R2 already include the Direct3D 11 Runtime OS components. Without these components, some of the Direct3D 11 samples will fall back to Direct3D 9 rendering, while others will fail to run. For more information on KB 971644 and handling Direct3D 11 prerequisites, see the technical article Direct3D 11 Deployment for Game Developers. August 2009 PIXWin Has Limited Support for Direct3D 11 Applications The August 2009 version of PIX for Windows will record and play back back single and full-stream captures of applications using the Direct3D 11 API unless they make use of Compute Shader shaders or resources, Dynamic Shader Linkage binding, Tessellation shaders, or shared resource device methods. Use of any of these will cause PIX for Windows to abort the capture. The following features are not supported when using a Direct3D 11 device: UI injection display, frame counters, pixel history, shader debugging, or mesh viewer. August 2009 D3D9D.dll is Versioned for Windows XP SP2 The D3D9D.dll that is included in the August 2009 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. DXERR9 library removed from the DirectX SDK The DXERR9 library has been removed from the DirectX SDK as of the August 2009 release. The DXERR9 error look-up library has been deprecated for some time in favor of DXERR which supports a broad range of DirectX and related error codes. The DirectX SDK Error Look-up Tool uses DXERR. August 2009 PIXWin Cannot View Full-Stream Captures of Applications Created using March 2009 Beta Components On Windows Vista systems, PIX files captured from DXUT-based programs on computers with the March 2009 DirectX SDK installed may show an error message when later opened with PIX on computers with the August 2009 DXSDK installed. This is because the March 2009 DirectX SDK included a preview of the WARP software rendering device, and DXUT-based programs temporarily create D3D devices of all types that are present on the system. The August 2009 DXSDK does not include the WARP device. Therefore PIX cannot successfully replay the call that creates the WARP device. The issue can be resolved by installing the KB 971644, which provides the WARP device. New Warning X3206: Implicit Truncation of Vector Type Beginning in the August 2009 release of the DirectX SDK, the 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; D3DCompiler_402dll Moved to New Cab Beginning in the August 2009 DirectX SDK release, D3D_Compiler_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. Title: 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 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". 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:
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:
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
What Others Are DownloadingOthers who downloaded DirectX Software Development Kit also downloaded: |