summaryrefslogtreecommitdiff
path: root/docs
AgeCommit message (Collapse)Author
2024-06-12Capability System: Implicit capability upgrade warning/error (#4241)ArielG-NV
* capability upgrade warning/error adjusted implementation + tests to support a warning/error if capabilities are implicitly upgraded and test accordingly. * add glsl profile caps * add GLSL and HLSL capabilities to the associated capability * syntax error in capdef * only error if user explicitly enables capabilities 1. changed testing infrastructure to not set a `profile` explicitly, 2. Added tests to be sure this works as intended with user API and with slangc command line * Change capability atom definitions and how Slang manages them to fix errors 1. most `glsl_spirv` version atoms have been removed from `.capdef`, instead we will translate `spirv` version atoms into `glsl_spirv` since there is no point in writing the same code twice in `.capdef` files to define `spirv` versions. 2. add spirv version, and hlsl sm version (and equivlent) capability dependencies 3. removed some stage requirments which were set on objects, keep the wrapper capabilities. I am keeping the wrapper capabilities since I am unaware on if there are stage limitations (spec says code in practice does not work). * check internal version instead of version profile (_spirv_1_5 vs. spirv_1_5) * remove unused OpCapability. adjust SPIRV version'ing again for glsl_spirv * apply workaround for glslang bug with rayquery usage * ensure capabilities targetted by a profile and added together by a user are valid * remove additions to `spirv_1_*` wrapper * spirv_* -> glsl_spirv fix * fix bug where incompatable profiles would cause invalid target caps * try to avoid joining invalid capabilities * fix the warning/error & printing * run through tests to fix capability system and test mistakes many mistakes were mesh shaders doing `-profile glsl_450+spirv_1_4`. This is not allowed for a few reasons 1. the test tooling does not handle arguments the same as `slangc` 2. glsl_450 core profile does not support mesh shaders, nor does spirv_1_4. sm_6_5 does work in this senario * set some sm_4_1 intrinsics to sm_4_0 * replace `GLSL_` defs with `glsl_` * swap the unsupported render-test syntax for working syntax * set d3d11/d3d12 profile defaults this is required since sm version changes compiled code & behavior * adjusted nvapi capabilities with atomics + d3d11 set to use sm_5_0 as per default * cleanup * address review * incorrect styling * change `bitscanForward` to work as intended on 32 bit targets --------- Co-authored-by: Yong He <yonghe@outlook.com>
2024-06-12Add option to preserve shader parameter declaration in output SPIRV. (#4344)Yong He
* Add option to preserve shader parameter declarations in output. * Add test.
2024-06-10Fix typos in the docs (#4322)Anders Leino
2024-06-08Add initial draft auto-diff basics and IR overview documents (#4216)Sai Praveen Bangaru
2024-06-07Improve documentation and example formatting consistency (#4299)Matthew Moulton
* Improve doc and example consistency Improve consistency of formatting in example shaders and remove trailing spaces in documentation files. Fix minor typos.
2024-06-06Typo in 06-interfaces-generics.md (#4284)Elie Michel
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
2024-06-06Fix python syntax highlighting in slangpy chapter (#4282)Elie Michel
2024-05-31Capabilities generator inclusive join and misc (#4237)ArielG-NV
2024-05-30Various issues in code snippets (#4247)Elie Michel
Fixed as I was testing release `v2024.1.17` (latest) Co-authored-by: ArielG-NV <159081215+ArielG-NV@users.noreply.github.com>
2024-05-30Update document regarding pointer (#4248)Jay Kwak
And also add an actual test case from the User Guide example.
2024-05-30Fix confusion in Translation Units doc (#4245)Elie Michel
I think the sentence was saying the opposite of what it meant! Co-authored-by: Yong He <yonghe@outlook.com>
2024-05-30Fix small typo (#4246)Elie Michel
2024-05-24Fix pointer example (#4224)cheneym2
* Fix pointer example Make the example shown for pointers something that would compile. Don't redefine pNext and do define MyType. * Fix formatting of struct in pointer example
2024-05-23Fix pointers link in userguide (#4217)cheneym2
Adding (limited) to the header in a previous doc change broke the link. Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
2024-05-16Update 03-convenience-features.md (#4179)ArielG-NV
add member init expr and constructor logic to the docs
2024-05-09fix typo (#4144)Tomáš Pazdiora
Co-authored-by: Yong He <yonghe@outlook.com>
2024-05-08`slangc` tool experience improvements. (#4140)Yong He
* `slangc` tool experience improvements. Fixes #4123. Fixes #4127. * Update doc.
2024-05-02Slang: update pointer related documentation (#4088)cheneym2
Slang does have some support for pointers. Remove an outdated comment stating the contratry, and update the section that describes pointer support to also list some relevant limitations. Fixes #3970 Co-authored-by: Yong He <yonghe@outlook.com>
2024-04-25Support derivative functions in compute & capabilities adjustments (#4014)ArielG-NV
* Support derivative functions in compute & capabilities adjustments fixes #4000 PR implements derivative functions in compute shaders properly so we have the functionality for SPIR-V & GLSL. Tests reflect fragment and compute paths. PR also adjusts capabilities to correct wrong SPRI-V target capabilities for when using textures. Remarks: 1. __requireComputeDerivative(); is a intrinsic_op and not modifier since inlining will destroy the modifier. 2. Derivative mode is tied to an entry point decoration `[DerivativeGroupQuad]`/`[DerivativeGroupLinear]` or GLSL syntax ``derivative_group_linearNV`. Default is to set the mode to `[DerivativeGroupQuad]` * remove -emit-spirv-directly * fixes 1. fix minor issue fwidth change where I returned the wrong type 2. fix issue where glslang{glsl->spirv} is wrong, so we don't run that test and just run the glsl test & direct spir-v test for intrinsic-texture.slang * adjust as per review and refine code 1. add test to ensure multi-diverging-in-logic entry points work -- 2 functions which may cause computeDerivatives + 1 that uses, 1 that does not. 2. naming 3. use entry point ref graph for c-like-targets 4. reordered some code to util's and removed `static linline` since that was just for ease of coding on my end (should not have been pushed). * Grammer * split up source file + issolate GLSL emit path change. --------- Co-authored-by: Yong He <yonghe@outlook.com>
2024-04-17Implement if(let ...) syntax (#3673) (#3958)kaizhangNV
2024-04-16Fix Slang documentation typos (#3961)cheneym2
2024-04-13Documentation: fix typos and grammar (#3945)bprb
2024-04-10Delete out of date docs (#3926)Yong He
2024-04-09Rename slangpy -> slangtorch in documentation. (#3922)Yong He
2024-04-09typos (#3913)Pema Malling
2024-04-03Delete out-of-date notes from user guide. (#3877)Yong He
We support partial generic parameter inference today.
2024-04-03Add documentation about constructors (#3879)Yong He
2024-04-02Update user guilde for new features. (#3875)Yong He
2024-03-21Support arrow operator `->` on pointers. (#3812)Yong He
2024-03-20Update a1-01-matrix-layout.mdYong He
2024-03-20Update a1-01-matrix-layout.mdYong He
2024-03-18Update 09-reflection.md (#3787)Yong He
2024-03-17Remove out of date documentation on compilation API. (#3785)Yong He
* Remove out of date documentation on compilation API. * Update toc.
2024-03-14Support unscoped enums. (#3771)Yong He
2024-03-13Add cautionary desclaimers on interop mechanisms. (#3763)Yong He
* Add cautionary desclaimers on interop mechanisms. * Fix.
2024-03-11Update 08-compiling.mdYong He
2024-03-11Add `-fvk-use-dx-position-w` and fix ExecutionMode ordering for geometry ↵Yong He
shaders. (#3731) * Add `-fvk-use-dx-position-w`. * Fix ordering of OutputVertices and output primitive type decoration in spirv. * Fix. * fix * Fix. * Move test around.
2024-03-08Add documentation for uniformity analysis. (#3721)Yong He
2024-03-04Extend `as` and `is` operator to work on generic types. (#3672)Yong He
2024-03-04Add user-guide section on pointers. (#3670)Yong He
2024-03-01Update doc TOC (#3657)Yong He
2024-03-01Add documentation for debugging. (#3656)Yong He
* Add documentation for debugging. * typo
2024-02-29Fix various crashes when generating debug info. (#3650)Yong He
* Fix crash when generating debug info for geometry shaders. * Fix. * Fix source language field in DebugCompilationUnit. * Fix. * Emit DebugEntryPoint inst. * Add trivial test. * Cleanup. * More cleanup.
2024-02-27Update documentation TOC. (#3641)Yong He
2024-02-27Update 08-compiling.mdYong He
2024-02-27Update doc links. (#3640)Yong He
2024-02-27Add documentation for link-time specialization. (#3638)Yong He
2024-02-27Update links in user-guide documentationYong He
2024-02-26Update documentation on compilation API. (#3634)Yong He
2024-02-15cmake: option to build a static library version of slang (#3578)Lukas Lipp
* cmake: slang lib type setting * cmake: change name for slang lib type setting --------- Co-authored-by: Yong He <yonghe@outlook.com>