summaryrefslogtreecommitdiffstats
path: root/docs
Commit message (Collapse)AuthorAge
* Update update_spirv.mdJay Kwak2024-10-22
| | | Rewording the document to make the testing step mandatory.
* Update the document, `update_spirv.md` (#5368)Jay Kwak2024-10-22
| | | This commit updates the document about how to update the SPIRV submodules.
* Make slang-llvm fetching and failure more robust (#5346)Ellie Hermaszewska2024-10-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Make slang-llvm fetching and failure more robust Improve error reporting when things go wrong. Fall back by default to a non-llvm build Closes https://github.com/shader-slang/slang/issues/5247 Tested sensible behavior with: - `FETCH_BINARY_IF_POSSIBLE`, valid tag - No errors or warnings, successful build with llvm - `FETCH_BINARY_IF_POSSIBLE`, no valid tag - Warning message, successful llvm build with slang-llvm from latest release - `FETCH_BINARY_IF_POSSIBLE`, no valid tag, bad `SLANG_SLANG_LLVM_BINARY_URL` specified - Warning message, successful no-llvm build - `FETCH_BINARY_IF_POSSIBLE`, no valid tag, unable to fetch release information - Warning message, successful no-llvm build - `FETCH_BINARY`, valid tag - No errors or warnings, successful build with llvm - `FETCH_BINARY`, no valid tag - Warning message, successful llvm build with slang-llvm from latest release - `FETCH_BINARY`, no valid tag, bad `SLANG_SLANG_LLVM_BINARY_URL` specified - Error, explaining that we couldn't fetch it - `FETCH_BINARY`, no valid tag, unable to fetch release info - Error, explaining that we couldn't fetch it * Allow downloading from a local file --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Remove sccache (#5206)Ellie Hermaszewska2024-10-18
| | | | | * Remove sccache * CI docs
* Add docgen documentation. (#5318)Yong He2024-10-15
|
* Add stdlib documentation for attributes and interfaces. (#5297)Yong He2024-10-15
| | | | | | | * Add stdlib documentation for attributes and interfaces. * Fix name mangling to avoid collision of functions in different extensions. * Fix doc.
* review and revise building instructions (#5302)Ellie Hermaszewska2024-10-15
| | | | | | | Closes https://github.com/shader-slang/slang/issues/3905 Would be good to tackle this as a follow on https://github.com/shader-slang/slang/issues/5247 Co-authored-by: Yong He <yonghe@outlook.com>
* Lower minimum CMake version to 3.22 (#5295)Ellie Hermaszewska2024-10-15
| | | | | | | * Lower minimum CMake version to 3.22 Reverts https://github.com/shader-slang/slang/pull/4193 * Update build instructions to mention older CMake versions
* Misc build fixes. (#5271)Yong He2024-10-14
| | | | | | | | | | | | | | | | | * Don't use __assume for SLANG_ASSERT + build fixes. * Fix. * build slang-wasm conditionally * Fix. * revert retry open file * revert include. * another attempt of silencing compiler warnings. * revert assume change.
* Add slang-wasm target (#5237)Anders Leino2024-10-11
| | | | | | Support for exceptions is enabled, since Slang uses them for diagnostics. The size optimization arguments ('-Os') resolves some internal emscripten error during the slang-wasm.wasm linking step, which happens when enabling exceptions. ("parse exception: too many locals")
* reword documentation around precompiled modules. (#5249)Yong He2024-10-09
|
* Overhaul docgen tool and setup CI to generate stdlib reference. (#5232)Yong He2024-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Overhaul docgen tool and setup CI to generate stdlib reference. * Fix build error. * Write parsed doc for all decls. * fix. * fix callout. * Fix. * Fix comment. * Fix. * Delete obsolete doc tests. * Fix. * Categorize functions and types. * Fix CI. * Update comments.
* Add CI step to build WebAssembly version of Slang (#5164)Jay Kwak2024-09-27
| | | | | | | | Closes #5117 This adds a build step of WebAssembly version of Slang. Currently it is enabled only for Linux/Release to reduce the time cost of CI, but the builds were all successful on all platforms and configurations when tested.
* Design proposal for initialization. (#5142)Yong He2024-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | * Design proposal for initialization. * extension * QA * wording * Update design. * more revisions. * revise text. * rewording to be more accurate. * Fix wording and add explanation to examples. * clarify on zero initialization. * refine the rules and examples. * update status.
* Remove text on inheritance support in user-guide. (#5154)Yong He2024-09-25
|
* Make release note generation script shebang portable (#5145)Ellie Hermaszewska2024-09-25
| | | Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
* Enable emscripten builds to compile slang.dll to WebAssembly. (#5131)Anders Leino2024-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | * Compile fixes for Wasm The issues are all are due to 'long' types being 32 bits on WASM. - class members redeclared errors - << with StringBuilder and unsigned long is ambiguous This helps to address issue #5115. * Use the host executable suffix for generators Since the generators are run at build-time, we should not use CMAKE_EXECUTABLE_SUFFIX, which is the suffix for the target platform. Instead, define CMAKE_HOST_EXECUTABLE_SUFFIX as appropriate, and use that suffix instead. This helps to address issue #5115. * Add support for Wasm as a platform This helps to address issue #5115. * Add emscripten build This closes #5115.
* Update 003-atomic-t.mdYong He2024-09-20
|
* Initial `Atomic<T>` type implementation. (#5125)Yong He2024-09-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial Atomic<T> type implementation. * Update design doc. * Fix. * Add test. * Fixes and add tests. * Fix WGSL. * Fix glsl. * Fix metal. * experiemnt with github metal. * experiment github metal 2 * github metal experiment 3 * experiment with github metal 4. * experiment with metal 5. * experiment 7. * metal experiment 8. * Fix metal tests. --------- Co-authored-by: Yong He <yhe@nvidia.com>
* Add design doc for atomic<T> type. (#5101)Yong He2024-09-19
| | | | | | | | | * Add design doc for atomic<T> type. * Update design doc. * Fix. * More comment on parameters.
* Update auto-diff user guide (#5071)Sai Praveen Bangaru2024-09-18
| | | | | | - Remove `dmul` entirely (will be deprecated soon) - Add text about `IDifferentiablePtrType` Co-authored-by: Yong He <yonghe@outlook.com>
* Add `IRWArray` interface, and make StructuredBuffer conform to them. (#5097)Yong He2024-09-18
| | | | | | | | | * Add `IRWArray` interface, and make StructuredBuffer conform to them. * Update user guide. * Fix. * Fixes.
* release-note.sh fixes (#5068)cheneym22024-09-16
| | | | | | | | Add a gh.exe search path that works with cygwin installations. Do not bail out from the breaking changes loop when a change is found without PR#. Instead, continue to the next one. This fixes an issue where [BREAKING] changes appear in the detailed change list by not in the summary of breaking changes.
* Add proposal for equality constraints (#5043)Theresa Foley2024-09-09
| | | | | This proposal builds on the other proposal for `where` clauses. Co-authored-by: Yong He <yonghe@outlook.com>
* Update 000-template.mdYong He2024-09-05
|
* Update 010-new-diff-type-system.mdYong He2024-09-05
|
* Update 007-variadic-generics.mdYong He2024-09-05
|
* Update 001-where-clauses.mdYong He2024-09-05
|
* Update proposal templateYong He2024-09-05
|
* Fix doc build errors. (#5018)Yong He2024-09-05
|
* Various documentation improvements. (#5017)Yong He2024-09-05
|
* Add language proposal for where clauses (#5015)Theresa Foley2024-09-05
| | | | | | This is meant to be a starting point, such that we can refine the proposal and the implementation in tandem until we are happy with both. Co-authored-by: Yong He <yonghe@outlook.com>
* Support `where` clause and type equality constraint. (#4986)Yong He2024-09-05
| | | | | | | | | | | | | | | | | * Support `where` clause. * Fix. * Fix parser. * Enhance test to cover traditional __generic syntax. * Update user-guide. * Support `where` clause on associatedtype. * Fix. * Put in more comments.
* Document All Capability Atoms and Profiles (#5008)ArielG-NV2024-09-05
| | | | | | | | | | | | | | | | * Document All Capability Atoms and Profiles Fixes: #4125 Unimplemented Considerations: 1. This PR does not add support to query all capability-atom's from a command-line option. It is understood that this might be desired, due to this, the logic to generate `docs\user-guide\a3-02-reference-capability-atoms.md` was made to be "command-line friendly" so minimal changes are needed to pipe our documentation into a command-line option if this change is to be added. Changes: 1. Added a way to document atoms inside `.capdef`. Method to document is described under `source\slang\slang-capabilities.capdef`. The goal is to error if a public atom does not have any form of documentation to ensure we always have up-to-date documentation to guide user on what an atom is/does. * The following `.capdef` file syntax was added * /// [HEADER_GROUP] * /// regular comment 2. When capability generator runs it auto-generates `docs\user-guide\a3-02-reference-capability-atoms.md` 3. Added to the user-guide 3 sections: `Reference`, `Reference -> Capability Profiles`, `Reference -> Capability atoms` section
* Add Documentation For Auto-Generated Constructors & Initializer Lists (#4988)ArielG-NV2024-09-04
| | | | | | | | | | | | | * Add documentation for auto-generated constructors & Initializer Lists fixes: #4903 Add documentation for auto-generated constructors & Initializer Lists, the logic behind this PR is on #4854 * clean up documentation as per review comments --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Fix extension override behavior, and disallow extension on interface types. ↵Yong He2024-09-04
| | | | | | | | | | | | | (#4977) * Add a test to ensure extension does not override existing conformance. * Fix doc. * Update documentation. * Fix doc. * Add diagnostic test.
* User guide page for SPIR-V target specific information (#4815)Jay Kwak2024-08-30
| | | Adding a user guide page for SPIR-V specific features.
* Add structured binding propsoal. (#4953)Yong He2024-08-28
|
* Update `IFunc` proposal to reflect its implementation. (#4950)Yong He2024-08-28
|
* Allow capabilities to be used with `[shader("...")]` (#4928)ArielG-NV2024-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow capabilities to be used with `[shader("...")]` Fixes: #4917 Changes: 1. Allow using capabilities instead of `Stage`s with `EntryPointAttribute`. 2. When resolving capabilities for an entrypoint+profile (per entrypoint) in `resolveStageOfProfileWithEntryPoint` add our `EntryPointAttribute` and resolved capability 3. Added tests and some capabilities related clean-up * fix a warning made by a mistake in syntax * change fineStageByName to assume it is passed a stage without a '_' * test with and without prefix '_' * cleanup some profiles and reprisentation to work better with 'Stage' and 'Profile' This use case is why we need to clean all profile-usage into `CapabilityName`s directly. * change how we compare * only change profiles * let all capabilities be resolved by 'shader' profile for now * fix warning checks I accidently broke * meshshading_internal to _meshshading --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Add functor syntax support. (#4926)Yong He2024-08-27
|
* Document notable `__ref` uss in stdlib. Remove user docs use of '__ref'. (#4799)ArielG-NV2024-08-27
| | | | | | | 1. Document `__ref` in stdlib. 2. Remove `__ref` example in `docs\user-guide\a1-04-interop.md` 3. New example in `docs\user-guide\a1-04-interop.md` to compensate for no longer providing an example that uses `&` and `OpCapability`/`OpExtension`. Co-authored-by: Yong He <yonghe@outlook.com>
* Adding a document of how to update external/spirv-* (#4902)Jay Kwak2024-08-27
| | | Co-authored-by: Yong He <yonghe@outlook.com>
* Script for generating a release note (#4776)Jay Kwak2024-08-27
| | | | | | | | | | | * Script for generating a release note Related to #4718 * Adding a comment about how to run --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Implement `-fvk-use-dx-layout` (#4912)ArielG-NV2024-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implement `-fvk-use-dx-layout` Fixes: #4126 Changes: * Added fvk-use-dx-layout * Modified `HLSLConstantBufferLayoutRulesImpl` for correctness (ex: Array is always 16 byte aligned) * Added kFXCShaderResourceLayoutRulesFamilyImpl and kFXCConstantBufferLayoutRulesFamilyImpl to handle fvk-use-dx-layout * Added `ConstantBufferLayoutRules` to manage constant buffer rules * Added `alignCompositeElementOfNonAggregate`/`alignCompositeElementOfAggregate` to handle forced alignment of composites for ConstantBuffers * `StructuredBuffer` rules are mostly equal to `scalar` layout, not much was needed to be changed to support this behavior. * seperate legacy constant buffer and how Slang does constant-buffer normally * undo an addition * remove accidental test * Address review and fix Address review and remove GLSL support since GLSL requires a seperate legalization (need to linearlize structs like with `legalizeMetalIR` to assign explicit offsets) * comments * remove aggregate and non-aggregate logic We don't need this distinction for the logic --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Add skeleton of a language reference. (#4808)Theresa Foley2024-08-22
| | | | | | | | | | The files being checked in here were initially written 2-3 years ago. They are very clearly incomplete, outdated and, quite often, inaccurate. The intention of this change is to get an initial skeleton in place for the large-scale structure of a language reference (for now avoiding the term "specification" and all the weight it carries). Future commits should be able to add to flesh out this skeleton and start to make the document more complete and more accurate.
* Dont require llvm for building generators (#4895)Ellie Hermaszewska2024-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Dont require llvm for building generators * Fetch slang-llvm.so from correct release (#4847) * Fetch slang-llvm.so from correct release Closes https://github.com/shader-slang/slang/issues/4648 Should close https://github.com/shader-slang/slang/issues/4812 * Update docs * Correct documentation on cmake option * Neaten cmake script * Fix fetching on windows --------- Co-authored-by: Yong He <yonghe@outlook.com> * Be a bit more careful dealing with release list fetching failure * clarify error messages --------- Co-authored-by: Yong He <yonghe@outlook.com>
* Revert "Fetch slang-llvm.so from correct release (#4847)" (#4893)Yong He2024-08-20
| | | This reverts commit 579d59c761cb0460701e0e820eb066275fe357b3.
* Proposal: A simpler and more flexible `IDifferentiable` system (#4865)Sai Praveen Bangaru2024-08-20
| | | | | Designed to work for both value types as well as ref/ptr/buffer types Co-authored-by: Yong He <yonghe@outlook.com>
* Fetch slang-llvm.so from correct release (#4847)Ellie Hermaszewska2024-08-20
| | | | | | | | | | | | | | | | | | * Fetch slang-llvm.so from correct release Closes https://github.com/shader-slang/slang/issues/4648 Should close https://github.com/shader-slang/slang/issues/4812 * Update docs * Correct documentation on cmake option * Neaten cmake script * Fix fetching on windows --------- Co-authored-by: Yong He <yonghe@outlook.com>