Releases: KhronosGroup/glslang
Releases · KhronosGroup/glslang
main-tot
Continuous build of the latest main branch by Github
Release 16.2.0
Changes in this release:
- Allow gl_FragDepth identifier to be redeclared
- Replace 'GL_TASK(MESH)_SHADER_NV' with 'GL_TASK(MESH)_SHADER_EXT'
- Scalarize swizzled MeshEXT stores
- Support GL_EXT_long_vector
- Add missing preamble #define for GL_EXT_nontemporal_keyword
- Support GL_NV_push_constant_bank
- Support GL_EXT_descriptor_heap
Release 16.1.0
Changes in this release:
- Avoid emitting OpCapability RuntimeDescriptorArray when unnecessary
- Improve compilation speed when debug infomation is enabled
- Fix Debug Info for Retargeted Builtins
- Support GL_EXT_shader_invocation_reorder
- Add checks to coopMatMulAdd
- Implement stringify operator
- Add ES support for depth layout qualifier
- Add debug info for hitObjectNV
- Emit a DebugGlobalVariable instead of DebugLocalVariable for rayQueryEXT
- Add debug info for constant variable
- Improve debug line to point declaration
- Fix bugs in buffer reference alignment
- Reject string operands in binary and select ops
- Support GL_EXT_shader_64bit_indexing
- Support GLSL_EXT_uniform_buffer_unsized_array
- Add semantic check for cooperative vector loads/stores
- Improve the debug info name of opaque (sampler) types
- Support IO mapping of combined samplers and acceleration structures
- Fix bug in debug info for bool types inside SSBO/UBO
- Fix bug in debug info for struct member names
- Add methods for entry point and invert-y to C interface
Release 16.0.0
Breaking changes:
- Remove spirv-remapper (ported to SPIRV-Tools as canonicalize-ids optimization pass)
Other changes:
- Emit error for in/out structs containing booleans
- Fix contradictory layout link errors
- Improve error checks for float8 math
- Fix bug in cooperative matrix load/store handling of array slices
- Update memory semantic validation rules to match update to Vulkan specification
- Simplify glslang grammar for identifier lists
- Fix erroneous parse errors in variable declarations using existing struct names
- Fix type conversions for createTensorLayout/ViewNV
- Fix OpAccessChain signed index issue for small unsigned integers
- Support GLSL_QCOM_cooperative_matrix_conversion
- Allow spec constant matrix use
- Fix inconsistent labeling of capability strings
- Fix crash on unnamed function parameters under relaxed rules
- Fix exported member functions in ShaderLang.h
Release 15.4.0
Changes in this release:
- Support GL_NV_gpu_shader5/GL_ARB_gpu_shader5
- Remove BUILD_SHARED_LIBS option (defer to built-in variable)
- Remap discard to OpDemoteToHelperInvocation
- Fix typos and improve readability of help message
- Support GLSL_QCOM_tile_shading
- Emit correct capability for linear swept sphere
- Support GL_EXT_float8_e5m2_e4m3
- Move E_SPV_ARM_cooperative_matrix_layouts into GLSL.ext.ARM.h
- Support GL_ARM_tensors
Release 15.3.0
Changes in this release:
- Fix CMake find_package on Windows when building shared libraries
- Fix crash calling coopMatLoadTensorNV on an array element
- Avoid reusing array types with stride when no stride is requested
- Fix non-ASCII comments
- Support GL_EXT_bfloat16
- Fix several issues with link-time implicit array size merging
- Support DebugSourceContinued
- LiveTraverser no longer traverses switch cases that are statically not accessed
- Implement optional cross-stage check for inputs with no matching outputs
Release 15.2.0
Changes in this release:
- Fix find_package on Windows when BUILD_SHARED_LIBS=ON
- Emit error if using in/out with struct pointer
- Emit SPV_EXT_opacity_micromap if GL extension is present
- Support GL_NV_linear_swept_spheres
- Support GLSL_EXT_nontemporal_keyword
- Support GL_NV_cluster_acceleration_structure
- Support GL_NV_cooperative_vector
- Check SparseTextureOffset non-const parameters
- Support GL_EXT_texture_offset_non_const
- Revert cross-stage check for missing outputs
- Support EXT_integer_dot_product
- Add support for OpTypeRayQueryKHR and OpTypeAccelerationStructureKHR to SPVRemapper
Release 15.1.0
Changes in this release:
- Add Vulkan 1.4 target and client
- Improve conversion of uniform block to push constant
- Improve cross stage error reporting by reporting proper stager rather than "unkwown stage"
- Add warning if forward declaration uses layout qualifiers
- Implement GLSL_NV_cooperative_matrix2
- Emit OpModfStruct instead of depracated OpModf
- Add link-time cross stage optimization
- Add column to DebugLexicalBlock
- Propagate errors from symbol table initialization
- Fix nonsemantic debuginfo line attribution for cooperative matrix
Release 15.0.0
Breaking changes in this release:
- Explicitly export all symbols that are part of the public API and hide other symbols by default
Other changes in this release:
- Allow building glslang without the SPIR-V backend using the new ENABLE_SPIRV build option
- Add setResourceSetBinding method to the API
- Add interface to get the GLSL IO mapper and resolver
- Allow compute derivative modes when the workgroup dimensions are spec constants
- Improve debug location of branch/return instructions
- Silence preprocessor '#' error reporting in inactive #if/#ifdef/#elif/#else blocks
- Apply GLSL memory decorations to top-level OpVariable
- Move definition of GLSLANG_EXPORT to visibility.h
- Merge ancillary libraries into main glslang library and stub originals
- Add public setSourceFile and addSourceText methods to TShader class
- Add type checks for hitObjectNV
- Add optimizerAllowExpandedIDBound to SpvOptions
- Add SpvTools.h back to public headers
- Add cross-stage check for missing outputs
- Fix HLSL offsets for non-buffers
- Add types and functions for IO mapping to API
- Add function to set preprocessed code to API
- Add set/get version functions to API
- Expose setGlobalUniform functions to API
- Don't emit debug instructions before an OpPhi
- Add command-line and API option to enable reporting column location for compiler errors
- Improve location aliasing checks
- Support constant expression calculated by matrixCompMult
- Fix crash caused by atomicCounter() use without arguments
- Fix multi-line function call line numbers
- Add line info to OpDebugDeclare for function parameters
- Fix HLSL OpDebugFunction file name
- Fix duplicate decorations
- Enable compilation of glslang without thread support for WASI
Release 14.3.0
Changes in this release:
- Generate vector constructions more efficiently when sizes match
- Skip identity conversions for 8-bit and 16-bit types
- Add cmake aliases for public libraries
- Support ARM extended matrix layout
- Emit debug info for buffer references
- Add support for OpExtInstWithForwardRefsKHR
- Generate SPV_EXT_replicated_compisites when requested by pragma
- Reuse loads generated for repeated function arguments
- Fix gl_HitT alias of gl_RayTmax
- Fix some cases where invalid SPIR-V was being generated when using separate samplers
- Add back layoutLocation to public API