123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- ============================
- Using DirectX Compiler Tools
- ============================
- .. contents::
- :local:
- Introduction
- ============
- The HLSL on LLVM project provides a number of tools to create and manipulate
- DirectX shader programs.
- After building the project, the tools described are available under the
- Debug\bin or Release\bin subdirectories under the build target directory.
- Tools
- =====
- dxc.exe
- This command-line tool is a replacement for fxc, and accepts the same
- command-line switches.
- dndxc.exe
- This tool provides a GUI to compile HLSL programs and examine details of
- compilation, including the output assembly, the container structure, and
- the optimizer stages run.
- dxexp.exe
- This command-line tool checks whether the current setup is able to run
- experimental shaders, that is, shaders that use a driver's experimental
- shader support or that are not properly validated.
- dxa.exe
- This command-line tool provides a number of options to
- assemble/disassemble a shader.
- dxr.exe
- This command-line tool allows a shader file to be rewritten in a
- consistent style, and optionally trim unused declarations.
- Running Experimental Shaders
- ============================
- To run experimental shaders in a process, the following conditions must be
- met:
- - A recent flight of Windows must be used.
- - The 'Use developer features' must be set to 'Developer mode' in the 'For
- developers' page of Settings.
- - For a 64-bit OS, the process should be a 64-bit process. This will be fixed
- to support 32-bit processes on a 64-bit OS.
- - The process must call D3D12EnableExperimentalFeatures to enable the
- D3D12ExperimentalShaderModelsID setting. The ExecutionTest.cpp file under
- tools\clang\unittests\HLSL\ExecutionTest.cpp has an example of how this can
- be done.
- - The API used must be D3D12.
|