1 # Revision history for `glslang`
3 All notable changes to this project will be documented in this file.
4 This project adheres to [Semantic Versioning](https://semver.org/).
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
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
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
44 * An ABI was accidentally broken in #3014. Consequently, we have incremented the major revision number.
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.
57 * Make HelperInvocation accesses volatile for SPIR-V 1.6.
58 * Improve forward compatibility of ResourceLimits interface
59 * Remove GLSLANG_ANGLE
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
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
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
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
98 * Add support for SPIR-V 1.6
99 * Add support for Vulkan 1.3
100 * Add --hlsl-dx-position-w option
105 * Add support for targeting Vulkan 1.2 in the C API
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
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
133 * Fix to keep source compatible with CMake 3.10.2
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)
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
155 * Added ray-tracing extension support
161 #### Visual Studio 2013 is no longer supported
163 [As scheduled](https://github.com/KhronosGroup/glslang/blob/9eef54b2513ca6b40b47b07d24f453848b65c0df/README.md#planned-deprecationsremovals),
164 Microsoft Visual Studio 2013 is no longer officially supported. Please upgrade
165 to at least Visual Studio 2015.
167 ## 10.15.3847 2020-07-20
171 * The following files have been removed:
172 * `glslang/include/revision.h`
173 * `glslang/include/revision.template`
175 The `GLSLANG_MINOR_VERSION` and `GLSLANG_PATCH_LEVEL` defines have been removed
176 from the public headers. \
177 Instead each build script now uses the new `build_info.py`
178 script along with the `build_info.h.tmpl` and this `CHANGES.md` file to generate
179 the glslang build-time generated header `glslang/build_info.h`.
181 The new public API to obtain the `glslang` version is `glslang::GetVersion()`.
184 * `glslang` shared objects produced by CMake are now `SONAME` versioned using
185 [Semantic Versioning 2.0.0](https://semver.org/).