Releases: microsoft/DirectXShaderCompiler
DX Compiler Preview Release for June 2023
DX Compiler preview release for June 2023.
-
Includes experimental support for Shader Model 6.8 features:
- New Wave matrix types support wave-cooperative multiplication and accumulation operations.
- New Work Graphs adds "node" shaders that can generate GPU workloads in a shader graph.
-
See the DirectX blog for more information about Shader Model 6.8 features: https://devblogs.microsoft.com/directx/
The Windows package includes dxc.exe, dxcompiler.dll, and corresponding lib and headers for x64 and arm64 platforms. The Linux package includes dxc, libdxcompiler.so, and corresponding headers for x86_64 Ubuntu LTS (22.04).
The DXIL signing library (dxil.dll/libdxil.so) is not provided with this preview release. DXIL generated with this compiler targeting Shader Model 6.8 is not final, cannot be validated, and is not supported for distribution or execution on machines not running in developer mode.
The new DirectX 12 Preview Agility SDK (Microsoft.Direct3D.D3D12 nuget package here), and a hardware driver with appropriate support are required to run shader model 6.8 shaders. Please see https://aka.ms/directx12agility for details. Nuget for Microsoft.Direct3D.DXC can be found here.
The SPIR-V backend of the compiler has been enabled in this release. Please note that Microsoft does not perform testing/verification of the SPIR-V backend.
DX Compiler release for December 2022 - Bug fixes
- Includes bug fixes
- Improved Linux package layout
DX Compiler release for December 2022
DX Compiler release for December 2022.
- Includes full support of HLSL 2021 for SPIRV generation as well as many HLSL 2021 fixes and enhancements:
- HLSL 2021's
and
,or
andselect
intrinsics are now exposed in all language modes. This was done to ease porting codebases to HLSL2021, but may cause name conflicts in existing code. - Improved template utility with user-defined types
- Many additional bug fixes
- HLSL 2021's
- Linux binaries are now included. This includes the compiler executable, the dynamic library, and the dxil signing library.
- New flags for inspecting compile times:
-ftime-report
flag prints a high level summary of compile time broken down by major phase or pass in the compiler. The DXC command line will print the output to stdout.-ftime-trace
flag prints a Chrome trace json file. The output can be routed to a specific file by providing a filename to the arguent using the format-ftime-trace=<filename>
. Chrome trace files can be opened in Chrome by loading the built-in tracing tool at chrome://tracing. The trace file captures hierarchial timing data with additional context enabling a much more in-depth profiling experience.- Both new options are supported via the DXC API using the
DXC_OUT_TIME_REPORT
andDXC_OUT_TIME_TRACE
output kinds respectively.
- IDxcPdbUtils2 enables reading new PDB container part
-P
flag will now behave as it does with cl using the file specified by-Fi
or a default- Unbound multidimensional resource arrays are allowed
- Diagnostic improvements
- Reflection support on non-Windows platforms; minor updates adding RequiredFeatureFlags to library function reflection and thread group size for AS and MS.
The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll for x64 and arm64 platforms on Windows. For the first time the package also includes Linux version of the compiler with corresponding executable, libdxcompiler.so, headers, and libdxil.so for x64 platforms.
This DX compiler release is also available as a NuGet package Microsoft.Direct3D.DXC.
The new DirectX 12 Agility SDK and a hardware driver with appropriate support are required to run shader model 6.7 shaders. Please see https://aka.ms/directx12agility for details.
The SPIR-V backend of the compiler has been enabled in this release. Please note that Microsoft does not perform testing/verification of the SPIR-V backend.
DX Compiler release for July 2022
DX Compiler release for July 2022. Contains shader model 6.7 and many bug fixes and improvements, such as:
- Features: Shader Model 6.7 includes support for Raw Gather, Programmable Offsets, QuadAny/QuadAll, WaveOpsIncludeHelperLanes, and more!
- Platforms: ARM64 support
- HLSL 2021 : Enable “using” keyword
- Optimizations: Loop unrolling and dead code elimination improvements
- Developer tools: Improved disassembly output
The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll for x64 and, for the first time, arm64 platforms!
The new DirectX 12 Agility SDK and a hardware driver with appropriate support are required to run shader model 6.7 shaders.
The SPIR-V backend of the compiler has been enabled in this release. Please note that Microsoft does not perform testing/verification of the SPIR-V backend.
Also available via vcpkg.
DX Compiler for December 2021 with HLSL 2021 Preview
DirectX Compiler Release for December 2021.
Includes a preview of new HLSL 2021 language features. For details, see Announcing HLSL 2021.
Here are some highlights:
- template functions and data types
- overloadable operators for user defined data types
- bitfield members
HLSL 2021 also introduces more subtle changes that we think will make shader authoring in HLSL more familiar and productive, but it might have unexpected impact in existing shaders:
- Strict casting rules for user defined data types
- Logical operator short-circuiting for scalar types
- C++
for
loop scoping rules
The new features are available by passing -HV 2021
flag to the compiler. The HLSL 2021 will become the default language version in a future release.
The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll. The new DirectX 12 Agility SDK is required to run shader model 6.6 shaders.
SPIR-V: Per community request the SPIR-V backend of the compiler has been enabled in this release. Please note that Microsoft does not perform testing/verification of the SPIR-V backend.
DX Compiler release for June 2021
DX Compiler release for June 2021. Contains bug fixes and improvements, such as:
- Improved dead code elimination
- Fixes compilation regression impacting Gather offsets
- DXIL library linking improved and added to dxc.exe with -link option
- Reflection size reduction for some cases
- Improved error handling
The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll.
The new DirectX 12 Agility SDK is required to run shader model 6.6 shaders.
SPIR-V: Per community request the SPIR-V backend of the compiler has been enabled in this release. Please note that Microsoft does not perform testing/verification of the SPIR-V backend.
DX Compiler release for April 2021
DX Compiler release for April 2021. Contains shader model 6.6, DXIL version 1.6, and many bug fixes and improvements. A new feature called slim pdbs is also introduced which greatly reduces .pdb sizes.
The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll.
The new DirectX 12 Agility SDK is required to run shader model 6.6 shaders.
SPIR-V: Per community request the SPIR-V backend of the compiler has been enabled in this release. Please note that Microsoft does not perform testing/verification of the SPIR-V backend.
DX Compiler release for October 2020
DX Compiler release for October 2020. Contains shader model 6.5, new IDxcCompiler3 interface, DXIL version 1.5 and many bug fixes and improvements.
The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll.
Per community request the SPIR-V backend of the compiler has been enabled in this release. Please note that Microsoft does not perform testing/verification of the SPIR-V backend.
DX Compiler pre-release for March 2020
DX Compiler pre-release for March 2020. Contains shader model 6.5, new IDxcCompiler3 interface, DXIL version 1.5 and many bug fixes and improvements.
The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll.
DX Compiler release for July 2019
DXC release for July 2019. (some files were rebuilt since then with different dates) Contains dxc.exe, dxcompiler.dll, and corresponding lib and header. Also validator DLL dxil.dll from 19H1 OS drop.