Skip to content

Releases: shader-slang/slang

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)

v2024.16

12 Dec 01:23
2999cb7
Compare
Choose a tag to compare
Slang v2024.16

Changes:

2999cb72a LSP: fix "documentSymbol failed" error. (#5842)
1f3be303e Use perfect forwardnig to preserve the parameters for log (#5841)
c17369a50 Fix the logic to determine whether lower generic pass should run. (#5837)
0af589bf2 Fix loop hoisting logic in redundancy pass. (#5836)
941f07040 Fix attribute reflection. (#5823)
e50aac13e Update SPIRV submodules (#5815)
f573c1586 Fix anyvalue marshalling for matrix and 64 bit types. (#5827)
f68768887 Fix wgsl float texture format inference silent failure (#5831)
3f818cba2 A small mistake. (#5819)
f0b991415 Enable WGSL tests that works for Metal related to Semantics (#5816)
4a63e33d6 Correct proposal number (#5809)
523e9f012 Enable exprs for GLSL binding layout qualifiers (#5807)
34497ae6d Add more details on PR process to CONTRIBUTING.md (#5812)
8bf4743f5 Create scope for synthesized property decl. (#5817)
89bf795f1 Fix a crash when search for files. (#5818)
b0dfb1aef Don't emit a warning when implicit casting from known in-range int lit to half. (#5814)
945d8dd3c Fix parsing logic of for loops' initial statement. (#5813)

v2024.15.2

09 Dec 14:23
ebfbe58
Compare
Choose a tag to compare
Add SV_DrawIndex. (#5787)

Co-authored-by: Ellie Hermaszewska <[email protected]>

v2024.15.1

06 Dec 12:40
27b7ac0
Compare
Choose a tag to compare
Emit debug info for Release builds (#5783)

* Remove unnecessary warnings on windows

* Correctly set debug flags on gcc

* Emit debug info for Release builds

* Perform LTO for relwithdebinfo builds

* Release from release builds not relwithdebinfo

v2024.15

02 Dec 19:27
4003d33
Compare
Choose a tag to compare
Slang v2024.15

Changes:

4003d337a Add WebGPU target doc (#5708)
0d92d7298 [Docs] Minor fixes to auto-diff documentation (#5621)
136c2e22b fetch and extract prebuilt deps lazily (#5707)
c005fe997 Emit OpExecutionMode SpacingEqual for Domain stage (#5696)
0b92e1de8 Explain why tests/autodiff/diff-ptr-type-array.slang is disabled for WGPU (#5702)
e53ca9872 Support nonuniformEXT for GLSL (#5695)
55bea7d72 Fix markdown mistakes on user guide (#5672)
c3557978c docs: Reduce typo count (#5671)
71f972687 Add missing WGSL intrinsics to test (#5663)
7a5981eb5 Make ToC regeneration script path handling more robust (#5700)
6bc63681e Update Slang-RHI/slang (#5701)
6e52cc811 wgsl: signedness mismatch fixes (#5692)
947b99e8e Add Table of Contents check to CI, and bot script to regenerate (#5618)
2c82b14c4 Sort filenames when generating table of contents (#5659)
0f3ff5f38 wgsl: Conditionally enable some tests based on 'half' support (#5694)
410ad9c18 Update workflow YML files for renamed files (#5688)
36ac8ff4e Document the restrictions for vector size (#5673)
915e05dcc WGSL: Fix issue where swizzle L-values are generated (#5682)
9e21cd4a7 wgpu: Enable Metal-like legalization for byte addressible buffers (#5681)
cf0e3a636 Enable Link-Time-Code-Generation for Release builds (#5678)