diff options
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | docs/user-guide/08-compiling.md | 6 | ||||
| -rw-r--r-- | docs/user-guide/10-link-time-specialization.md | 4 |
3 files changed, 12 insertions, 2 deletions
@@ -28,6 +28,10 @@ The Slang system is designed to provide developers of real-time graphics applica * For applications that want it, Slang provides full reflection information about the parameters of your shader code, with a consistent API across all target platforms and graphics APIs. Unlike some other compilers, Slang does not reorder or drop shader parameters based on how they are used, so you can always see the full picture. +* Full intellisense features in Visual Studio Code and Visual Studio through the Language Server Protocol. + +* Full debugging experience with SPIRV and RenderDoc. + Getting Started --------------- 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 |
