-
Release v2026.4 Stable
released this
2026-09-10 08:28:18 -05:00 | 66 commits to main since this release- Optimizer
- Add pass to convert typed pointers to untyped pointers (
--convert-to-untyped) (#6714) - Support optimizing shaders using SPV_KHR_opacity_micromap across dead-code elimination and local passes (#6833)
- Add folding rule to dissolve OpCopyLogical of OpCompositeConstruct in simplification pass (#6746)
- Harden optimizer passes against ID overflow (#6851, #6852, #6857, #6858, #6863)
- Filter duplicate decorations during module serialization to binary (#6828)
- Correctness fixes for vector constant folding size and OpSelect folding pre-SPIR-V 1.4 (#6798, #6827)
- Stability fixes for IRContext analysis handling, debug info stripping, and eliminate dead functions (#6765, #6797, #6799)
- Add pass to convert typed pointers to untyped pointers (
- Validator
- Support and validate SPV_EXT_cooperative_matrix_maintenance1 (#6825)
- Support and validate SPV_QCOM_image_processing3 and OpImageGatherQCOM (#6672)
- Add validation for NonSemantic.DebugPrintf extended instruction set (#6861)
- Validate OpAbortKHR explicit layout message type and require scalar packing (#6854, #6859)
- Tighten relaxed block layout alignments and add explicit alignment VUIDs (#6819, #6853)
- Validate Offset decoration on Input/Output storage classes and add VUID 12509 (#6835, #6855)
- Allow OpExtInstWithForwardRefsKHR in generic non-semantic instruction sets (#6847)
- Restrict Workgroup execution scope to OpGroupNonUniformRotateKHR for non-uniform group operations (#6811)
- Validate OpControlBarrierArriveEXT execution and memory scopes (#6782)
- Allow Generic pointer casts to and from CodeSectionINTEL storage class (#6787)
- Allow BFloat16 and FP8 result types in OpExtInst (#6734)
- Validate OpSourceContinued order following OpSource (#6840)
- Correctness fixes for >64-bit integer constant evaluation and AliasScopeINTELMask/NoAliasINTELMask operand counting (#6816, #6791, #6865)
- Validate ArrayStride on OpConstantDataKHR result types (#6870)
- Add validation for UTFEncodedKHR decoration on array types (#6872)
- Validate that OpAbortKHR Message Type is a concrete type (#6873)
- Linker
- Detect duplicate exported definitions without imports to prevent ODR violations (#6750)
- Assembler/Disassembler
- Initialize parsed operand floating-point encoding to ensure deterministic disassembly of literal floats (#6834)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Optimizer
-
Release v2026.3 Stable
released this
2026-07-08 14:46:47 -05:00 | 130 commits to main since this release- General
- Support SPV_QCOM_multiple_wait_queues, SPV_KHR_opacity_micromap, and SPV_EXT_ocp_microscaling_types (#6671, #6670, #6772)
- Add ArmExperimentalMLOperations and NonSemantic.Graph.DebugInfo instruction sets (#6692, #6666)
- Fix unbounded memory usage in FriendlyNameMapper (#6763)
- Improved hex-float compilation and float equality testing (#6778, #6783)
- Various build system and dependency updates (Bazel, GN, Protobuf, Abseil)
- Optimizer
- Stability fixes for DeadBranchElimPass, CodeSinkingPass, and OrderBlocks (#6764, #6703, #6676)
- Improved handling of tensor constants, non-semantic instructions, and loop decorations (#6684, #6721, #6719, #6690)
- Add folding rule for extract from copy logical and prevent word limit overflows (#6725, #6722)
- Validator
- Support SPV_EXT_ocp_microscaling_types, SPV_EXT_split_barrier, and SPV_ARM_graph (#6779, #6732, #6694)
- Support for SPV_NV_cooperative_matrix_decode_vector and Intel extensions (#6693, #6717, #6665)
- Enhanced error reporting with source line printing and Shader Debug Info (#6648, #6698, #6691, #6686, #6685, #6681)
- Correctness fixes for ray queries, descriptors, OpSpecConstantOp, and array validation (#6710, #6729, #6731, #6777, #6709)
- Disallow duplicate targets for OpGroupDecorate and multiple graph entry points (#6720, #6754)
- Assembler/Disassembler
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- General
-
Release v2026.2 Stable
released this
2026-04-29 12:02:58 -05:00 | 215 commits to main since this release- General
- Fix build for NonSemanticShaderDebugInfo in GN (#6647)
- Support SPV_KHR_abort and SPV_KHR_constant_data (#6625)
- Support versioned NonSemanticShaderDebugInfo imports (#6555)
- Fix C++20 compilation issue with large integer literals (#6557)
- Remove SVA (Shader Validation Assistant) (#6550)
- Improved Kokoro build configuration and storage usage (#6573, #6551)
- Various dependency rolls and CI updates
- Optimizer
- Fold OpCompositeExtract feeding from OpCopyLogical or OpLoad (#6614)
- Fix DebugValue placements and initialization (#6599, #6626)
- Support OpConstantCompositeReplicateEXT in constant manager (#6616)
- Aggressive DCE support for untyped pointers and OpUntypedVariableKHR (#6602, #6607)
- Optimize SPV_EXT_opacity_micromap and SPV_EXT_shader_invocation_reorder (#6571)
- Add LegalizeMultidimArrayPass and improve access chain reordering (#6535, #6545)
- Added various folding and reassociation rules (#6453, #6504, #6454, #6456)
- Support for optimizing SPV_NV_push_constant_bank (#6547)
- Validator
- Add validation for 4-bit integer types (#6644)
- Support and validate SPV_KHR_constant_data (OpConstantDataKHR, OpSpecConstantDataKHR) (#6646, #6643, #6642)
- Validate NonSemanticShaderDebugInfo 101 and versioned imports (#6635, #6555)
- Improve validation for Intel SPIR-V extensions and various KHR/EXT extensions (#6232, #6589, #6583, etc.)
- Extensive validation coverage for OpSpecConstantOp (#6596, #6585, #6582, #6579, #6578, #6576)
- Check output location uniqueness for GeometryStreams (#6630)
- Improved validation for variables, constants, and types (#6634, #6598, #6595, #6568)
- Added validation for several new opcodes and capabilities (OpGroupAsyncCopy, OpLifetimeStart/Stop, etc.) (#6519, #6514, #6515)
- Assembler/Disassembler
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- General
-
Release v2026.1 Stable
released this
2026-01-22 13:45:19 -06:00 | 324 commits to main since this release- General
- spirv-tools: Fix infinite recursion in SmallVector::operator== on MSVC (#6470)
- Add support for SPV_NV_push_constant_bank (#6507)
- Enable UseMultiToolTask for msbuild performance (#6472)
- Fix asan error in stack usage (#6434)
- Fix crash in array length validation (#6500)
- Fix infinite loop in logical pointer validation (#6450)
- Implement SPV_EXT_descriptor_heap (#6503)
- Optimizer
- Adding constant folding for NMin, NMax and NClamp (#6433)
- Also remap DebugScope instructions (#6501)
- Change ValueNumber to use spivOpcodeIsCommutativeBinaryOperator (#6431)
- Extending factoring folding rules to support subtraction (#6432)
- Extending negation folding rules (#6444)
- Folding Rules For Common Comparisons (#6437)
- Folding rules for negation and cancellation (#6452)
- Harden CFGCleanupPass against ID overflow (#6439)
- Harden CombineAccessChainsPass against ID overflow (#6440)
- Harden CopyPropagateArraysPass against ID overflow (#6441)
- Remove lingering debug-scopes. (#6416)
- add adce test for debug declare (#6462)
- fix adce when ns debug info present (#6217) (#6420)
- Validator
- Handle OpTypeVectorIdEXT in validate_interfaces.cpp (#6492)
- Validate SPV_EXT_long_vector (#6471)
- Validate floats/int Image Operands are 32-bit (#6477)
- Add Mesh Shading Read Output check (#6426)
- Add Mesh/Task to check for LocalSize (#6459)
- Add missing LOD non-zero MS (#6496)
- Add width to IsFloatScalarType (#6489)
- Better atomic storage class message (#6425)
- Better error message when types are the same (#6427)
- Check Mesh Topology builtin by entry point (#6457)
- Check for CoopMat scope (#6442)
- Combine Image Coordinate checks (#6494)
- Fix crash with bad OpUntypedArrayLengthKHR (#6493)
- Label VUID 10823 (#6488)
- Provide RuntimeDescriptorArray hint in message (#6448)
- Use new StorageClassToString util (#6460)
- Use validation_state.cpp helpers (#6478)
- Validate ImageQuerySizeLod is 32-bit (#6479)
- Validate Mesh Shader output are an array (#6449)
- add missing relational ops to InvalidTypePass (#6495)
- Diff
- diff: Match OpExtInst in debug and types/values sections (#6430)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- General
-
Release v2025.5 Stable
released this
2025-11-19 12:50:43 -06:00 | 385 commits to main since this release- General
- Validator
- Optimizer
- spirv-opt: Add a folding rule for
OpBitReverseand fixOpBitCastto support lower to higher bit conversions. (#6321) - spirv-opt: Add basic support for graphs (#6351)
- spirv-opt: Adding folding rules for bitwise and (#6361)
- spirv-opt: Adding normal form to ValueNumber calculation (#6371)
- spirv-opt: Cache IsReadOnlyLoad in ValueNumberTable (#6385)
- spirv-opt: Clone decorations when unrolling loops (#6373)
- spirv-opt: Correct ADCE bug keeping dead DebugValue Value operands (#6368)
- spirv-opt: Fix constant folding for
OpBitcaston signed integers. (#6378) - spirv-opt: Fix id overflow in ConvertToSampledImage (#6339)
- spirv-opt: Handle ID overflow in AggressiveDCEPass (#6366)
- spirv-opt: Handle ID overflow in SplitCombinedImageSamplerPass (#6406)
- spirv-opt: Handle id overflow in CCP and constant folding (#6367)
- spirv-opt: Handle id overflow in MergeReturnPass (#6340)
- spirv-opt: Handle id overflow in amd_ext_to_khr (#6403)
- Add
SPV_KHR_maximal_reconvergenceto the allowlist (#6372) - Adding folding rules for commutive bitwise operations (xor/or/and). (#6358)
- [OPT] Move definition of Pass::Status to Utils (#6402)
- spirv-opt: Add a folding rule for
- Validator:
- spirv-val: Add LocalInvocationIndex checks (#6395)
- spirv-val: Add validation for SPV_KHR_fma (#6388)
- spirv-val: Break up the 3000 line ValidateExtInst function (#6364)
- spirv-val: Fix VUID churn for 10685 (#6389)
- spirv-val: Improve Explicit Layout message (#6331)
- spirv-val: Use spvOpcodeString consistently (#6393)
- Relax validation rule for DebugGlobalVariable variable (#6382)
- Validate SPV_EXT_shader_64bit_indexing (#6376)
- Validate logical pointer restrictions (#6240)
- [tools/val] fix u8str for real this time (#6341)
- Add VK_EXT_shader_uniform_buffer_unsized_array (#6386)
- Assembler
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
SPIRV-Tools v2021.4 Stable
released this
2021-11-11 11:07:05 -06:00 | 1648 commits to main since this releaseDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
SPIRV-Tools v2021.3 Stable
released this
2021-08-25 09:08:38 -05:00 | 1735 commits to main since this releaseDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
SPIRV-Tools v2020.4 Stable
released this
2020-07-22 13:26:13 -05:00 | 2231 commits to main since this releaseDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
SPIRV-Tools v2019.2 Stable
released this
2019-02-20 10:04:41 -06:00 | 2903 commits to main since this releaseDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
SPIRV-Tools v2022.1 Stable
released this | 1605 commits to main since this release
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)