The Windows SDK includes a number of files that can be used for development. There are three files included:
- dxc.exe. This is the command-line to run, which is the main scenario the Windows SDK addresses.
- dxcompiler.dll. This is the same dxcompiler.dll you know and love from the GitHub project.
- dxil.dll. This library only provides the validator component, and is used to ensure that no validation rules are violated. Drivers will assume that these rules are upheld and leverage that to simplify and streamline their work.
There are versions of these binaries in the redistribution folder that you can provide with your game or tool if you have a need for them. They aren't part of the operating system, so they should be distributed along with your tool. Ideally, of course, you'll compile ahead of time, and you won't need to distribute them in the first place.
You'll find that the compiler as built from GitHub is comparatively more robust than the one in the SDK. This is because we do our coding 'live' on GitHub, and regularly integrate that work back into the SDK. By the time the SDK is made available at large, it's to be expected that dxcompiler will have progressed some.
We store version information about the producer of compiled binaries in the LLVM module representation, which helps us diagnose and fix issues. We set up a Releases page on the GitHub wiki to show how releases, file versions and identifier versions relate.