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