Skip to content

Releases: shader-slang/slang

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)

v2024.14.5

07 Nov 23:50
462584d
Compare
Choose a tag to compare
Slang v2024.14.5

=== Breaking changes ===
f4d5aa73 Revert uint<->int implicit cast cost to prefer promotion to unsigned. (#5480)

=== All changes for this release ===
462584dc Mark -embed-downstream-ir as experimental (#5517) (#5434:forward looking)
9ff6dd4e Correct category label positioning in hlsl.meta.slang (#5515)
64c6cb19 Fix user-attribute-lookup wgpu crash (#5510)
43df1da0 Enable a bunch of WGPU tests (#5513) (#5505:forward looking)
d53a3ab9 Fix the logic bug in spirv-emit compile option (#5512)
7c195d3b Fix CUDA prelude for makeMatrix (#5509)
65de5452 Fix the WGSL error about semantic when a nested struct is inlined (#5506)
989847f6 Fix IntVal unification logic to insert type casts + buffer element lowering regression. (#5508) (#5262:forward looking)
d9cb281f Document raytracing functions (#5494)
2533125c Fix WGSL parameter block binding. (#5500) (#5222:forward looking)
b8670343 [WGSL] Enable arbitrary arrays in uniform buffers. (#5497) (#4985:forward looking)
f8294202 Make various parameters and return types require specialization when targeting WGSL (#5483) (#5228:forward looking)
79056cd7 Legalize the Entry-point for WGSL (#5498) (#5486:client exploration)
4fa76f37 Catch all exceptions in render-test (#5495)
e22c0b72 Fix system semantics of SV_GroupIndex (#5496) (#4940:forward looking)
0336a3a8 Fix issue of infinity float literal (#5489) (#5280:forward looking)
fc7de920 Update slang-rhi and fix error handling (#5485)
b118451e Move switch statement bodies to their own lines (#5493)
53dd5928 Fixing the wrong implementation of some math intrinsic (#5491) (#5282:forward looking)
7c2ff547 Various WGSL fixes. (#5490) (#5289:forward looking)
2c8dacfa Update user-guide top bar nav links. (#5488)
de561959 Add codeowners file (#5482)
5f4980a1 Allow enum cases to be used in attribute arguments. (#5478) (#5477:client support)
[BREAKING] f4d5aa73 Revert uint<->int implicit cast cost to prefer promotion to unsigned. (#5480)
61cddbee Improve on spirv generation compile option (#5479)
b8d50b58 Enable a few more WGPU tests (#5476)
e1c3c4ae Update Slang-RHI again to get more WGPU fixes (#5475) (#5222:forward looking)
c044ec22 Update Slang-RHI to get recent WGPU fixes (#5467)
07e45add Add `lerp` for wgsl. (#5472)
582d10d5 Add function of getting hash string to wasm binding (#5468)
0f68de95 fix javascript error on doc layout. (#5464)
1487a1f9 Constant-fold for the type-casting in switch-case labels (#5436)
a98fb6cb Enhancements to diff script (#5460)
90bde476 Find slangc in more places in doc generation script (#5461)
28f20f45 Write only texture types. (#5454) (#5333:forward looking)
feec3cf4 Add design doc for write-only textures. (#5455)
368c2d6e Add google analytics. (#5438)
521df4f0 Fix vs build (#5452)
302e6042 Correct formatting (#5457)
10549e6b fix release script (#5459)
22d1e345 format yaml and json (#5428)
44dc5ea2 Put debug symbols in releases (#5370)
613a29af Precompiled SPIR-V import support (#5048) (#4992:forward looking)
99c728f8 fix formatting issue (#5432)

v2024.14.4

29 Oct 19:32
24bf067
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2024.14.3...v2024.14.4

v2024.14.3

25 Oct 03:14
46b8ab8
Compare
Choose a tag to compare
Slang v2024.14.3

Changes:

46b8ab835 wasm: Add compile target option when creating slang session (#5403)
ee709cffe Fix language server crash. (#5395)
61aa67023 declutter top level CMakeLists.txt (#5391)
fb50c0329 Fix a few documentation typos (#5396)
a0bea0750 Fix several bugs with `specializeWithArgTypes()` (#5365)
5a161dd79 Document the interfaces in the core module (#5374)
855833e72 Document bit operations (#5373)
fb16467a9 Document derivative core module functions (#5369)
7ede8a40b Update update_spirv.md
7a22eac84 Update the document, `update_spirv.md` (#5368)
ba775784b Recognize a new spirv header json grammar keyword "aliases" (#5367)
3e84726f4 Fix  spirv codegen for pointer to empty structs. (#5355)
20fa42e82 Stdlib documentation for Atomic, Optional, Tuple (#5358)
0e8e8cb97 Add more doc for builtin interfaces. (#5357)
563258c28 Fix UAV access for 3d texture mips (#5363)
3b8efefb1 Fix incorrect setting of array information for 1d texture arrays in D3D12 (#5361)
6f9c6087e Mark SPIRV artifact as non-executable. (#5356)
307315a73 Properly check switch case. (#5341)
9936178dd Remove use of Variable Pointer capability. (#5352)
b2386f36e Make slang-llvm fetching and failure more robust (#5346)

v2024.14.2

18 Oct 15:39
f2b2db5
Compare
Choose a tag to compare
Slang v2024.14.2

Changes:

f2b2db57c Update slang-rhi (#5345)
2bcb87d93 Use `VariablePointersStorageBuffer` instead of `VariablePointer` spv … (#5340)
c7584b29f Remove sccache (#5206)

v2024.14.1

18 Oct 06:22
12e891e
Compare
Choose a tag to compare
Slang v2024.14.1

Changes:

12e891ed9 Cleanup definition of `printf`. (#5330)
a618b8c5e Cleanup atomic intrinsics. (#5324)
11e1ecafa Add 'findAndCheckEntryPoint' to wasm binding (#5337)
fa3287fb6 update slang-rhi (#5258)
ee11a45ab Fix D3D12Core.dll loading problem (#5315)
2f7f48a00 Fix entrypoint naming in glsl backend. (#5320)
2ee898109 Fix spirv debug info for pointer types. (#5319)
9e32b0063 Add docgen documentation. (#5318)
c97166aed Fix type checking on generic extensions. (#5316)
99a242eca Squash redundant move warnings (#5300)
ba26c2d70 Add stdlib documentation for attributes and interfaces. (#5297)

v2024.14

15 Oct 21:26
3e170c7
Compare
Choose a tag to compare
Slang v2024.14

Changes:

3e170c732 review and revise building instructions (#5302)
66b103180  Move C interface from slang.h to slang-deprecated.h (#5301)
9e3b0367c Enable WebGPU tests in CI (#5239)
be42eeed7 Lower minimum CMake version to 3.22 (#5295)
456df23cf Fix unexported spReflectionEntryPoint_GetFunction (#5260)
f857815a8 Misc build fixes. (#5271)
5126d58ab Fix release build failure (#5285)
2e08f3338 Fix assert when compiling an entrypoint that calls another entrypoint. (#5268)
e57736bde Write out summary of documentation in docgen tool. (#5266)
3b12b66a4 Fix race condition for building stdlib headers (#5272)
bba14dc4b beautify the readme support table (#5265)
e91e1d4d5 Restrict stdlib embed macros to single source file (#5251)
dfab34e4b Add slang-wasm target (#5237)
5fa35fcce WGSL: Enable load & store from byte-addressible buffers (#5252)
0ff779bae README: mention VulkanSDK in getting started. (#5256)
466fb5bd7 slang-test: retry failed test at the end. (#5255)
80c18515d Fix links in stdlib reference category landing page. (#5250)
a7c5df671 Update README.md
611fa55fc reword documentation around precompiled modules. (#5249)
75481ea3b Support constant folding for static array access. (#5248)
b8aab84e2 Use user defined type name in glsl buffer declarations. (#5242)
1bbc421a6 Fix precompiled glsl modules (#5230)
8b2bd3c8a Metal: Texture write fix (#4952)
ac6f04c15 Fix spirv lowering logic around pointer to unsized array. (#5243)
bea1394ad Fix bug related to findAndCheckEntrypoint. (#5241)
132111ab0 Fix build for clang-14 (#5235)
c42a9faad Overhaul docgen tool and setup CI to generate stdlib reference. (#5232)
50f44c178 Look through attributes and rates when determining by reference initialization (#5023)
842dee3b6 WGSL emitter: Specify private address space for global non-handle variable declarations (#5236)
3de8afe16 update slang-rhi (#5234)
509409ef1 Add WGSL support for slang-test (#5174)
ff51c21ba Refactor the code for synthesizing the body of constructor (#5231)
82c05f485 update slang-rhi (#5208)
f521c2002 Add interfaces for retrieving separate linkable downstream binaries (#5128)
25c17b9fc Allow building using external dependencies (#5076)
9f246a436 Support custom derivatives of member functions of differentiable types (#5124)
aa64c8531 Checkout LLVM as a workflow action rather than git-clone command (#5202)
74bdd0395 Add path to bash to GITHUB_PATH (#5217)
a11a77664 Fix the broken CI (#5216)
7ce7bb336 Fix crash when compiling associatedtypes with generic interface constraints. (#5200)
c6427e36b SizeOfLikeExpr has type int (#5205)
e2e624b9a Enable debug log for VK CTS workflow (#5197)
81c015e02 Fix diagnostics for [PreferRecompute] (#5159)
a5d67ad99 Disable the building of slang-llvm when targeting wasm platform (#5196)
15d1c6c51 Add COM API for querying metadata. (#5168)
bc11579dd Update slang-rhi (#5187)
59168f41f Switch sccache action to Mozilla-Actions version (#5189)
ebee7863c Add compile_commands.json to .gitignore (#5169)

v2024.13

30 Sep 11:37
6724651
Compare
Choose a tag to compare

Key Changes:

  • Added WebAssembly build support
  • Expanded WGSL support: texture intrinsics, synchronization, math, pack/unpack, constructors, derivatives
  • Implemented initial Atomic type

This release focuses on WGSL improvements, WebAssembly support, along with various bug fixes

=== Breaking changes ===
dd3d80e Allow lookups of overloaded methods. (#5110)

=== All changes for this release ===
ebee786 Add compile_commands.json to .gitignore (#5169)
6724651 Disable wgpu on linux (#5186) (#5183:quality & productivity)
24f56d0 Fix target switch lowering bug. (#5182)
c55805e Fix bug in translateGlslGlobalVar(). (#5181) (#5027:client support)
5a84e52 Fix hull shader spirv legalization bug. (#5180) (#4914:client support)
afb1405 Fix l-value computation for subscript call. (#5177) (#4971:quality & productivity)
f667593 Add CI step to build WebAssembly version of Slang (#5164) (#5117:forward looking)
2321638 Design proposal for initialization. (#5142) (#5149:client support)
09cbd42 Update slang-rhi (#5176)
68c2834 Add fallback flag for sccache (#5170)
70925fe export CMAKE_SYSTEM_PROCESSOR for cross compilation builds (#5171)
4730d54 Implement texture_storage_Xd in WGSL (#5158) (#5082:client exploration)
958dacf Update slang-rhi (#5160)
5a0224a Move texture format inference to frontend and add reflection api for it. (#5155) (#5148:client support)
7398e1e Always run AD cleanup pass. (#5157)
d752482 Update README.md for platform support
a1f6a0a update slang-rhi (wgpu graphics support) (#5151)
eab9ac8 Remove text on inheritance support in user-guide. (#5154)
03765a6 WGSL texture support for depth and multisampled (#5152)
88623ed Make release note generation script shebang portable (#5145)
84fef05 Fixing bug when writing primitives in metal mesh shaders (#5069)
f5bf5ba Enable emscripten builds to compile slang.dll to WebAssembly. (#5131)
cb1fc34 Fix the incorrect use of GLSL textureGather (#5150)
ef3552d Feature/wgsl intrinsic texture gather (#5141)
3e950e1 Implemented Combined-texture for WGSL (#5130)
14b1098 update slang-rhi with initial wgpu support (#5137)
6912c58 Fix incorrect use of pointer in WGSL (#5144)
53684ed Fix handling of pointer logic in wgsl backend. (#5129)
c42b5e2 WGSL implement texture intrinsics except gather and sampler-less (#5123)
a7fc5b4 Update 003-atomic-t.md
4908349 Initial Atomic<T> type implementation. (#5125) (#5084:client exploration)
b4c851f Add diagnostic to verify the left hand side of a generic constraint. (#5112) (#5113:quality & productivity)
0677956 Re-enable slang-test for WGSL (#5120)
26ca9c5 Synthesize conformance for generic requirements. (#5111) (#5035:client support)
[BREAKING] dd3d80e Allow lookups of overloaded methods. (#5110) (#5090:client support)
9d40ce4 Update spirv-tools version (#5089)
1560326 Add design doc for atomic type. (#5101) (#5100:forward looking)
3861be7 refactor render test to use latest slang-rhi (#5119)
fe71eaf Add WGSL intrinsics for synchronization (#5114) (#5085:client exploration)
c6b702c Use GITHUB_TOKEN if set (#5070)
b7617d2 Fix dx on vk with rhi (#5086)
ccc310f Support IDifferentiablePtrType (#5031) (#4998:client exploration)
1781c29 Update auto-diff user guide (#5071)
b808aa4 Report AD checkpoint contexts (#5058) (#4997:forward looking)
3240799 Lower the priority of looking up the rank of scope (#5065)
2d83875 Add IRWArray interface, and make StructuredBuffer conform to them. (#5097) (#5099:forward looking)
85b996a Add WGSL pack/unpack, constructor, derivatives & misc intrinsics (#5102) (#5080:forward looking)
2f455d3 Fix WGSL frexp and modf that returns a struct (#5096)
0716646 Implement math intrinsics for WGSL (#5078)
25d1559 release-note.sh fixes (#5068)
d866c0b Add API method to specialize function reference with argument types (#4966)
c46ca4c Remove includes of glslang private headers (#5059)
003df7e Fix the issue in resolving the overload functions (#5060) (#4476:client support)

v2024.11.1

16 Sep 16:57
c46ca4c
Compare
Choose a tag to compare

This release adds initial support for WGSL.

Breaking changes

No breaking changes.

All changes for this release

c46ca4c Remove includes of glslang private headers (#5059)
003df7e Fix the issue in resolving the overload functions (#5060) (#4476:client support)
9fd5381 remove 'test-record-replay.sh' (#5057)
d33fad8 Git-ignore VIM temporary files (#5047)
1c6e241 Disambiguate subscript decls by preferring the one with more accessors. (#5046) (#5034:client support)
936c22a Specialize existential return types when possible. (#5044) (#5035:client support)
f51b74d Fix inccorect dropping of declref during Unification of DeclaredSubtypeWitness. (#5041) (#5033:client support)
e896827 Add proposal for equality constraints (#5043)
d9fc7bc Add load paths to return value check (#5042) (#5005:client support)
170558c Initial WGSL support (#5006)
110d82f Fix generic IInteger mod implementation. (#5037) (#5026:quality & productivity)
69ee8f6 Correct control flow in getParentBreakBlockSet (#5024)
dcd6c24 Remove incorrect UTF decode assert (#5028)
8662375 Update 000-template.md
db764a0 Update 010-new-diff-type-system.md
e63ac64 Update 007-variadic-generics.md
b4ae24d Update 001-where-clauses.md
20f9086 Update proposal template

v2024.11.1-draft

10 Sep 17:23
d33fad8
Compare
Choose a tag to compare
v2024.11.1-draft Pre-release
Pre-release

What's Changed

Full Changelog: v2024.11...v2024.11.1-draft