blob: cd295e1b3249c6303c11ca6963664c698874d3df [file] [log] [blame]
David Neto91668542016-04-21 20:50:11 -04001Revision history for SPIRV-Tools
2
David Neto26b51ef2016-09-12 16:48:05 -04003v2016.5-dev 2016-09-12
David Netoe0dd0332016-09-13 12:38:42 -04004 - Disassembler: Generate friendly names for built-in variables.
David Neto26b51ef2016-09-12 16:48:05 -04005 - Partial fixes:
6 #359: Add Emacs helper for automatically diassembling/assembling a SPIR-V
7 binary on file load/save.
David Neto5c9080e2016-09-14 11:04:19 -04008 - Fixes:
David Neto247e0242016-09-14 15:22:47 -04009 #414: Validator: Allow OpUndef for composite constants
David Neto5c9080e2016-09-14 11:04:19 -040010 #415: Validator: Phi can use its own value in some cases.
David Netoe70a9572016-09-01 15:38:53 -040011
David Neto9fc86582016-09-01 15:33:59 -040012v2016.4 2016-09-01
13 - Relicensed under Apache 2.0
qining380f36e2016-08-04 13:24:08 -040014 - 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 Neto9fc86582016-09-01 15:33:59 -040017 - Fixes issues:
18 #318: Relicensed under Apache 2.0
David Neto0d4b73c2016-08-24 11:18:16 -040019
David Netoa7a84bd2016-08-24 11:17:07 -040020v2016.3 2016-08-24
David Netoc2967012016-08-05 18:19:30 -040021 - 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 Neto996a8142016-08-03 11:55:14 -040023 - 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 Neto3c35b632016-08-22 11:38:18 -040026 - Add spirv-lesspipe.sh filter utility
qining23266c92016-08-10 16:02:18 -040027 - Fixes issues:
David Neto77848292016-08-10 10:40:59 -040028 #288: Check def-use dominance rules for OpPhi (variable,parent) operands
David Netoa7a84bd2016-08-24 11:17:07 -040029 #339: Allow OpUndef in types-constants-global-vars section, as required
30 by SPIR-V 1.0 Rev7, 1.1 Rev 3.
David Neto033b7d02016-08-12 14:19:17 -040031 #340: Avoid race on mkdir during build
David Neto97d06a32016-08-24 09:47:49 -040032 #365: Relax PointSize, ClipDistance, CullDistance capability check in all
33 environments not just Vulkan 1.0.
David Netoaa303122016-08-05 17:10:36 -040034
David Neto8e3ac3c2016-08-05 17:07:34 -040035v2016.2 2016-08-05
Umar Arshadefc782d2016-07-13 18:57:52 -040036 - Validator is incomplete
37 - Checks ID use block is dominated by definition block
David Netoc978b722016-07-27 17:02:22 -040038 - Add optimization passes (in API and spirv-opt command)
qininga2450622016-07-26 12:11:03 -040039 - Strip debug info instructions
40 - Freeze spec constant to their default values
David Neto8e3ac3c2016-08-05 17:07:34 -040041 - Allow INotEqual as operation for OpSpecConstantOp
David Netoc978b722016-07-27 17:02:22 -040042 - 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 Neto8e3ac3c2016-08-05 17:07:34 -040046 #286: validator: don't incorrectly generate def-use error for
47 (variable,parent) parameters to OpPhi
David Neto9acc0f12016-08-02 11:59:10 -040048 #290: disassembler: never generate bare % for an identifier
David Neto621fa392016-08-04 14:57:09 -040049 #295: validator: def-use dominance check should ignore unreachable uses
David Neto8e3ac3c2016-08-05 17:07:34 -040050 #276: validator: allow unreachable continue constructs
51 #297: validator: allow an unreachable block to branch to a reachable
52 merge block
Lei Zhang45af1dd2016-07-19 15:04:43 -040053
Lei Zhang1e7c5cb2016-07-19 15:03:52 -040054v2016.1 2016-07-19
David Neto06581f52016-07-07 17:03:22 -040055 - Fix https://github.com/KhronosGroup/SPIRV-Tools/issues/261
56 Turn off ClipDistance and CullDistance capability checks for Vulkan.
David Neto0bdcc232016-07-08 14:29:52 -040057 - 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 Zhang1e7c5cb2016-07-19 15:03:52 -040060 - 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 Netoce7ced12016-07-04 15:13:08 -040063
David Neto84058932016-06-02 15:29:13 -040064v2016.0 2016-07-04
David Neto91668542016-04-21 20:50:11 -040065
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 Neto84058932016-06-02 15:29:13 -040080 - 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 Neto91668542016-04-21 20:50:11 -040086 - Supported on Linux, OSX, Android, Windows
David Neto37e46002016-06-14 11:45:35 -040087
88 - Fixes bugs:
89 - #143: OpenCL pow and pown arguments