| Revision history for SPIRV-Tools |
| |
| v2016.4 2016-09-01 |
| - Relicensed under Apache 2.0 |
| - Add optimization passes (in API and spirv-opt command) |
| - Fold spec constants defined with OpSpecConstantOp and |
| OpSpecConstantComposite to normal constants with fixed value(s). |
| - Fixes issues: |
| #318: Relicensed under Apache 2.0 |
| |
| v2016.3 2016-08-24 |
| - Add target environment enums for OpenCL 2.1, OpenCL 2.2, |
| OpenGL 4.0, OpenGL 4.1, OpenGL 4.2, OpenGL 4.3, OpenGL 4.5. |
| - Add spirv-cfg, an experimental tool to dump the control flow graph |
| as a GraphiViz "dot" graph |
| - Add optimization pass: Eliminate dead constants. |
| - Add spirv-lesspipe.sh filter utility |
| - Fixes issues: |
| #288: Check def-use dominance rules for OpPhi (variable,parent) operands |
| #339: Allow OpUndef in types-constants-global-vars section, as required |
| by SPIR-V 1.0 Rev7, 1.1 Rev 3. |
| #340: Avoid race on mkdir during build |
| #365: Relax PointSize, ClipDistance, CullDistance capability check in all |
| environments not just Vulkan 1.0. |
| |
| v2016.2 2016-08-05 |
| - Validator is incomplete |
| - Checks ID use block is dominated by definition block |
| - Add optimization passes (in API and spirv-opt command) |
| - Strip debug info instructions |
| - Freeze spec constant to their default values |
| - Allow INotEqual as operation for OpSpecConstantOp |
| - Fixes bugs: |
| #270: validator: crash when continue construct is unreachable |
| #279: validator: infinite loop when analyzing some degenerate control |
| flow graphs |
| #286: validator: don't incorrectly generate def-use error for |
| (variable,parent) parameters to OpPhi |
| #290: disassembler: never generate bare % for an identifier |
| #295: validator: def-use dominance check should ignore unreachable uses |
| #276: validator: allow unreachable continue constructs |
| #297: validator: allow an unreachable block to branch to a reachable |
| merge block |
| |
| v2016.1 2016-07-19 |
| - Fix https://github.com/KhronosGroup/SPIRV-Tools/issues/261 |
| Turn off ClipDistance and CullDistance capability checks for Vulkan. |
| - The disassembler can emit friendly names based on debug info (OpName |
| instructions), and will infer somewhat friendly names for most types. |
| This is turned on by default for the spirv-dis command line tool. |
| - Updated to support SPIR-V 1.1 rev 2 |
| - Input StorageClass, Sampled1D capability, and SampledBuffer capability |
| do not require Shader capability anymore. |
| |
| v2016.0 2016-07-04 |
| |
| - Adds v<year>.<index> versioning, with "-dev" indicating |
| work in progress. The intent is to more easly report |
| and summarize functionality when SPIRV-Tools is incorporated |
| in downstream projects. |
| |
| - Summary of functionality (See the README.md for more): |
| - Supports SPIR-V 1.1 Rev 1 |
| - Supports SPIR-V 1.0 Rev 5 |
| - Supports GLSL std450 extended instructions 1.0 Rev 3 |
| - Supports OpenCL extended instructions 1.0 Rev 2 |
| - Assembler, disassembler are complete |
| - Supports floating point widths of 16, 32, 64 bits |
| - Supports integer widths up to 64 bits |
| - Validator is incomplete |
| - Checks capability requirements in most cases |
| - Checks module layout constraints |
| - Checks ID use-definition ordering constraints, |
| ignoring control flow |
| - Checks some control flow graph rules |
| - Optimizer is introduced, with few available transforms. |
| - Supported on Linux, OSX, Android, Windows |
| |
| - Fixes bugs: |
| - #143: OpenCL pow and pown arguments |