Releases: shader-slang/slang
v2024.1.27
Breaking Changes
Starting this release, the location for the binary files has been changed.
For Linux and MacOs, all libraries are now under lib/
and all executables are now under bin/
.
For Windows, all libraries and binaries are now under bin/
.
Before the change, the binary files are located under bin/<platform>/
.
Complete Change Log:
5006f49 Update CONTRIBUTION.md after CI side changes (#4598)
746d47b Specialize address space during spirv legalization. (#4600)
82f308c Fix the invalid spirv generation for matrix cast (#4588)
b89421c Add reflection API for functions. (#4587)
45ef0ce Fix lowering of associated types and synthesis of dispatch functions. (#4568)
16a4781 Add user guide section on user-defined attributes. (#4557)
ff9437e Implement non member function atomic texture support (#4544)
a08ccfa Fixes to Metal Input parameters and Output value input/output semantics (#4536)
667e504 Add float16
support to slang-torch (#4584)
28ca743 add GL_EXT_ray_tracing_position_fetch (#4566)
59343c1 Support status argument for GatherXXX (#4490)
4a24724 Various fixes around differentiable member associations [DerivativeMember(<diff-member>)]
(#4525)
8ed0f49 Emit spirv insts in the right sections. (#4590)
f4fac59 Cope with bsd coreutils on osx in release script (#4597)
5c9ce37 A couple of small fixes to cmake releases (#4596)
0e56999 WIP Drop Premake (#3703)
9f1ff45 Do not unnecessarily build llvm tools (#4594)
ca0181f Do not include vk xlib headers from vulkan.h when SLANG_ENABLE_XLIB is not set (#4593)
c06cc09 Include readme and license in release files (#4595)
97bd7e6 Add individual tests for scalar double intrinsics (#4591)
cde025e Neaten filecheck output for non-passing nested-parameter-block test (#4592)
8dd4c30 Change to use cmake in centos7 build (#4572)
0e6c5c5 Warnings for uninitialized values (#4530)
1caef59 Fix Lexer to recognize swizzling on an integer scalar value (#4515)
ddd14be Add documentation of the type system and decorations (#4470)
2941873 Add intrinsic for clock2x32ARB (#4563)
5a174df Fix the issue in emitFloatCast (#4559)
a453fad Language server performance and document symbol fix. (#4561)
4a49769 Treat global variables and parameters as non-differentiable when checking derivative data-flow (#4526)
2cb65a8 correctly setting launch parameters should fix the test (#4551)
65194cf Add vector overloads for or and and (#4529)
388de5f Correct type for double log10 (#4550)
40a4022 Add specializations for 1 vectors in functions using the $N glsl intrinsic placement (#4534)
42a9fce Add README.md and LICENSE to binary windows and macos packages (#4535)
d5d03d1 Emit errors when invalid capabilities are used (#4510)
v2024.1.26
bd01bd3f Fix the type error in kIROp_RWStructuredBufferLoad (#4523) fff79c31 Support HLSL `.sample` operators for MS textures (#4524) 6262569c Supply SPIRV capability for textureQueryLod (#4522) 6e550430 Error out when constructing tensor views from tensors with 0 stride. (#4516) 0e71a6d4 Resource searching for examples (#4518) d276ea35 Set debug working directory for slangc.exe (#4513) 15c02eb8 Add clearer information about how to submit a proposal document. (#4514) e19e0474 Parse scope for local variable declaration (#4507) 88382ac7 Implement CheckAccessFullyMapped (#4509)
v2024.1.21.1
Changes since v2024.1.21 edb9de81 Enable upload asset for old glibc build (#4501) b141099d Switch from ubuntu-18 to centos-7 for older glibc build (#4496)
v2024.1.25
048c5c32 Adding a note about the keyword, class. (#4503) ea4ebe39 Nested initialization list in struct crash fix (#4491) 0b519022 fix `WorkgroupSize()` compiler failiure (#4505) e49419b0 Implement HLSL resource bindings and default type `float4` to `SubpassInput<T>` (#4462) fd32b187 Update the coding convention document. (#4498)
v2024.1.24
323fdff4 Enable upload asset for old glibc build (#4501) f5acb6b9 Extend `countbits` intrinsic for vector types (#4499) 8172751f Switch from ubuntu-18 to centos-7 for older glibc build (#4496) b1f564b0 Include examples in default build (#4482) 5dd8f294 Cache address-space-legalization of `kIROp_Store` (#4480)
v2024.1.23
cb610113 Add API for querying dependency files on IModule (#4493) 1d4db422 Ray tracing validation (#4418) 7751963f Implement `uint2` variant of `asdouble` intrinsic (#4488) 4dd41de7 Remove returned-array-legalization pass for metal (#4478) de454b0e Fix Texture2DMSArray (#4485) e1d0ef20 Expand upon existing `ImageSubscript` support (Metal, GLSL, SPIRV) (#4408) 969dd4cc Support atomic intrinsics for Metal (#4473) 63e0064b Fix return type address space checking. (#4465) e2b56d01 Add intrinsic for `IsHelperLane()` in HLSL (#4471) 8d2f6e4d Add case to `emitVectorReshape` for when using a `vector<M, N>` type with `T` value (#4419) d832e335 Added float2x2 cast to float4 (and vise versa) (#4432) cf8d1cef Implementing `tbuffer` layout(s) (#4436) d349fd9e Add capture logic to other interfaces. (#4412) c3c1cb67 Disambiguate int type matrix multiply (#4425) 8c778870 Metal: Implement fix for non vector4 texture Load/Sample (#4417) 93fcb83c Feature/capture (#4397) f6b3ba88 Fixed gl_LocalInvocationIndex being uvec3 instead of uint (#4403) c00f461a remove inline that crashes old glibc version (#4398) fdef653a Improve Direct SPIRV Backend Test Coverage (#4396) 33e81a03 [Metal] Fix global constant array emit. (#4392) a38a4fb2 Make unknown attributes a warning instead of an error. (#4391) a210091c [Metal] Support SV_TargetN. (#4390) 2cc96907 Implement for metal `SV_GroupIndex` (#4385) a6b8348f fix the clang/gcc warning (#4382) cfef0c6f Metal: misc fixes and enable more tests. (#4374) 2407966e SPIR-V `SV_InstanceId` support in pixel shader (#4368) fba316f0 Remove `IRHLSLExportDecoration` and `IRKeepAliveDecoration` for non-CUDA/Torch targets (#4364) f0d40ad5 capture/replay: implement infrastructure for capture (#4372) ecc6ecb3 Fix cuda/cpp/metal crash for when using GLSL style shader inputs (#4378)
v2024.1.22
c00f461a remove inline that crashes old glibc version (#4398)
fdef653a Improve Direct SPIRV Backend Test Coverage (#4396)
33e81a03 [Metal] Fix global constant array emit. (#4392)
a38a4fb2 Make unknown attributes a warning instead of an error. (#4391)
a210091c [Metal] Support SV_TargetN. (#4390)
2cc96907 Implement for metal `SV_GroupIndex` (#4385)
a6b8348f fix the clang/gcc warning (#4382)
cfef0c6f Metal: misc fixes and enable more tests. (#4374)
2407966e SPIR-V `SV_InstanceId` support in pixel shader (#4368)
fba316f0 Remove `IRHLSLExportDecoration` and `IRKeepAliveDecoration` for non-CUDA/Torch targets (#4364)
f0d40ad5 (origin/master, origin/HEAD, master) capture/replay: implement infrastructure for capture (#4372)
ecc6ecb3 Fix cuda/cpp/metal crash for when using GLSL style shader inputs (#4378)
0bf0bf77 Implement Sampler2D for CPP target (#4371)
b970b88b Enable full test on macos. (#4327)
0574dca9 Delete glsl_vulkan and glsl_vulkan_one_desc targets. (#4361)
085d1a60 Fix emit logic for getElementPtr. (#4362)
8813c610 Capability System: Implicit capability upgrade warning/error (#4241)
7447fcaf Add constant folding for % operator. (#4359)
8bf7d112 Fix merge error. (#4358)
b7e82434 Add slangc flag to `-zero-initialize` all variables (#3987)
ccc26c2d Extend the COM-based API to support whole program compilation. (#4355)
318adcc2 Add compiler option to treat enum types as unscoped. (#4354)
ec35febb Fix incorrect drop of decoration when translating glsl global var to entrypoint param. (#4353)
c194af81 Fix crash on invalid entrypoint varying parameter. (#4349)
7a4757d2 Implicit register binding for hlsl to non-hlsl targets (#4338)
180d6b13 Fix duplicate SPIRV decorations. (#4346)
fa8c11eb Add option to preserve shader parameter declaration in output SPIRV. (#4344)
3fe4a772 Fix crash when using optional type in a generic. (#4341)
5da06d43 Fix global value inlining for spirv_asm blocks. (#4339)
7e796692 [gfx] Metal improvements (#4337)
6909d65c SPIRV backend: add support for tessellation stages, (#4336)
ef20d930 Test more texture types in Metal (#4333)
5a289681 [gfx] Metal texture fixes (#4331)
df0a201d Support integer typed textures for GLSL (#4329)
51d35854 Remove duplicate `VkPhysicalDeviceComputeShaderDerivativesFeaturesNV` extension structure in vk-api.h (#4335)
6d5ef9b6 Fix `GetAttributeAtVertex` for spirv and glsl targets. (#4334)
21bbebb1 Address glslang ordering requirments for 'derivative_group_*NV' (#4323)
72016f92 Partial implementation of static_assert (#4294)
712ce653 enable more metal tests (#4326)
38c0bacc Fix SPIRV emit for `Flat` decoration and TessLevel builtin. (#4318)
b5cdd832 Support all integer typed indices in StructuredBuffer Load/Store/[]. (#4311)
6857dd57 [gfx] Metal graphics support (#4324)
0974463d Fix typos in the docs (#4322)
9a23a9aa SPIRV `Block` decoration fixes. (#4303)
bc680e74 Add initial draft auto-diff basics and IR overview documents (#4216)
ee812d18 Disallow certain types of decls in `interface` to provide better diagnostic message. (#4312)
65928afe Metal system value overhaul. (#4308)
e39ceab5 Adding functional test for GLSL texture functions (#4306)
2a45bc31 Support HLSL `.mips` syntax. (#4310)
056a4b94 Small SPIRV emit cleanup around vector element extract. (#4309)
f83fe55a Make CTS failure report more obvious (#4302)
78d34f3b Improve documentation and example formatting consistency (#4299)
7c6faf62 Precompute UIntSet from individual capabilities inside generator (#4269)
004fe27a Metal compute tests (#4292)
72f10a8c Fixed profile string per request in pr#4268 (#4297)
a709e029 Update capability-generator-main.cpp (#4295)
d301267c Typo in 06-interfaces-generics.md (#4284)
fa664d14 Fix build warnings and treat warnings as error on CI (#4276)
f1490526 Remove unnecessary call to __requireComputeDerivative (#4283)
v2024.1.21
8ea3854d work on gfx metal backend (#4287) 40d48bf1 Fix python syntax highlighting in slangpy chapter (#4282) 20f7f4a2 make String::trim consistent with String::trimStart/trimEnd (#4285) c0c426c8 Avoid duplicating entry points in library (#4279) e757ce77 add 'override' keyword to getCompileTimeProfile (#4275) 07a3438b initial set of lldb formatters (#4272) c4a56050 Use memcpy to replace strncpy_s (#4270) bacf73cc Add APIs to get profile of compile time (#4242) 1141b824 Fixes incorrect profile string (#4268) 9b6b31be Print warning when operator<< shifting too much (#4255)
v2024.1.20
89c1fd0d Fix performance issue in source-map (#4261) 68bf31e5 Add an option to disable source map in obfuscation (#4260)
v2024.1.19
753a524 Metal Task Shader payload (#4238)
0bc89bc Prevent hoisting of non-hoistable instructions in non-function values with code (#4250)
c5a453e Support different SPIRV versions. (#4254)
5799281 Capabilities generator inclusive join and misc (#4237)
a5cdb57 Fix a bug on default initialization of interface typed value. (#4249)
febbeb1 Support SPIR-V DebugTypePointer (#4228)
66252cb Various issues in code snippets (#4247)
1995721 Update document regarding pointer (#4248)
523a637 Fix confusion in Translation Units doc (#4245)
daec0a3 Fix small typo (#4246)
9fe23ca Increase MSVC warning level to 4 for Slang projects (#4207)