Skip to content

Releases: shader-slang/slang

v2024.11.1-draft

10 Sep 17:23
d33fad8
Compare
Choose a tag to compare
v2024.11.1-draft Pre-release
Pre-release

What's Changed

Full Changelog: v2024.11...v2024.11.1-draft

v2024.11

05 Sep 22:54
f929b42
Compare
Choose a tag to compare

This release brings SPIRV specialization constants, where clause, type equality constraints,
and tightened up Slang's language support for interface extensions, along with serveral
SPIRV and language server fixes.

The compilation API and slangc now supports identifying entrypoints defined in namespaces or structs.

Breaking Changes

Extensions on interface types are no longer allowed:

interface IFoo { ... }
extension IFoo
{}

The original extension IFoo syntax is replaced by more proper generic syntax:

extension<T:IFoo> T
{}

All Changes

f929b42 Fix doc build errors. (#5018)
5f1ba7b Various documentation improvements. (#5017)
3136771 Initial -embed-spirv support (#4974)
33e8bfd Fix SPIRV SV_TessFactor type adaptation logic. (#5010)
879ee3d Support entrypoints defined in a namespace. (#5011)
a3b25ce Add language proposal for where clauses (#5015)
e5ead40 Fix invalid documentsymbol error in langauge server. (#5012)
77ecad2 Fix spirv emit for global pointer variable. (#5009)
d655302 Support where clause and type equality constraint. (#4986)
a88055c Respect matrix layout in uniform and in/out parameters for HLSL target. (#5013)
959f55d Remove unused package in primary benchmark script (#5014)
d4aeb18 Document All Capability Atoms and Profiles (#5008)
65dd3b7 Add Documentation For Auto-Generated Constructors & Initializer Lists (#4988)
a7e9119 Preserve name in DeclRefExpr for correct highlighitng of This. (#4980)
dc3f2d6 Fix resource specialization with -embed-dxil (#4990)
599dae5 Open existential on arguments after overload resolution. (#4982)
ddd2905 Fix extension override behavior, and disallow extension on interface types. (#4977)
56a3c02 Push benchmark results to a viewable page (#4996)
1673cf9 Add Path::removeNonEmpty() to remove non-empty dir (#4984)

v2024.10.2

03 Sep 16:01
45e0eee
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2024.10...v2024.10.2

v2024.10.1

03 Sep 15:58
45e0eee
Compare
Choose a tag to compare
fix slang-rhi compile error (#4979)

v2024.10.1-draft

21 Aug 06:28
5f3e597
Compare
Choose a tag to compare
v2024.10.1-draft Pre-release
Pre-release

v2024.10

21 Aug 04:31
e97e7e5
Compare
Choose a tag to compare
Slang v2024.10

This release brings support for tuple types, variadic generics and depedent generic constraints.

No breaking changes.

Changes:

e97e7e51 Revert "Fetch slang-llvm.so from correct release (#4847)" (#4893)
359e96c6 Proposal: A simpler and more flexible `IDifferentiable` system (#4865)
f9f6a28d Support dependent generic constraints. (#4870)
03e1e177 Fix `tests\autodiff\reverse-while-loop-3.slang` test (#4886)
bcb53910 Exclude synthesized code from code auto documentation system (#4889)
6b1b2432 Track uninitialized values of `Ptr<Specialize<T>>` inside type `T` without hang (#4885)
77e6c647 Fixes #4879 (#4881)
579d59c7 Fetch slang-llvm.so from correct release (#4847)
d286ff53 Implement Path::createDirectoryRecursive (#4871)
f77a5ac9 Remove using SpvStorageClass values casted into AddressSpace values (#4861)
453683bf Tuple swizzling, concat, comparison and `countof`. (#4856)
ecf85df6 Variadic Generics Part 2: IR lowering and specialization. (#4849)
ca5d3037 Make sure to resolve overloaded expr for call args. (#4864)
25bc5a3a Avoiding the use of the global AST builder in DeclRefType::create (#4866)
b411c05b Include inout cast operation as an aliasing instruction (#4859)
9bf5dc93 Design proposal: IFunc interface. (#4851)
f447b749 Update documentation for #include to indicate it is for legacy code and new code should use modules (#4862)

v2024.9.2

15 Aug 21:13
0c468a3
Compare
Choose a tag to compare
Slang v2024.9.2

This release contains no breaking changes.

All changes:

0c468a3e Variadic Generics Part 3: language server (#4850)
2db09d58 Refactoring benchmark CI pipeline (#4855)
27b2229b Make precompileForTargets work with Slang API (#4845)
99673d78 fix getVKAdapters on MoltenVK (#4852)
706650f6 Design proposal for Tuple types. (#4848)
071f1b60 Variadic Generics Part 1: parsing and type checking. (#4833)
35a3d32c Design proposal for variadic generics (#4821)
45b76418 Do not zero-initialize groupshared and rayquery variables (#4838)
d8f63e70 Issue/legalize resource (#4769)
f4ff4236 GitHub action benchmark (#4804)
ee052a9e FIx issue with specializing witness tables (#4839)
1124407b Do not add carrage return to shell scripts (#4811)
bbef25cb Update build steps for MacOS (#4813)
127f0c58 Emit memory qualifier once for GLSL targets (#4819)
b390566b Support unicode identifier names. (#4772)
20bd4865 Warn when inout parameter is never written (#4777)

v2024.9.1

08 Aug 01:40
9b580e5
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2024.9...v2024.9.1

v2024.9

06 Aug 17:32
aa28f26
Compare
Choose a tag to compare

=== Breaking changes ===
No breaking changes

=== All changes for this release ===
aa28f26 Support an Upper-case variant of [NumThreads] and [Shader] (#4780) (#4746:forward looking)
d72f9f6 Initial support for precompiled DXIL in slang-modules (#4755) (#4580:forward looking)

v2024.1.34

01 Aug 20:35
d63f5e2
Compare
Choose a tag to compare
Slang v2024.1.34

Changes:

d63f5e20 Allow a enum case to reference a previously defined value. (#4768)
69dd7f40 Perform type legalization on StructuredBuffer element. (#4767)
32b84321 Allow implicit 'uniform' entrypoint parameters. (#4765)
4c6b0a28 Allow generic type deduction from ParameterBlock arguments. (#4766)
bab4b821 Feature/replayer (#4750)
93a3ba81 Warnings target switch intrinsic asm (#4727)
134f8ccc Fix IR lowering for generic interface types. (#4761)
6e4b8274 Fixes for Metal ParameterBlock support. (#4752)
04e7327a Move SPIRV global variables into a context variable (#4741)
fef0a87d Fix invalid code generation for when using nested resource specialization (#4751)
ff6519f0 Set `nullptr` to the default value of the target VarDeclBase (#4757)
c94fd84e Fix SPIRV emit for small-integer texture types. (#4753)
7e2bc8e0 Allow passing sized array to unsized array parameter. (#4744)
c0bff665 Disable warnings for input global variables (#4745)
a266cbfe Add reflection of inout modifiers (#4711)
a4eac091 Assertion failure on debug build for memory leaks (#4733)
0fe55d6d Disallow multi-dim vector subscript in slang IR (#4277)
2e7e2b56 Add `_Internal`/`External` atom enforcement and validation. (#4702)
19657f8a Add a proposal for new AST/IR serialization (#4684)
c9d89a40 Overhaul IR lowering of pointer types. (#4710)
1343ab79 Fix around extensions and `IDifferentiable` requirement synthesis.  (#4729)
3c03d279 Don't trigger CI on doc changes. (#4736)
a443350a Allow implicitly casting enum types to bool. (#4739)
7ea47f9a Support 1-dimensional matrix for HLSL (#4728)