跳至内容

FidelityFX 着色器编译器

FidelityFX SDK Shader Compiler 工具作为 FidelityFX SDK 包的一部分分发,它是 SDK 在运行时用于预生成所有着色器置换二进制文件的命令行工具。

使用着色器编译器

当前版本的 Shader Compiler 及其所需的库/DLL 文件保存在 /sdk/tools/binary_store 文件夹中。

要使用它,只需在您的构建过程中调用它(请参阅现有的后端 CMakeList.txt 文件,了解将其作为构建过程一部分启动的示例)。

以下参数将允许您控制编译的进行方式:

命令行语法

FidelityFX_SC.exe [选项] <输入文件>

选项

选项描述
<CompilerArgs>目标编译器接受的参数列表,用空格分隔。
-output=<Path>输出着色器置换文件的路径。
-D<Name>定义将在所有着色器置换中定义的宏。
-D<Name>={<Value1>, <Value2>, <Value3> …}声明一个着色器选项,它将生成带有使用给定值定义的宏的置换。使用“ - ”定义一个没有宏定义的置换。
-num-threads=<Num>用于生成着色器的线程数。默认设置为当前 CPU 可用的最大线程数。
-name=<Name>用于为生成头文件中的变量加前缀的名称。默认使用文件名。
-reflection生成包含反射数据的头文件。
-embed-arguments将用于每个置换的编译参数写入其各自的头文件中。
-print-arguments打印每个置换使用的编译参数。
-disable-logs阻止记录编译警告和错误。
-compiler=<Compiler>选择用于生成置换的编译器(dxcfxcglslang)。
-dxcdll=<DXC DLL 路径>要使用的 dxccompiler DLL 的路径。
-d3ddll=<D3D DLL 路径>要使用的 d3dcompiler DLL 的路径。
-glslangexe=<glslangValidator.exe 路径>要使用的 glslangValidator 可执行文件的路径。
-deps=<Format>转储 depfile,该文件以(gccmsvc)格式记录包含文件的依赖关系。
-debugcompile使用调试信息编译着色器。
-debugcmdline打印所有输入参数。

修改着色器编译器

如果需要构建和/或修改着色器编译器工具,可以通过导航到 /sdk/tools/ffx_shader_compiler/ 子文件夹并运行 GenerateSolution.bat 来生成解决方案。这将进而创建一个位于 /build 子文件夹中的着色器编译器解决方案。

构建新的着色器编译器时,输出将发送到 /sdk/tools/ffx_shader_compiler/bin/ 子文件夹中的 release 或 debug 文件夹(取决于构建的配置)。为了使用新编译的工具,需要将其所有二进制文件从二进制输出位置(bin 目录)复制到 binary_store 目录。

© . This site is unofficial and not affiliated with AMD.