Skip to content

Releases: shader-slang/slang

v2025.4

31 Jan 22:19
5173c87
Compare
Choose a tag to compare
Slang v2025.4

Changes:

5173c8748 Include slang-glsl-module.dll in releases, for precompiled glsl module. (#6239)
a026df756 Respect per-target debug options (#6193)
eebe84907 Distribute slang-glsl-module.bin in release packages. (#6233)
ae778e342 [Docs] Auto-diff documentation overhaul (#6202)
21893763c Declare `VariablePointers` capability when needed. (#6231)

v2025.3.3

30 Jan 21:37
fb052bf
Compare
Choose a tag to compare

Supports Cooperative Vector

=== Breaking changes ===
No breaking changes

=== All changes for this release ===
fb052bf Support cooperative vector including Vulkan-Header (#6228)
7a8131d Add coop-vec insts to non-differentiable insts list (#6227)
ba9b278 Support cooperative vector (#6223)
2ae194d Fix ConstantIntVal::toText when the val is a enum. (#6224) (#6225:client support)
cbcb97a Update SPIRV submodules and fix tests (#6222)
2ba6458 Fix combined sampler documentation and warning (#6207) (#5938:quality & productivity)
6052043 Fix the type coerce issue (#6215)
c18c436 Fix loophole in hoisting where an OpVar's uses might not be properly registered for replacement (#6212)
1c282b8 Implement WaveMultiPrefix* for SPIRV and GLSL (#6182) (#6180:client support)
cf66563 Fix exact-match witness synthesis for static functions (#6204)
1f99c20 Fix UIntSet calcSubtract to handle mismatched buffer sizes (#6205)
f4e3692 Proposal for Cooperative Vector in Slang (#6209)
b3c6212 Add slangpy proposal (#6156)
c356d3a Allow requiring glsl language extensions on structs (#6173)
a5b1aa0 Added const version for the operator[] in Matrix (#6186)
92a48f6 Delete invalid ASSERT in isTypeOperandEqual. (#6196) (#6194:quality & productivity)
4b9a342 Fix geometry shader related modifier lowering. (#6197) (#6185:quality & productivity)
cd27fbd Add a unit test to cover type-conformance compilation API. (#6178) (#6179:quality & productivity)
31bb5ea Add an example for reflection of parameter blocks (#6161)
f030a5a Properly plumbing layout for global varyings. (#6198) (#6188:quality & productivity)

v2025.3.2

27 Jan 19:23
da3dc98
Compare
Choose a tag to compare

=== Breaking changes ===
None

=== All changes for this release ===
da3dc98 Fix an incorrect iteration with a workList (#6177)
1f1892d DNI: try using sparse checkout for MDL-SDK (#6190)
3ecbeac Fix depth texture sampling on Metal. (#6168) (#6166:client support)
a7958af Some usability improvements to formatting script (#6153)
1abba25 Add intptr_t abs/min/max operations for CPU & CUDA targets (#6160)
0dd9076 Add bgra8 format (#6163) (#5469:client support)
92c9fff improve error message on generic value decls (#6169) (#6139:quality & productivity)
ac174d2 Fix static build and install (#6158) (#5821:client support)
a9ce752 Fix incorrect resolve of specialization instance (#6162)

v2025.3.1

22 Jan 18:01
8000e0e
Compare
Choose a tag to compare
Slang v2025.3.1

Changes:

8000e0ede Cache and reuse glsl module. (#6152)
04353fb76 Add validation for destination of atomic operations (#6093)
18f12ad9c Use SPIRV integer vector dot product instructions (#6141)
14211ec3c Remove unnecessary parameters from Metal entry point signature (#6131)
ea98e24d3 Bump spirv-tools to 9295a8b94ed0751565fa9cda6d949f5e388b32d9 (#6145)
a4d67a0b0 Catch all exceptions from loadModule* and link API calls. (#6143)

v2025.3

22 Jan 06:30
151bdb8
Compare
Choose a tag to compare
Slang v2025.3

Breaking Change:

fc77070fd Refactor _Texture to constrain on texel types. (#6115)
This change adds generic constraint to what is allowed in a texture type,
and can potentially break existing generic code that specializes a `Texture2D<T>` etc.
with a generic `T` that isn't constraint by `ITexelElement`.

All Changes:

151bdb837 Fix bug: IgnoreInheritance in lookup (#6146)
4c2c0856c Fix gcc downstream compiler optimization level corresponding to OptimizationLevel::Maximal (#6137)
681224561 Generate IDs for every witness table (#6129)
b11c25749 Fix def-use issue from multi-level break elimination (#6134)
f3d7aa6ce Fix upper 32 bits of 64-bit AnyValue packing (#6127)
d09b6bccd Make -depfile work for binary modules output too (#6126)
a85c350df Implement Quad Control intrinsics (#5981)
87a081602 test-server should use d3d12core.dll from bin directory (#6095)
955c10bb9 Delete CNAME
be78f2714 Create CNAME
9d9997670 Fix circularity issue when checking multiple generic interface constraints. (#6121)
d046082c5 Add diagnostic for function body followed by a `;`;. (#6122)
dc69d85f8 Add groupshared atomic array test. (#6107)
d1a13a730 Allow __subscript<T> syntax. (#6124)
fc77070fd Refactor _Texture to constrain on texel types. (#6115)
3ff257816 Fix interface requirement lowering for generic accessors (#6123)
f68d493d5 Avoid using the backend validation when using test server (#6094)
ddc4a1799 Fix nullptr in generic specialization (#6066)
91430870a hoist entry point params for wgsl (#6116)
e743c17f7 Fix `-capability` arg in SPIRV debug command line output. (#6114)
3666c66e2 Fix prebound parameter pack - argument list matching logic. (#6111)
dfb369e87 Move global variable initialization into entry points for WGSL (#6106)

v2025.2.2

17 Jan 03:02
1b7c242
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2025.2.1...v2025.2.2

v2025.2.1

15 Jan 14:35
cb835b9
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2025.2...v2025.2.1

v2025.2

10 Jan 22:08
a985e24
Compare
Choose a tag to compare
Slang v2025.2

Changes:

a985e240a Fix CUDA reflection for acceleration structure handle size. (#6055)
4104aa7f9 Fix `markNonContextParamsAsSideEffectFree`. (#6054)
f199640bb Add overload for select to handle Optional<T> (#6022)
803e0c9f9 WGSL: Convert signed vector shift amounts to unsigned (#6023)
6437f2d37 Fix potential test failures due to SPIRV validation failure (#6047)
548453338 Fix Metal type layout reflection for nested parameter blocks. (#6042)
5290c5806 Initial implementation of SP#015 `DescriptorHandle<T>`. (#6028)
4cfae806a Add exhaustive associativity test for WGSL (#6056)
2b76466c4 Add CalculateLevelOfDetail* overloads for comparison samplers (#6018)
55ff4686e Support a storage class, NodePayloadAMDX, for SPIRV work-graphs (#6052)
fce63c2c5 `[[shader_record]] / [[push_constant]]` Param Annotations Proposal (#6053)
e8217c700 Fix implicit string conversion breaking NativeStrings (#6035)
b72e62f5c Upgrade actions/upload-artifact from v3 to v4 (#6051)
87f00a36a [Auto-diff] Overhaul auto-diff type tracking + Overhaul dynamic dispatch for differentiable functions (#5866)
6706c1a77 update slang-rhi (#6045)
46149eeb2 Pass compiler specific args to GCC and Visual Studio too (#6019)
dab6cec1e Add parentheses to make precedence explicit (#6030)
2249d6ffb Add SampleCmpLevel intrinsics (#6004)
63b8d9e1d slang-test: Ensure runtime is consistent (#6021)

v2025.1

08 Jan 18:48
5b99314
Compare
Choose a tag to compare

=== Breaking changes ===
No breaking changes

=== All changes for this release ===
5b99314 Add backtraces to examples (#5973) (#5520:quality & productivity)
c43f6fa Lower varying parameters as pointers instead of SSA values. (#5919)
1a56f58 Check whether array element is fully specialized (#6000) (#5776:client support)
7e278c3 Add example showing how to use Slang/WASM (#5996)
7d4142e Fix some robustness issues in the examples (#5984) (#5520:quality & productivity)
5621ace Use disassemble API from SPIRV-Tools (#6001)
a448b7e Properly set D3D12SDKPath (#5993)
7190c28 Add Bindless<T> proposal. (#6002)
bc76c6e Add support for textureLod with sampler2DArrayShadow (#6009)
22dab44 Fix GLSL mix(T,T,bool) SPIR-V output (#6006)
f0431b8 CI: Build the full slang-wasm.[js|wasm] targets instead of just the slang library. (#5998) (#5959:forward looking)
00e7542 Make 'shared' keyword map to 'groupshared' in GLSL mode (#6003) (#5989:quality & productivity)
114c976 Create DirectDeclRef when creating Decl to prevent invalid dedup. (#5945) (#5941:quality & productivity)
5df3a74 Fix parameter location reflection for pure data paramblocks. (#5956) (#5940:quality & productivity)
d48cd13 Correct IR generation for no-diff pointer type (#5976) (#5805:client support)
e3b71cf Allow explicit test root (#5980)
a13ef05 Fixed incorrect condition in Session::queryInterface. (#5978)
f3b916e add missing IR_LEAF_ISA for MetalMeshType (#5975)
075e6c2 Fix reflection for metal vector [[id]] location. (#5943)
823b6a8 Add terminateRayEXT & ignoreIntersectionEXT (#5974)
a8471a1 Fix getInheritanceInfo for ExtractExistentialType. (#5971) (#5900:client support)
b7eb585 Check for undefined %id in spirv_asm block. (#5966) (#5753:client support)
1f98bd6 LanguageServer: fix highlighting of wrapper type. (#5968)
3f43d6c Add RaytracingAccelerationStructure::__init(uint64_t). (#5967) (#5801:client support)
cc1b96d Check mismatching method parameter direction against interface declaration. (#5964) (#5962:quality & productivity)
88e221b Fix requirement candidate lookup to prefer decls in the same paraent as the inheritance decl. (#5965) (#5954:quality & productivity)
89dd2b1 Add a basic WebGPU example (#5923)
b2d51ad Skip uninitialized-use warning on hitAttributeEXT-decorated globals (#5952)
71cd967 Prevent constant folding for specialization constants (#5953)
7a6de4a Implement HLSL pack/unpack math intrinsics (#5934)
c4429bc Fix tiny typos (#5944)
478be54 Fix parsing GLSL SSBO arrays / bindless descriptors (#5932)
7cecc51 Add packed 8bit builtin types (#5939)
2ad1f81 Support dispatchComputeIndirect and draw(Indexed)Indirect with count buffer for Vulkan (#5929)
1b5679f Reflection API Wasm Bindings Part1 (#5936)
e15c280 update CTS package (#5935)
76fdeaa Fixed stage and result field names in json reflection (#5927)
8e55b49 Fix WASM build (#5925)
e93cb8a Check subscript/property accessor for differentiability. (#5922) (#5921:client support)
5c9f011 Fix crash during loop unrolling. (#5920) (#5917:quality & productivity)
a00db74 Add base vertex and base instance system values (#5918)
2e9605e Enable more examples in CI (#5915)
237af82 Add HLSL texture sample with status intrinsics (#5901) (#4495:forward looking)
c6662b6 Readme corrections (#5874)
16f617f Report error when generated spirv is empty. (#5899) (#5893:quality & productivity)
a427c58 Fix issues reported by 'shellcheck' (#5913) (#5520:quality & productivity)
58654d0 Refresh list of failing examples (#5904) (#5520:quality & productivity)
f675c39 Fix the parser issue for not recognize Generic[N] (#5912)
a805756 Check decl nesting for namespaces. (#5910) (#5897:quality & productivity)
abeb375 Support explicit [vk::location(n)] binding on metal/wgsl. (#5907) (#5883:client support)
0f5a2ce Fix metadata of register space and varying params. (#5906) (#5905:quality & productivity)
ae04e60 Allow Optional, Tuple and bool to be used in varying input/output. (#5889) (#5881:quality & productivity)
41c627f Add slang example tests to CI (#5879)
45af246 Add verification logic on push and specialization constants. (#5887) (#5865:quality & productivity)
6e24244 Support specializing generic entrypoints in findAndCheckEntryPoint. (#5890) (#5898:forward looking)
6f57e47 Implement bitcast for 64-bit date type (#5895) (#5470:quality & productivity)
49e912a Fix entrypoint auto discovery logic. (#5885)
7ffc69d Update 09-reflection.md (#5886)
d61bba8 Fix getArgumentValueFloat when arg is int. (#5888) (#5860:quality & productivity)
9c9e1f7 Support matrix negation in metal backend. (#5891) (#5882:client support)
0a6ffee install mono for toc generation (#5877)
83f4bd5 Enable exprs for all supported GLSL layout qualifiers (#5857) (#3873:quality & productivity)
9d608b9 Update reflection API chapter in User Guide (#5868)
9d89a25 Make slang-rhi's NVAPI support conditional on SLANG_ENABLE_NVAPI (#5855)
78c9bd1 Bit extract (#5847)
b4e63d7 use Release over RelWithDebInfo for ci (#5846)
1fb79ac Add an example for using the reflection API (#5839)
9c82ed3 WGSL: Fix issue where global calls are generated (#5768)
79dc7ef Add SLANG_ENABLE_DXIL (#5853)
48ac6f2 Correctly distinguish between windows and MSVC (#5851)
7279c04 Set default hidden visibility for all source on gcc (#5850)
96a8781 Add missing header for _getpid() (#5852)
df06e79 Bump imgui for include fix (#5854)
50fa543 Correct casing of windows includes (#5849)
160be8e Fix prebuilt dependencies filenames on non-windows platforms (#5848)

v2024.17

12 Dec 08:02
772c48a
Compare
Choose a tag to compare
Slang v2024.17

Changes:

772c48af9 Fix language server check skipping when explicit module decl exists. (#5845)
626e81478 Bump spirv-header/tools/glslang (#5834)