Author Topic: Microsoft DirectX February 2010 available  (Read 13265 times)

0 Members and 1 Guest are viewing this topic.


  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4716
Microsoft DirectX February 2010 available
« on: February 06, 2010, 03:04:54 PM »
Download SDK
Download Redist
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.

Previous Releases

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.

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.

Effects 11

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 ) *= 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 ) *= 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:

    * IXACT3WaveBank::Prepare
    * IXACT3SoundBank::Prepare
    * IXACT3Engine::PrepareInMemoryWave
    * IXACT3Engine::PrepareStreamingWave

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:

    * VC\bin\
    * Common7\tools\bin\
    * SDK\v2.0\bin\

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