Releases: shader-slang/slang
v2024.1.9
v2024.1.8
c5b855d7 Update the dependency file (#3994) 51dc26ea Flag to prevent packing of cbuffer elements in HLSL backend. (#3993) 8362c2d4 Create a new release build for linux_x64. (#3989) beae3a9d Add metal downstream compiler + metallib target. (#3990) f9bcad35 Initial pass to add capability declarations to stdlib intrinsics. (#3912) 2da28c50 Support arithmetics on generic arguments (#3968) e0aa53fb allow preludes in include folder (#3976) adbaf8f2 add `-ignore-capabilities` flag (#3984) 7c162eba Enable NonUniformResourceIndex support for glsl, hlsl and spirv (#3899) a3a5e7ea Metal: rewrite global variables as explicit context. (#3981) a2b9e376 ForceInline SampleLevel to allow decorations to be applied (#3977) d3fd7470 Implement if(let ...) syntax (#3673) (#3958) 5dd27a26 Support combined texture sampler when targeting HLSL. (#3963) 355a8d8f commit to partially fix #3931 (#3972) 2c66cc7e Add skeleton for metal backend. (#3971) 4b3f554a Force Inline all the InterlockedAdd functions in stdlib (#3965) 67313584 Fix Slang documentation typos (#3961) 282da4ac Fix for unscoped enums circular reference causing an error, #3959 (#3962) d5d39dda Init expressions for struct fields support, #3738 (#3907) 3192f34f [GFX] Fix d3d12 buffer view creation logic for StructuredBuffers. (#3954) 030d7f45 Support 64bit HLSL atomic functions (#3957) 54745ac9 Documentation: fix typos and grammar (#3945) 31c704f2 Fix micro expansion issue for __LINE__. (#3942) b937207d Fix IR lowering bug of do-while loops. (#3941) 565a871a Fix the issue that 'spGetDependencyFilePath' report 'unknown' (#3927) (#3939) 99584007 Fix another bug in entrypoint specialization arg synthesis. (#3933) 4df7887f Add missing astBuilder setting in `ComponentType::tryFoldIntVal`. (#3934) cc3e9798 Disable sccache timestamps (#3937) 1afb9cb4 Fix the issues when compiling slang to library (#3936) 2a5d126c WIP: Fix the variable scope issue (#3838) (#3892) 5a9fcbd4 HLSL RT pipeline compile-only tests (#3793)
v2024.1.7
0eef40b Delete out of date docs
a6d59d0 Properly compile gl_WorkgroupSize
. (#3925)
c85dd53 fix vulkan shared fence (#3911)
9fe2db1 Fix checking logic of entry point specialization arguments. (#3916)
33b4fa7 Fix typelayout for append/consume structured buffers. (#3924)
42764b7 Update README.md
61e5730 Rename slangpy -> slangtorch in documentation. (#3922)
425b2f7 Update release version slang-glslang to v13.0.0.x-i (#3920)
0970c8d Update spirv-tool to upstream/main branch (#3915)
6a465a4 Allow COM based API to discover and check entrypoints without [shader] attribute. (#3914)
957b2fb typos (#3913)
41b5ecd Add CTS status badge to README (#3901)
4a23ba5 Add decoration PerPrimitiveEXT for all OutputPrimitives members for mesh (#3900)
1b3887f Fix __init() functions that returns an existing value (#3866)
d61f813 Add decoration PerPrimitiveEXT when a mesh output variable is decorated with PrimitiveID (#3895)
cb87a8f gfx vulkan fixes (#3897)
94ced35 Legalization of non-struct when function expects struct, resolves #3840 (#3880)
f6c49fd Fix assertions due to malformed switch statements (#3858)
2768e42 Not emit DepthReplacing when frag shader uses SV_Position. (#3893)
a369835 Delete out-of-date notes from user guide. (#3877)
f8e038f Add documentation about constructors (#3879)
74d4c8a Update glsl intrinsic for GroupMemoryBarrierWithGroupSync (#3890)
e0de98e Refactor memory qualifier decorators to be a bit-flag set, resolves #3841 (#3881)
a697b2c Implement 8.14-8.19 of OpenGL-GLSL specification
c0482ec Fix the erroneous logic of determining whether or not to emit DepthReplacing. (#3885)
539d368 Update user guilde for new features. (#3875)
b5f4cf6 Allow enum values to be used as generic arguments. (#3874)
251f55c Support SM6.6 keyword "WaveSize" (#3871)
daf63cc Fix static member lookup in pointer types. (#3869)
abb7f1a Support [RequirePrelude]
attribute on types. (#3867)
2c4f981 Allow bit operators on enum types. (#3862)
65ac9f3 Fix peephole optimization of TypeEquals
. (#3865)
844a8d6 Correctly emit spv extension targeting EXT rather than NV, added to test for this case (#3864)
75afa65 Fix type union logic in generic type inference. (#3852)
v2024.1.6
Slang v2024.1.6 Changes: 56928794 Fix incorrect SPV stride for unsized array (#3837) b346a933 Allow var/param names to be the same as type name. (#3850) 8395acfa Fix lookup to prevent finding `typedef` itself. (#3848) c5369d50 Update README.md with tables for platform & target support (#3847) c37e3ee2 Fix parsing issue around __transparent_block. (#3842) dfdf243f Support mutable existential parameters. (#3836) 0877d1a3 Implement GLSL gimageDim & memory qualifiers with optional extension(s); resolves #3587 for GLSL & SPIR-V targets #3631 (#3810) 57f514d0 Fix the sign-extending issue in right shift (#3820) 5c88619c Fix default space assignment. (#3833) cbe55261 Fix missing PerPrimitive decoration in mesh shader output. (#3828) c9df734b Allow anonymous struct. (#3822) a23adc22 Make `-no-mangle` option work, add `-no-hlsl-binding`. (#3817) 9b0df14c Changes to make UE TSR working with Slang. (#3815) 00474731 Partially implement vk_buffer_ref proposal. (#3814) 7a8ef896 Support arrow operator `->` on pointers. (#3812) dd32414b Diagnose cyclic references in inheritance graph. (#3811) 9bd6b233 Fix `TriangleStream` lowering. (#3809)
v2024.1.5
Slang v2024.1.5 Changes: 45c7d33f Fix spirv generation for using output stream in a function. (#3806) c371ccea Update a1-01-matrix-layout.md c28a22fb Fix namespace parsing. (#3803) 04ffa84c Update a1-01-matrix-layout.md 6cefb85b Change representation of float literal in language translation (#3798) f3b1161c Use static const in glsl.meta.slang. (#3801)
v2024.1.4
Slang v2024.1.4 Changes: c2d4bcf9 Add more cases for `isUniformParameterType`. (#3800) 1ee1688a Fix type checking for constructors in generic interfaces. (#3799) 05f403be Fix regression on pointer address space handling. (#3797) 2b55de92 Fix inconsistent digest of precompiled module. (#3796) 50c268e5 Swap `left` and `right` for matrix multiplication (#3777) 2bfde345 Check cyclic types after specialization. (#3791)
v2024.1.3
Slang v2024.1.3 Changes: 26e25f6e Check for cylic types. (#3790) f96a3fea Fix SPIRV for mesh shaders, checks for invalid target code&recursion. (#3788) 7f6e9591 Fix name mangling and source file finding logic for precompiled module validation. (#3784) 2d41012e Update 09-reflection.md (#3787) 667e209b Remove out of date documentation on compilation API. (#3785) db60d191 [gfx] compile shaders when creating programs for d3d12/vulkan (#3774) 9b434e50 Implement raytracing extension(s); resolves #3560 for GLSL & SPIR-V targets (#3675) 9ee88a43 [gfx] use CUDA driver API (#3776) d40931cc Mesh shader refactoring and bugfixes (#3702)
v2024.1.2
Slang v2024.1.2 Changes: c7d7a965 Support `#include` with angle brackets. (#3773) f5f0740b Support unscoped enums. (#3771) 78d4df06 Add diagnostic on invalid type constraint. (#3769) ba65c212 Fix lowering of glsl builtin globals. (#3767) 73c0cd17 Add cautionary desclaimers on interop mechanisms. (#3763) 67704d0e CMake fixes for MacOS (#3761) e4b01c4b Fix side effect checking around storage buffer type. (#3762) 25df6b86 Fix crash when specializing generic entry points. (#3760) 5f0ee87d Add wrapper type synthesis logic for constructors. (#3756) 9fd74379 Implement glsl atomic's [non image or memory scope] with optional extension(s); resolves #3587 for GLSL & SPIR-V targets (#3755) 6f7c8271 Fix `sessionDesc.defaultMatrixLayoutMode` being ineffective. (#3753) eef7e208 Fix derivative implementation of `clamp`. (#3750) edc85fc4 Make type names spec-conformant in SPIRV reflect. (#3748) 8b519603 [SPIRV] Fix OpMemberDecorateString. (#3747) 66a0d91d Add nightly vkcts workflow (#3717) 8dc635ae gfx: return error when vulkan fails to create buffer/pipeline (#3741) 1c4e1acd [SPIRV] Use VectorTimesScalar opcode. (#3737) d8eb7011 Support emitting generic target_intrinsic type. (#3745) a91af961 Update 08-compiling.md
v2024.1.1
Slang v2024.1.1 Changes: 7c7fbd57 Add `-fvk-use-dx-position-w` and fix ExecutionMode ordering for geometry shaders. (#3731) 1bbcf25a Link-time specialization fixes. (#3734) 25a7d514 Fix spirv builtin for `SV_ShadingRate`. (#3730) 10c4d2e7 Fix crash when trying to constant fold non-existent call. (#3728)
v2024.1.0
Slang v2024.1.0 Changes: 5074ee7c Improve cpp prelude. (#3725) 0629b22b Enhance link-time type test. (#3724) 21502874 Add documentation for uniformity analysis. (#3721) bc3dc0e8 Parser and module finding logic fixes. (#3720) 6f8a2068 [SPIRV] fix code gen for `SV_Coverage`. (#3718) 5afe9709 Add ray query intrinsic test (#3707) faaa532a [SPIRV] Fix pointer lowering bug. (#3713) a810aa31 Link-time constant and linkage API improvements. (#3708) 6492906e Fix SPIRV emit logic of `PrimitiveId` in fragment shader. (#3705) 240727db Uniformity analysis. (#3704) af108c72 set VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT for device local memory (#3698) a1e79e4b Fix the cuda left-hand swizzle issue (#3538) (#3691) cc2a879b Integrate compile & validation test (#3674) 1cba7f31 Enable SampleCmpLevelZero tests and update the results (#3677) f2e32575 [slangc] generate an error when `-entry` is not specified for targets that require them. (#3679) 8d4b659b [SPIRV] Fix DebugLine generated from source with #line directive. (#3678) bb017e6a Extend `as` and `is` operator to work on generic types. (#3672) 2297623a Implement short-circuit logic operator (#3635) 0371deef Add user-guide section on pointers. (#3670)