aboutsummaryrefslogtreecommitdiff
path: root/contrib/dxc_2025_07_14/ReleaseNotes.md
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-12-02 16:39:36 -0800
committer3gg <3gg@shellblade.net>2025-12-02 16:39:36 -0800
commit6c8ae19be66cee247980a48e736a4e05d14de179 (patch)
treed860767907bf0cbe17ec66422e11bea700cf56d9 /contrib/dxc_2025_07_14/ReleaseNotes.md
parent8f594c8ebd11f0e5f8a0c6369c3fe7383d250cbe (diff)
Immediate-mode renderer, triangle demo, shader compilation in cmake, Agility SDKHEADmain
Diffstat (limited to 'contrib/dxc_2025_07_14/ReleaseNotes.md')
-rw-r--r--contrib/dxc_2025_07_14/ReleaseNotes.md219
1 files changed, 219 insertions, 0 deletions
diff --git a/contrib/dxc_2025_07_14/ReleaseNotes.md b/contrib/dxc_2025_07_14/ReleaseNotes.md
new file mode 100644
index 0000000..588bda6
--- /dev/null
+++ b/contrib/dxc_2025_07_14/ReleaseNotes.md
@@ -0,0 +1,219 @@
1# DirectX Shader Compiler Redistributable Package
2
3This package contains a copy of the DirectX Shader Compiler redistributable and its associated development headers.
4
5For help getting started, please see:
6
7<https://github.com/microsoft/DirectXShaderCompiler/wiki>
8
9## Licenses
10
11The included licenses apply to the following files:
12
13| License file | Applies to |
14|---|---|
15|LICENSE-MIT.txt |d3d12shader.h|
16|LICENSE-LLVM.txt |all other files|
17
18## Changelog
19
20### Version 1.8.2505.1
21
22- Fix regression: [#7510](https://github.com/microsoft/DirectXShaderCompiler/issues/7510) crash when calling `sizeof` on templated type.
23- Fix regression: [#7508](https://github.com/microsoft/DirectXShaderCompiler/issues/7508) crash when calling `Load` with `status`.
24- Header file `dxcpix.h` was added to the release package.
25
26### Version 1.8.2505
27
28#### Potentially breaking changes
29
30- Typed buffers (including ROV buffers) no longer accept types other than vectors and scalars. Any other types will produce descriptive errors. This removes support for appropriately sized matrices and structs. Though it worked in some contexts, code generated from such types was unreliable.
31 - Load and Store operations have been refactored as a consequence. Behavior should be identical, please file issues if discrepancies are observed.
32- The compiler will now always use the internal validator instead of searching for an external DXIL.dll. The (hidden) `-select-validator` option has been removed.
33
34#### Notable SPIR-V updates
35
36- Fix unnecessary Int64 requirement when loading Float64
37- Added vk::BufferPointer, see [proposal](https://github.com/microsoft/hlsl-specs/blob/main/proposals/0010-vk-buffer-ref.md) for more details.
38- Implement QuadAny and QuadAll (#7266)
39- Fix -fvk-invert-y (#7447)
40
41#### Shader Model 6.9 Preview
42
43You can now compile shaders to SM 6.9, but this is a preview, so shader hashes will be set to the PREVIEW_BYPASS pattern.
44SM 6.9 shaders will only work with AgilitySDK 1.717.0-preview, a supported preview driver, and use of experimental shader models in developer mode.
45Preview shaders will not be compatible with the SM 6.9 release, or likely even later versions of the SM 6.9 preview.
46
47SM 6.9 Preview Additions:
48
49- Long vectors are allowed in HLSL when targeting shader model 6.9. Vectors up to 1024 elements in length can be loaded from/stored to raw buffers and used in elementwise operations. See the [long vector proposal](https://github.com/microsoft/hlsl-specs/blob/main/proposals/0026-hlsl-long-vector-type.md) for more details.
50- HLSL Vectors are still limited to a maximum of 4 elements when used in certain contexts:
51 - entry function inputs/outputs
52 - parameter, payload, attribute, and node record types for mesh, raytracing, and node shaders
53 - constant buffers (cbuffer), texture buffers (tbuffer), textures and typed buffers
54 - Note: some HLSL elementwise intrinsics do not yet support long vectors in this preview
55- Native vectors of up to 1024 elements are now present in DXIL. This includes vector llvm instructions, load/store, and various elementwise DXIL operations. This may result in smaller DXIL and potentially other performance improvements. See the [dxil vectors proposal](https://github.com/microsoft/hlsl-specs/blob/main/proposals/0030-dxil-vectors.md) for more details.
56- Cooperative Vector operations, a subset of Linear Algebra (LinAlg). See the [cooperative vectors proposal](https://github.com/microsoft/hlsl-specs/blob/main/proposals/0029-cooperative-vector.md) and the [HLSL header based API proposal](https://github.com/microsoft/hlsl-specs/blob/main/proposals/0031-hlsl-vector-matrix-operations.md) for more details.
57 - New built-in operations are added for multiplying long vectors with a matrix in a ByteAddressBuffer, optionally with accumulation and bias data, as well as outer product and vector accumulate operations.
58 - An HLSL header shipped with this release provides a more convenient API for using these built-in operations.
59- Support for [Opacity Micromaps](https://github.com/microsoft/hlsl-specs/blob/main/proposals/0024-opacity-micromaps.md) in DXR shaders as well as for RayQuery.
60 - Unlocks DXR performance improvements using triangle sub-divisions for fast hit/miss detection to reduce the need for anyhit invocations.
61- Support for [Shader Execution Reordering](https://github.com/microsoft/hlsl-specs/blob/main/proposals/0027-shader-execution-reordering.md) in DXR.
62 - Introduces `MaybeReorderThread()` to explicitly specify where and how shader execution coherence can be improved. `MaybeReorderThread()` can be used in raygeneration shaders.
63 - `HitObject` decouples traversal, intersection testing and anyhit shading from closesthit and miss shading for more control and better reordering opportunities. `HitObject` can be used in raygeneration, closesthit and miss shaders.
64
65### Version 1.8.2502
66
67This cumulative release contains numerous bug fixes and stability improvements.
68
69Here are some highlights:
70
71- The incomplete WaveMatrix implementation has been removed. [#6807](https://github.com/microsoft/DirectXShaderCompiler/pull/6807)
72- DXIL Validator Hash is open sourced. [#6846](https://github.com/microsoft/DirectXShaderCompiler/pull/6846)
73- DXIL container validation for PSV0 part allows any content ordering inside string and semantic index tables. [#6859](https://github.com/microsoft/DirectXShaderCompiler/pull/6859)
74- The and() and or() intrinsics will now accept non-integer parameters by casting them to bools. [#7060](https://github.com/microsoft/DirectXShaderCompiler/pull/7060)
75- Released executables will now expect the filenames associated with the released pdbs. Instead of expecting `dxc_full.pdb`, `dxc.exe` will now expect `dxc.pdb`.
76
77### Version 1.8.2407
78
79This cumulative release contains numerous bug fixes and stability improvments.
80
81Here are some highlights:
82
83- dxc generates invalid alignment on groupshared matrix load/store instructions in [#6416](https://github.com/microsoft/DirectXShaderCompiler/issues/6416)
84- [Optimization] DXC is missing common factor optimization in some cases in [#6593](https://github.com/microsoft/DirectXShaderCompiler/issues/6593)
85- [SPIR-V] Implement WaveMutliPrefix* in [#6600](https://github.com/microsoft/DirectXShaderCompiler/issues/6600)
86- [SPIR-V] Implement SampleCmpLevel for SM6.7 in [#6613](https://github.com/microsoft/DirectXShaderCompiler/issues/6613)
87- Avoid adding types to default namespace in [#6646](https://github.com/microsoft/DirectXShaderCompiler/issues/6646)
88- Release notes once found in `README.md` can now be found in `ReleaseNotes.md`
89- Fixed several bugs in the loop restructurizer. Shader developers who are using -opt-disable structurize-loop-exits-for-unroll to disable the loop restructurizer should consider removing that workaround.
90
91### Version 1.8.2405
92
93DX Compiler Release for May 2024
94
95This release includes two major new elements:
96
97- The introduction of the first component of HLSL 202x
98- The inclusion of clang-built Windows binaries
99
100See [the official blog post](https://devblogs.microsoft.com/directx/dxc-1-8-2405-available) for a more detailed description of this release.
101
102HLSL 202x is a placeholder designation for what will ultimately be a new language version that further aligns HLSL with modern language features. It is intended to serve as a bridge to help transition to the expected behavior of the modernized compiler.
103
104To experiment with 202x, use the `-HV 202x` flag. We recommend enabling these warnings as well to catch potential changes in behavior: `-Wconversion -Wdouble-promotion -Whlsl-legacy-literal`.
105
106The first feature available in 202x updates HLSL's treatment of literals to better conform with C/C++. In previous versions, un-suffixed literal types targeted the highest possible precision. This feature revises that to mostly conform with C/C++ behavior. See the above blog post for details.
107
108Clang-built Windows binaries are included in addition to the MSVC-built binaries that have always been shipped before. The clang-built compiler is expected to improve HLSL compile times in many cases. We are eager for feedback about this build positive or negative, related to compile times or correctness.
109
110### Version 1.8.2403.2
111
112DX Compiler Release for March 2024 - Patch 2
113
114- Fix regression: [#6426](https://github.com/microsoft/DirectXShaderCompiler/issues/6426) Regression, SIGSEGV instead of diagnostics when encountering bool operator==(const T&, const T&).
115
116### Version 1.8.2403.1
117
118DX Compiler Release for March 2024 - Patch 1
119
120- Fix regression: [#6419](https://github.com/microsoft/DirectXShaderCompiler/issues/6419) crash when using literal arguments with `fmod`.
121
122### Version 1.8.2403
123
124DX Compiler release for March 2024
125
126- Shader Model 6.8 is fully supported
127 - Work Graphs allow node shaders with user-defined input and output payloads
128 - New Barrier builtin functions with specific memory types and semantics
129 - Expanded Comparison sampler intrinsics: SampleCmpBias, SampleCmpGrad, and CalculateLevelOfDetail
130 - StartVertexLocation and StartInstanceLocation semantics
131 - WaveSizeRange entry point attribute allows specifying a range of supported wave sizes
132- Improved compile-time validation and runtime validation information
133- Various stability improvements including numerous address sanitation fixes
134- Several Diagnostic improvements
135 - Many diagnostics are generated earlier and with more detailed information
136 - Library profile diagnostic improvements
137 - No longer infer library shader type when not specified
138 - More helpful diagnostics for numthreads and other entry point attributes
139 - Validation errors more accurately determine usage by the entry point
140- Improve debug info generation
141- Further improvements to Linux build quality
142- File paths arguments for `IDxcIncludeHandler::LoadSource` will now be normalized to use OS specific slashes
143 (`\` for windows, `/` for *nix) and no longer have double slashes except for UNC paths (`\\my\unc\path`).”
144
145### Version 1.7.2308
146
147DX Compiler release for August 2023
148
149- HLSL 2021 is now enabled by default
150- Various HLSL 2021 fixes have been made to
151 - Operator overloading fixes
152 - Templates fixes
153 - Select() with samplers
154 - Bitfields show in reflections
155 - Bitfields can be used on enums
156 - Allow function template default params
157- Issues with loading and using Linux binaries have been resolved
158- Support #pragma region/endregion
159- Various stability and diagnostic improvements
160- Dxcapi.h inline documentation is improved
161- Linking of libraries created by different compilers is disallowed to prevent interface Issues
162- Inout parameter correctness improved
163
164The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll for x64 and arm64 platforms on Windows.
165The package also includes Linux version of the compiler with corresponding executable, libdxcompiler.so, corresponding headers, and libdxil.so for x64 platforms.
166
167The new DirectX 12 Agility SDK (Microsoft.Direct3D.D3D12 nuget package) and a hardware driver with appropriate support
168are required to run shader model 6.7 shaders. Please see <https://aka.ms/directx12agility> for details.
169
170The SPIR-V backend of the compiler has been enabled in this release.
171
172### Version 1.7.2212
173
174DX Compiler release for December 2022.
175
176- Includes full support of HLSL 2021 for SPIRV generation as well as many HLSL 2021 fixes and enhancements:
177 - HLSL 2021's `and`, `or` and `select` intrinsics are now exposed in all language modes. This was done to ease porting code bases to HLSL2021, but may cause name conflicts in existing code.
178 - Improved template utility with user-defined types
179 - Many additional bug fixes
180- Linux binaries are now included.
181 This includes the compiler executable, the dynamic library, and the dxil signing library.
182- New flags for inspecting compile times:
183 - `-ftime-report` flag prints a high level summary of compile time broken down by major phase or pass in the compiler. The DXC
184command line will print the output to stdout.
185 - `-ftime-trace` flag prints a Chrome trace json file. The output can be routed to a specific file by providing a filename to
186the argument using the format `-ftime-trace=<filename>`. Chrome trace files can be opened in Chrome by loading the built-in tracing tool
187at chrome://tracing. The trace file captures hierarchial timing data with additional context enabling a much more in-depth profiling
188experience.
189 - Both new options are supported via the DXC API using the `DXC_OUT_TIME_REPORT` and `DXC_OUT_TIME_TRACE` output kinds respectively.
190- IDxcPdbUtils2 enables reading new PDB container part
191- `-P` flag will now behave as it does with cl using the file specified by `-Fi` or a default
192- Unbound multidimensional resource arrays are allowed
193- Diagnostic improvements
194- Reflection support on non-Windows platforms; minor updates adding RequiredFeatureFlags to library function reflection and thread group size for AS and MS.
195
196The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll for x64 and arm64 platforms on Windows.
197For the first time the package also includes Linux version of the compiler with corresponding executable, libdxcompiler.so, corresponding headers, and libdxil.so for x64 platforms.
198
199The new DirectX 12 Agility SDK (Microsoft.Direct3D.D3D12 nuget package) and a hardware driver with appropriate support
200are required to run shader model 6.7 shaders. Please see <https://aka.ms/directx12agility> for details.
201
202The SPIR-V backend of the compiler has been enabled in this release. Please note that Microsoft does not perform testing/verification of the SPIR-V backend.
203
204### Version 1.7.2207
205
206DX Compiler release for July 2022. Contains shader model 6.7 and many bug fixes and improvements, such as:
207
208- Features: Shader Model 6.7 includes support for Raw Gather, Programmable Offsets, QuadAny/QuadAll, WaveOpsIncludeHelperLanes, and more!
209- Platforms: ARM64 support
210- HLSL 2021 : Enable “using” keyword
211- Optimizations: Loop unrolling and dead code elimination improvements
212- Developer tools: Improved disassembly output
213
214The package includes dxc.exe, dxcompiler.dll, corresponding lib and headers, and dxil.dll for x64 and, for the first time, arm64 platforms!
215
216The new DirectX 12 Agility SDK (Microsoft.Direct3D.D3D12 nuget package) and a hardware driver with appropriate support
217are required to run shader model 6.7 shaders. Please see <https://aka.ms/directx12agility> for details.
218
219The SPIR-V backend of the compiler has been enabled in this release. Please note that Microsoft does not perform testing/verification of the SPIR-V backend.