From ff48854b1133935ecc2d32fc3bc35631d0a68e17 Mon Sep 17 00:00:00 2001 From: Yong He Date: Fri, 1 Mar 2024 13:39:25 -0800 Subject: Add documentation for debugging. (#3656) * Add documentation for debugging. * typo --- docs/user-guide/08-compiling.md | 6 ++++++ docs/user-guide/10-link-time-specialization.md | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/user-guide/08-compiling.md b/docs/user-guide/08-compiling.md index 358246b5a..136b67858 100644 --- a/docs/user-guide/08-compiling.md +++ b/docs/user-guide/08-compiling.md @@ -676,3 +676,9 @@ meanings of their `CompilerOptionValue` encodings. | VulkanBindShiftAll | Specifies the `-fvk-bind-shift` option for all spaces. `intValue0`: kind, `intValue1`: shift. | | GenerateWholeProgram | When set will emit target code for the entire program instead of for a specific entrypoint. `intValue0` specifies a bool value for the setting. | | UseUpToDateBinaryModule | When set will only load precompiled modules if it is up-to-date with its source. `intValue0` specifies a bool value for the setting. | + +## Debugging + +Slang's SPIRV backend supports generating debug information using the [NonSemantic Shader DebugInfo Instructions](https://github.com/KhronosGroup/SPIRV-Registry/blob/main/nonsemantic/NonSemantic.Shader.DebugInfo.100.asciidoc). +To enable debugging information when targing SPIRV, specify the `-emit-spirv-directly` and the `-g2` argument when using `slangc` tool, or set `EmitSpirvDirectly` to `1` and `DebugInformation` to `SLANG_DEBUG_INFO_LEVEL_STANDARD` when using the API. +Debugging support has been tested with RenderDoc. \ No newline at end of file diff --git a/docs/user-guide/10-link-time-specialization.md b/docs/user-guide/10-link-time-specialization.md index 9f2fea969..4541a6f55 100644 --- a/docs/user-guide/10-link-time-specialization.md +++ b/docs/user-guide/10-link-time-specialization.md @@ -155,7 +155,7 @@ void main(uint tid : SV_DispatchThreadID) } ``` -Again, we can separately compile these modules into binary forms independently with how they will be specialized. +Again, we can separately compile these modules into binary forms independently from how they will be specialized. To specialize the shader, we can author a third module that provides a definition for the `extern Sampler` type: ```csharp @@ -164,7 +164,7 @@ import common; export struct Sampler : ISampler = FooSampler; ``` -The `=` syntax is a syntacic sugar that expands to the following code: +The `=` syntax is a syntactic sugar that expands to the following code: ```csharp export struct Sampler : ISampler -- cgit v1.2.3