David Neto | 9166854 | 2016-04-21 20:50:11 -0400 | [diff] [blame] | 1 | Revision history for SPIRV-Tools |
| 2 | |
David Neto | 26b51ef | 2016-09-12 16:48:05 -0400 | [diff] [blame] | 3 | v2016.5-dev 2016-09-12 |
David Neto | e0dd033 | 2016-09-13 12:38:42 -0400 | [diff] [blame^] | 4 | - Disassembler: Generate friendly names for built-in variables. |
David Neto | 26b51ef | 2016-09-12 16:48:05 -0400 | [diff] [blame] | 5 | - Partial fixes: |
| 6 | #359: Add Emacs helper for automatically diassembling/assembling a SPIR-V |
| 7 | binary on file load/save. |
David Neto | 5c9080e | 2016-09-14 11:04:19 -0400 | [diff] [blame] | 8 | - Fixes: |
David Neto | 247e024 | 2016-09-14 15:22:47 -0400 | [diff] [blame] | 9 | #414: Validator: Allow OpUndef for composite constants |
David Neto | 5c9080e | 2016-09-14 11:04:19 -0400 | [diff] [blame] | 10 | #415: Validator: Phi can use its own value in some cases. |
David Neto | e70a957 | 2016-09-01 15:38:53 -0400 | [diff] [blame] | 11 | |
David Neto | 9fc8658 | 2016-09-01 15:33:59 -0400 | [diff] [blame] | 12 | v2016.4 2016-09-01 |
| 13 | - Relicensed under Apache 2.0 |
qining | 380f36e | 2016-08-04 13:24:08 -0400 | [diff] [blame] | 14 | - Add optimization passes (in API and spirv-opt command) |
| 15 | - Fold spec constants defined with OpSpecConstantOp and |
| 16 | OpSpecConstantComposite to normal constants with fixed value(s). |
David Neto | 9fc8658 | 2016-09-01 15:33:59 -0400 | [diff] [blame] | 17 | - Fixes issues: |
| 18 | #318: Relicensed under Apache 2.0 |
David Neto | 0d4b73c | 2016-08-24 11:18:16 -0400 | [diff] [blame] | 19 | |
David Neto | a7a84bd | 2016-08-24 11:17:07 -0400 | [diff] [blame] | 20 | v2016.3 2016-08-24 |
David Neto | c296701 | 2016-08-05 18:19:30 -0400 | [diff] [blame] | 21 | - Add target environment enums for OpenCL 2.1, OpenCL 2.2, |
| 22 | OpenGL 4.0, OpenGL 4.1, OpenGL 4.2, OpenGL 4.3, OpenGL 4.5. |
David Neto | 996a814 | 2016-08-03 11:55:14 -0400 | [diff] [blame] | 23 | - Add spirv-cfg, an experimental tool to dump the control flow graph |
| 24 | as a GraphiViz "dot" graph |
| 25 | - Add optimization pass: Eliminate dead constants. |
David Neto | 3c35b63 | 2016-08-22 11:38:18 -0400 | [diff] [blame] | 26 | - Add spirv-lesspipe.sh filter utility |
qining | 23266c9 | 2016-08-10 16:02:18 -0400 | [diff] [blame] | 27 | - Fixes issues: |
David Neto | 7784829 | 2016-08-10 10:40:59 -0400 | [diff] [blame] | 28 | #288: Check def-use dominance rules for OpPhi (variable,parent) operands |
David Neto | a7a84bd | 2016-08-24 11:17:07 -0400 | [diff] [blame] | 29 | #339: Allow OpUndef in types-constants-global-vars section, as required |
| 30 | by SPIR-V 1.0 Rev7, 1.1 Rev 3. |
David Neto | 033b7d0 | 2016-08-12 14:19:17 -0400 | [diff] [blame] | 31 | #340: Avoid race on mkdir during build |
David Neto | 97d06a3 | 2016-08-24 09:47:49 -0400 | [diff] [blame] | 32 | #365: Relax PointSize, ClipDistance, CullDistance capability check in all |
| 33 | environments not just Vulkan 1.0. |
David Neto | aa30312 | 2016-08-05 17:10:36 -0400 | [diff] [blame] | 34 | |
David Neto | 8e3ac3c | 2016-08-05 17:07:34 -0400 | [diff] [blame] | 35 | v2016.2 2016-08-05 |
Umar Arshad | efc782d | 2016-07-13 18:57:52 -0400 | [diff] [blame] | 36 | - Validator is incomplete |
| 37 | - Checks ID use block is dominated by definition block |
David Neto | c978b72 | 2016-07-27 17:02:22 -0400 | [diff] [blame] | 38 | - Add optimization passes (in API and spirv-opt command) |
qining | a245062 | 2016-07-26 12:11:03 -0400 | [diff] [blame] | 39 | - Strip debug info instructions |
| 40 | - Freeze spec constant to their default values |
David Neto | 8e3ac3c | 2016-08-05 17:07:34 -0400 | [diff] [blame] | 41 | - Allow INotEqual as operation for OpSpecConstantOp |
David Neto | c978b72 | 2016-07-27 17:02:22 -0400 | [diff] [blame] | 42 | - Fixes bugs: |
| 43 | #270: validator: crash when continue construct is unreachable |
| 44 | #279: validator: infinite loop when analyzing some degenerate control |
| 45 | flow graphs |
David Neto | 8e3ac3c | 2016-08-05 17:07:34 -0400 | [diff] [blame] | 46 | #286: validator: don't incorrectly generate def-use error for |
| 47 | (variable,parent) parameters to OpPhi |
David Neto | 9acc0f1 | 2016-08-02 11:59:10 -0400 | [diff] [blame] | 48 | #290: disassembler: never generate bare % for an identifier |
David Neto | 621fa39 | 2016-08-04 14:57:09 -0400 | [diff] [blame] | 49 | #295: validator: def-use dominance check should ignore unreachable uses |
David Neto | 8e3ac3c | 2016-08-05 17:07:34 -0400 | [diff] [blame] | 50 | #276: validator: allow unreachable continue constructs |
| 51 | #297: validator: allow an unreachable block to branch to a reachable |
| 52 | merge block |
Lei Zhang | 45af1dd | 2016-07-19 15:04:43 -0400 | [diff] [blame] | 53 | |
Lei Zhang | 1e7c5cb | 2016-07-19 15:03:52 -0400 | [diff] [blame] | 54 | v2016.1 2016-07-19 |
David Neto | 06581f5 | 2016-07-07 17:03:22 -0400 | [diff] [blame] | 55 | - Fix https://github.com/KhronosGroup/SPIRV-Tools/issues/261 |
| 56 | Turn off ClipDistance and CullDistance capability checks for Vulkan. |
David Neto | 0bdcc23 | 2016-07-08 14:29:52 -0400 | [diff] [blame] | 57 | - The disassembler can emit friendly names based on debug info (OpName |
| 58 | instructions), and will infer somewhat friendly names for most types. |
| 59 | This is turned on by default for the spirv-dis command line tool. |
Lei Zhang | 1e7c5cb | 2016-07-19 15:03:52 -0400 | [diff] [blame] | 60 | - Updated to support SPIR-V 1.1 rev 2 |
| 61 | - Input StorageClass, Sampled1D capability, and SampledBuffer capability |
| 62 | do not require Shader capability anymore. |
David Neto | ce7ced1 | 2016-07-04 15:13:08 -0400 | [diff] [blame] | 63 | |
David Neto | 8405893 | 2016-06-02 15:29:13 -0400 | [diff] [blame] | 64 | v2016.0 2016-07-04 |
David Neto | 9166854 | 2016-04-21 20:50:11 -0400 | [diff] [blame] | 65 | |
| 66 | - Adds v<year>.<index> versioning, with "-dev" indicating |
| 67 | work in progress. The intent is to more easly report |
| 68 | and summarize functionality when SPIRV-Tools is incorporated |
| 69 | in downstream projects. |
| 70 | |
| 71 | - Summary of functionality (See the README.md for more): |
| 72 | - Supports SPIR-V 1.1 Rev 1 |
| 73 | - Supports SPIR-V 1.0 Rev 5 |
| 74 | - Supports GLSL std450 extended instructions 1.0 Rev 3 |
| 75 | - Supports OpenCL extended instructions 1.0 Rev 2 |
| 76 | - Assembler, disassembler are complete |
| 77 | - Supports floating point widths of 16, 32, 64 bits |
| 78 | - Supports integer widths up to 64 bits |
| 79 | - Validator is incomplete |
David Neto | 8405893 | 2016-06-02 15:29:13 -0400 | [diff] [blame] | 80 | - Checks capability requirements in most cases |
| 81 | - Checks module layout constraints |
| 82 | - Checks ID use-definition ordering constraints, |
| 83 | ignoring control flow |
| 84 | - Checks some control flow graph rules |
| 85 | - Optimizer is introduced, with few available transforms. |
David Neto | 9166854 | 2016-04-21 20:50:11 -0400 | [diff] [blame] | 86 | - Supported on Linux, OSX, Android, Windows |
David Neto | 37e4600 | 2016-06-14 11:45:35 -0400 | [diff] [blame] | 87 | |
| 88 | - Fixes bugs: |
| 89 | - #143: OpenCL pow and pown arguments |