Breaking changes
e49310561Use HLSL receiver conventions for methods (#13615)649a6f83bRecord effective this parameter information (#13232)7bb2fca59Parse<after a swizzle or other value-typed expression as less-than (#13429)4c584ef67Add SPIR-V lexical debug scopes (#13219)a05023cd3Add GLSL support for SampleCmpBias and SampleCmpGrad (#9085)
All changes for this release
d9ede2dd5Add IR specialization for resource selections (#13539)a14432b01Unroll CoopVec groupshared store on HLSL (#13608)8c81b8bdaRevert texture format descriptor types (#13537) (#13712)0d02ec846Make mark-slangpy-tests-skipped report success instead of skipped (#13723)bbd75ba78Fix lookup of enclosing namespace members in a qualified namespace reopen (#13711)e9fc02c8dFix mixed-type vector shifts on CPU and CUDA (#13684)2caaf254aIsolate module-format-not-finalized tests (#13710)3a93b3898Resolve language-reference doc paths against a spec checkout in the agentic lint (#13510)ec39d3af6Diagnose throwing calls nested in a try operand (#13514)- [BREAKING]
e49310561Use HLSL receiver conventions for methods (#13615) 6597ec920Fix debug scopes for token-pasted declarations (#13626)a5a87a123Add texture format descriptor types (takeover of #11344, merged with master) (#13537)f2b163c08Lower combined-sampler SampleGrad to CUDA tex*Grad built-ins (#13559)788be3144Implement CUDA formatted layered RWTexture stores (#13563)0b8d2df75docs: document whatconstexprdoes and does not do (#4236) (#12820)d81979f84Convert arrays of matrices that differ only in matrix layout (#13378)c538debefLegalize per-invocation resource globals (#13116)6d38185bcUse a GitHub App token for SlangPy dispatch (#13623)f6a839924Invalidate the workspace when slang.workspaceFlavor changes (#13520)3fa2aa09cSkip unauthenticated LLVM publication during Release (#13577)8230cdaebFix #12821: don't lock the record-replay mutex when the layer is idle (#12823)7d7ad3bbfBuild GCC translation units with -flarge-source-files (#13570)584103334Infer compute derivative groups from thread-group shape (#13371)07cfeed8aPoint README docs links at docs.shader-slang.org (#13568)8d39b85e0Update agentic-test prompts and HLSL doc gaps after WGSL loop and ray-payload changes (#13312)e4d92bf0bCompose DownstreamArgs across session, target and link levels instead of replacing them (#13450)64c06dae1Clean up void placeholders after empty-type legalization (#13453)2c9bdf5d8Parenthesize WGSL relational comparisons so argument lists don't parse as template lists (#13569)705c5d8c8Report threadGroupSize for every [numthreads] stage in reflection JSON (#13494)fd9e65824Make getLayout fail after layout generation reported errors (#13513)b00d9e482Latent: refresh an existing persistent cache entry in place when its key is rewritten (#13523)b0a023001Latent: reset the cached digest and line breaks when SourceFile contents are set (#13524)615f302c6Remove internal CI documentation link (#13576)fac7213ebFix #13463: a null slangd setting restores its default (#13475)f7e14a1a6Fix LLVM prebuilt population in the sccache workflow (#13526)08d419cbfDiagnosetryon non-throwing constructors and subscripts (#13503)ae6d69935Preserve small double source literals (#13481)19c885a5fDiagnose errors escaping accessor bodies instead of crashing (#13502)4922d9facPreserve CUDA firstbithigh signedness (#13479)3e0f5443fCorrect finite FP8 conversions (#13483)6818f2ac5Round Half constants and CPU conversions to nearest even (#13485)9a954ff69Fix #12110: preserve NonUniform on SPIR-V descriptor-heap access (#12116)b72b0405fDiagnose failures writing slangc container outputs (#13304) (#13477)f6238cee3Legalize direct calls to CUDA kernels (#13482)e83310cf2Support arithmetic-generic vector and matrix extrema (#13139)d074e7779Parse HLSL classes as value types (#13497)e2e217dd2Support HLSL uniform parameter temporaries with -Gec (#13445)311a3d631Remove unused dev issue labeling workflow (#13500)2dcbe6c7aSupport groupshared CoopMat Load/Store on the HLSL target (#13501)- [BREAKING]
649a6f83bRecord effective this parameter information (#13232) 93a54974cWrap non-struct D3D ray-tracing payloads and hit attributes (#13315)9f31ffcfdFix #12474: don't emit StorageImageReadWithoutFormat for SubpassInput (#12480)eaf758404Fix #13428: earlier declarators of a group are visible to later initializers (#13432)2aa4915c3Make missing return in non-void function an error in Slang 202c (#13460)3c9112588Use slang-rhi for coverage workflow examples (#13459)159f4a6bdMove Slang language reference manual to the shader-slang/spec repository (#13439)9516b48bcRefresh agentic tests stale after #13219 and #13358 (#13454)4d69638f2Fix #13233: carry auto-diff annotations across cross-module link (#13236)bce8cbefaSupport GeometryIndex() on CUDA/OptiX via the SBT GAS index (#13437)ef7e6dcf1Fix differential pair handling in higher-order autodiff (#13360)98c4f258cAdd clustered wave ops (#13270)20092570cBump google.golang.org/grpc from 1.83.1 to 1.83.2 in /extras/scaler (#13129)c8e02397aFix HLSL differentiation of CoopVec arithmetic operators (#13456)5cb03fa5fFix #11075: generic IFloat/IInteger min/max on builtin vectors and float matrices (#12249)d307206deUpdate SPIRV-Headers/Tools and add volatile semantics for ray-tracing builtins (#13373)e6be8dcddStop re-wrapping refined type-flow info in makeInfoForConcreteType (#12934, #13259) (#12935)- [BREAKING]
7bb2fca59Parse<after a swizzle or other value-typed expression as less-than (#13429) 6ba151dcfFold __isVector() on the operand type, not the element type (#13357)- [BREAKING]
4c584ef67Add SPIR-V lexical debug scopes (#13219) 00febe288Ignore empty declarations in interface conformance (#13367)92258f61bSuggest a missing interface constraint when member lookup fails on a generic type parameter (#13225)8fbd9d033Language reference: Statements (#12209)1740f5a81Share coverage counter decoding and Vulkan example helpers (#13368)feb2452bfRecover texture [format] across function parameters on CUDA (#12737) (#12766)cc0728959Add Visual Studio diagnostic formatting (#13372)bd090b099Diagnose invalid modifiers on type expressions (#13366)c43281adcExpand captured autodiff parameters for CUDA, OptiX, and Metal (#13358)a459ba415Honor matrix layout modifiers on arrays and function return types (#12992)3e98d9563Support system dependencies for Homebrew builds (#13293)d29f77efdFix #11782: lower makeConditionalValue regardless of worklist order (#13043)9c36eddc4Add configurable note suppression (#13325)64199c79aFix #13000: correct nested-loop autodiff checkpoint array sizing (#13002)256459316Make shader coverage example workloads configurable (#13344)4c88395eaFix loop inversion with debug information (#13254)16c3d3f68slang-test: initialize per-thread test-requirement slots (#13334)- [BREAKING]
a05023cd3Add GLSL support for SampleCmpBias and SampleCmpGrad (#9085) 89adf2ec0Bind Metal uniform arrays of textures/samplers (part of #12291) (#12294)96b421e69Track synthesized declarations through semantic phases (#13302)89743b4eeFix #13257: register [Import]-decorated linkage clones in prelink (#13258)214064dd1Guard non-static-satisfies-static witness adaptation by receiver type (#13260) (#13269)92ef2caaeFix #13193: preserve geometry input primitive topology for empty input struct (#13195)d50eeb55eCompile core and compiler-core with exceptions disabled (part of #12779) (#12782)