Skip to content

Releases: shader-slang/slang

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 <ellieh@nvidia.com>

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)

v2024.14.6

26 Nov 03:53
e6cf93e
Compare
Choose a tag to compare

=== Breaking changes ===
7b570fe Correct include dir for libslang (#5539)

=== All changes for this release ===
e6cf93e Fix issue with slang-embed & include ordering (#5680)
d282701 Support interpolation modifiers for WGSL (#5641)
044b52c Fix issue where inter-stage parameters without semantics don't get location attributes (#5670)
aaca2d2 wgsl: Fix field semantics even if input struct doesn't need flattening (#5642)
e30f053 Fix broken link in 09-reflection.md (#5655)
dacfa15 [Docs] Re-run build_toc and fix dead links (#5647)
65a761a Fix unused struct in sample shader (#5650)
9913cfb [AD] Add support for resolving custom derivatives where generic parameters can't be automatically inferred (#5630)
95125f2 ci: Use v1.11 of the release-downloader action (#5643)
43728fb Don't treat StrcturedBuffer as a specializable param. (#5645) (#5629:quality & productivity)
756cb32 Fixed type (#5639)
a2626ea [Docs] fix spirv dead links on toc.html (#5638)
8e28e51 Enable core module embedding by default in CMake. (#5644)
d7c735f [Docs] Optional - fix small typo on example (#5637)
e256836 Add explanation for disabled WGPU tests (#5628)
13f42e0 [Docs] Extensions - better wording for c# equivalent (#5636)
e0033b3 ci: Update actions/checkout to always use v4 (#5634)
fdf061e Add datalayout for constant buffers. (#5608) (#5595:quality & productivity)
dcc7c6f Enable some rendering tests (#5623)
dbc28b4 Add reuse and related files (#5622)
93f5d13 Refresh of disabled WGPU tests (#5614) (#5519:quality & productivity)
e9caf5d Change how DeclRef::toText works (#5592)
3d36e0c Add description on write-only textures in wgsl doc.
b0818ac Small docs corrections (#5615)
b530506 Clarify stdlib-docgen example (#5619)
4f6b928 Add Matrix overload for exp10() core lib function (#5620)
54ec755 Add link to metal docs and regen TOC (#5616)
eb4ee72 Enable WGPU texture sampling test (#5617)
00765c3 Minor core lib doc fixes (#5599)
a43b3c4 Fix WGPU test by provding TEST_INPUT for outputBuffer (#5611) (#5277:forward looking)
ed123a9 WGSL: Support isnan, isinf, etc.. (#5609)
1e7f541 Fix wgsl legalization around __ref parameter. (#5597) (#5596:quality & productivity)
a63f065 Document math core lib functions (#5594) (#5446:meta-task)
f9c5fa7 LanuageServer: fix signature help param range. (#5593)
6e4473d Metal documentation (#5549)
0bf6a66 Markdown emphasis corrections (#5588)
a50de6b Implement semantics for WGSL (#5589) (#4943:forward looking)
f98579d Document WGSL-specific features (#5571) (#5567:quality & productivity)
fa917fe Fix specialization constant miscompile in glsl mode. (#5568) (#5463:client support)
75d65d3 Remove "GL_EXT_samplerless_texture_functions" from combined sampler functions. (#5585) (#5578:client support)
ec5e019 Add IDifferentiablePtrType support for arrays (#5576)
05903f7 Embed core module in wasm build. (#5569)
f0bc464 Insert some casts for WGSL texture attribute queries (#5560) (#4943:forward looking)
147ceb1 Fix issue with raw default constructors in SPIRV emit (#5556)
e58ba6b [slang-rhi] pass encoders (#5559)
afa29d4 Proposal for a language version directive. (#5555)
fdf106b Make getDependencyFilePath return most unique identity. (#5553) (#5332:client support)
e0d03da Fix regression caused by defer buffer load. (#5552)
5948326 Copy headers into build dir at build time (#5547)
5cb960a Fix WGSL emit for '&' and add bindings for thread group size (#5557)
f7149b9 WASM-binding: default to sm_6_6 when targeting hlsl. (#5554)
91f19be Various fixes to enable some WGSL graphics tests (#5548) (#4943:forward looking)
2be4fa4 Update CONTRIBUTION.md to clarify merge strategy. (#5546)
0754abe Push buffer load to end of access chain. (#5544) (#5538:client support)
567c7e0 Fix two specialization bugs (#5540) (#5516:quality & productivity)
ea04ad1 Add wasm binding to get reflection json. (#5536)
3b7d0e0 Use correct slang source dir for slang-rhi (#5534)
7e51180 Reflection compiler option (#5507) (#5492:client support)
98dab05 mention code formatting in contribution guidelines (#5514)
13709e5 Refine codeowners for proposals (#5533)
9aa7adb Transfer offset decorations when legalizing laid-out structs (#5525) (#5264:forward looking)
c0d0611 [slang-rhi] refactor command encoding (#5487)
5ca37c3 Use automatic coarse grained memory management in wasm binding. (#5528)
7c41446 Require GL_EXT_samplerless_texture_functions only if needed (#5527) (#5518:client support)
f66b046 [WGSL] [WASM] Add reflection endpoints + Fix bit manipulation operations (#5499)
0f46ce8 Fix EHa flag compiler filtering (#5524)