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