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