summaryrefslogtreecommitdiffstats
path: root/docs/command-line-slangc-reference.md
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2023-09-07 10:20:26 -0400
committerGitHub <noreply@github.com>2023-09-07 10:20:26 -0400
commit269282fd3647f1b201d2aae4c82b0c0af16c6420 (patch)
tree632ed29adcce2a7627b0050d08a28eca6be5b79d /docs/command-line-slangc-reference.md
parent135a5db8d3a7cafa3a43076f8b6f9b8615bd9491 (diff)
Add -repro-fallback-directory (#3188)
Co-authored-by: Yong He <yonghe@outlook.com>
Diffstat (limited to 'docs/command-line-slangc-reference.md')
-rw-r--r--docs/command-line-slangc-reference.md125
1 files changed, 85 insertions, 40 deletions
diff --git a/docs/command-line-slangc-reference.md b/docs/command-line-slangc-reference.md
index 05b27043f..e5590fadb 100644
--- a/docs/command-line-slangc-reference.md
+++ b/docs/command-line-slangc-reference.md
@@ -16,6 +16,7 @@ slangc -help-style markdown -h
* [Target](#Target)
* [Downstream](#Downstream)
* [Debugging](#Debugging)
+* [Repro](#Repro)
* [Experimental](#Experimental)
* [Internal](#Internal)
* [Deprecated](#Deprecated)
@@ -379,11 +380,36 @@ Places the $Globals cbuffer at descriptor set &lt;descriptor-set&gt; and binding
Negates (additively inverts) SV_Position.y before writing to stage output.
+<a id="fvk-use-entrypoint-name"></a>
+## -fvk-use-entrypoint-name
+Uses the entrypoint name from the source instead of 'main' in the spirv output.
+
+
+<a id="fvk-use-gl-layout"></a>
+## -fvk-use-gl-layout
+Use std430 layout instead of D3D buffer layout for raw buffer load/stores.
+
+
<a id="enable-effect-annotations"></a>
## -enable-effect-annotations
Enables support for legacy effect annotation syntax.
+<a id="emit-spirv-via-glsl"></a>
+## -emit-spirv-via-glsl
+Generate SPIR-V output by compiling generated GLSL with glslang (default)
+
+
+<a id="emit-spirv-directly"></a>
+## -emit-spirv-directly
+Generate SPIR-V output direclty rather than by compiling generated GLSL with glslang
+
+
+<a id="spirv-core-grammar"></a>
+## -spirv-core-grammar
+A path to a specific spirv.core.grammar.json to use when generating SPIR-V output
+
+
<a id="Downstream"></a>
# Downstream
@@ -391,7 +417,7 @@ Enables support for legacy effect annotation syntax.
Downstream compiler options
<a id="none-path"></a>
-## -none-path, -fxc-path, -dxc-path, -glslang-path, -visualstudio-path, -clang-path, -gcc-path, -genericcpp-path, -nvrtc-path, -llvm-path
+## -none-path, -fxc-path, -dxc-path, -glslang-path, -spirv-dis-path, -visualstudio-path, -clang-path, -gcc-path, -genericcpp-path, -nvrtc-path, -llvm-path
**-&lt;[compiler](#compiler)&gt;-path &lt;path&gt;**
@@ -460,23 +486,57 @@ Dump the IR for debugging.
Dump the IDs with [-dump-ir](#dump-ir) (debug builds only)
-<a id="dump-repro"></a>
-## -dump-repro
-Dump a `.slang-repro` file that can be used to reproduce a compilation on another machine.
+<a id="E"></a>
+## -E, -output-preprocessor
+Output the preprocessing result and exit.
+
+
+<a id="no-codegen"></a>
+## -no-codegen
+Skip the code generation step, just check the code and generate layout.
+
+
+<a id="output-includes"></a>
+## -output-includes
+Print the hierarchy of the processed source files.
+
+
+<a id="serial-ir"></a>
+## -serial-ir
+Serialize the IR between front-end and back-end.
+
+
+<a id="skip-codegen"></a>
+## -skip-codegen
+Skip the code generation phase.
+
+
+<a id="validate-ir"></a>
+## -validate-ir
+Validate the IR between the phases.
+
+
+<a id="verbose-paths"></a>
+## -verbose-paths
+When displaying diagnostic output aim to display more detailed path information. In practice this is typically the complete 'canonical' path to the source file used.
+
+
+<a id="verify-debug-serial-ir"></a>
+## -verify-debug-serial-ir
+Verify IR in the front-end.
+<a id="Repro"></a>
+# Repro
+
+Slang repro system related
<a id="dump-repro-on-error"></a>
## -dump-repro-on-error
Dump `.slang-repro` file on any compilation error.
-<a id="E"></a>
-## -E, -output-preprocessor
-Output the preprocessing result and exit.
-
-
<a id="extract-repro"></a>
## -extract-repro
@@ -501,16 +561,6 @@ Use repro along specified path
Load repro
-<a id="no-codegen"></a>
-## -no-codegen
-Skip the code generation step, just check the code and generate layout.
-
-
-<a id="output-includes"></a>
-## -output-includes
-Print the hierarchy of the processed source files.
-
-
<a id="repro-file-system"></a>
## -repro-file-system
@@ -519,29 +569,27 @@ Print the hierarchy of the processed source files.
Use a repro as a file system
-<a id="serial-ir"></a>
-## -serial-ir
-Serialize the IR between front-end and back-end.
+<a id="dump-repro"></a>
+## -dump-repro
+Dump a `.slang-repro` file that can be used to reproduce a compilation on another machine.
-<a id="skip-codegen"></a>
-## -skip-codegen
-Skip the code generation phase.
-<a id="validate-ir"></a>
-## -validate-ir
-Validate the IR between the phases.
+<a id="repro-fallback-directory"></a>
+## -repro-fallback-directory
+**-repro-fallback-directory &lt;path&gt;**
-<a id="verbose-paths"></a>
-## -verbose-paths
-When displaying diagnostic output aim to display more detailed path information. In practice this is typically the complete 'canonical' path to the source file used.
+Specify a directory to use if a file isn't found in a repro. Should be specified *before* any repro usage such as `load-repro`.
+There are two *special* &lt;path&gt;s:
-<a id="verify-debug-serial-ir"></a>
-## -verify-debug-serial-ir
-Verify IR in the front-end.
+
+
+* 'none:' indicates no fallback, so if the file isn't found in the repro compliation will fail
+
+* 'default:' is the default (which is the OS file system)
@@ -550,11 +598,6 @@ Verify IR in the front-end.
Experimental options (use at your own risk)
-<a id="emit-spirv-via-glsl"></a>
-## -emit-spirv-via-glsl
-Generate SPIR-V output by generating and compiling GLSL using glslang
-
-
<a id="file-system"></a>
## -file-system
@@ -667,6 +710,7 @@ Downstream Compilers (aka Pass through)
* `fxc` : FXC HLSL compiler
* `dxc` : DXC HLSL compiler
* `glslang` : GLSLANG GLSL compiler
+* `spirv-dis` : spirv-tools SPIRV disassembler
* `visualstudio`, `vs` : Visual Studio C/C++ compiler
* `clang` : Clang C/C++ compiler
* `gcc` : GCC C/C++ compiler
@@ -847,12 +891,13 @@ A capability describes an optional feature that a target may or may not support.
* `spirv_1_{ 0`, `1`, `2`, `3`, `4`, `5 }` : minimum supported SPIR - V version
* `invalid`
+* `textual_source`
* `hlsl`
* `glsl`
* `c`
* `cpp`
* `cuda`
-* `spirv`
+* `spirv`
* `GL_NV_ray_tracing` : enables the GL_NV_ray_tracing extension
* `GL_EXT_ray_tracing` : enables the GL_EXT_ray_tracing extension
* `GL_NV_fragment_shader_barycentric` : enables the GL_NV_fragment_shader_barycentric extension