diff --git a/docs/ReleaseNotes.md b/docs/ReleaseNotes.md index c228188ae9..d64b376d1d 100644 --- a/docs/ReleaseNotes.md +++ b/docs/ReleaseNotes.md @@ -22,10 +22,100 @@ The included licenses apply to the following files: Place release notes for the upcoming release below this line and remove this line upon naming the release. Refer to previous for appropriate section names. +#### HLSL Language + +- Added `auto` for C++11-style type deduction + [#8452](https://github.com/microsoft/DirectXShaderCompiler/pull/8452). `auto` + cannot be used to infer built-in internal types or the types returned by + `ResourceDescriptorHeap`/`SamplerDescriptorHeap`. +- Added the `[[nodiscard]]` attribute + [#8462](https://github.com/microsoft/DirectXShaderCompiler/pull/8462). +- Added bit-precise floating-point literal suffixes + [#8478](https://github.com/microsoft/DirectXShaderCompiler/pull/8478). +- `>>` no longer requires surrounding spaces in nested template arguments + [#8453](https://github.com/microsoft/DirectXShaderCompiler/pull/8453). +- The `volatile` keyword is now disallowed + [#8391](https://github.com/microsoft/DirectXShaderCompiler/issues/8391). +- The `groupshared` parameter attribute can now be used on templates + [#8217](https://github.com/microsoft/DirectXShaderCompiler/pull/8217). +- Added `GroupSharedLimit` attribute support for mesh, amplification, and node + shaders [#8140](https://github.com/microsoft/DirectXShaderCompiler/pull/8140). + +#### SPIR-V + +- Added sampler and resource heaps for textures + [#8281](https://github.com/microsoft/DirectXShaderCompiler/pull/8281). +- Function parameters can now be decorated with inline SPIR-V + [#8103](https://github.com/microsoft/DirectXShaderCompiler/issues/8103). +- Fixed `vk::BufferPointer` cast methods + [#8365](https://github.com/microsoft/DirectXShaderCompiler/pull/8365). +- Fixed layout-rule propagation for `ConstantBuffer`/`TextureBuffer` function + variable and parameter aliasing + [#8244](https://github.com/microsoft/DirectXShaderCompiler/issues/8244). +- Fixed counter handling in a direct `return` statement + [#8215](https://github.com/microsoft/DirectXShaderCompiler/issues/8215). +- Fixed `OpSpecConstant` for composites + [#8278](https://github.com/microsoft/DirectXShaderCompiler/pull/8278). +- Fixed a crash with out-of-line template declarations + [#5823](https://github.com/microsoft/DirectXShaderCompiler/issues/5823). +- Fixed handling of `void` in extended instruction sets + [#8012](https://github.com/microsoft/DirectXShaderCompiler/issues/8012). + +#### Bug Fixes + +- Fixed GVN/SROA miscompilation of minimum-precision vector element access + [#8268](https://github.com/microsoft/DirectXShaderCompiler/issues/8268). +- Fixed `rawBufferVectorLoad`/`Store` to widen minimum-precision types to 32-bit + [#8273](https://github.com/microsoft/DirectXShaderCompiler/issues/8273). +- Fixed out-of-bounds subscript indexing of a column-major matrix in a constant + buffer [#7865](https://github.com/microsoft/DirectXShaderCompiler/issues/7865). +- Fixed illegal-width bitmap generated from a `switch` lookup table in + SimplifyCFG + [#8421](https://github.com/microsoft/DirectXShaderCompiler/issues/8421). +- Fixed a crash producing diagnostics for source containing embedded nulls + [#8164](https://github.com/microsoft/DirectXShaderCompiler/pull/8164). +- Fixed constant folding of `VectorReduce.*` + [#8570](https://github.com/microsoft/DirectXShaderCompiler/issues/8570). +- GVN no longer coerces a vector store through `i128` or wider + [#8573](https://github.com/microsoft/DirectXShaderCompiler/issues/8573). +- Validation now drills through chained GEPs when resolving TGSM globals, needed + for SM 6.9 native vectors + [#8571](https://github.com/microsoft/DirectXShaderCompiler/issues/8571). +- The sampler feedback shader flag is now set when sampler feedback operations + are used and the validator version is >= 1.9 + [#8533](https://github.com/microsoft/DirectXShaderCompiler/issues/8533). +- Preserve coherence qualifiers (`globallycoherent`/`reordercoherent`) on + resource flat-conversions + [#8583](https://github.com/microsoft/DirectXShaderCompiler/pull/8583). +- Fixed type annotation serialization for resources in HL modules + [#8440](https://github.com/microsoft/DirectXShaderCompiler/issues/8440). +- Fixed the `COMPARISON_NONE` handling and its error message + [#8246](https://github.com/microsoft/DirectXShaderCompiler/issues/8246). +- Fixed an ambiguous overloaded `operator+` error with newer Clang + [#8516](https://github.com/microsoft/DirectXShaderCompiler/pull/8516). + #### Other Changes - Built-in HLSL headers are now embedded in the dxcompiler library so that users do not need to copy headers around with the toolchain. - vector_utils.h and enable_if.h are renamed to vector_utils and enable_if respectively in alignment with TC57 decision on standard header files to exclude file extensions (See: https://github.com/hlsl-tc57/tc57/blob/main/docs/DesignConsiderations.md#minor-details). +- Added `-Fre` support for the Metal backend to emit the Metal Shader Converter + reflection JSON + [#8159](https://github.com/microsoft/DirectXShaderCompiler/pull/8159). + +### Upcoming Preview Release + +These changes apply to experimental preview shader models only and will not be +part of the next non-preview release. + +#### Experimental Shader Model 6.10 + +These are incremental changes to the experimental Shader Model 6.10 features that +first shipped in the 1.10.2605 preview. + +- Fixed the set of numeric types allowed in LinAlg matrix intrinsics + [#8271](https://github.com/microsoft/DirectXShaderCompiler/issues/8271). +- Corrected the parameter order of `InterlockedAccumulate` + [#8459](https://github.com/microsoft/DirectXShaderCompiler/pull/8459). ### Version 1.10.2605