• 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## 12.3.0 2023-07-19
7
8### Other changes
9* Rename glslangValidator to glslang and create glslangValidator symlink
10* Support HLSL binary literals
11* Add missing initialization members for web
12* Improve push_constant upgrading
13* Fix race condition in spirv remap
14* Support pre and post HLSL qualifier validation
15* Force generateDebugInfo when non-semantic debug info is enabled
16* Exit with error if output file cannot be written
17* Fix struct member buffer reference decorations
18
19## 12.2.0 2023-05-17
20
21### Other changes
22* Support GLSL_EXT_shader_tile_image
23* Support GL_EXT_ray_tracing_position_fetch
24* Support custom include callbacks via the C API
25* Add preamble-text command-line option
26* Accept variables as parameters of spirv_decorate_id
27* Fix generation of conditionals with a struct result
28* Fix double expansion of macros
29* Fix DebugCompilationUnit scope
30* Improve line information
31
32## 12.1.0 2023-03-21
33
34### Other changes
35* Reject non-float inputs/outputs for version less than 120
36* Fix invalid BufferBlock decoration for SPIR-V 1.3 and above
37* Add HLSL relaxed-precision float/int matrix expansions
38* Block decorate Vulkan structs with RuntimeArrays
39* Support InterlockedAdd on float types
40
41## 12.0.0 2023-01-18
42
43### Breaking changes
44* An ABI was accidentally broken in #3014. Consequently, we have incremented the major revision number.
45
46### Other changes
47* Add support for ARB_bindless_texture.
48* Add support for GL_NV_shader_invocation_reorder.
49* Fix const parameter debug types when using NonSemantic.Shader.DebugInfo.100.
50* Fix NonSemantic.Shader.DebugInfo.100 disassembly.
51* Fix MaxDualSourceDrawBuffersEXT usage.
52* Fix structure member reference crash.
53
54## 11.13.0 2022-12-06
55
56### Other changes
57* Make HelperInvocation accesses volatile for SPIR-V 1.6.
58* Improve forward compatibility of ResourceLimits interface
59* Remove GLSLANG_ANGLE
60
61## 11.12.0 2022-10-12
62
63### Other changes
64* Update generator version
65* Add support for GL_EXT_mesh_shader
66* Add support for NonSemantic.Shader.DebugInfo.100
67* Make OpEmitMeshTasksEXT a terminal instruction
68* Make gl_SubGroupARB a flat in int in Vulkan
69* Add support for GL_EXT_opacity_micromap
70* Add preamble support to C interface
71
72## 11.11.0 2022-08-11
73
74### Other changes
75* Add OpSource support to C interface
76* Deprecate samplerBuffer for spirv1.6 and later
77* Add support for SPV_AMD_shader_early_and_late_fragment_tests
78
79## 11.10.0 2022-06-02
80
81### Other changes
82* Generate OpLine before OpFunction
83* Add support for VK_EXT_fragment_shader_barycentric
84* Add whitelist filtering for debug comments in SPIRV-Remap
85* Add support for GL_EXT_ray_cull_mask
86
87## 11.9.0 2022-04-06
88
89### Other changes
90* Add GLSL version override functionality
91* Add eliminate-dead-input-components to -Os
92* Add enhanced-msgs option
93* Explicitly use Python 3 for builds
94
95## 11.8.0 2022-01-27
96
97### Other changes
98* Add support for SPIR-V 1.6
99* Add support for Vulkan 1.3
100* Add --hlsl-dx-position-w option
101
102## 11.7.0 2021-11-11
103
104### Other changes
105* Add support for targeting Vulkan 1.2 in the C API
106
107## 11.6.0 2021-08-25
108
109### Other changes
110* Atomic memory function only for shader storage block member or shared variable
111* Add support for gl_MaxVaryingVectors for ogl
112* Fix loading bool arrays from interface blocks
113* Generate separate stores for partially swizzled memory stores
114* Allow layout(std430) uniform with GL_EXT_scalar_block_layout
115* Support for pragma STDGL invariant(all)
116* Support for GL_NV_ray_tracing_motion_blur
117
118## 11.5.0 2021-06-23
119
120### Other changes
121* Implement GLSL_EXT_shader_atomic_float2
122* Implement GL_EXT_spirv_intrinsics
123* Fixed SPIR-V remapper not remapping OpExtInst instruction set IDs
124* only declare compatibility gl_ variables in compatibility mode
125* Add support for float spec const vector initialization
126* Implement GL_EXT_subgroup_uniform_control_flow.
127* Fix arrays dimensioned with spec constant sized gl_WorkGroupSize
128* Add support for 64bit integer scalar and vector types to bitCount() builtin
129
130## 11.4.0 2021-04-22
131
132### Other changes
133* Fix to keep source compatible with CMake 3.10.2
134
135## 11.3.0 2021-04-21
136
137### Other changes
138* Added --depfile
139* Added --auto-sampled-textures
140* Now supports InterpolateAt-based functions
141* Supports cross-stage automatic IO mapping
142* Supports GL_EXT_vulkan_glsl_relaxed (-R option)
143
144## 11.2.0 2021-02-18
145
146### Other changes
147* Removed Python requirement when not building with spirv-tools
148* Add support for GL_EXT_shared_memory_block
149* Implement GL_EXT_null_initializer
150* Add CMake support for Fuschia
151
152## 11.1.0 2020-12-07
153
154### Other changes
155* Added ray-tracing extension support
156
157## 11.0.0 2020-07-20
158
159### Breaking changes
160
161#### Visual Studio 2013 is no longer supported
162
163[As scheduled](https://github.com/KhronosGroup/glslang/blob/9eef54b2513ca6b40b47b07d24f453848b65c0df/README.md#planned-deprecationsremovals),
164Microsoft Visual Studio 2013 is no longer officially supported. Please upgrade
165to at least Visual Studio 2015.
166
167## 10.15.3847 2020-07-20
168
169### Breaking changes
170
171* The following files have been removed:
172  * `glslang/include/revision.h`
173  * `glslang/include/revision.template`
174
175The `GLSLANG_MINOR_VERSION` and `GLSLANG_PATCH_LEVEL` defines have been removed
176from the public headers. \
177Instead each build script now uses the new `build_info.py`
178script along with the `build_info.h.tmpl` and this `CHANGES.md` file to generate
179the glslang build-time generated header `glslang/build_info.h`.
180
181The new public API to obtain the `glslang` version is `glslang::GetVersion()`.
182
183### Other changes
184* `glslang` shared objects produced by CMake are now `SONAME` versioned using
185   [Semantic Versioning 2.0.0](https://semver.org/).
186