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 * Update generator version
10 * Add support for GL_EXT_mesh_shader
11 * Add support for NonSemantic.Shader.DebugInfo.100
12 * Make OpEmitMeshTasksEXT a terminal instruction
13 * Make gl_SubGroupARB a flat in int in Vulkan
14 * Add support for GL_EXT_opacity_micromap
15 * Add preamble support to C interface
20 * Add OpSource support to C interface
21 * Deprecate samplerBuffer for spirv1.6 and later
22 * Add support for SPV_AMD_shader_early_and_late_fragment_tests
27 * Generate OpLine before OpFunction
28 * Add support for VK_EXT_fragment_shader_barycentric
29 * Add whitelist filtering for debug comments in SPIRV-Remap
30 * Add support for GL_EXT_ray_cull_mask
35 * Add GLSL version override functionality
36 * Add eliminate-dead-input-components to -Os
37 * Add enhanced-msgs option
38 * Explicitly use Python 3 for builds
43 * Add support for SPIR-V 1.6
44 * Add support for Vulkan 1.3
45 * Add --hlsl-dx-position-w option
50 * Add support for targeting Vulkan 1.2 in the C API
55 * Atomic memory function only for shader storage block member or shared variable
56 * Add support for gl_MaxVaryingVectors for ogl
57 * Fix loading bool arrays from interface blocks
58 * Generate separate stores for partially swizzled memory stores
59 * Allow layout(std430) uniform with GL_EXT_scalar_block_layout
60 * Support for pragma STDGL invariant(all)
61 * Support for GL_NV_ray_tracing_motion_blur
66 * Implement GLSL_EXT_shader_atomic_float2
67 * Implement GL_EXT_spirv_intrinsics
68 * Fixed SPIR-V remapper not remapping OpExtInst instruction set IDs
69 * only declare compatibility gl_ variables in compatibility mode
70 * Add support for float spec const vector initialization
71 * Implement GL_EXT_subgroup_uniform_control_flow.
72 * Fix arrays dimensioned with spec constant sized gl_WorkGroupSize
73 * Add support for 64bit integer scalar and vector types to bitCount() builtin
78 * Fix to keep source compatible with CMake 3.10.2
84 * Added --auto-sampled-textures
85 * Now supports InterpolateAt-based functions
86 * Supports cross-stage automatic IO mapping
87 * Supports GL_EXT_vulkan_glsl_relaxed (-R option)
92 * Removed Python requirement when not building with spirv-tools
93 * Add support for GL_EXT_shared_memory_block
94 * Implement GL_EXT_null_initializer
95 * Add CMake support for Fuschia
100 * Added ray-tracing extension support
106 #### Visual Studio 2013 is no longer supported
108 [As scheduled](https://github.com/KhronosGroup/glslang/blob/9eef54b2513ca6b40b47b07d24f453848b65c0df/README.md#planned-deprecationsremovals),
109 Microsoft Visual Studio 2013 is no longer officially supported. Please upgrade
110 to at least Visual Studio 2015.
112 ## 10.15.3847 2020-07-20
116 * The following files have been removed:
117 * `glslang/include/revision.h`
118 * `glslang/include/revision.template`
120 The `GLSLANG_MINOR_VERSION` and `GLSLANG_PATCH_LEVEL` defines have been removed
121 from the public headers. \
122 Instead each build script now uses the new `build_info.py`
123 script along with the `build_info.h.tmpl` and this `CHANGES.md` file to generate
124 the glslang build-time generated header `glslang/build_info.h`.
126 The new public API to obtain the `glslang` version is `glslang::GetVersion()`.
129 * `glslang` shared objects produced by CMake are now `SONAME` versioned using
130 [Semantic Versioning 2.0.0](https://semver.org/).