DirectXShaderCompiler Versions Save

This repo hosts the source for the DirectX Shader Compiler which is based on LLVM/Clang.

v1.8.2403.2

3 weeks ago

This is a Patch Release for the March 2024 DirectX Compiler.

This release contains a high priority bug fix for a significant regression that impacted users.

This DX compiler release is also available as a NuGet package [Microsoft.Direct3D.DXC](https://www.nuget.org/packages/Microsoft.Direct3D.DXC/1.8.2403.24).

What's Changed

Full Changelog: https://github.com/microsoft/DirectXShaderCompiler/compare/v1.8.2403.1...v1.8.2403.2

Versioning Note

This release version is considered v1.8.2403.2, and the commit is tagged as such. However, versioning for binaries and the NuGet package will have a different patch version number. This is expected at this time.

The main dxc executable and dxcompiler.dll have version 1.8.2403.37, and the DXIL.dll and NuGet package have version 1.8.2403.24.

v1.8.2403.1

1 month ago

This is a Patch Release for the March 2024 DirectX Compiler.

Issue #6410 was reported, where using literal arguments in the fmod intrinsic would crash the compiler. This patch fixes the issue by reverting the commit that introduced the regression.

This DX compiler release is also available as a NuGet package Microsoft.Direct3D.DXC.

What's Changed

Full Changelog: https://github.com/microsoft/DirectXShaderCompiler/compare/v1.8.2403...v1.8.2403.1

Versioning Note

This release version is considered v1.8.2403.1, and the commit is tagged as such. However, versioning for binaries and the NuGet package will have a different patch version number. This is expected at this time.

The main dxc executable and dxcompiler.dll have version 1.8.2403.36, and the DXIL.dll and NuGet package have version 1.8.2403.21.

v1.8.2403

1 month ago

DX Compiler release for March 2024

  • Shader Model 6.8 is fully supported
    • Work Graphs allow node shaders with user-defined input and output payloads
    • New Barrier builtin functions with specific memory types and semantics
    • Expanded Comparison sampler intrinsics: SampleCmpBias, SampleCmpGrad, and CalculateLevelOfDetail
    • StartVertexLocation and StartInstanceLocation semantics
    • WaveSizeRange entry point attribute allows specifying a range of supported wave sizes
  • Improved compile-time validation and runtime validation information
  • Various stability improvements including numerous address sanitation fixes
  • Several Diagnostic improvements
    • Many diagnostics are generated earlier and with more detailed information
    • Library profile diagnostic improvements
    • No longer infer library shader type when not specified
    • More helpful diagnostics for numthreads and other entry point attributes
    • Validation errors more accurately determine usage by the entry point
  • Improve debug info generation
  • Further improvements to Linux build quality

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.8 shaders. Please see https://aka.ms/directx12agility for details.

The SPIR-V backend of the compiler has been enabled in this release.

v1.7.2308

8 months ago

DX Compiler release for August 2023.

  • HLSL 2021 is now enabled by default
  • Various HLSL 2021 fixes have been made to
    • Operator overloading fixes
    • Templates fixes
    • Select() with samplers
    • Bitfields show in reflections
    • Bitfields can be used on enums
    • Allow function template default params
  • Issues with loading and using Linux binaries have been resolved
  • Support #pragma region/endregion
  • Various stability and diagnostic improvements
  • Dxcapi.h inline documentation is improved
  • Linking of libraries created by different compilers is disallowed to prevent interface Issues
  • Inout parameter correctness improved

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.

v1.8.2306-preview

10 months ago

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.

v1.7.2212.1

1 year ago
  • Includes bug fixes
  • Improved Linux package layout

v1.7.2212

1 year ago

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 and select 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
  • 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 and DXC_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.

v1.7.2207

1 year ago

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.

v1.6.2112

2 years ago

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.

v1.6.2106

2 years ago

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.