summaryrefslogtreecommitdiffstats
path: root/docs
Commit message (Collapse)AuthorAge
* Add `InterlockedAddF64` intrinsic. (#5412)Yong He2024-10-27
|
* Swap the term StdLib with Core-Module or Standard-Module in documents (#5414)Jay Kwak2024-10-25
| | | | This PR is limited to documents. All use of "Standard library" or "StdLib" are replaced with either "core module" or "standard modules", depending on the context.
* Replace stdlib with core-module on files and projects (#5411)Jay Kwak2024-10-25
| | | | | | | This commit renames the files and projects to prefer "core-module" over "stdlib". The directory name `source/slang-stdlib` needs to be renamed too, and there will be another commit for it soon.
* Replace stdlib on Slang API with CoreModule (#5405)Jay Kwak2024-10-25
| | | | | | | | | | | | | | | | | | This is a breaking change in a way that the Slang API function names are changed. All of them are commented as "experimental" and we wouldn't provide a back-ward compatibility for them. Following functions are renamed: compileStdLib() -> compileCoreModule() loadStdLib() -> loadCoreModule() saveStdLib() -> saveCoreModule() slang_createGlobalSessionWithoutStdLib() -> slang_createGlobalSessionWithoutCoreModule() slang_getEmbeddedStdLib() -> slang_getEmbeddedCoreModule() hasDeferredStdLib() -> hasDeferredCoreModule() Following command-line arguments are renamed: "-load-stdlib" -> "-load-core-module" "-save-stdlib" -> "-save-core-module" "-save-stdlib-bin-source" -> "-save-core-module-bin-source" "-compile-stdlib" -> "-compile-core-module"
* Describe experimental COM interfaces (#5397)cheneym22024-10-24
| | | | | Fixes #5212 Co-authored-by: Yong He <yonghe@outlook.com>
* Fix a few documentation typos (#5396)cheneym22024-10-24
|
* 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>