Add spirv-lesspipe.sh
[platform/upstream/SPIRV-Tools.git] / CHANGES
1 Revision history for SPIRV-Tools
2
3 v2016.3-dev 2016-08-11
4  - Start v2016.3
5  - Add target environment enums for OpenCL 2.1, OpenCL 2.2,
6    OpenGL 4.0, OpenGL 4.1, OpenGL 4.2, OpenGL 4.3, OpenGL 4.5.
7  - Add spirv-cfg, an experimental tool to dump the control flow graph
8    as a GraphiViz "dot" graph
9  - Add optimization pass: Eliminate dead constants.
10  - Add spirv-lesspipe.sh filter utility
11  - Fixes issues:
12    #288: Check def-use dominance rules for OpPhi (variable,parent) operands
13    #340: Avoid race on mkdir during build
14    #365: Relax PointSize, ClipDistance, CullDistance capability check in all
15      environments not just Vulkan 1.0.
16
17 v2016.2 2016-08-05
18  - Validator is incomplete
19    - Checks ID use block is dominated by definition block
20  - Add optimization passes (in API and spirv-opt command)
21    - Strip debug info instructions
22    - Freeze spec constant to their default values
23  - Allow INotEqual as operation for OpSpecConstantOp
24  - Fixes bugs:
25    #270: validator: crash when continue construct is unreachable
26    #279: validator: infinite loop when analyzing some degenerate control
27      flow graphs
28    #286: validator: don't incorrectly generate def-use error for
29          (variable,parent) parameters to OpPhi
30    #290: disassembler: never generate bare % for an identifier
31    #295: validator: def-use dominance check should ignore unreachable uses
32    #276: validator: allow unreachable continue constructs
33    #297: validator: allow an unreachable block to branch to a reachable
34          merge block
35
36 v2016.1 2016-07-19
37  - Fix https://github.com/KhronosGroup/SPIRV-Tools/issues/261
38    Turn off ClipDistance and CullDistance capability checks for Vulkan.
39  - The disassembler can emit friendly names based on debug info (OpName
40    instructions), and will infer somewhat friendly names for most types.
41    This is turned on by default for the spirv-dis command line tool.
42  - Updated to support SPIR-V 1.1 rev 2
43    - Input StorageClass, Sampled1D capability, and SampledBuffer capability
44      do not require Shader capability anymore.
45
46 v2016.0 2016-07-04
47
48  - Adds v<year>.<index> versioning, with "-dev" indicating
49    work in progress.  The intent is to more easly report
50    and summarize functionality when SPIRV-Tools is incorporated
51    in downstream projects.
52
53  - Summary of functionality (See the README.md for more):
54    - Supports SPIR-V 1.1 Rev 1
55    - Supports SPIR-V 1.0 Rev 5
56    - Supports GLSL std450 extended instructions 1.0 Rev 3
57    - Supports OpenCL extended instructions 1.0 Rev 2
58    - Assembler, disassembler are complete
59      - Supports floating point widths of 16, 32, 64 bits
60      - Supports integer widths up to 64 bits
61    - Validator is incomplete
62      - Checks capability requirements in most cases
63      - Checks module layout constraints
64      - Checks ID use-definition ordering constraints,
65        ignoring control flow
66      - Checks some control flow graph rules
67    - Optimizer is introduced, with few available transforms.
68    - Supported on Linux, OSX, Android, Windows
69
70  - Fixes bugs:
71    - #143: OpenCL pow and pown arguments