Releases: shader-slang/slang
Releases · shader-slang/slang
v2024.10.1-draft
Full Changelog: v2024.10...v2024.10.1-draft
v2024.10
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
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
What's Changed
- Remove dxc disassemble debug code by @cheneym2 in #4779
- Fix auto-diff synthesized method naming conventions by @saipraveenb25 in #4714
- More reflection API features. by @saipraveenb25 in #4740
- Reduce dependency on std library by @skallweitNV in #4785
Full Changelog: v2024.9...v2024.9.1
v2024.9
v2024.1.34
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
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
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
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)