The June 2010 release of the DirectX SDK is now available for download:
What’s New in the June 2010 DirectX SDK
This version of the DirectX SDK contains the following new features, tools, and documentation.
Visual Studio 2010 Support
The June 2010 DirectX SDK includes support for Visual Studio 2010. The DirectX SDK will continue to support Visual Studio 2008 as well. However, Visual Studio 2005 will no longer be supported.
PIX: Object Naming Support
The June 2010 version of PIX supports naming for most resource objects in Direct3D (D3D). Direct3D enables developers to attach arbitrary data to objects in D3D code using the SetPrivateData API for application-specific usage. PIX will now display specific string data for objects in the Object Table and other user interface elements where a human-readable object name will provide a much more effective experience for the user.
PIX: Usability Improvements
The June 2010 version of PIX includes improvements to the PIX user interface:
- The Object Table shows the size and shader model for each shader.
- In the Shader Debugger, there is a new toolbar button that enables the display of all constant registers/variables immediately, rather than the first time they are read.
- In the Shader Debugger, it is possible to copy register and variable data to the clipboard.
- The Summary pane has a new Direct3D Information section, that shows details about what Direct3D capabilities are present on the computer.
XNAMath C++ SIMD Math Library
The June 2010 release updates XNAMath to version 2.03, which includes the following changes:
- Addition of XMVectorDivide to optimize SSE2 vector division operations
- Unified handling of floating-point specials between the Windows SSE2 and no-intrinsics implementations
- Use of Visual Studio style SAL annotations
- Modifications to the C++ declarations for XMFLOAT2A/3A/4A/4X3A/4X4A to better support these types in C++ templates
Version-less Naming of Cross-Runtime Data Types
The June 2010 DirectX SDK removes versioning from several Direct3D data types that cross runtime versions. This change makes legacy data-type names equivalent to the new version-less data-type names. Therefore, you can use either legacy or version-less names. However, your code will be cleaner and easier to maintain if you use the version-less names.
New D3DCreateBlob Function
The June 2010 DirectX SDK includes a D3dcompiler_43.dll that exports the new D3DCreateBlob function. Therefore, you are no longer required to use D3d10.dll to create and use an arbitrary length data object.
New ID3D11ShaderReflection Method
The June 2010 DirectX SDK adds the following new method to the ID3D11ShaderReflection interface:
New HLSL Language fixes and features
HLSL has been updated with the following fixes and features:
- The frexp intrinsic function has been updated to return a mantissa in the range of [0.5,1.0].
- New intrinsic functions have been added for better debugging support.
- printf — submits custom shader messages to the information queue.
- errorf — submits custom shader error messages to the information queue.
- abort — submits custom shader error messages to the information queue and terminates the current draw or dispatch call being executed.
- Left-Hand-Side typecasting is now illegal and will cause a compile error.
- Expressions such as (int)myFloat = myInt; are no longer valid. Use myFloat = (float)myInt; type syntax instead.
New HLSL Compiler fixes and features
The HLSL Effects compiler (fxc.exe) has been updated with the following fixes and features:
- No-optimization (/Od) compiles will produce less-optimized code than before in order to provide improved debugging.
- No-optimization (/Od) now implies (/Gfp).
- New compression (/compress) and decompression (/decompress) options have been added to enable the bundling and unbundling of shader files.
- A new numbering instructions (/Ni) flag has been added to turn on numbering of instructions in shader disassembly.
- Fxc.exe has a new @command.option.file feature for specifying command options in a file. This enables the /compress and /decompress options to be used on many files at once.
New D3D11 HLSL Format Conversion Functions
The new D3DX_DXGIFormatConvert.inl inline header includes light-weight conversion functions for use in Compute Shaders or Pixel Shaders on D3D11 Hardware that can be useful when applications need to simultaneously read and write to textures, such as in-place editing scenarios.
The June 2010 DirectX SDK includes the following documentation enhancements:
- Added links to descriptions of data types for parameters and return values to help developers locate related types.
Added additional header and lib information to reference pages for APIs implemented in DirectX samples.