• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Revision history for `glslang`
2
3All notable changes to this project will be documented in this file.
4This project adheres to [Semantic Versioning](https://semver.org/).
5
6## 14.0.0 2023-12-21
7
8### Breaking changes
9* The legacy libraries named HLSL and OGLCompiler have been removed. To avoid future disruptions, please use cmake's find_package mechanism rather than hardcoding library dependencies.
10* Only the headers that are part of glslang's public interface are included in the install target.
11* Remove OVERRIDE_MSVCCRT cmake option.
12
13### Other changes
14* Fix spv_options initialization
15* Fix line number for OpDebugFunction and OpDebugScope for function
16* Fix SPV_KHR_cooperative_matrix enumerants
17* Fix nullptr crash
18* Fix GL_ARB_shader_storage_buffer_object version
19* Fix interpolant ES error
20* Generate DebugValue for constant arguments
21* Overflow/underflow out-of-range floats to infinity/0.0 respectively
22* Support SV_ViewID keywords for HLSL
23* Implement relaxed rule for opaque struct members
24* Add BUILD_WERROR cmake option
25* Add GLSLANG_TESTS cmake option
26* Always generate OpDebugBasicType for bool type
27* Fix GLSL parsing of '#' when not preceded by space or tab
28* Fix GL_ARB_bindless_texture availability
29* Support GL_EXT_draw_instanced extension
30* Support GL_EXT_texture_array extension
31* Fix conversion of 64-bit unsigned integer constants to bool
32* Output 8-bit and 16-bit capabilities when appropriate for OpSpecConstant
33
34## 13.1.1 2023-10-16
35* Initialize compile_only field in C interface
36
37## 13.1.0 2023-10-13
38* Support GL_EXT_texture_shadow_lod
39* Support GL_NV_displacement_micromap
40* Fix ByteAddressBuffer when used a function parameter
41* Add more verbose messages if SPIRV-Tools is not found
42* Fix names for explicitly sized types when emitting nonsemantic debug info
43* Emit error for r-value arguments in atomic memory operations
44* Add --no-link option
45* Beautify preprocessor output format
46* Fix race condition in glslangValidator
47* Only set LocalSizeId mode when necessary
48* Don't emit invalid debug info for buffer references
49
50## 13.0.0 2023-08-23
51
52### Breaking changes
53* Simplify PoolAlloc via thread_local
54  * Remove InitializeDLL functions
55  * Remove OSDependent TLS functions
56* Remove GLSLANG_WEB and GLSLANG_WEB_DEVEL code paths
57
58### Other changes
59* Raise CMAKE minimum to 3.17.2
60* Support GL_KHR_cooperative_matrix
61* Support GL_QCOM_image_processing_support
62* Support outputting each module to a filename with spirv-remap
63* Generate an error when gl_PrimitiveShaderRateEXT is used without enabling the extension
64* Improve layout checking when GL_EXT_spirv_intrinsics is enabled
65
66## 12.3.1 2023-07-20
67
68### Other changes
69* Improve backward compatibility for glslangValidator rename on Windows
70
71## 12.3.0 2023-07-19
72
73### Other changes
74* Rename glslangValidator to glslang and create glslangValidator symlink
75* Support HLSL binary literals
76* Add missing initialization members for web
77* Improve push_constant upgrading
78* Fix race condition in spirv remap
79* Support pre and post HLSL qualifier validation
80* Force generateDebugInfo when non-semantic debug info is enabled
81* Exit with error if output file cannot be written
82* Fix struct member buffer reference decorations
83
84## 12.2.0 2023-05-17
85
86### Other changes
87* Support GLSL_EXT_shader_tile_image
88* Support GL_EXT_ray_tracing_position_fetch
89* Support custom include callbacks via the C API
90* Add preamble-text command-line option
91* Accept variables as parameters of spirv_decorate_id
92* Fix generation of conditionals with a struct result
93* Fix double expansion of macros
94* Fix DebugCompilationUnit scope
95* Improve line information
96
97## 12.1.0 2023-03-21
98
99### Other changes
100* Reject non-float inputs/outputs for version less than 120
101* Fix invalid BufferBlock decoration for SPIR-V 1.3 and above
102* Add HLSL relaxed-precision float/int matrix expansions
103* Block decorate Vulkan structs with RuntimeArrays
104* Support InterlockedAdd on float types
105
106## 12.0.0 2023-01-18
107
108### Breaking changes
109* An ABI was accidentally broken in #3014. Consequently, we have incremented the major revision number.
110
111### Other changes
112* Add support for ARB_bindless_texture.
113* Add support for GL_NV_shader_invocation_reorder.
114* Fix const parameter debug types when using NonSemantic.Shader.DebugInfo.100.
115* Fix NonSemantic.Shader.DebugInfo.100 disassembly.
116* Fix MaxDualSourceDrawBuffersEXT usage.
117* Fix structure member reference crash.
118
119## 11.13.0 2022-12-06
120
121### Other changes
122* Make HelperInvocation accesses volatile for SPIR-V 1.6.
123* Improve forward compatibility of ResourceLimits interface
124* Remove GLSLANG_ANGLE
125
126## 11.12.0 2022-10-12
127
128### Other changes
129* Update generator version
130* Add support for GL_EXT_mesh_shader
131* Add support for NonSemantic.Shader.DebugInfo.100
132* Make OpEmitMeshTasksEXT a terminal instruction
133* Make gl_SubGroupARB a flat in int in Vulkan
134* Add support for GL_EXT_opacity_micromap
135* Add preamble support to C interface
136
137## 11.11.0 2022-08-11
138
139### Other changes
140* Add OpSource support to C interface
141* Deprecate samplerBuffer for spirv1.6 and later
142* Add support for SPV_AMD_shader_early_and_late_fragment_tests
143
144## 11.10.0 2022-06-02
145
146### Other changes
147* Generate OpLine before OpFunction
148* Add support for VK_EXT_fragment_shader_barycentric
149* Add whitelist filtering for debug comments in SPIRV-Remap
150* Add support for GL_EXT_ray_cull_mask
151
152## 11.9.0 2022-04-06
153
154### Other changes
155* Add GLSL version override functionality
156* Add eliminate-dead-input-components to -Os
157* Add enhanced-msgs option
158* Explicitly use Python 3 for builds
159
160## 11.8.0 2022-01-27
161
162### Other changes
163* Add support for SPIR-V 1.6
164* Add support for Vulkan 1.3
165* Add --hlsl-dx-position-w option
166
167## 11.7.0 2021-11-11
168
169### Other changes
170* Add support for targeting Vulkan 1.2 in the C API
171
172## 11.6.0 2021-08-25
173
174### Other changes
175* Atomic memory function only for shader storage block member or shared variable
176* Add support for gl_MaxVaryingVectors for ogl
177* Fix loading bool arrays from interface blocks
178* Generate separate stores for partially swizzled memory stores
179* Allow layout(std430) uniform with GL_EXT_scalar_block_layout
180* Support for pragma STDGL invariant(all)
181* Support for GL_NV_ray_tracing_motion_blur
182
183## 11.5.0 2021-06-23
184
185### Other changes
186* Implement GLSL_EXT_shader_atomic_float2
187* Implement GL_EXT_spirv_intrinsics
188* Fixed SPIR-V remapper not remapping OpExtInst instruction set IDs
189* only declare compatibility gl_ variables in compatibility mode
190* Add support for float spec const vector initialization
191* Implement GL_EXT_subgroup_uniform_control_flow.
192* Fix arrays dimensioned with spec constant sized gl_WorkGroupSize
193* Add support for 64bit integer scalar and vector types to bitCount() builtin
194
195## 11.4.0 2021-04-22
196
197### Other changes
198* Fix to keep source compatible with CMake 3.10.2
199
200## 11.3.0 2021-04-21
201
202### Other changes
203* Added --depfile
204* Added --auto-sampled-textures
205* Now supports InterpolateAt-based functions
206* Supports cross-stage automatic IO mapping
207* Supports GL_EXT_vulkan_glsl_relaxed (-R option)
208
209## 11.2.0 2021-02-18
210
211### Other changes
212* Removed Python requirement when not building with spirv-tools
213* Add support for GL_EXT_shared_memory_block
214* Implement GL_EXT_null_initializer
215* Add CMake support for Fuschia
216
217## 11.1.0 2020-12-07
218
219### Other changes
220* Added ray-tracing extension support
221
222## 11.0.0 2020-07-20
223
224### Breaking changes
225
226#### Visual Studio 2013 is no longer supported
227
228[As scheduled](https://github.com/KhronosGroup/glslang/blob/9eef54b2513ca6b40b47b07d24f453848b65c0df/README.md#planned-deprecationsremovals),
229Microsoft Visual Studio 2013 is no longer officially supported. Please upgrade
230to at least Visual Studio 2015.
231
232## 10.15.3847 2020-07-20
233
234### Breaking changes
235
236* The following files have been removed:
237  * `glslang/include/revision.h`
238  * `glslang/include/revision.template`
239
240The `GLSLANG_MINOR_VERSION` and `GLSLANG_PATCH_LEVEL` defines have been removed
241from the public headers. \
242Instead each build script now uses the new `build_info.py`
243script along with the `build_info.h.tmpl` and this `CHANGES.md` file to generate
244the glslang build-time generated header `glslang/build_info.h`.
245
246The new public API to obtain the `glslang` version is `glslang::GetVersion()`.
247
248### Other changes
249* `glslang` shared objects produced by CMake are now `SONAME` versioned using
250   [Semantic Versioning 2.0.0](https://semver.org/).
251