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