DXC Release Highlights
This release of the DirectX Shader Compiler (DXC) adds a set of HLSL language enhancements, SPIR-V backend improvements, and broad correctness and stability fixes.
HLSL Language
- Added
autofor C++11-style type deduction (#8452). - Added the
[[nodiscard]]attribute (#8462). - Added bit-precise floating-point literal suffixes (#8478).
>>no longer requires surrounding spaces in nested template arguments (#8453).- The
volatilekeyword is now disallowed (#8391). groupsharedparameter attribute now works on templates (#8217).
SPIR-V Backend Improvements
- Added sampler and resource heaps for textures (#8281).
- Function parameters can now be decorated with inline SPIR-V (#8103).
- Fixed
vk::BufferPointercast methods (#8365). - Fixed layout-rule propagation for
ConstantBuffer/TextureBufferfunction variable and parameter aliasing (#8244). - Fixed counter handling in a direct
returnstatement (#8215). - Fixed
OpSpecConstantfor composites (#8278).
Compiler Quality and Stability
- Numerous correctness fixes across the HLSL front-end, DXIL, and SPIR-V paths, including GVN/SROA miscompilations, minimum-precision vector handling, and validation improvements for SM 6.9 native vectors.
- Built-in HLSL headers are now embedded in the
dxcompilerlibrary (#8445), so users no longer need to copy headers alongside the toolchain. - Added
-Fresupport for the Metal backend to emit Metal Shader Converter reflection JSON (#8159).
More Details
This DX compiler release is also available as a NuGet package Microsoft.Direct3D.DXC.
For an itemized list of changes, fixes, and technical details, see the full release notes: