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