| Commit message (Collapse) | Author | Age |
| |
|
| |
Rewording the document to make the testing step mandatory.
|
| |
|
| |
This commit updates the document about how to update the SPIRV submodules.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
* CI docs
|
| | |
|
| |
|
|
|
|
|
| |
* Add stdlib documentation for attributes and interfaces.
* Fix name mangling to avoid collision of functions in different extensions.
* Fix doc.
|
| |
|
|
|
|
|
| |
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
Reverts https://github.com/shader-slang/slang/pull/4193
* Update build instructions to mention older CMake versions
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
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")
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
| |
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.
* 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.
|
| | |
|
| |
|
| |
Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
* Update design doc.
* Fix.
* More comment on parameters.
|
| |
|
|
|
|
| |
- 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.
* Update user guide.
* Fix.
* Fixes.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
This proposal builds on the other proposal for `where` clauses.
Co-authored-by: Yong He <yonghe@outlook.com>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
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.
* 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
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
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>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
(#4977)
* Add a test to ensure extension does not override existing conformance.
* Fix doc.
* Update documentation.
* Fix doc.
* Add diagnostic test.
|
| |
|
| |
Adding a user guide page for SPIR-V specific features.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| | |
|
| |
|
|
|
|
|
| |
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>
|
| |
|
| |
Co-authored-by: Yong He <yonghe@outlook.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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`
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>
|
| |
|
|
|
|
|
|
|
|
| |
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
* 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>
|
| |
|
| |
This reverts commit 579d59c761cb0460701e0e820eb066275fe357b3.
|
| |
|
|
|
| |
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
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>
|