Skip to content

Releases: shader-slang/slang

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)

v2024.1.33

24 Jul 22:31
efe1105
Compare
Choose a tag to compare
Slang v2024.1.33

Changes:

efe11058 Update README.md
a8ce7a9a Update README.md on Metal support.
efa8d1ab Add generic descriptor indexing intrinsic (#4389)
639576cb Add missing make_bool intrinsics in cuda prelude. (#4735)
fe28d9c7 Fix checking of var with matrix layout modifier. (#4737)
657213f1 Cleanup global memory allocations on shutdown. (#4731)
a1607f80 Fix warning messages for MSVC and external projects (#4730)
5339f613 Allow only specific spv storage classes for binding decoration (#4713)

v2024.1.32

23 Jul 23:31
72f7ea6
Compare
Choose a tag to compare
Slang v2024.1.32

Changes:

72f7ea60 Fix for `ConstantBuffer<T[...]>` causing a segfault (#4705)
6216177e Print SPIRV validation error message (#4697)
1670d7ee Install the missing public headers in release package (#4712)
986256ff Feature/capture (#4625)
c28d8b6a Warn if providing explicit bindings to a object using uniform locations (#4708)
509bfd8b Simplify `CapabilitySet` Diagnostic Printing (#4678)
15f091aa Add Metal to user-guide/09-targets.md (#4703)
4ae58a72 Fix for invalid swizzle causing crash (#4690)
f114433d Support parameter block in metal shader objects. (#4671)
adf758c8 Fix the issue of name mangling (#4691)
7488b15d Update COM support doc to reflect implemented status (#4682)
bf293360 Fix LLVM compile error on Windows (#4658)
335c1a2d move autodiff-decoration-stripping-pass so it always runs (#4632)
a00d6035 Metal: `Interlocked` (atomic) member function support for buffers (#4655)
59dd133f Allow CPP/CUDA/Metal to lower/legalize buffer-elements to support column_major/row_major. (#4653)
6e7c7266 Warnings for uninitialized fields in constructors (#4680)
831d7965 Separating slang-test in CI for emit-spirv-via-glsl (#4665)
ce4ffc34 Support OpDebugTypePointer for struct member pointer (#4527)
be66cc88 Enable warnings-as-error for CI (#4659)
ad379b7c Update spirv-header and spirv-tools to Jun/2024 (#4679)
1677a25f Fix bug with uninititialized warnings in nested scopes (#4677)
0d06ebce Initial implementation for decl-tree reflection API (#4666)
89e836d4 Correctly parse multiple escaped newlines (#4672)
3750a4dc Add unexpected end of input error to lexer (#4673)
6f1371a7 Adjust how `slang` and `slangc` uses a `profile` to manage the stage of an entry-point (#4670)
494efd72 Reduce duplication in slang lib builds (#4651)
3c092719 Squash warnings on gcc and clang (#4669)
0368f00b Remove generated file from source and build at build time (#4649)
62325bb4 Add slang-llvm and slang-glslang readmes (#4646)
32b1e25e Use slang-glslang.dll for spirv-validation (#4642)
2db15080 Move the file public header files to `include` dir (#4636)
7d07bd29 Fix latex rendering errors in auto-diff docs (#4668)
f545ef30 Fix minimal-optimization flag with texture atomics (#4660)
05547e25 Warnings function parameters (#4626)
b5174b47 Fix issue with synthesized `__init` methods not getting added to witness table (#4638)
12ecc43a SCCP instead of CFG since SCCP removes code of unused branches, not CFG (#4640)
6bcf92d2 gfx/metal uniform data binding and memory leak fix. (#4644)
bd6314de Move if_let syntax to convenience-features section (#4628)

v2024.1.31

22 Jul 20:55
4ae58a7
Compare
Choose a tag to compare
v2024.1.31 Pre-release
Pre-release
4ae58a72 Fix for invalid swizzle causing crash (#4690)
f114433d Support parameter block in metal shader objects. (#4671)
adf758c8 Fix the issue of name mangling (#4691)
7488b15d Update COM support doc to reflect implemented status (#4682)
bf293360 Fix LLVM compile error on Windows (#4658)
335c1a2d move autodiff-decoration-stripping-pass so it always runs (#4632)
a00d6035 Metal: `Interlocked` (atomic) member function support for buffers (#4655)
59dd133f Allow CPP/CUDA/Metal to lower/legalize buffer-elements to support column_major/row_major. (#4653)
6e7c7266 Warnings for uninitialized fields in constructors (#4680)
831d7965 Separating slang-test in CI for emit-spirv-via-glsl (#4665)
ce4ffc34 Support OpDebugTypePointer for struct member pointer (#4527)
be66cc88 Enable warnings-as-error for CI (#4659)
ad379b7c Update spirv-header and spirv-tools to Jun/2024 (#4679)
1677a25f Fix bug with uninititialized warnings in nested scopes (#4677)
0d06ebce Initial implementation for decl-tree reflection API (#4666)
89e836d4 Correctly parse multiple escaped newlines (#4672)
3750a4dc Add unexpected end of input error to lexer (#4673)
6f1371a7 Adjust how `slang` and `slangc` uses a `profile` to manage the stage of an entry-point (#4670)
494efd72 Reduce duplication in slang lib builds (#4651)
3c092719 Squash warnings on gcc and clang (#4669)
0368f00b Remove generated file from source and build at build time (#4649)
62325bb4 Add slang-llvm and slang-glslang readmes (#4646)
32b1e25e Use slang-glslang.dll for spirv-validation (#4642)
2db15080 Move the file public header files to `include` dir (#4636)
7d07bd29 Fix latex rendering errors in auto-diff docs (#4668)
f545ef30 Fix minimal-optimization flag with texture atomics (#4660)
05547e25 Warnings function parameters (#4626)
b5174b47 Fix issue with synthesized `__init` methods not getting added to witness table (#4638)
12ecc43a SCCP instead of CFG since SCCP removes code of unused branches, not CFG (#4640)
6bcf92d2 gfx/metal uniform data binding and memory leak fix. (#4644)
bd6314de (upstream/release-debug) Move if_let syntax to convenience-features section (#4628)

v2024.1.30

13 Jul 00:16
Compare
Choose a tag to compare

Changes:

36e445b Fix release configuration for macOS. (#4629)