xref: /aosp_15_r20/external/swiftshader/third_party/SPIRV-Tools/CHANGES (revision 03ce13f70fcc45d86ee91b7ee4cab1936a95046e)
1*03ce13f7SAndroid Build Coastguard WorkerRevision history for SPIRV-Tools
2*03ce13f7SAndroid Build Coastguard Worker
3*03ce13f7SAndroid Build Coastguard Workerv2024.2 2024-04-22
4*03ce13f7SAndroid Build Coastguard Worker  - General
5*03ce13f7SAndroid Build Coastguard Worker    - Add SPIRV_TOOLS_EXPORT to public C++ API (#5591)
6*03ce13f7SAndroid Build Coastguard Worker    - Use bazel 7 and bzlmod (#5601)
7*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
8*03ce13f7SAndroid Build Coastguard Worker    - opt: add GroupNonUniformPartitionedNV capability to trim pass (#5648)
9*03ce13f7SAndroid Build Coastguard Worker    - Fix rebuilding types with circular references. (#5637)
10*03ce13f7SAndroid Build Coastguard Worker    - Add AliasedPointer decoration (#5635)
11*03ce13f7SAndroid Build Coastguard Worker    - add support for vulkan-shader-profiler external passes (#5512)
12*03ce13f7SAndroid Build Coastguard Worker  - Validator
13*03ce13f7SAndroid Build Coastguard Worker    - A fix to support of SPV_QCOM_image_processing2 (#5646)
14*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add Vulkan check for Rect Dim in OpTypeImage (#5644)
15*03ce13f7SAndroid Build Coastguard Worker    - Validate duplicate decorations and execution modes (#5641)
16*03ce13f7SAndroid Build Coastguard Worker    - Validator: Support SPV_NV_raw_access_chains (#5568)
17*03ce13f7SAndroid Build Coastguard Worker
18*03ce13f7SAndroid Build Coastguard Workerv2024.1 2024-03-06
19*03ce13f7SAndroid Build Coastguard Worker  - General
20*03ce13f7SAndroid Build Coastguard Worker    - Add tooling support for SPV_KHR_maximal_reconvergence (#5542)
21*03ce13f7SAndroid Build Coastguard Worker    - Add support for SPV_KHR_float_controls2 (#5543)
22*03ce13f7SAndroid Build Coastguard Worker    - SPV_KHR_quad_control (#5547)
23*03ce13f7SAndroid Build Coastguard Worker    - Fold 64-bit int operations (#5561)
24*03ce13f7SAndroid Build Coastguard Worker    - update image enum tests to remove Kernel capability (#5562)
25*03ce13f7SAndroid Build Coastguard Worker    - Support operand kind for SPV_INTEL_maximum_registers (#5580)
26*03ce13f7SAndroid Build Coastguard Worker    - SPV_NV_shader_atomic_fp16_vector (#5581)
27*03ce13f7SAndroid Build Coastguard Worker    - Support for SPV_QCOM_image_processing2 (#5582)
28*03ce13f7SAndroid Build Coastguard Worker    - Fix access chain struct checks (#5592)
29*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
30*03ce13f7SAndroid Build Coastguard Worker    - opt: add Int16 and Float16 to capability trim pass (#5519)
31*03ce13f7SAndroid Build Coastguard Worker    - Add preserver-interface option to spirv-opt (#5524)
32*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: Fix OpCompositeExtract relaxation with struct operands (#5536)
33*03ce13f7SAndroid Build Coastguard Worker    - opt: Add VulkanMemoryModelDeviceScope to trim (#5544)
34*03ce13f7SAndroid Build Coastguard Worker    - opt: Add TrimCapabilities pass to spirv-opt tool (#5545)
35*03ce13f7SAndroid Build Coastguard Worker    - Add modify-maximal-reconvergence to spirv-opt help (#5546)
36*03ce13f7SAndroid Build Coastguard Worker    - opt: add SPV_EXT_mesh_shader to opt allowlist (#5551)
37*03ce13f7SAndroid Build Coastguard Worker    - opt: Add OpEntryPoint to DescriptorScalarReplacement pass (#5553)
38*03ce13f7SAndroid Build Coastguard Worker    - opt: prevent meld to merge block with MaximalReconvergence (#5557)
39*03ce13f7SAndroid Build Coastguard Worker    - [OPT] Use new instruction folder for for all opcodes in spec consti folding (#5569)
40*03ce13f7SAndroid Build Coastguard Worker    - [OPT] Identify arrays with unknown length in copy prop arrays (#5570)
41*03ce13f7SAndroid Build Coastguard Worker    - [OPT] Add removed unused interface var pass to legalization passes (#5579)
42*03ce13f7SAndroid Build Coastguard Worker  - Validator
43*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Re-enable OpControlBarrier VU (#5527)
44*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add Mesh Primitive Built-In validaiton (#5529)
45*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Validate PhysicalStorageBuffer Stage Interface (#5539)
46*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Multiple interface var with same SC (#5528)
47*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Revert Validate PhysicalStorageBuffer Stage Interface (#5575)
48*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Make Constant evaluation consistent (#5587)
49*03ce13f7SAndroid Build Coastguard Worker
50*03ce13f7SAndroid Build Coastguard Workerv2023.6 2023-12-18
51*03ce13f7SAndroid Build Coastguard Worker  - General
52*03ce13f7SAndroid Build Coastguard Worker    - update_build_version.py produce deterministic header. (#5426)
53*03ce13f7SAndroid Build Coastguard Worker    - Support missing git in update_build_version.py (#5473)
54*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
55*03ce13f7SAndroid Build Coastguard Worker    - Add ComputeDerivativeGroup*NV capabilities to trim capabilities pass. (#5430)
56*03ce13f7SAndroid Build Coastguard Worker    - Do not crash when tryingto fold unsupported spec constant (#5496)
57*03ce13f7SAndroid Build Coastguard Worker    - instrument: Fix handling of gl_InvocationID (#5493)
58*03ce13f7SAndroid Build Coastguard Worker    - Fix nullptr argument in MarkInsertChain (#5465)
59*03ce13f7SAndroid Build Coastguard Worker    - opt: support 64-bit OpAccessChain index in FixStorageClass (#5446)
60*03ce13f7SAndroid Build Coastguard Worker    - opt: add StorageImageReadWithoutFormat to cap trim (#5475)
61*03ce13f7SAndroid Build Coastguard Worker    - opt: add PhysicalStorageBufferAddresses to trim (#5476)
62*03ce13f7SAndroid Build Coastguard Worker    - Fix array size calculation (#5463
63*03ce13f7SAndroid Build Coastguard Worker  - Validator
64*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Loosen restriction on base type of DebugTypePointer and DebugTypeQualifier (#5479)
65*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add WorkgroupMemoryExplicitLayoutKHR check for Block (#5461)
66*03ce13f7SAndroid Build Coastguard Worker
67*03ce13f7SAndroid Build Coastguard Workerv2023.5 2023-10-15
68*03ce13f7SAndroid Build Coastguard Worker  - General
69*03ce13f7SAndroid Build Coastguard Worker    - Support 2 Intel extensions (#5357)
70*03ce13f7SAndroid Build Coastguard Worker    - SPV_QCOM_image_processing support (#5223)
71*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
72*03ce13f7SAndroid Build Coastguard Worker    - opt: fix StorageInputOutput16 trimming. (#5359)
73*03ce13f7SAndroid Build Coastguard Worker    - opt: add StoragePushConstant16 to trim pass (#5366)
74*03ce13f7SAndroid Build Coastguard Worker    - opt: enable StorageUniform16 (#5371)
75*03ce13f7SAndroid Build Coastguard Worker    - opt: add bitmask support for capability trimming (#5372)
76*03ce13f7SAndroid Build Coastguard Worker    - opt: Add SwitchDescriptorSetPass (#5375)
77*03ce13f7SAndroid Build Coastguard Worker    - opt: add FragmentShader*InterlockEXT to capability trim pass (#5390)
78*03ce13f7SAndroid Build Coastguard Worker    - opt: add Int64 capability to trim pass (#5398)
79*03ce13f7SAndroid Build Coastguard Worker    - opt: add Float64 capability to trim pass (#5428)
80*03ce13f7SAndroid Build Coastguard Worker    - opt: add raytracing/rayquery to trim pass (#5397)
81*03ce13f7SAndroid Build Coastguard Worker    - opt: add ImageMSArray capability to trim pass. (#5395)
82*03ce13f7SAndroid Build Coastguard Worker    - Add SPV_KHR_physical_storage_buffer to allowlists (#5402)
83*03ce13f7SAndroid Build Coastguard Worker    - Add SPV_EXT_fragment_shader_interlock to allow lists (#5393)
84*03ce13f7SAndroid Build Coastguard Worker    - Make sure that fragment shader interlock instructions are not removed by DCE (#5400)
85*03ce13f7SAndroid Build Coastguard Worker    - instrument: Use Import linkage for instrumentation functions (#5355)
86*03ce13f7SAndroid Build Coastguard Worker    - Add a new legalization pass to dedupe invocation interlock instructions (#5409)
87*03ce13f7SAndroid Build Coastguard Worker    - instrument: Ensure linking works even of nothing is changed (#5419)
88*03ce13f7SAndroid Build Coastguard Worker  - Validator
89*03ce13f7SAndroid Build Coastguard Worker    - Move token version/cap/ext checks from parsing to validation (#5370)
90*03ce13f7SAndroid Build Coastguard Worker    - val: re-add ImageMSArray validation (#5394)
91*03ce13f7SAndroid Build Coastguard Worker  - Linker
92*03ce13f7SAndroid Build Coastguard Worker    - linker: Add --use-highest-version option
93*03ce13f7SAndroid Build Coastguard Worker
94*03ce13f7SAndroid Build Coastguard Workerv2023.4 2023-07-17
95*03ce13f7SAndroid Build Coastguard Worker  - General
96*03ce13f7SAndroid Build Coastguard Worker    - Set cmake_policy CMP0128 (#5341)
97*03ce13f7SAndroid Build Coastguard Worker    - Add python3 requirement for the script (#5326)
98*03ce13f7SAndroid Build Coastguard Worker    - Add support for LiteralFloat type (#5323)
99*03ce13f7SAndroid Build Coastguard Worker    - SPV_KHR_cooperative_matrix (#5286)
100*03ce13f7SAndroid Build Coastguard Worker    - Allow OpTypeBool in UniformConstant (#5237)
101*03ce13f7SAndroid Build Coastguard Worker    - Allow physical storage buffer pointer in IO (#5251)
102*03ce13f7SAndroid Build Coastguard Worker    - Remove const zero image operands (#5232)
103*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
104*03ce13f7SAndroid Build Coastguard Worker    - Enable vector constant folding (#4913) (#5272)
105*03ce13f7SAndroid Build Coastguard Worker    - Fold negation of integer vectors (#5269)
106*03ce13f7SAndroid Build Coastguard Worker    - Add folding rule for OpTranspose (#5241)
107*03ce13f7SAndroid Build Coastguard Worker    - Add SPV_NV_bindless_texture to spirv optimizations (#5231)
108*03ce13f7SAndroid Build Coastguard Worker    - Fix incorrect half float conversion (#5349)
109*03ce13f7SAndroid Build Coastguard Worker    - Add SPV_EXT_shader_atomic_float_add to allow lists (#5348)
110*03ce13f7SAndroid Build Coastguard Worker  - Instrument
111*03ce13f7SAndroid Build Coastguard Worker    - instrument: Cast gl_VertexIndex and InstanceIndex to uint (#5319)
112*03ce13f7SAndroid Build Coastguard Worker    - instrument: Fix buffer address length calculations (#5257)
113*03ce13f7SAndroid Build Coastguard Worker    - instrument: Reduce number of inst_bindless_stream_write_6 calls (#5327)
114*03ce13f7SAndroid Build Coastguard Worker  - Validator
115*03ce13f7SAndroid Build Coastguard Worker    - Validate GroupNonUniform instructions (#5296)
116*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Label SPV_KHR_cooperative_matrix VUID (#5301)
117*03ce13f7SAndroid Build Coastguard Worker    - Validate layouts for PhysicalStorageBuffer pointers (#5291)
118*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Remove VUID from 1.3.251 spec (#5244)
119*03ce13f7SAndroid Build Coastguard Worker  - Diff
120*03ce13f7SAndroid Build Coastguard Worker    - spirv-diff: Update test expectations (#5264)
121*03ce13f7SAndroid Build Coastguard Worker    - spirv-diff: Leave undefined ids unpaired. (#5262)
122*03ce13f7SAndroid Build Coastguard Worker    - spirv-diff: Properly match SPV_KHR_ray_query types. (#5259)
123*03ce13f7SAndroid Build Coastguard Worker    - diff: Don't give up entry point matching too early. (#5224)
124*03ce13f7SAndroid Build Coastguard Worker
125*03ce13f7SAndroid Build Coastguard Workerv2023.3 2023-05-15
126*03ce13f7SAndroid Build Coastguard Worker  - General
127*03ce13f7SAndroid Build Coastguard Worker    - Update spirv_headers to include SPV_KHR_ray_tracing_position_fetch (#5205)
128*03ce13f7SAndroid Build Coastguard Worker    - spirv-tools: Add support for QNX (#5211)
129*03ce13f7SAndroid Build Coastguard Worker    - build: set std=c++17 for BUILD.gn (#5162)
130*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
131*03ce13f7SAndroid Build Coastguard Worker    - Run ADCE when the printf extension is used. (#5215)
132*03ce13f7SAndroid Build Coastguard Worker    - Don't convert struct members to half (#5201)
133*03ce13f7SAndroid Build Coastguard Worker    - Apply scalar replacement on vars with Pointer decorations (#5208)
134*03ce13f7SAndroid Build Coastguard Worker    - opt: Fix null deref in OpMatrixTimesVector and OpVectorTimesMatrix (#5199)
135*03ce13f7SAndroid Build Coastguard Worker    - instrument: Add set and binding to bindless error records (#5204)
136*03ce13f7SAndroid Build Coastguard Worker    - instrument: Change descriptor state storage format (#5178)
137*03ce13f7SAndroid Build Coastguard Worker    - Fix LICMPass (#5087)
138*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan memory model to allow lists (#5173)
139*03ce13f7SAndroid Build Coastguard Worker    - Do not remove control barrier after spv1.3 (#5174)
140*03ce13f7SAndroid Build Coastguard Worker  - Validator
141*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Label Interface Location/Component VUIDs (#5221)
142*03ce13f7SAndroid Build Coastguard Worker    - Add support for SPV_EXT_shader_tile_image (#5188)
143*03ce13f7SAndroid Build Coastguard Worker    - Fix vector OpConstantComposite type validation (#5191)
144*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Label new Vulkan VUID 07951 (#5154)
145*03ce13f7SAndroid Build Coastguard Worker  - Fuzz
146*03ce13f7SAndroid Build Coastguard Worker    - Do not define GOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE if it is already defined. (#5200)
147*03ce13f7SAndroid Build Coastguard Worker
148*03ce13f7SAndroid Build Coastguard Workerv2023.2 2023-03-10
149*03ce13f7SAndroid Build Coastguard Worker  - General
150*03ce13f7SAndroid Build Coastguard Worker    - build: move from c++11 to c++17 (#4983)
151*03ce13f7SAndroid Build Coastguard Worker    - tools: refactorize tools flags parsing. (#5111)
152*03ce13f7SAndroid Build Coastguard Worker    - Add C interface for Optimizer (#5030)
153*03ce13f7SAndroid Build Coastguard Worker    - libspirv.cpp: adds c++ api for spvBinaryParse (#5109)
154*03ce13f7SAndroid Build Coastguard Worker    - build: change the way we set cxx version for bazel. (#5114)
155*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
156*03ce13f7SAndroid Build Coastguard Worker    - Fix null pointer in FoldInsertWithConstants. (#5093)
157*03ce13f7SAndroid Build Coastguard Worker    - Fix removal of dependent non-semantic instructions (#5122)
158*03ce13f7SAndroid Build Coastguard Worker    - Remove duplicate lists of constant and type opcodes (#5106)
159*03ce13f7SAndroid Build Coastguard Worker    - opt: fix spirv ABI on Linux again. (#5113)
160*03ce13f7SAndroid Build Coastguard Worker  - Validator
161*03ce13f7SAndroid Build Coastguard Worker    - Validate decoration of structs with RuntimeArray (#5094)
162*03ce13f7SAndroid Build Coastguard Worker    - Validate operand type before operating on it (#5092)
163*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Conditional Branch without an exit is invalid in loop header (#5069)
164*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Initial SPV_EXT_mesh_shader builtins (#5080)
165*03ce13f7SAndroid Build Coastguard Worker
166*03ce13f7SAndroid Build Coastguard Workerv2023.1 2023-01-17
167*03ce13f7SAndroid Build Coastguard Worker  - General
168*03ce13f7SAndroid Build Coastguard Worker    - Renamed "master" to "main" (issue#5051)
169*03ce13f7SAndroid Build Coastguard Worker    - Validate version 5 of clspv reflection (#5050)
170*03ce13f7SAndroid Build Coastguard Worker    - Remove testing support for VS2015 (#5027)
171*03ce13f7SAndroid Build Coastguard Worker    - Fix undef behaviour in hex float parsing (#5025)
172*03ce13f7SAndroid Build Coastguard Worker    - Require C++11 *or later* (#5020)
173*03ce13f7SAndroid Build Coastguard Worker  - Instrument
174*03ce13f7SAndroid Build Coastguard Worker    - Instrument: Fix bindless checking for BufferDeviceAddress (#5049)
175*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
176*03ce13f7SAndroid Build Coastguard Worker    - Optimize allocation of spvtools::opt::Instruction::operands_ (#5024)
177*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: Fix OpCompositeInsert with Null Constant (#5008)
178*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: Handle null CompositeInsert (#4998)
179*03ce13f7SAndroid Build Coastguard Worker    - Add option to ADCE to remove output variables from interface. (#4994)
180*03ce13f7SAndroid Build Coastguard Worker    - Add support for tesc, tese and geom to EliminateDead*Components (#4990)
181*03ce13f7SAndroid Build Coastguard Worker    - Add pass to eliminate dead output components (#4982)
182*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: Add const folding for CompositeInsert (#4943)
183*03ce13f7SAndroid Build Coastguard Worker    - Add passes to eliminate dead output stores (#4970)
184*03ce13f7SAndroid Build Coastguard Worker    - Prevent eliminating case constructs in block merging (#4976)
185*03ce13f7SAndroid Build Coastguard Worker  - Validator
186*03ce13f7SAndroid Build Coastguard Worker    - Fix layout validation (#5015)
187*03ce13f7SAndroid Build Coastguard Worker    - Fix use of invalid analysis (#5013)
188*03ce13f7SAndroid Build Coastguard Worker    - Fix infinite loop in validator (#5006)
189*03ce13f7SAndroid Build Coastguard Worker    - Add validation support for SPV_NV_shader_invocation_reorder. (#4979)
190*03ce13f7SAndroid Build Coastguard Worker    - Only validate full layout in Vulkan environments (#4972)
191*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Label new Vulkan OpPtrAccessChain VUs (#4975)
192*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add OpPtrAccessChain Base checks (#4965)
193*03ce13f7SAndroid Build Coastguard Worker
194*03ce13f7SAndroid Build Coastguard Worker
195*03ce13f7SAndroid Build Coastguard Workerv2022.4 2022-10-12
196*03ce13f7SAndroid Build Coastguard Worker  - General
197*03ce13f7SAndroid Build Coastguard Worker    - Support Narrow Types in BitCast Folding Rule (#4941)
198*03ce13f7SAndroid Build Coastguard Worker    - spirv-diff: Allow no SpecId (#4904)
199*03ce13f7SAndroid Build Coastguard Worker    - build: cmake: Add support for GNU/Hurd (#4895)
200*03ce13f7SAndroid Build Coastguard Worker    - Implement tool changes for SPV_EXT_mesh_shader. (#4915)
201*03ce13f7SAndroid Build Coastguard Worker  - Validator
202*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add SPV_ARM_core_builtins validation (#4958)
203*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add an option to use friendly names or not (#4951)
204*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Consistently quote ids in messages (#4950)
205*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add initial SPV_EXT_mesh_shader validation (#4924)
206*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Make it legal to use arrays of ray queries (#4938)
207*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Better message for using OpTypeBool in input/output (#4901)
208*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add SPV_KHR_ray_tracing storage class (#4868)
209*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
210*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: Fix stacked CompositeExtract constant folds (#4932)
211*03ce13f7SAndroid Build Coastguard Worker    - Improve time to build dominators (#4916)
212*03ce13f7SAndroid Build Coastguard Worker    - Fix ADCE to mark scope and inlined_at of line instructions as live. (#4910)
213*03ce13f7SAndroid Build Coastguard Worker    - Improve algorithm to reorder blocks in a function (#4911)
214*03ce13f7SAndroid Build Coastguard Worker    - Add structs to eliminate dead input components (#4894)
215*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: fix copy-propagate-arrays index opti on structs. (#4891)
216*03ce13f7SAndroid Build Coastguard Worker    - Fix ADCE to not eliminate top level DebugInfo instructions (#4889)
217*03ce13f7SAndroid Build Coastguard Worker    - Fix array copy propagation (#4890)
218*03ce13f7SAndroid Build Coastguard Worker
219*03ce13f7SAndroid Build Coastguard Workerv2022.3 2022-08-08
220*03ce13f7SAndroid Build Coastguard Worker  - General
221*03ce13f7SAndroid Build Coastguard Worker    - Add SPV_KHR_fragment_shader_barycentric support (#4805)
222*03ce13f7SAndroid Build Coastguard Worker    - Add support for SPV_KHR_subgroup_rotate (#4786)
223*03ce13f7SAndroid Build Coastguard Worker    - use exec_tools instead of tools for better RBE compatibility (#4837)
224*03ce13f7SAndroid Build Coastguard Worker    - Write binary files to stdout in binary on windows. (#4834)
225*03ce13f7SAndroid Build Coastguard Worker    - Allow spirv-opt print-all to show pretty IDs (#4888)
226*03ce13f7SAndroid Build Coastguard Worker  - Validator
227*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add PerVertexKHR (#4807)
228*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt : Add FixFuncCallArgumentsPass (#4775)
229*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add CullMaskKHR support (#4792)
230*03ce13f7SAndroid Build Coastguard Worker    - Require ColMajor or RowMajor for matrices (#4878)
231*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add SPV_KHR_ray_query (#4848)
232*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add SPV_KHR_ray_tracing instructions (#4871)
233*03ce13f7SAndroid Build Coastguard Worker    - Implement SPV_NV_bindless_texture related changes (#4847)
234*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add OpConvertUToAccelerationStructureKHR (#4838)
235*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add support for SPV_AMD_shader_early_and_late_fragment_tests (#4812)
236*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
237*03ce13f7SAndroid Build Coastguard Worker    - Fold multiply and subtraction into FMA with negation (#4808)
238*03ce13f7SAndroid Build Coastguard Worker    - Add more folding for composite instructions (#4802)
239*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: add pass for interface variable scalar replacement (#4779)
240*03ce13f7SAndroid Build Coastguard Worker    - Don't try to unroll loop with step count 0. (#4769)
241*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: SPV_NV_bindless_texture related changes (#4870)
242*03ce13f7SAndroid Build Coastguard Worker  - Linker
243*03ce13f7SAndroid Build Coastguard Worker    - linker: Recalculate interface variables (#4784)
244*03ce13f7SAndroid Build Coastguard Worker
245*03ce13f7SAndroid Build Coastguard Workerv2022.2 2022-04-07
246*03ce13f7SAndroid Build Coastguard Worker  - General
247*03ce13f7SAndroid Build Coastguard Worker    - Add OpModuleProcessed to debug opcode (#4694)
248*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
249*03ce13f7SAndroid Build Coastguard Worker    - Complete handling of RayQueryKHR type (#4690)
250*03ce13f7SAndroid Build Coastguard Worker    - Have scalar replacement use undef instead of null (#4691)
251*03ce13f7SAndroid Build Coastguard Worker    - Optimize Instruction::Instruction (#4705)
252*03ce13f7SAndroid Build Coastguard Worker    - Handle propagation of arrays with decorations (#4717)
253*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: Add OpExecutionModeId support (#4719)
254*03ce13f7SAndroid Build Coastguard Worker    - Optimize Type::HashValue (#4707)
255*03ce13f7SAndroid Build Coastguard Worker    - Optimize DefUseManager allocations (#4709)
256*03ce13f7SAndroid Build Coastguard Worker    - Add pass to remove DontInline function control (#4747)
257*03ce13f7SAndroid Build Coastguard Worker    - Better handling of 0xFFFFFFFF when folding vector shuffle (#4743)
258*03ce13f7SAndroid Build Coastguard Worker    - Reset the id bound on the module in compact ids (#4744)
259*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: (WIP) Eliminate Dead Input Component Pass (#4720)
260*03ce13f7SAndroid Build Coastguard Worker    - Support SPV_KHR_uniform_group_instructions (#4734)
261*03ce13f7SAndroid Build Coastguard Worker    - Handle shaders without execution model in spread-volatile-semantics (#4766)
262*03ce13f7SAndroid Build Coastguard Worker  - Validator
263*03ce13f7SAndroid Build Coastguard Worker    - Fix handling of Nontemporal image operand (#4692)
264*03ce13f7SAndroid Build Coastguard Worker    - [spirv-val] Allow 0 Component Count for DebugTypeArray for Shader (#4706)
265*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Validate DebugTypeMatrix (#4732)
266*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Label Vulkan VUID 04734 (#4739)
267*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Label VUID 06491 (#4745)
268*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Disallow array of push constants (#4742)
269*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Label Vulkan RuntimeArray VUID (#4749)
270*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add Vulkan Image VUID 06214 (#4750)
271*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add Vulkan Dref not allowed 3D dim VUID (#4751)
272*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Label and add test for PSB Aligned (#4756)
273*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add Vulkan 32-bit bit op Base (#4758)
274*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Add more Vulkan VUID labels (#4764)
275*03ce13f7SAndroid Build Coastguard Worker  - Diff
276*03ce13f7SAndroid Build Coastguard Worker    - Introduce spirv-diff (#4611)
277*03ce13f7SAndroid Build Coastguard Worker    - Stabilize the output of spirv-diff (#4698)
278*03ce13f7SAndroid Build Coastguard Worker    - spirv-diff: Handle OpSpecConstant array sizes (#4700)
279*03ce13f7SAndroid Build Coastguard Worker    - spirv-diff: Match OpSpecConstantComposite correctly (#4704)
280*03ce13f7SAndroid Build Coastguard Worker    - spirv-diff: Use GetSingleWord*Operand (#4768)
281*03ce13f7SAndroid Build Coastguard Worker    - spirv-diff: Basic support for OpTypeForwardPointer (#4761)
282*03ce13f7SAndroid Build Coastguard Worker    - spirv-diff: Fix OpTypeFunction matching w.r.t operand count (#4771)
283*03ce13f7SAndroid Build Coastguard Worker
284*03ce13f7SAndroid Build Coastguard Workerv2022.1 2022-01-26
285*03ce13f7SAndroid Build Coastguard Worker  - General
286*03ce13f7SAndroid Build Coastguard Worker    - Add SPIR-V 1.6 support to wasm build (#4674)
287*03ce13f7SAndroid Build Coastguard Worker    - Improvements to disassembly within PassManager (#4677)
288*03ce13f7SAndroid Build Coastguard Worker    - Basic support for SPIR-V 1.6 (#4663)
289*03ce13f7SAndroid Build Coastguard Worker    - reflect debug (#4662)
290*03ce13f7SAndroid Build Coastguard Worker    - Fix endianness of string literals (#4622)
291*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
292*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: add pass to Spread Volatile semantics (#4667)
293*03ce13f7SAndroid Build Coastguard Worker    - Fix constant propagation and folding of FClamp instructions (#4651)
294*03ce13f7SAndroid Build Coastguard Worker    - Manually fold floating point division by zero (#4637)
295*03ce13f7SAndroid Build Coastguard Worker    - Allow ADCE to remove dead inputs (#4629)
296*03ce13f7SAndroid Build Coastguard Worker  - Linker
297*03ce13f7SAndroid Build Coastguard Worker    - Linker improvements (#4679)
298*03ce13f7SAndroid Build Coastguard Worker      * test/linker: Code factorisation and small tweaks
299*03ce13f7SAndroid Build Coastguard Worker      * linker: Do not fail when going over limits
300*03ce13f7SAndroid Build Coastguard Worker  - Validator
301*03ce13f7SAndroid Build Coastguard Worker    - val: interface struct with builtins must be Block (#4665)
302*03ce13f7SAndroid Build Coastguard Worker  - Fuzzer
303*03ce13f7SAndroid Build Coastguard Worker    - Avoid id bound errors during opt fuzzing (#4658)
304*03ce13f7SAndroid Build Coastguard Worker    - Avoid uninitialised read when parsing hex float (#4646)
305*03ce13f7SAndroid Build Coastguard Worker
306*03ce13f7SAndroid Build Coastguard Workerv2021.4 2021-11-11
307*03ce13f7SAndroid Build Coastguard Worker  - General
308*03ce13f7SAndroid Build Coastguard Worker    - Add a WebAssembly build (#3752)
309*03ce13f7SAndroid Build Coastguard Worker    - Make cxx exceptions controllable (#4591)
310*03ce13f7SAndroid Build Coastguard Worker  - Validator
311*03ce13f7SAndroid Build Coastguard Worker    - Improve decoration validation (#4490)
312*03ce13f7SAndroid Build Coastguard Worker  - Optimizer
313*03ce13f7SAndroid Build Coastguard Worker    - Add spirv-opt pass to replace descriptor accesses based on variable indices (#4574)
314*03ce13f7SAndroid Build Coastguard Worker    - Do not fold snegate feeding sdiv (#4600)
315*03ce13f7SAndroid Build Coastguard Worker    - Handle overflowing id in merge return (#4606)
316*03ce13f7SAndroid Build Coastguard Worker  - Fuzzer
317*03ce13f7SAndroid Build Coastguard Worker    - Add libFuzzer target for spirv-fuzz (#4434)
318*03ce13f7SAndroid Build Coastguard Worker  - Linter
319*03ce13f7SAndroid Build Coastguard Worker
320*03ce13f7SAndroid Build Coastguard Workerv2021.3 2021-08-24
321*03ce13f7SAndroid Build Coastguard Worker - General
322*03ce13f7SAndroid Build Coastguard Worker    - Initial support for SPV_KHR_integer_dot_product (#4327)
323*03ce13f7SAndroid Build Coastguard Worker    - Add non-semantic vulkan extended instruction set (#4362)
324*03ce13f7SAndroid Build Coastguard Worker    - Add common enum for debug info instructions from either opencl or vulkan (#4377)
325*03ce13f7SAndroid Build Coastguard Worker - Validator
326*03ce13f7SAndroid Build Coastguard Worker    - Add validation for SPV_EXT_shader_atomic_float16_add (#4325)
327*03ce13f7SAndroid Build Coastguard Worker    - Disallow loading a runtime-sized array (#4473)
328*03ce13f7SAndroid Build Coastguard Worker    - spirv-val: Validate vulkan debug info similarly to opencl debug info (#4466)
329*03ce13f7SAndroid Build Coastguard Worker - Optimizer
330*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: support SPV_EXT_shader_image_int64 (#4379)
331*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: Add dataflow analysis framework (#4402)
332*03ce13f7SAndroid Build Coastguard Worker    - Add control dependence analysis to opt (#4380)
333*03ce13f7SAndroid Build Coastguard Worker    - Add spirv-opt convert-to-sampled-image pass (#4340)
334*03ce13f7SAndroid Build Coastguard Worker    - spirv-opt: Add handling of vulkan debug info to DebugInfoManager (#4423)
335*03ce13f7SAndroid Build Coastguard Worker - Fuzz
336*03ce13f7SAndroid Build Coastguard Worker    - spirv-fuzz: support AtomicLoad (#4330)
337*03ce13f7SAndroid Build Coastguard Worker    - spirv-fuzz: Support AtomicStore (#4440)
338*03ce13f7SAndroid Build Coastguard Worker    - spirv-fuzz: TransformationWrapVectorSynonym that rewrites scalar operations using vectors (#4376)
339*03ce13f7SAndroid Build Coastguard Worker    - spirv-fuzz: Add minimal SPIR-V example to test shaders (#4415)
340*03ce13f7SAndroid Build Coastguard Worker    - spirv-fuzz: support building using gn (#4365)
341*03ce13f7SAndroid Build Coastguard Worker - Linter
342*03ce13f7SAndroid Build Coastguard Worker    - Add new target for spirv-lint (#4446)
343*03ce13f7SAndroid Build Coastguard Worker    - spirv-lint: add basic CLI argument handling (#4478)
344*03ce13f7SAndroid Build Coastguard Worker    - Add divergence analysis to linter (#4465)
345*03ce13f7SAndroid Build Coastguard Worker
346*03ce13f7SAndroid Build Coastguard Workerv2021.2 2021-06-18
347*03ce13f7SAndroid Build Coastguard Worker - General
348*03ce13f7SAndroid Build Coastguard Worker    - Support SPV_KHR_subgroup_uniform_control_flow (#4318)
349*03ce13f7SAndroid Build Coastguard Worker    - Support Intel extensions for fixed point and hls-float (#4321)
350*03ce13f7SAndroid Build Coastguard Worker    - Fix crash when optimizing shaders with DebugPrintf (#4280)
351*03ce13f7SAndroid Build Coastguard Worker
352*03ce13f7SAndroid Build Coastguard Worker - Validator
353*03ce13f7SAndroid Build Coastguard Worker    - Support Vulkan Storage Class for Execution Model (#4212)
354*03ce13f7SAndroid Build Coastguard Worker
355*03ce13f7SAndroid Build Coastguard Worker - Optimizer
356*03ce13f7SAndroid Build Coastguard Worker    - Handle SPV_KHR_vulkan_memory_model in dead-code elimination (#4320)
357*03ce13f7SAndroid Build Coastguard Worker    - Support folding OpBitcast with numeric constants (#4247)
358*03ce13f7SAndroid Build Coastguard Worker
359*03ce13f7SAndroid Build Coastguard Worker - Fuzz
360*03ce13f7SAndroid Build Coastguard Worker    - Add tests for MaybeGet* functions in fuzzerutil (#4284)
361*03ce13f7SAndroid Build Coastguard Worker    - Fix OutlineFunction in presence of unreachable blocks (#4308)
362*03ce13f7SAndroid Build Coastguard Worker    - Fix def-use update in PermutePhiOperands (#4309)
363*03ce13f7SAndroid Build Coastguard Worker    - Swap positions of two functions in a module (#4236)
364*03ce13f7SAndroid Build Coastguard Worker
365*03ce13f7SAndroid Build Coastguard Workerv2021.1 2021-04-19
366*03ce13f7SAndroid Build Coastguard Worker - General
367*03ce13f7SAndroid Build Coastguard Worker    - Support SPV_KHR_linkonce_odr, SPV_KHR_expect_assume (#4161)
368*03ce13f7SAndroid Build Coastguard Worker    - Fixes for the vscode language server extension (#4150)
369*03ce13f7SAndroid Build Coastguard Worker - Validator
370*03ce13f7SAndroid Build Coastguard Worker    - Add validation for SPV_EXT_shader_atomic_float_min_max (#4105)
371*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan Execution Scope checks (#4183)
372*03ce13f7SAndroid Build Coastguard Worker    - Vulkan 64-bit OpAtomicStore check (#4163)
373*03ce13f7SAndroid Build Coastguard Worker - Optimizer
374*03ce13f7SAndroid Build Coastguard Worker    - Add interpolate legalization pass (#4220)
375*03ce13f7SAndroid Build Coastguard Worker - Fuzz
376*03ce13f7SAndroid Build Coastguard Worker    - Various performance optimizations
377*03ce13f7SAndroid Build Coastguard Worker    - Do not add too many dead blocks (#4217)
378*03ce13f7SAndroid Build Coastguard Worker    - Add WGSL compatibility flag to context (#4193)
379*03ce13f7SAndroid Build Coastguard Worker    - Add persistent state to the fuzzer (#4137)
380*03ce13f7SAndroid Build Coastguard Worker
381*03ce13f7SAndroid Build Coastguard Workerv2020.7 2021-02-16
382*03ce13f7SAndroid Build Coastguard Worker - General
383*03ce13f7SAndroid Build Coastguard Worker    - Support pending Intel extensions (#4116)
384*03ce13f7SAndroid Build Coastguard Worker    - Remove WebGPU support (#4108)
385*03ce13f7SAndroid Build Coastguard Worker - Validator
386*03ce13f7SAndroid Build Coastguard Worker    - Vulkan image gather constant component (#4133)
387*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan PSB64 convert VUID (#4122)
388*03ce13f7SAndroid Build Coastguard Worker    - Validate SPV_KHR_workgroup_memory_explicit_layout (#4128)
389*03ce13f7SAndroid Build Coastguard Worker    - Validate VK_KHR_zero_initialize_workgroup_memory (#4124)
390*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan image gather offset VUID (#4118)
391*03ce13f7SAndroid Build Coastguard Worker    - Label Vulkan atomic semantics VUIDs (#4120)
392*03ce13f7SAndroid Build Coastguard Worker    - Label VUID 04662 (#4123)
393*03ce13f7SAndroid Build Coastguard Worker    - Label VUID 04683 (#4121)
394*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan EXT builtins (#4115)
395*03ce13f7SAndroid Build Coastguard Worker    - Validate Sampled=1 for Vulkan ImageQuerySizeLod, ImageQueryLevels, ImageQueryLod (#4103)
396*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan Memory Scope VUs (#4106)
397*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan Addressing Model check (#4107)
398*03ce13f7SAndroid Build Coastguard Worker    - Vulkan atomic storage class (#4079)
399*03ce13f7SAndroid Build Coastguard Worker    - Label standalone Vulkan VUID (#4091)
400*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan decroation VUID (#4090)
401*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan FP Mode VUID (#4088)
402*03ce13f7SAndroid Build Coastguard Worker    - Fix Vulkan image sampled check (#4085)
403*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan ForwardPointer VUID (#4089)
404*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan ImageTexelPointer format check (#4087)
405*03ce13f7SAndroid Build Coastguard Worker    - Add Vulkan Group Operation VUID (#4086)
406*03ce13f7SAndroid Build Coastguard Worker    - Add first StandAlone VUID 04633 (#4077)
407*03ce13f7SAndroid Build Coastguard Worker    - Add Subgroup VUIDs (#4074)
408*03ce13f7SAndroid Build Coastguard Worker    - validate return type of OpImageRead (#4072)
409*03ce13f7SAndroid Build Coastguard Worker    - tighter validation of multisampled images (#4059)
410*03ce13f7SAndroid Build Coastguard Worker    - validate OpTypeImage Sampled values for environemnts (#4064)
411*03ce13f7SAndroid Build Coastguard Worker    - validate StorageImageMultisampled capability (#4062)
412*03ce13f7SAndroid Build Coastguard Worker    - Add last TessLevelOuter and TessLevelInner VUID (#4055)
413*03ce13f7SAndroid Build Coastguard Worker    - Add last ClipDistance and CullDistance VUID (#4054)
414*03ce13f7SAndroid Build Coastguard Worker    - Add last ViewportIndex and Layer VUID (#4053)
415*03ce13f7SAndroid Build Coastguard Worker    - Add last Position VUID (#4052)
416*03ce13f7SAndroid Build Coastguard Worker    - Allow forward pointer to be used in types generally (#4044)
417*03ce13f7SAndroid Build Coastguard Worker - Optimizer
418*03ce13f7SAndroid Build Coastguard Worker    - Mark module as modified if convert-to-half removes decorations (#4127)
419*03ce13f7SAndroid Build Coastguard Worker    - Fix binding number calculation in desc sroa (#4095)
420*03ce13f7SAndroid Build Coastguard Worker    - Run DCE when SPV_KHR_shader_clock is used (#4049)
421*03ce13f7SAndroid Build Coastguard Worker - Debug Info
422*03ce13f7SAndroid Build Coastguard Worker    - Set correct scope and line info for DebugValue (#4125)
423*03ce13f7SAndroid Build Coastguard Worker    - Avoid integrity check failures caused by propagating line instructions (#4096)
424*03ce13f7SAndroid Build Coastguard Worker - Linker
425*03ce13f7SAndroid Build Coastguard Worker    - Linker usability improvements (#4084)
426*03ce13f7SAndroid Build Coastguard Worker - Instrumentation
427*03ce13f7SAndroid Build Coastguard Worker    - Generate differentiated error codes for buffer oob checking (#4097)
428*03ce13f7SAndroid Build Coastguard Worker - Fuzz
429*03ce13f7SAndroid Build Coastguard Worker    - Fix OpPhi handling in DuplicateRegionWithSelection (#4065)
430*03ce13f7SAndroid Build Coastguard Worker
431*03ce13f7SAndroid Build Coastguard Workerv2020.6 2020-12-07
432*03ce13f7SAndroid Build Coastguard Worker - General
433*03ce13f7SAndroid Build Coastguard Worker    CMake: Add SPIRV_TOOLS_BUILD_STATIC flag (#3910)
434*03ce13f7SAndroid Build Coastguard Worker - Disassembler
435*03ce13f7SAndroid Build Coastguard Worker    Add some context comments to disassembly. (#3847)
436*03ce13f7SAndroid Build Coastguard Worker - Optimizer
437*03ce13f7SAndroid Build Coastguard Worker   - Take new (raytracing) termination instructions into account. (#4050)
438*03ce13f7SAndroid Build Coastguard Worker   - Do run DCE if SPV_KHR_ray_query is used. (#4047)
439*03ce13f7SAndroid Build Coastguard Worker   - Handle 8-bit index in elim dead member (#4043)
440*03ce13f7SAndroid Build Coastguard Worker   - Add texel buffer out-of-bounds checking instrumentation (#4038)
441*03ce13f7SAndroid Build Coastguard Worker   - Update MeshShadingNV dependencies (and land Ray tracing updates) (#4028)
442*03ce13f7SAndroid Build Coastguard Worker   - Fix buffer oob instrumentation for matrix refs (#4025)
443*03ce13f7SAndroid Build Coastguard Worker   - Fix SSA re-writing in the presence of variable pointers. (#4010)
444*03ce13f7SAndroid Build Coastguard Worker   - Add support to prevent functions from being inlined if they have
445*03ce13f7SAndroid Build Coastguard Worker     DontInline flag (#3858)
446*03ce13f7SAndroid Build Coastguard Worker   - Add SPV_EXT_shader_image_int64 (#3852)
447*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_KHR_fragment_shading_rate (#3943)
448*03ce13f7SAndroid Build Coastguard Worker   - Fix use-after-move in val/validate.cpp (#3848)
449*03ce13f7SAndroid Build Coastguard Worker - Debug Info
450*03ce13f7SAndroid Build Coastguard Worker   - properly preserve DebugValue indexes operand (#4022)
451*03ce13f7SAndroid Build Coastguard Worker   - Add DebugValue for invisible store in single_store_elim (#4002)
452*03ce13f7SAndroid Build Coastguard Worker   - Propagate OpLine to all applied instructions in spirv-opt (#3951)
453*03ce13f7SAndroid Build Coastguard Worker   - Add DebugValue for DebugDecl invisible to value assignment (#3973)
454*03ce13f7SAndroid Build Coastguard Worker   - Add DebugValue for function param regardless of scope (#3923)
455*03ce13f7SAndroid Build Coastguard Worker   - Debug info preservation in convert-local-access-chains pass (#3835)
456*03ce13f7SAndroid Build Coastguard Worker   - Debug info preservation in redundancy-elimination pass (#3839)
457*03ce13f7SAndroid Build Coastguard Worker   - Debug info preservation in if-conversion pass (#3861)
458*03ce13f7SAndroid Build Coastguard Worker - Validator
459*03ce13f7SAndroid Build Coastguard Worker   - Add validation support for the ray tracing built-in variables (#4041)
460*03ce13f7SAndroid Build Coastguard Worker   - Use less stack space when validating Vulkan builtins (#4019)
461*03ce13f7SAndroid Build Coastguard Worker   - Fix SPV_KHR_fragment_shading_rate VUID label (#4014)
462*03ce13f7SAndroid Build Coastguard Worker   - Label Layer and ViewportIndex VUIDs (#4013)
463*03ce13f7SAndroid Build Coastguard Worker   - Allow the ViewportIndex and Layer built-ins on SPIR-V 1.5 (#3986)
464*03ce13f7SAndroid Build Coastguard Worker   - Fix validation of OpPhi instructions (#3919)
465*03ce13f7SAndroid Build Coastguard Worker - Fuzz
466*03ce13f7SAndroid Build Coastguard Worker   - Fix facts arising from CompositeConstruct (#4034)
467*03ce13f7SAndroid Build Coastguard Worker   - Do not flatten conditionals that create synonyms (#4030)
468*03ce13f7SAndroid Build Coastguard Worker   - Add support for reining in rogue fuzzer passes (#3987)
469*03ce13f7SAndroid Build Coastguard Worker   - Fix assertion failure in FuzzerPassAddCompositeExtract (#3995)
470*03ce13f7SAndroid Build Coastguard Worker   - Fix invalid equation facts (#4009)
471*03ce13f7SAndroid Build Coastguard Worker   - Fix bugs in TransformationFlattenConditionalBranch (#4006)
472*03ce13f7SAndroid Build Coastguard Worker   - Fix bug related to transformation applicability (#3990)
473*03ce13f7SAndroid Build Coastguard Worker   - Add expand vector reduction transformation (#3869)
474*03ce13f7SAndroid Build Coastguard Worker   - Add FuzzerPassAddCompositeExtract (#3904)
475*03ce13f7SAndroid Build Coastguard Worker   - Fix mismatch with shrinker step limit (#3985)
476*03ce13f7SAndroid Build Coastguard Worker   - Fix off-by-one error in replayer (#3982)
477*03ce13f7SAndroid Build Coastguard Worker   - Get order right for OpSelect arguments (#3974)
478*03ce13f7SAndroid Build Coastguard Worker   - Do not add synonym-creating loops in dead blocks (#3975)
479*03ce13f7SAndroid Build Coastguard Worker   - Skip OpTypeSampledImage when propagating up (#3976)
480*03ce13f7SAndroid Build Coastguard Worker   - Pass OpUndef in function call if needed (#3978)
481*03ce13f7SAndroid Build Coastguard Worker   - Fix off-by-one in TransformationCompositeConstruct (#3979)
482*03ce13f7SAndroid Build Coastguard Worker   - Tolerate absent ids in data synonym fact management (#3966)
483*03ce13f7SAndroid Build Coastguard Worker   - Fix to id availability (#3971)
484*03ce13f7SAndroid Build Coastguard Worker   - Fix operand types (#3962)
485*03ce13f7SAndroid Build Coastguard Worker   - Don't flatten conditional if condition is irrelevant (#3944)
486*03ce13f7SAndroid Build Coastguard Worker   - Do not produce OpPhis of type OpTypeSampledImage (#3964)
487*03ce13f7SAndroid Build Coastguard Worker   - Restrict fuzzer pass to reachable blocks (#3970)
488*03ce13f7SAndroid Build Coastguard Worker   - Handle more types when extending OpPhi instructions (#3969)
489*03ce13f7SAndroid Build Coastguard Worker   - Skip early terminator wrappers when merging returns (#3968)
490*03ce13f7SAndroid Build Coastguard Worker   - Avoid irrelevant constants in synonym-creating loops (#3967)
491*03ce13f7SAndroid Build Coastguard Worker   - Skip dead blocks in FuzzerPassAddOpPhiSynonyms (#3965)
492*03ce13f7SAndroid Build Coastguard Worker   - Avoid the type manager when looking for struct types (#3963)
493*03ce13f7SAndroid Build Coastguard Worker   - Fix to TransformationDuplicateRegionWithSelection (#3941)
494*03ce13f7SAndroid Build Coastguard Worker   - Skip OpFunction when replacing irrelevant ids (#3932)
495*03ce13f7SAndroid Build Coastguard Worker   - Use component-wise selectors when flattening conditional branches (#3921)
496*03ce13f7SAndroid Build Coastguard Worker   - Avoid void struct member when outlining functions (#3936)
497*03ce13f7SAndroid Build Coastguard Worker   - Do not allow Block-decorated structs when adding parameters (#3931)
498*03ce13f7SAndroid Build Coastguard Worker   - Fix to operand id type (#3937)
499*03ce13f7SAndroid Build Coastguard Worker   - Handle dead blocks in TransformationEquationInstruction (#3933)
500*03ce13f7SAndroid Build Coastguard Worker   - Do not allow sampled image load when flattening conditionals (#3930)
501*03ce13f7SAndroid Build Coastguard Worker   - Take care of OpPhi instructions when inlining (#3939)
502*03ce13f7SAndroid Build Coastguard Worker   - Fix to TransformationInlineFunction (#3913)
503*03ce13f7SAndroid Build Coastguard Worker   - Wrap early terminators before merging returns (#3925)
504*03ce13f7SAndroid Build Coastguard Worker   - Lower probability of adding bit instruction synonyms (#3917)
505*03ce13f7SAndroid Build Coastguard Worker   - Fix handling of OpPhi in FlattenConditionalBranch (#3916)
506*03ce13f7SAndroid Build Coastguard Worker   - Avoid creating blocks without parents (#3908)
507*03ce13f7SAndroid Build Coastguard Worker   - Do not allow creation of constants of block-decorated structs (#3903)
508*03ce13f7SAndroid Build Coastguard Worker   - Fixes related to irrelevant ids (#3901)
509*03ce13f7SAndroid Build Coastguard Worker   - Fix to transformation that adds a synonym via a loop (#3898)
510*03ce13f7SAndroid Build Coastguard Worker   - Fix to duplicate region with selection (#3896)
511*03ce13f7SAndroid Build Coastguard Worker   - Do not expose synonym facts for non-existent ids (#3891)
512*03ce13f7SAndroid Build Coastguard Worker   - Do not add synonyms involving irrelevant ids (#3890)
513*03ce13f7SAndroid Build Coastguard Worker   - Do not replace irrelevant ids that are not in blocks (#3892)
514*03ce13f7SAndroid Build Coastguard Worker   - Wrap OpKill and similar in function calls (#3884)
515*03ce13f7SAndroid Build Coastguard Worker   - Integrate spirv-reduce with shrinker (#3849)
516*03ce13f7SAndroid Build Coastguard Worker   - Report fresh ids in transformations (#3856)
517*03ce13f7SAndroid Build Coastguard Worker   - Support OpNot bit instruction case (#3841)
518*03ce13f7SAndroid Build Coastguard Worker   - Return IR and transformation context after replay (#3846)
519*03ce13f7SAndroid Build Coastguard Worker
520*03ce13f7SAndroid Build Coastguard Workerv2020.5 2020-09-22
521*03ce13f7SAndroid Build Coastguard Worker - General
522*03ce13f7SAndroid Build Coastguard Worker   - Enable building with BUILD_SHARED_LIBS=1 (#3490)
523*03ce13f7SAndroid Build Coastguard Worker   - Avoid using /MP4 for clang on windows. (#3662)
524*03ce13f7SAndroid Build Coastguard Worker   - Fix compiler error on macOS with XCode12. (#3836)
525*03ce13f7SAndroid Build Coastguard Worker - Optimizer
526*03ce13f7SAndroid Build Coastguard Worker   - Preserve OpenCL.DebugInfo.100 through private-to-local pass (#3571)
527*03ce13f7SAndroid Build Coastguard Worker   - Preserve debug info in scalar replacement pass (#3461)
528*03ce13f7SAndroid Build Coastguard Worker   - Debug info preservation in loop-unroll pass (#3548)
529*03ce13f7SAndroid Build Coastguard Worker   - Preserve debug info in dead-insert-elim pass (#3652)
530*03ce13f7SAndroid Build Coastguard Worker   - Improve non-semantic instruction handling in the optimizer (#3693)
531*03ce13f7SAndroid Build Coastguard Worker   - Let ADCE pass check DebugScope (#3703)
532*03ce13f7SAndroid Build Coastguard Worker   - Add undef for inlined void function (#3720)
533*03ce13f7SAndroid Build Coastguard Worker   - Fix SSA-rewrite to remove DebugDeclare for variables without loads (#3719)
534*03ce13f7SAndroid Build Coastguard Worker   - Handle DebugScope in compact-ids pass (#3724)
535*03ce13f7SAndroid Build Coastguard Worker   - Add buffer oob check to bindless instrumentation (#3800)
536*03ce13f7SAndroid Build Coastguard Worker - Validator
537*03ce13f7SAndroid Build Coastguard Worker   - Update OpenCL capabilities validation (#3149)
538*03ce13f7SAndroid Build Coastguard Worker   - Validator support for non-semantic clspv reflection (#3618)
539*03ce13f7SAndroid Build Coastguard Worker   - OpenCL.DebugInfo.100 DebugTypeArray with variable size (#3549)
540*03ce13f7SAndroid Build Coastguard Worker   - Only validation locations for appropriate execution models (#3656)
541*03ce13f7SAndroid Build Coastguard Worker   - Validate more OpenCL.DebugInfo.100 instructions (#3684)
542*03ce13f7SAndroid Build Coastguard Worker   - Allow DebugTypeTemplate for Type operand (#3702)
543*03ce13f7SAndroid Build Coastguard Worker   - spirv-val: Add Vulkan VUID labels to BuiltIn (#3756)
544*03ce13f7SAndroid Build Coastguard Worker   - Allow SPV_KHR_8bit_storage extension. (#3780)
545*03ce13f7SAndroid Build Coastguard Worker   - Validate SPIRV Version number when parsing binary header (#3834)
546*03ce13f7SAndroid Build Coastguard Worker - Reduce
547*03ce13f7SAndroid Build Coastguard Worker   - Support reducing a specific function (#3774)
548*03ce13f7SAndroid Build Coastguard Worker - Fuzz
549*03ce13f7SAndroid Build Coastguard Worker   - adds TransformationReplaceCopyObjectWithStoreLoad (#3567)
550*03ce13f7SAndroid Build Coastguard Worker   - adds TransformationReplaceCopyMemoryWithLoadStore (#3575)
551*03ce13f7SAndroid Build Coastguard Worker   - adds TransformationReplaceLoadStoreWithCopyMemory (#3586)
552*03ce13f7SAndroid Build Coastguard Worker   - Implement the OpOuterProduct linear algebra case (#3617)
553*03ce13f7SAndroid Build Coastguard Worker   - Pass to replace int operands with ints of opposite signedness (#3612)
554*03ce13f7SAndroid Build Coastguard Worker   - TransformationMoveInstructionDown (#3477)
555*03ce13f7SAndroid Build Coastguard Worker   - Add TransformationMakeVectorOperationDynamic (#3597)
556*03ce13f7SAndroid Build Coastguard Worker   - TransformationReplaceAddSubMulWithCarryingExtended (#3598)
557*03ce13f7SAndroid Build Coastguard Worker   - FuzzerPassPropagateInstructionsUp (#3478)
558*03ce13f7SAndroid Build Coastguard Worker   - add FuzzerPassAddCompositeInserts (#3606)
559*03ce13f7SAndroid Build Coastguard Worker   - Add inline function transformation (#3517)
560*03ce13f7SAndroid Build Coastguard Worker   - Transformation to replace the use of an irrelevant id (#3697)
561*03ce13f7SAndroid Build Coastguard Worker   - Add SPIRV_FUZZ_PROTOC_COMMAND (#3789)
562*03ce13f7SAndroid Build Coastguard Worker   - Add TransformationDuplicateRegionWithSelection (#3773)
563*03ce13f7SAndroid Build Coastguard Worker   - Transformation to flatten conditional branch (#3667)
564*03ce13f7SAndroid Build Coastguard Worker   - Handle OpPhis in TransformationInlineFunction (#3833)
565*03ce13f7SAndroid Build Coastguard Worker   - Create synonym of int constant using a loop (#3790)
566*03ce13f7SAndroid Build Coastguard Worker   - Support dead blocks in TransformationAddSynonym (#3832)
567*03ce13f7SAndroid Build Coastguard Worker - Linker
568*03ce13f7SAndroid Build Coastguard Worker
569*03ce13f7SAndroid Build Coastguard Workerv2020.4 2020-07-22
570*03ce13f7SAndroid Build Coastguard Worker - General
571*03ce13f7SAndroid Build Coastguard Worker   - Changed variable names to be more descriptive (#3433)
572*03ce13f7SAndroid Build Coastguard Worker   - Add support to GPU-AV instrumentation for Task and Mesh shaders (#3512)
573*03ce13f7SAndroid Build Coastguard Worker   - Permit Simple and GLSL450 memory model in WEBGPU_0 (#3463)
574*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_KHR_terminate_invocation (#3568)
575*03ce13f7SAndroid Build Coastguard Worker - Optimizer
576*03ce13f7SAndroid Build Coastguard Worker   - Preserving debug information in optimizations
577*03ce13f7SAndroid Build Coastguard Worker     (#3389,#3420,#3425,#3356,#3459,#3444,#3492,#3451,#3497i,#3498,#3542)
578*03ce13f7SAndroid Build Coastguard Worker   - Eliminate branches with condition of OpConstantNull (#3438)
579*03ce13f7SAndroid Build Coastguard Worker   - Use structured order to unroll loops. (#3443)
580*03ce13f7SAndroid Build Coastguard Worker   - Updated desc_sroa to support flattening structures (#3448)
581*03ce13f7SAndroid Build Coastguard Worker   - Support OpCompositeExtract pattern in desc_sroa (#3456)
582*03ce13f7SAndroid Build Coastguard Worker   - Fix ADCE pass bug for mulitple entries (#3470)
583*03ce13f7SAndroid Build Coastguard Worker     - Sink pointer instructions in merge return (#3569)
584*03ce13f7SAndroid Build Coastguard Worker - Validator
585*03ce13f7SAndroid Build Coastguard Worker   - Validate location assignments (#3308)
586*03ce13f7SAndroid Build Coastguard Worker     - Fix reachability in the validator (#3541)
587*03ce13f7SAndroid Build Coastguard Worker - Reduce
588*03ce13f7SAndroid Build Coastguard Worker - Fuzz
589*03ce13f7SAndroid Build Coastguard Worker   - Add support for OpSpecConstant* (#3373)
590*03ce13f7SAndroid Build Coastguard Worker   - Add replace linear algebra instruction transformation (#3402)
591*03ce13f7SAndroid Build Coastguard Worker   - Implement vector shuffle fuzzer pass (#3412)
592*03ce13f7SAndroid Build Coastguard Worker   - Swap operands in OpBranchConditional (#3423)
593*03ce13f7SAndroid Build Coastguard Worker   - Permute OpPhi instruction operands (#3421)
594*03ce13f7SAndroid Build Coastguard Worker   - Add FuzzerPassAddCopyMemoryInstructions (#3391)
595*03ce13f7SAndroid Build Coastguard Worker   - TransformationInvertComparisonOperator (#3475)
596*03ce13f7SAndroid Build Coastguard Worker   - Add variables with workgroup storage class (#3485)
597*03ce13f7SAndroid Build Coastguard Worker   - Add image sample unused components transformation (#3439)
598*03ce13f7SAndroid Build Coastguard Worker   - TransformationReplaceParameterWithGlobal (#3434)
599*03ce13f7SAndroid Build Coastguard Worker     - Support adding dead break from back-edge block (#3519)
600*03ce13f7SAndroid Build Coastguard Worker       - Fuzzer pass to interchange zero-like constants (#3524)
601*03ce13f7SAndroid Build Coastguard Worker - Linker
602*03ce13f7SAndroid Build Coastguard Worker
603*03ce13f7SAndroid Build Coastguard Workerv2020.3 2020-05-27
604*03ce13f7SAndroid Build Coastguard Worker - General
605*03ce13f7SAndroid Build Coastguard Worker   - Prevent Effcee from installing things when building spirv-tools with testing enabled (#3256)
606*03ce13f7SAndroid Build Coastguard Worker   - Update acorn version (#3294)
607*03ce13f7SAndroid Build Coastguard Worker   - If SPIRV-Headers is in our tree, include it as subproject (#3299)
608*03ce13f7SAndroid Build Coastguard Worker   - allow cross compiling for Windows Store, UWP, etc. (#3330)
609*03ce13f7SAndroid Build Coastguard Worker - Optimizer
610*03ce13f7SAndroid Build Coastguard Worker   - Remove deprecated interfaces from instrument passes (#3361)
611*03ce13f7SAndroid Build Coastguard Worker   - Preserve debug info in inline pass (#3349)
612*03ce13f7SAndroid Build Coastguard Worker   - Handle more cases in dead member elim (#3289)
613*03ce13f7SAndroid Build Coastguard Worker   - Preserve debug info in eliminate-dead-functions (#3251)
614*03ce13f7SAndroid Build Coastguard Worker   - Fix Struct CFG analysis for single block loop (#3293)
615*03ce13f7SAndroid Build Coastguard Worker   - Add tests for recently added command line option (#3297)
616*03ce13f7SAndroid Build Coastguard Worker   - Consider sampled images as read-only storage (#3295)
617*03ce13f7SAndroid Build Coastguard Worker   - Allow various validation options to be passed to spirv-opt (#3314)
618*03ce13f7SAndroid Build Coastguard Worker   - Add debug information analysis (#3305)
619*03ce13f7SAndroid Build Coastguard Worker   - Preserve debug info for wrap-opkill (#3331)
620*03ce13f7SAndroid Build Coastguard Worker   - refactor inlining pass (#3328)
621*03ce13f7SAndroid Build Coastguard Worker   - Add unrolling to performance passes (#3082)
622*03ce13f7SAndroid Build Coastguard Worker - Validator
623*03ce13f7SAndroid Build Coastguard Worker   - Add validation support for ImageGatherBiasLodAMD (#3363)
624*03ce13f7SAndroid Build Coastguard Worker   - Validate ShaderCallKHR memory scope (#3332)
625*03ce13f7SAndroid Build Coastguard Worker   - Validate Buffer and BufferBlock apply only to struct types (#3259)
626*03ce13f7SAndroid Build Coastguard Worker - Reduce
627*03ce13f7SAndroid Build Coastguard Worker   - increase default step limit (#3327)
628*03ce13f7SAndroid Build Coastguard Worker   - Remove unused uniforms and similar (#3321)
629*03ce13f7SAndroid Build Coastguard Worker - Fuzz
630*03ce13f7SAndroid Build Coastguard Worker   - Add support for StorageBuffer (#3348)
631*03ce13f7SAndroid Build Coastguard Worker   - Add validator options (#3254)
632*03ce13f7SAndroid Build Coastguard Worker   - Limit adding of new variables to 'basic' types (#3257)
633*03ce13f7SAndroid Build Coastguard Worker   - Transformation to add OpConstantNull (#3273)
634*03ce13f7SAndroid Build Coastguard Worker   - Handling of more fuzzing opportunities (#3277, #3280, #3281, #3290, #3292)
635*03ce13f7SAndroid Build Coastguard Worker   - Respect rules for OpSampledImage (#3287)
636*03ce13f7SAndroid Build Coastguard Worker   - Do not outline regions that produce pointer outputs (#3291)
637*03ce13f7SAndroid Build Coastguard Worker - Linker
638*03ce13f7SAndroid Build Coastguard Worker
639*03ce13f7SAndroid Build Coastguard Workerv2020.2 2020-03-26
640*03ce13f7SAndroid Build Coastguard Worker - General:
641*03ce13f7SAndroid Build Coastguard Worker   - Support extended instructions in the vscode language server
642*03ce13f7SAndroid Build Coastguard Worker   - Make spvOpcodeString part of the public API (#3174)
643*03ce13f7SAndroid Build Coastguard Worker   - Added guide to writing a spirv-fuzz fuzzer pass (#3190)
644*03ce13f7SAndroid Build Coastguard Worker   - Add support for KHR_ray_{query,tracing} extensions (#3235)
645*03ce13f7SAndroid Build Coastguard Worker - Optimizer
646*03ce13f7SAndroid Build Coastguard Worker   - Debug Printf support (#3215)
647*03ce13f7SAndroid Build Coastguard Worker   - Add data structure for DebugScope, DebugDeclare in spirv-opt (#3183)
648*03ce13f7SAndroid Build Coastguard Worker   - Fix identification of Vulkan images and buffers (#3253)
649*03ce13f7SAndroid Build Coastguard Worker - Validator
650*03ce13f7SAndroid Build Coastguard Worker   - Add support for SPV_AMD_shader_image_load_store_lod (#3186)
651*03ce13f7SAndroid Build Coastguard Worker   - Add validation rules for OpenCL.DebugInfo.100 extension (#3133)
652*03ce13f7SAndroid Build Coastguard Worker   - Adding WebGPU specific Workgroup scope rule (#3204)
653*03ce13f7SAndroid Build Coastguard Worker   - Disallow phis of images, samplers and sampled images (#3246)
654*03ce13f7SAndroid Build Coastguard Worker - Reduce
655*03ce13f7SAndroid Build Coastguard Worker - Fuzz
656*03ce13f7SAndroid Build Coastguard Worker   - Fuzzer passes to add local and global variables (#3175)
657*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer passes to add loads/stores (#3176)
658*03ce13f7SAndroid Build Coastguard Worker   - Fuzzer pass to add function calls (#3178)
659*03ce13f7SAndroid Build Coastguard Worker   - Fuzzer pass that adds access chains (#3182)
660*03ce13f7SAndroid Build Coastguard Worker   - Fuzzer pass to add equation instructions (#3202)
661*03ce13f7SAndroid Build Coastguard Worker   - Add swap commutable operands transformation (#3205)
662*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer pass to permute function parameters (#3212)
663*03ce13f7SAndroid Build Coastguard Worker   - Allow OpPhi operand to be replaced with a composite synonym (#3221)
664*03ce13f7SAndroid Build Coastguard Worker - Linker
665*03ce13f7SAndroid Build Coastguard Worker
666*03ce13f7SAndroid Build Coastguard Workerv2020.1 2020-02-03
667*03ce13f7SAndroid Build Coastguard Worker - General:
668*03ce13f7SAndroid Build Coastguard Worker   - Add support for SPV_KHR_non_semantic_info (#3110)
669*03ce13f7SAndroid Build Coastguard Worker   - Support OpenCL.DebugInfo.100 extended instruction set (#3080)
670*03ce13f7SAndroid Build Coastguard Worker   - Added support for Vulkan 1.2
671*03ce13f7SAndroid Build Coastguard Worker   - Add API function to better handle getting the necessary environment (#3142)
672*03ce13f7SAndroid Build Coastguard Worker   - Clarify mapping of target env to SPIR-V version (#3150)
673*03ce13f7SAndroid Build Coastguard Worker   - Implement constant folding for many transcendentals (#3166)
674*03ce13f7SAndroid Build Coastguard Worker - Optimizer
675*03ce13f7SAndroid Build Coastguard Worker   - Change default version for CreatInstBindlessCheckPass to 2 (#3096, #3119)
676*03ce13f7SAndroid Build Coastguard Worker   - Better handling of OpLine on merge blocks (#3130)
677*03ce13f7SAndroid Build Coastguard Worker   - Use placeholder switch instead of placeholder loop in MergeReturn pass. (#3151)
678*03ce13f7SAndroid Build Coastguard Worker   - Handle TimeAMD in AmdExtensionToKhrPass. (#3168)
679*03ce13f7SAndroid Build Coastguard Worker - Validator
680*03ce13f7SAndroid Build Coastguard Worker   - Fix structured exit validation (#3141)
681*03ce13f7SAndroid Build Coastguard Worker - Reduce
682*03ce13f7SAndroid Build Coastguard Worker - Fuzz
683*03ce13f7SAndroid Build Coastguard Worker   - Fuzzer pass to merge blocks (#3097)
684*03ce13f7SAndroid Build Coastguard Worker   - Transformation to add a new function to a module (#3114)
685*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer pass to perform module donation (#3117)
686*03ce13f7SAndroid Build Coastguard Worker   - Fuzzer passes to create and branch to new dead blocks (#3135)
687*03ce13f7SAndroid Build Coastguard Worker   - Fuzzer pass to add composite types (#3171)
688*03ce13f7SAndroid Build Coastguard Worker - Linker:
689*03ce13f7SAndroid Build Coastguard Worker   - Remove names and decorations of imported symbols (#3081)
690*03ce13f7SAndroid Build Coastguard Worker
691*03ce13f7SAndroid Build Coastguard Workerv2019.5 2019-12-11
692*03ce13f7SAndroid Build Coastguard Worker - General:
693*03ce13f7SAndroid Build Coastguard Worker   - Export SPIRV-Tools targets on installation
694*03ce13f7SAndroid Build Coastguard Worker   - SPIRV-Tools support for SPIR-V 1.5 (#2865)
695*03ce13f7SAndroid Build Coastguard Worker   - Add WebGPU SPIR-V Assembler in JavaScript. (#2876)
696*03ce13f7SAndroid Build Coastguard Worker   - Add Bazel build configuration. (#2891)
697*03ce13f7SAndroid Build Coastguard Worker   - Add support for building with emscripten (#2948)
698*03ce13f7SAndroid Build Coastguard Worker   - Update SPIR-V binary header test for SPIR-V 1.5 (#2967)
699*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer for spirv-as call path (#2976)
700*03ce13f7SAndroid Build Coastguard Worker   - Improved CMake install step. (#2963)
701*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer for spirv-dis call path (#2977)
702*03ce13f7SAndroid Build Coastguard Worker   - Ensure timestamp does not vary with timezone. (#2982)
703*03ce13f7SAndroid Build Coastguard Worker   - Add a vscode extension for SPIR-V disassembly files (#2987)
704*03ce13f7SAndroid Build Coastguard Worker   - Add iOS as a supported platform (#3001)
705*03ce13f7SAndroid Build Coastguard Worker   - utils/vscode: Add SPIR-V language server support
706*03ce13f7SAndroid Build Coastguard Worker   - Respect CMAKE_INSTALL_LIBDIR in installed CMake files (#3054)
707*03ce13f7SAndroid Build Coastguard Worker   - Permit the debug instructions in WebGPU SPIR-V (#3063)
708*03ce13f7SAndroid Build Coastguard Worker   - Add support for Fuchsia. (#3062)
709*03ce13f7SAndroid Build Coastguard Worker - Optimizer
710*03ce13f7SAndroid Build Coastguard Worker   - Add descriptor array scalar replacement (#2742)
711*03ce13f7SAndroid Build Coastguard Worker   - Add pass to wrap OpKill in a function call (#2790)
712*03ce13f7SAndroid Build Coastguard Worker   - Fold FMix during constant folding. (#2818)
713*03ce13f7SAndroid Build Coastguard Worker   - Add pass to replace AMD shader ballot extension (#2811)
714*03ce13f7SAndroid Build Coastguard Worker   - Add pass to make Float32 operation relax precision (#2808)
715*03ce13f7SAndroid Build Coastguard Worker   - Add pass to make relax precision operation Float16 (#2808)
716*03ce13f7SAndroid Build Coastguard Worker   - Add pass to replace uses of 3 AMD extensions (#2814)
717*03ce13f7SAndroid Build Coastguard Worker   - Fold Min, Max, and Clamp instructions. (#2836)
718*03ce13f7SAndroid Build Coastguard Worker   - Better handling of OpKill in continues (#2842,#2922,#2933)
719*03ce13f7SAndroid Build Coastguard Worker   - Enable OpTypeCooperativeMatrix specialization (#2927)
720*03ce13f7SAndroid Build Coastguard Worker   - Support constant-folding UConvert and SConvert (#2960)
721*03ce13f7SAndroid Build Coastguard Worker   - Update Offset to ConstOffset bitmask if operand is constant. (#3024)
722*03ce13f7SAndroid Build Coastguard Worker   - Improve RegisterSizePasses (#3059)
723*03ce13f7SAndroid Build Coastguard Worker   - Folding: perform add and sub on mismatched integer types (#3084)
724*03ce13f7SAndroid Build Coastguard Worker   - Graphics robust access: use signed clamp (#3073)
725*03ce13f7SAndroid Build Coastguard Worker   Fixes:
726*03ce13f7SAndroid Build Coastguard Worker   - Instrument: Fix version 2 output record write for tess eval shaders. (#2782)
727*03ce13f7SAndroid Build Coastguard Worker   - Instrument: Add support for Buffer Device Address extension (#2792)
728*03ce13f7SAndroid Build Coastguard Worker   - Fix check for changed binary in API call. (#2798)
729*03ce13f7SAndroid Build Coastguard Worker   - For WebGPU<->Vulkan optimization, set correct execution environment (#2834)
730*03ce13f7SAndroid Build Coastguard Worker   - Handle OpConstantNull in copy-prop-arrays. (#2870)
731*03ce13f7SAndroid Build Coastguard Worker   - Use OpReturn* in wrap-opkill (#2886)
732*03ce13f7SAndroid Build Coastguard Worker - Validator
733*03ce13f7SAndroid Build Coastguard Worker   - Add generic builtin validation of target (#2843)
734*03ce13f7SAndroid Build Coastguard Worker   - Extra resource interface validation (#2864)
735*03ce13f7SAndroid Build Coastguard Worker   - Adding valilidation checks for OpEntryPoint duplicate names and execution mode (#2862)
736*03ce13f7SAndroid Build Coastguard Worker   - Relaxed bitcast with pointers (#2878)
737*03ce13f7SAndroid Build Coastguard Worker   - Validate physical storage buffer restrictions (#2930)
738*03ce13f7SAndroid Build Coastguard Worker   - Add SPV_KHR_shader_clock validation (#2879, #3013)
739*03ce13f7SAndroid Build Coastguard Worker   - Validate that selections are structured (#2962)
740*03ce13f7SAndroid Build Coastguard Worker   - Disallow use of OpCompositeExtract/OpCompositeInsert with no indices (#2980)
741*03ce13f7SAndroid Build Coastguard Worker   - Check that derivatives operate on 32-bit values (#2983)
742*03ce13f7SAndroid Build Coastguard Worker   - Validate array stride does not cause overlap (#3028)
743*03ce13f7SAndroid Build Coastguard Worker   - Validate nested constructs (#3068)
744*03ce13f7SAndroid Build Coastguard Worker   Fixes:
745*03ce13f7SAndroid Build Coastguard Worker   - Fix validation of constant matrices (#2794)
746*03ce13f7SAndroid Build Coastguard Worker   - Update "remquor" validation
747*03ce13f7SAndroid Build Coastguard Worker   - Only allow previously declared forward refs in structs (#2920)
748*03ce13f7SAndroid Build Coastguard Worker - Reduce
749*03ce13f7SAndroid Build Coastguard Worker   - Remove relaxed precision decorations (#2797)
750*03ce13f7SAndroid Build Coastguard Worker   - Reduce/fuzz: improve command line args (#2932)
751*03ce13f7SAndroid Build Coastguard Worker   - Improve remove unref instr pass (#2945)
752*03ce13f7SAndroid Build Coastguard Worker   Fixes:
753*03ce13f7SAndroid Build Coastguard Worker - Fuzz
754*03ce13f7SAndroid Build Coastguard Worker   - Fix add-dead-break and add-dead-continue passes to respect dominance (#2838)
755*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer pass to copy objects (#2853)
756*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer pass to replace ids with synonyms (#2857)
757*03ce13f7SAndroid Build Coastguard Worker   - Allow validation during spirv-fuzz replay (#2873)
758*03ce13f7SAndroid Build Coastguard Worker   - Employ the "swarm testing" idea in spirv-fuzz (#2890)
759*03ce13f7SAndroid Build Coastguard Worker   - reduce/fuzz: improve command line args (#2932)
760*03ce13f7SAndroid Build Coastguard Worker   - option to convert shader into a form that renders red (#2934)
761*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer pass to change selection controls (#2944)
762*03ce13f7SAndroid Build Coastguard Worker   - add transformation and pass to construct composites (#2941)
763*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer pass to change loop controls (#2949)
764*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer pass to change function controls (#2951)
765*03ce13f7SAndroid Build Coastguard Worker   - Add fuzzer pass to add NoContraction decorations (#2950)
766*03ce13f7SAndroid Build Coastguard Worker   - Add missing functionality for matrix composites (#2974)
767*03ce13f7SAndroid Build Coastguard Worker   - Fuzzer pass to adjust memory access operands (#2968)
768*03ce13f7SAndroid Build Coastguard Worker   - Transformation to extract from a composite object (#2991)
769*03ce13f7SAndroid Build Coastguard Worker   - Vector shuffle transformation (#3015)
770*03ce13f7SAndroid Build Coastguard Worker   - Improve debugging facilities (#3074)
771*03ce13f7SAndroid Build Coastguard Worker   - Function outlining fuzzer pass (#3078)
772*03ce13f7SAndroid Build Coastguard Worker
773*03ce13f7SAndroid Build Coastguard Worker
774*03ce13f7SAndroid Build Coastguard Workerv2019.4 2019-08-08
775*03ce13f7SAndroid Build Coastguard Worker - General:
776*03ce13f7SAndroid Build Coastguard Worker   - Memory model support for SPIR-V 1.4
777*03ce13f7SAndroid Build Coastguard Worker   - Add new spirv-fuzz tool
778*03ce13f7SAndroid Build Coastguard Worker   - Add option for base branch in check_code_format.sh
779*03ce13f7SAndroid Build Coastguard Worker   - Removed MarkV and Stats code. (#2576)
780*03ce13f7SAndroid Build Coastguard Worker   - Instrument: Add version 2 of record formats (#2630)
781*03ce13f7SAndroid Build Coastguard Worker   - Linker: Better type comparison for OpTypeArray and OpTypeForwardPointer (#2580)
782*03ce13f7SAndroid Build Coastguard Worker - Optimizer
783*03ce13f7SAndroid Build Coastguard Worker   - Bindless Validation: Instrument descriptor-based loads and stores (#2583)
784*03ce13f7SAndroid Build Coastguard Worker   - Better folding for OpSpecConstantOp (#2585, #2614)
785*03ce13f7SAndroid Build Coastguard Worker   - Add in individual flags for Vulkan <-> WebGPU passes (#2615)
786*03ce13f7SAndroid Build Coastguard Worker   - Handle nested breaks from switches. (#2624)
787*03ce13f7SAndroid Build Coastguard Worker   - Optimizer: Handle array type with OpSpecConstantOp length (#2652)
788*03ce13f7SAndroid Build Coastguard Worker   - Perform merge return with single return in loop. (#2714)
789*03ce13f7SAndroid Build Coastguard Worker   - Add --preserve-bindings and --preserve-spec-constants (#2693)
790*03ce13f7SAndroid Build Coastguard Worker   - Remove Common Uniform Elimination Pass (#2731)
791*03ce13f7SAndroid Build Coastguard Worker   - Allow ray tracing shaders in inst bindle check pass. (#2733)
792*03ce13f7SAndroid Build Coastguard Worker   - Add pass to inject code for robust-buffer-access semantics (#2771)
793*03ce13f7SAndroid Build Coastguard Worker   - Treat access chain indexes as signed in SROA (#2776)
794*03ce13f7SAndroid Build Coastguard Worker   - Handle RelaxedPrecision in SROA (#2788)
795*03ce13f7SAndroid Build Coastguard Worker   - Add descriptor array scalar replacement (#2742)
796*03ce13f7SAndroid Build Coastguard Worker   Fixes:
797*03ce13f7SAndroid Build Coastguard Worker   - Handle decorations better in some optimizations (#2716)
798*03ce13f7SAndroid Build Coastguard Worker   - Change the order branches are simplified in dead branch elim (#2728)
799*03ce13f7SAndroid Build Coastguard Worker   - Fix bug in merge return (#2734)
800*03ce13f7SAndroid Build Coastguard Worker   - SSA rewriter: Don't use trivial phis (#2757)
801*03ce13f7SAndroid Build Coastguard Worker   - Record correct dominators in merge return (#2760)
802*03ce13f7SAndroid Build Coastguard Worker   - Process OpDecorateId in ADCE (#2761)
803*03ce13f7SAndroid Build Coastguard Worker   - Fix check for unreachable blocks in merge-return (#2762)
804*03ce13f7SAndroid Build Coastguard Worker   - Handle out-of-bounds scalar replacements. (#2767)
805*03ce13f7SAndroid Build Coastguard Worker   - Don't move debug or decorations when folding (#2772)
806*03ce13f7SAndroid Build Coastguard Worker   - Protect against out-of-bounds references when folding OpCompositeExtract (#2774)
807*03ce13f7SAndroid Build Coastguard Worker - Validator
808*03ce13f7SAndroid Build Coastguard Worker   - Validate loop merge (#2579)
809*03ce13f7SAndroid Build Coastguard Worker   - Validate construct exits (#2459)
810*03ce13f7SAndroid Build Coastguard Worker   - Validate OpenCL memory and addressing model environment rules (#2589)
811*03ce13f7SAndroid Build Coastguard Worker   - Validate OpenCL environment rules for OpTypeImage (#2606)
812*03ce13f7SAndroid Build Coastguard Worker   - Allow breaks to switch merge from nested construct (#2604)
813*03ce13f7SAndroid Build Coastguard Worker   - Validate OpenCL environment rules for OpImageWrite (#2619)
814*03ce13f7SAndroid Build Coastguard Worker   - Allow arrays of out per-primitive builtins for mesh shaders (#2617)
815*03ce13f7SAndroid Build Coastguard Worker   - Validate OpenCL rules for ImageRead and OpImageSampleExplicitLod (#2643)
816*03ce13f7SAndroid Build Coastguard Worker   - Add validation for SPV_EXT_fragment_shader_interlock (#2650)
817*03ce13f7SAndroid Build Coastguard Worker   - Add builtin validation for SPV_NV_shader_sm_builtins (#2656)
818*03ce13f7SAndroid Build Coastguard Worker   - Add validation for Subgroup builtins (#2637)
819*03ce13f7SAndroid Build Coastguard Worker   - Validate variable initializer type (#2668)
820*03ce13f7SAndroid Build Coastguard Worker   - Disallow stores to UBOs (#2651)A
821*03ce13f7SAndroid Build Coastguard Worker   - Validate Volatile memory semantics bit (#2672)
822*03ce13f7SAndroid Build Coastguard Worker   - Basic validation for Component decorations (#2679)
823*03ce13f7SAndroid Build Coastguard Worker   - Validate that in OpenGL env block variables have Binding (#2685)
824*03ce13f7SAndroid Build Coastguard Worker   - Validate usage of 8- and 16-bit types with only storage capabilities (#2704)
825*03ce13f7SAndroid Build Coastguard Worker   - Add validation for SPV_EXT_demote_to_helper_invocation (#2707)
826*03ce13f7SAndroid Build Coastguard Worker   - Extra small storage validation (#2732)
827*03ce13f7SAndroid Build Coastguard Worker   - For Vulkan, disallow structures containing opaque types (#2546)
828*03ce13f7SAndroid Build Coastguard Worker   - Validate storage class OpenCL environment rules for atomics (#2750)
829*03ce13f7SAndroid Build Coastguard Worker   - Update OpControlBarriers rules for WebGPU (#2769)
830*03ce13f7SAndroid Build Coastguard Worker   - Update OpMemoryBarriers rules for WebGPU (#2775)
831*03ce13f7SAndroid Build Coastguard Worker   - Update WebGPU validation rules of OpAtomic*s (#2777)
832*03ce13f7SAndroid Build Coastguard Worker   Fixes:
833*03ce13f7SAndroid Build Coastguard Worker   - Disallow merge targeting block with OpLoopMerge (#2610)
834*03ce13f7SAndroid Build Coastguard Worker   - Update vloadn and vstoren validation to match the OpenCL Extended
835*03ce13f7SAndroid Build Coastguard Worker     Instruction Set Specification (#2599)
836*03ce13f7SAndroid Build Coastguard Worker   - Update memory scope rules for WebGPU (#2725)
837*03ce13f7SAndroid Build Coastguard Worker   - Allow LOD ops in compute shaders with derivative group execution modes (#2752)
838*03ce13f7SAndroid Build Coastguard Worker - Reduce
839*03ce13f7SAndroid Build Coastguard Worker   Fixes:
840*03ce13f7SAndroid Build Coastguard Worker
841*03ce13f7SAndroid Build Coastguard Workerv2019.3 2019-05-14
842*03ce13f7SAndroid Build Coastguard Worker - General:
843*03ce13f7SAndroid Build Coastguard Worker   - Require Python 3 since Python 2 will out of service soon.
844*03ce13f7SAndroid Build Coastguard Worker   - Add a continuous test that does memory checks using the address sanitizer.
845*03ce13f7SAndroid Build Coastguard Worker   - Fix the build files so the SPIRV_USE_SANITIZER=address build works.
846*03ce13f7SAndroid Build Coastguard Worker   - Packaging top of tree build artifacts again.
847*03ce13f7SAndroid Build Coastguard Worker   - Added support for SPIR-V 1.4. (#2550)
848*03ce13f7SAndroid Build Coastguard Worker - Optimizer
849*03ce13f7SAndroid Build Coastguard Worker   - Remove duplicates from list of interface IDs in OpEntryPoint instruction (#2449)
850*03ce13f7SAndroid Build Coastguard Worker   - Bindless Validation: Descriptor Initialization Check (#2419)
851*03ce13f7SAndroid Build Coastguard Worker   - Add option to validate after each pass (#2462)
852*03ce13f7SAndroid Build Coastguard Worker   - Add legalization pass to fix mismatched pointer (#2430, #2535)
853*03ce13f7SAndroid Build Coastguard Worker   - Add error messages when the input contains unknown instructions. (#2487)
854*03ce13f7SAndroid Build Coastguard Worker   - Add pass to convert from WebGPU Spir-V to Vulkan Spir-V and back. (#2495)
855*03ce13f7SAndroid Build Coastguard Worker   Fixes:
856*03ce13f7SAndroid Build Coastguard Worker   - #2412: Dead memeber elimination should not change input and output variables.
857*03ce13f7SAndroid Build Coastguard Worker   - #2405: Fix OpDot folding of half float vectors.
858*03ce13f7SAndroid Build Coastguard Worker   - #2391: Dead branch elim should not fold away back edges.
859*03ce13f7SAndroid Build Coastguard Worker   - #2441: Removing decorations when doing constant propagation.
860*03ce13f7SAndroid Build Coastguard Worker   - #2455: Maintain inst to block mapping in merge return.
861*03ce13f7SAndroid Build Coastguard Worker   - #2453: Fix merge return in the face of breaks.
862*03ce13f7SAndroid Build Coastguard Worker   - #2456: Handle dead infinite loops in DCE.
863*03ce13f7SAndroid Build Coastguard Worker   - #2458: Handle variable pointer in some optimizations.
864*03ce13f7SAndroid Build Coastguard Worker   - #2452: Fix dead branch elimination to handle unreachable blocks better.
865*03ce13f7SAndroid Build Coastguard Worker   - #2528: Fix undefined bit shift in sroa.
866*03ce13f7SAndroid Build Coastguard Worker   - #2539: Change implementation of post order CFG traversal.
867*03ce13f7SAndroid Build Coastguard Worker - Validator
868*03ce13f7SAndroid Build Coastguard Worker   - Add validation of storage classes for WebGPU (#2446)
869*03ce13f7SAndroid Build Coastguard Worker   - Add validation for ExecutionMode in WebGPU (#2443)
870*03ce13f7SAndroid Build Coastguard Worker   - Implement WebGPU specific CFG validation (#2386)
871*03ce13f7SAndroid Build Coastguard Worker   - Allow NonWritable to target struct members. (#2420)
872*03ce13f7SAndroid Build Coastguard Worker   - Allow storage type mismatch for parameter in relaxed addressing mode.
873*03ce13f7SAndroid Build Coastguard Worker   - Allow non memory objects as parameter in relaxed addressing mode.
874*03ce13f7SAndroid Build Coastguard Worker   - Disallow nested Blocks and buffer blocks (#2410).
875*03ce13f7SAndroid Build Coastguard Worker   - Add validation for SPV_NV_cooperative_matrix (#2404)
876*03ce13f7SAndroid Build Coastguard Worker   - Add --strip-atomic-counter-memory (#2413)
877*03ce13f7SAndroid Build Coastguard Worker   - Check OpSampledImage is only passed into valid instructions (#2467)
878*03ce13f7SAndroid Build Coastguard Worker   - Handle function decls in Structured CFG analysis (#2474)
879*03ce13f7SAndroid Build Coastguard Worker   - Validate that OpUnreacahble is not statically reachable (#2473)
880*03ce13f7SAndroid Build Coastguard Worker   - Add pass to generate needed initializers for WebGPU (#2481)
881*03ce13f7SAndroid Build Coastguard Worker   - Allow images without format for OpenCL. (#2470)
882*03ce13f7SAndroid Build Coastguard Worker   - Remove unreachable block validation (#2525)
883*03ce13f7SAndroid Build Coastguard Worker   - Reduce runtime of array layout checks (#2534)
884*03ce13f7SAndroid Build Coastguard Worker   - Add validation specific to OpExecutionModeId (#2536)
885*03ce13f7SAndroid Build Coastguard Worker   - Validate sign of int types. (#2549)
886*03ce13f7SAndroid Build Coastguard Worker   - VK_KHR_uniform_buffer_standard_layout validation (#2562)
887*03ce13f7SAndroid Build Coastguard Worker   Fixes:
888*03ce13f7SAndroid Build Coastguard Worker   - #2439: Add missing DepthGreater case to Fragment only check.
889*03ce13f7SAndroid Build Coastguard Worker   - #2168: Disallow BufferBlock on StorageBuffer variables for Vulkan.
890*03ce13f7SAndroid Build Coastguard Worker   - #2408: Restrict and Aliased decorations cannot be applied to the same id.
891*03ce13f7SAndroid Build Coastguard Worker   - #2447: Improve function call parameter check.
892*03ce13f7SAndroid Build Coastguard Worker - Reduce
893*03ce13f7SAndroid Build Coastguard Worker   - Add Pass to remove unreferenced blocks. (#2398)
894*03ce13f7SAndroid Build Coastguard Worker   - Allows passing options to the validator. (#2401)
895*03ce13f7SAndroid Build Coastguard Worker   - Improve reducer algorithm and other changes (#2472)
896*03ce13f7SAndroid Build Coastguard Worker   - Add Pass to remove selections (#2485)
897*03ce13f7SAndroid Build Coastguard Worker   - Add passes to simplify branches (#2507)
898*03ce13f7SAndroid Build Coastguard Worker   Fixes:
899*03ce13f7SAndroid Build Coastguard Worker   - #2478: fix loop to selection pass for loops with combined header/continue block
900*03ce13f7SAndroid Build Coastguard Worker
901*03ce13f7SAndroid Build Coastguard Workerv2019.2 2019-02-20
902*03ce13f7SAndroid Build Coastguard Worker - General:
903*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_EXT_physical_storage_buffer
904*03ce13f7SAndroid Build Coastguard Worker   - A number of memory leak have been fixed.
905*03ce13f7SAndroid Build Coastguard Worker   - Removed use of deprecated Google test macro:
906*03ce13f7SAndroid Build Coastguard Worker   - Changed the BUILD.gn to only build tests in Chromium.
907*03ce13f7SAndroid Build Coastguard Worker - Optimizer
908*03ce13f7SAndroid Build Coastguard Worker   - Upgrade memory model improvments for modf and frexp.
909*03ce13f7SAndroid Build Coastguard Worker   - Add a new pass to move loads closer to their uses: code sinking.
910*03ce13f7SAndroid Build Coastguard Worker   - Invalidating the type manager now invalidates the constnat manager.
911*03ce13f7SAndroid Build Coastguard Worker   - Expand instrumentation pass for bindless bounds checking to runtime-sized descriptor arrays.
912*03ce13f7SAndroid Build Coastguard Worker   - Add a new pass that removes members from structs that are not used: dead member elimination.
913*03ce13f7SAndroid Build Coastguard Worker   Fixes:
914*03ce13f7SAndroid Build Coastguard Worker   - #2292: Remove undefined behaviour when folding bit shifts.
915*03ce13f7SAndroid Build Coastguard Worker   - #2294: Fixes for instrumentation code.
916*03ce13f7SAndroid Build Coastguard Worker   - #2293: Fix overflow when folding -INT_MIN.
917*03ce13f7SAndroid Build Coastguard Worker   - #2374: Don't merge unreachable blocks when merging blocks.
918*03ce13f7SAndroid Build Coastguard Worker - Validator
919*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_KHR_no_integer_wrap and related decorations.
920*03ce13f7SAndroid Build Coastguard Worker   - Validate Vulkan rules for OpTypeRuntimeArray.
921*03ce13f7SAndroid Build Coastguard Worker   - Validate NonWritable decoration.
922*03ce13f7SAndroid Build Coastguard Worker   - Many WebGPU specific validation rules were added.
923*03ce13f7SAndroid Build Coastguard Worker   - Validate variable pointer related function call rules.
924*03ce13f7SAndroid Build Coastguard Worker   - Better error messages.
925*03ce13f7SAndroid Build Coastguard Worker   Fixes:
926*03ce13f7SAndroid Build Coastguard Worker   - #2307: Check forwards references in OpTypeArray.
927*03ce13f7SAndroid Build Coastguard Worker   - #2315, #2303: Fixed the layout check for relaxed layout.
928*03ce13f7SAndroid Build Coastguard Worker   - #1628: Emit an error when an OpSwitch target is not an OpLabel.
929*03ce13f7SAndroid Build Coastguard Worker - Reduce
930*03ce13f7SAndroid Build Coastguard Worker   - Added more documentation for spirv-reduce.
931*03ce13f7SAndroid Build Coastguard Worker   - Add ability to remove OpPhi instructions.
932*03ce13f7SAndroid Build Coastguard Worker   - Add ability to merge two basic blocks.
933*03ce13f7SAndroid Build Coastguard Worker   - Add ability to remove unused functions and unused basic blocks.
934*03ce13f7SAndroid Build Coastguard Worker   Fixes:
935*03ce13f7SAndroid Build Coastguard Worker
936*03ce13f7SAndroid Build Coastguard Workerv2019.1 2019-01-07
937*03ce13f7SAndroid Build Coastguard Worker - General:
938*03ce13f7SAndroid Build Coastguard Worker   - Created a new tool called spirv-reduce.
939*03ce13f7SAndroid Build Coastguard Worker   - Add cmake option to turn off SPIRV_TIMER_ENABLED (#2103)
940*03ce13f7SAndroid Build Coastguard Worker   - New optimization pass to update the memory model from GLSL450 to VulkanKHR.
941*03ce13f7SAndroid Build Coastguard Worker   - Recognize OpTypeAccelerationStructureNV as a type instruction and ray tracing storage classes.
942*03ce13f7SAndroid Build Coastguard Worker   - Fix GCC8 build.
943*03ce13f7SAndroid Build Coastguard Worker   - Add --target-env flag to spirv-opt.
944*03ce13f7SAndroid Build Coastguard Worker   - Add --webgpu-mode flag to run optimizations for webgpu.
945*03ce13f7SAndroid Build Coastguard Worker   - The output disassembled line number stead of byte offset in validation errors. (#2091)
946*03ce13f7SAndroid Build Coastguard Worker - Optimizer
947*03ce13f7SAndroid Build Coastguard Worker   - Added the instrumentation passes for bindless validation.
948*03ce13f7SAndroid Build Coastguard Worker   - Added passes to help preserve OpLine information (#2027)
949*03ce13f7SAndroid Build Coastguard Worker   - Add basic support for EXT_fragment_invocation_density (#2100)
950*03ce13f7SAndroid Build Coastguard Worker   - Fix invalid OpPhi generated by merge-return. (#2172)
951*03ce13f7SAndroid Build Coastguard Worker   - Constant and type manager have been turned into analysies. (#2251)
952*03ce13f7SAndroid Build Coastguard Worker   Fixes:
953*03ce13f7SAndroid Build Coastguard Worker   - #2018: Don't inline functions with a return in a structured CFG contstruct.
954*03ce13f7SAndroid Build Coastguard Worker   - #2047: Fix bug in folding when volatile stores are present.
955*03ce13f7SAndroid Build Coastguard Worker   - #2053: Fix check for when folding floating pointer values is allowed.
956*03ce13f7SAndroid Build Coastguard Worker   - #2130: Don't inline recursive functions.
957*03ce13f7SAndroid Build Coastguard Worker   - #2202: Handle multiple edges between two basic blocks in SSA-rewriter.
958*03ce13f7SAndroid Build Coastguard Worker   - #2205: Don't unswitch a latch condition during loop unswitch.
959*03ce13f7SAndroid Build Coastguard Worker   - #2245: Don't fold branch in loop unswitch.  Run dead branch elimination to fold them.
960*03ce13f7SAndroid Build Coastguard Worker   - #2204: Fix eliminate common uniform to place OpPhi instructions correctly.
961*03ce13f7SAndroid Build Coastguard Worker   - #2247: Fix type mismatches caused by scalar replacement.
962*03ce13f7SAndroid Build Coastguard Worker   - #2248: Fix missing OpPhi after merge return.
963*03ce13f7SAndroid Build Coastguard Worker   - #2211: After merge return, fix invalid continue target.
964*03ce13f7SAndroid Build Coastguard Worker   - #2210: Fix loop invariant code motion to not place code between merge instruction and branch.
965*03ce13f7SAndroid Build Coastguard Worker   - #2258: Handle CompositeInsert with no indices in VDCE.
966*03ce13f7SAndroid Build Coastguard Worker   - #2261: Have replace load size handle extact with no index.
967*03ce13f7SAndroid Build Coastguard Worker - Validator
968*03ce13f7SAndroid Build Coastguard Worker   - Changed the naming convention of outputing ids with names in diagnostic messages.
969*03ce13f7SAndroid Build Coastguard Worker   - Added validation rules for UniformConstant variables in Vulkan.
970*03ce13f7SAndroid Build Coastguard Worker   - #1949: Validate uniform variable type in Vulkan
971*03ce13f7SAndroid Build Coastguard Worker   - Ensure for OpVariable that result type and storage class operand agree (#2052)
972*03ce13f7SAndroid Build Coastguard Worker   - Validator: Support VK_EXT_scalar_block_layout
973*03ce13f7SAndroid Build Coastguard Worker   - Added Vulkan memory model semantics validation
974*03ce13f7SAndroid Build Coastguard Worker   - Added validation checkes spefic to WebGPU environment.
975*03ce13f7SAndroid Build Coastguard Worker   - Add support for VK_EXT_Transform_feedback capabilities (#2088)
976*03ce13f7SAndroid Build Coastguard Worker   - Add validation for OpArrayLength. (#2117)
977*03ce13f7SAndroid Build Coastguard Worker   - Ensure that function parameter's type is not void (#2118)
978*03ce13f7SAndroid Build Coastguard Worker   - Validate pointer variables (#2111)
979*03ce13f7SAndroid Build Coastguard Worker   - Add check for QueueFamilyKHMR memory scope (#2144)
980*03ce13f7SAndroid Build Coastguard Worker   - Validate PushConstants annotation and type (#2140)
981*03ce13f7SAndroid Build Coastguard Worker   - Allow Float16/Int8 for Vulkan 1.0 (#2153)
982*03ce13f7SAndroid Build Coastguard Worker   - Check binding annotations in resource variables (#2151, #2167)
983*03ce13f7SAndroid Build Coastguard Worker   - Validate OpForwardPointer (#2156)
984*03ce13f7SAndroid Build Coastguard Worker   - Validate operation for OpSpecConstantOp (#2260)
985*03ce13f7SAndroid Build Coastguard Worker   Fixes:
986*03ce13f7SAndroid Build Coastguard Worker   - #2049: Allow InstanceId for NV ray tracing
987*03ce13f7SAndroid Build Coastguard Worker - Reduce
988*03ce13f7SAndroid Build Coastguard Worker   - Initial commit wit a few passes to reduce test cases.
989*03ce13f7SAndroid Build Coastguard Worker   - Validation is run after each reduction step.
990*03ce13f7SAndroid Build Coastguard Worker   Fixes:
991*03ce13f7SAndroid Build Coastguard Worker
992*03ce13f7SAndroid Build Coastguard Worker
993*03ce13f7SAndroid Build Coastguard Workerv2018.6 2018-11-07
994*03ce13f7SAndroid Build Coastguard Worker - General:
995*03ce13f7SAndroid Build Coastguard Worker   - Added support for the Nvidia Turing and ray tracing extensions.
996*03ce13f7SAndroid Build Coastguard Worker   - Make C++11 the CXX standard in CMakeLists.txt.
997*03ce13f7SAndroid Build Coastguard Worker   - Enabled a parallel build for MSVC.
998*03ce13f7SAndroid Build Coastguard Worker   - Enable pre-compiled headers for MSVC.
999*03ce13f7SAndroid Build Coastguard Worker   - Added a code of conduct.
1000*03ce13f7SAndroid Build Coastguard Worker   - EFFCEE and RE2 are now required when build the tests.
1001*03ce13f7SAndroid Build Coastguard Worker - Optimizer
1002*03ce13f7SAndroid Build Coastguard Worker   - Unrolling loops marked for unrolling in the legalization passes.
1003*03ce13f7SAndroid Build Coastguard Worker   - Improved the compile time of loop unrolling.
1004*03ce13f7SAndroid Build Coastguard Worker   - Changee merge-return to create a placeholder loop around the function.
1005*03ce13f7SAndroid Build Coastguard Worker   - Small improvement to merge-blocks to allow it to merge more often.
1006*03ce13f7SAndroid Build Coastguard Worker   - Enforce an upper bound for the ids, and add option to set it.
1007*03ce13f7SAndroid Build Coastguard Worker   - #1966: Report error if there are unreachable block before running merge return
1008*03ce13f7SAndroid Build Coastguard Worker   Fixes:
1009*03ce13f7SAndroid Build Coastguard Worker   - #1917: Allow 0 (meaning unlimited) as a parameter to --scalar-replacement
1010*03ce13f7SAndroid Build Coastguard Worker   - #1915: Improve handling of group decorations.
1011*03ce13f7SAndroid Build Coastguard Worker   - #1942: Fix incorrect uses of the constant manager.  Avoids type mismatches in generated code.
1012*03ce13f7SAndroid Build Coastguard Worker   - #1997: Fix dead branch elimination when there is a loop in folded selection.
1013*03ce13f7SAndroid Build Coastguard Worker   - #1991: Fixes legality check in if-conversion.
1014*03ce13f7SAndroid Build Coastguard Worker   - #1987: Add nullptr check to array copy propagation.
1015*03ce13f7SAndroid Build Coastguard Worker   - #1984: Better handling of OpUnreachable in ADCE.
1016*03ce13f7SAndroid Build Coastguard Worker   - #1983: Run merge return on reachable functions only.
1017*03ce13f7SAndroid Build Coastguard Worker   - #1956: Handled atomic operations in ADCE.
1018*03ce13f7SAndroid Build Coastguard Worker   - #1963: Fold integer divisions by 0 to 0.
1019*03ce13f7SAndroid Build Coastguard Worker   - #2019: Handle MemberDecorateStringGOOGLE in ADCE and strip reflect.
1020*03ce13f7SAndroid Build Coastguard Worker - Validator
1021*03ce13f7SAndroid Build Coastguard Worker   - Added validation for OpGroupNonUniformBallotBitCount.
1022*03ce13f7SAndroid Build Coastguard Worker   - Added validation for the Vulkan memory model.
1023*03ce13f7SAndroid Build Coastguard Worker   - Added support for VK_KHR_shader_atddomic_int64.
1024*03ce13f7SAndroid Build Coastguard Worker   - Added validation for execution modes.
1025*03ce13f7SAndroid Build Coastguard Worker   - Added validation for runtime array layouts.
1026*03ce13f7SAndroid Build Coastguard Worker   - Added validation for 8-bit storage.
1027*03ce13f7SAndroid Build Coastguard Worker   - Added validation of OpPhi instructions with pointer result type.
1028*03ce13f7SAndroid Build Coastguard Worker   - Added checks for the Vulkan memory model.
1029*03ce13f7SAndroid Build Coastguard Worker   - Validate MakeTexelAvailableKHR and MakeTexelVisibleKHR
1030*03ce13f7SAndroid Build Coastguard Worker   - Allow atomic function pointer for OpenCL.
1031*03ce13f7SAndroid Build Coastguard Worker   - FPRounding mode checks were implemented.
1032*03ce13f7SAndroid Build Coastguard Worker   - Added validation for the id bound with an option to set the max id bound.
1033*03ce13f7SAndroid Build Coastguard Worker   Fixes:
1034*03ce13f7SAndroid Build Coastguard Worker   - #1882: Improve the validation of decorations to reduce memory usage.
1035*03ce13f7SAndroid Build Coastguard Worker   - #1891: Fix an potential infinite loop in dead-branch-elimination.
1036*03ce13f7SAndroid Build Coastguard Worker   - #1405: Validate the storage class of boolean objects.
1037*03ce13f7SAndroid Build Coastguard Worker   - #1880: Identify arrays of type void as invalid.
1038*03ce13f7SAndroid Build Coastguard Worker   - #487: Validate OpImageTexelPointer.
1039*03ce13f7SAndroid Build Coastguard Worker   - #1922: Validate OpPhi instructions are at the start of a block correctly.
1040*03ce13f7SAndroid Build Coastguard Worker   - #1923: Validate function scope variable are at the start of the entry block.
1041*03ce13f7SAndroid Build Coastguard Worker
1042*03ce13f7SAndroid Build Coastguard Workerv2018.5 2018-09-07
1043*03ce13f7SAndroid Build Coastguard Worker - General:
1044*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_KHR_vulkan_memory_model
1045*03ce13f7SAndroid Build Coastguard Worker   - Update Dim capabilities, to match SPIR-V 1.3 Rev 4
1046*03ce13f7SAndroid Build Coastguard Worker   - Automated build bots no run tests for the VS2013 case
1047*03ce13f7SAndroid Build Coastguard Worker   - Support Chromium GN build
1048*03ce13f7SAndroid Build Coastguard Worker   - Use Kokoro bots:
1049*03ce13f7SAndroid Build Coastguard Worker     - Disable Travis-CI bots
1050*03ce13f7SAndroid Build Coastguard Worker     - Disable AppVeyor VisualStudio Release builds. Keep VS 2017 Debug build
1051*03ce13f7SAndroid Build Coastguard Worker   - Don't check export symbols on OSX (Darwin): some installations don't have 'objdump'
1052*03ce13f7SAndroid Build Coastguard Worker   - Reorganize source files and namespaces
1053*03ce13f7SAndroid Build Coastguard Worker   - Fixes for ClangTidy, and whitespace (passes 'git cl presumit --all -uf')
1054*03ce13f7SAndroid Build Coastguard Worker   - Fix unused param compile warnings/errors when Effcee not present
1055*03ce13f7SAndroid Build Coastguard Worker   - Avoid including time headers when timer functionality is disabled
1056*03ce13f7SAndroid Build Coastguard Worker   - Avoid too-stringent warnings flags for Clang on Windows
1057*03ce13f7SAndroid Build Coastguard Worker   - Internal refactoring
1058*03ce13f7SAndroid Build Coastguard Worker   - Add hooks for automated fuzzing
1059*03ce13f7SAndroid Build Coastguard Worker   - Add testing of command line executables
1060*03ce13f7SAndroid Build Coastguard Worker   - #1688: Use binary mode on stdin; fixes "spirv-dis <foo.spv" on Windows
1061*03ce13f7SAndroid Build Coastguard Worker - Optimizer
1062*03ce13f7SAndroid Build Coastguard Worker   - The optimizer validates the module before it begins
1063*03ce13f7SAndroid Build Coastguard Worker   - Add API to register passes by string name
1064*03ce13f7SAndroid Build Coastguard Worker   - Fold a vector shuffle feeding a vector shuffle
1065*03ce13f7SAndroid Build Coastguard Worker   - Add -combine-access-chains transform
1066*03ce13f7SAndroid Build Coastguard Worker   - Refactor how IRContext is handled by passes
1067*03ce13f7SAndroid Build Coastguard Worker   - Improve bookkeeping for instruction result type and result id
1068*03ce13f7SAndroid Build Coastguard Worker   - Fix over-duplication of decorations
1069*03ce13f7SAndroid Build Coastguard Worker   - Fix handling of exits from selections in dead-branch elimination, and dead code
1070*03ce13f7SAndroid Build Coastguard Worker     elimination.
1071*03ce13f7SAndroid Build Coastguard Worker   - Fix handling of certain kinds of flow control in merge-return
1072*03ce13f7SAndroid Build Coastguard Worker   Fixes:
1073*03ce13f7SAndroid Build Coastguard Worker   - #1721: Fix size bug when folding vector shuffles
1074*03ce13f7SAndroid Build Coastguard Worker   - #1722: Fix size infinite loop when folding vector shuffles
1075*03ce13f7SAndroid Build Coastguard Worker   - #1724: Fix finding a constant of a specific type
1076*03ce13f7SAndroid Build Coastguard Worker   - #1727: Dead branch elim: Reorder blocks if needed to satisfy dominance rule
1077*03ce13f7SAndroid Build Coastguard Worker   - #1729: Handle VariablePointers cases in various optimizations
1078*03ce13f7SAndroid Build Coastguard Worker   - #1731: Fix vector shuffle with literal id indicating undef value
1079*03ce13f7SAndroid Build Coastguard Worker   - #1736: Fix handling of decorations and phis in merge-return
1080*03ce13f7SAndroid Build Coastguard Worker   - #1787: Fix handling of decorations related to access chains
1081*03ce13f7SAndroid Build Coastguard Worker   - #1865: Avoid leaking memory for SPIR-V constant values
1082*03ce13f7SAndroid Build Coastguard Worker - Validator
1083*03ce13f7SAndroid Build Coastguard Worker   - Improve error messages
1084*03ce13f7SAndroid Build Coastguard Worker   - Avoid platform-dependent traversal ordering, to ensure consistent messages
1085*03ce13f7SAndroid Build Coastguard Worker   - Use libspirv::Instruction where possible
1086*03ce13f7SAndroid Build Coastguard Worker   - Add option to skip all block layout checks
1087*03ce13f7SAndroid Build Coastguard Worker   - Validate all type IDs
1088*03ce13f7SAndroid Build Coastguard Worker   - Validate uses of OpFunction
1089*03ce13f7SAndroid Build Coastguard Worker   - Validate uses of OpTypeFunction
1090*03ce13f7SAndroid Build Coastguard Worker   - Disallow a struct containing its own type https://crbug.com/874372
1091*03ce13f7SAndroid Build Coastguard Worker   - #1685: Vulkan permits non-monotonic offsets for block members
1092*03ce13f7SAndroid Build Coastguard Worker   - #1697: Enforce block layout rules even when using relaxed block layout option
1093*03ce13f7SAndroid Build Coastguard Worker   - #1719: Fix line number for vector shuffle valiation error
1094*03ce13f7SAndroid Build Coastguard Worker   - #1789: Avoid assertion failure when validating some functions
1095*03ce13f7SAndroid Build Coastguard Worker   - #1800: Fix validation of OpCopyMemorySized
1096*03ce13f7SAndroid Build Coastguard Worker   - #1822: Stop enforcing struct member offset montonicity
1097*03ce13f7SAndroid Build Coastguard Worker   - #1831: Disallow void members in structs
1098*03ce13f7SAndroid Build Coastguard Worker
1099*03ce13f7SAndroid Build Coastguard Workerv2018.4 2018-07-08
1100*03ce13f7SAndroid Build Coastguard Worker - General:
1101*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_KHR_8bit_storage
1102*03ce13f7SAndroid Build Coastguard Worker   - Add gclient and presubmit configurations
1103*03ce13f7SAndroid Build Coastguard Worker   - Enable Kokoro build bots (#1625)
1104*03ce13f7SAndroid Build Coastguard Worker   - Group tests into fewer executables, reduces load on CI
1105*03ce13f7SAndroid Build Coastguard Worker   - Port test script to Python 3
1106*03ce13f7SAndroid Build Coastguard Worker   - Symbol export tests respect SPIRV_SKIP_TESTS
1107*03ce13f7SAndroid Build Coastguard Worker   - #1596: Operand lookup succeeds if enabled by a capability
1108*03ce13f7SAndroid Build Coastguard Worker   - #1624: Instruction lookup succeeds if enabled by a capability
1109*03ce13f7SAndroid Build Coastguard Worker   - Refactoring namespaces:
1110*03ce13f7SAndroid Build Coastguard Worker     - #1678: Change libspirv to spvtools
1111*03ce13f7SAndroid Build Coastguard Worker     - Code in source/utils moved into spvtools::utils
1112*03ce13f7SAndroid Build Coastguard Worker     - Code in source/comp moved into spvtools::comp
1113*03ce13f7SAndroid Build Coastguard Worker - Optimizer:
1114*03ce13f7SAndroid Build Coastguard Worker   - Remove insert-extract-elim pass. Use simplification pass instead.
1115*03ce13f7SAndroid Build Coastguard Worker   - Preserve instruction-to-block mapping in most passes, to reduce runtime.
1116*03ce13f7SAndroid Build Coastguard Worker   - Small vector optimization for operands
1117*03ce13f7SAndroid Build Coastguard Worker   - Add pass to move Private variables to Function. Increase opportunity to optimize.
1118*03ce13f7SAndroid Build Coastguard Worker   - Fixes:
1119*03ce13f7SAndroid Build Coastguard Worker     #1120: Check static uses of entry point interfaces
1120*03ce13f7SAndroid Build Coastguard Worker     #1372: Avoid merging some structs, to preserve names for reflection
1121*03ce13f7SAndroid Build Coastguard Worker     #1577: Scalar replacement uses only undecorated types.
1122*03ce13f7SAndroid Build Coastguard Worker     #1578: Fix handling of forward-pointer types, and types embedding pointers
1123*03ce13f7SAndroid Build Coastguard Worker       to themselves.
1124*03ce13f7SAndroid Build Coastguard Worker     #1591: Inliner: Callee variable with initializer should have a store at the call site.
1125*03ce13f7SAndroid Build Coastguard Worker     #1634: Fix crash: Use type id in vector type lookup
1126*03ce13f7SAndroid Build Coastguard Worker     #1649: Fix assert in compact-ids pass
1127*03ce13f7SAndroid Build Coastguard Worker     Fix constant folder: ensure it uses the right type
1128*03ce13f7SAndroid Build Coastguard Worker     #1659: Folding rules added to IRContext. Avoids leak.
1129*03ce13f7SAndroid Build Coastguard Worker - Validator
1130*03ce13f7SAndroid Build Coastguard Worker   - Add work-in-progress WebGPU environment. Disallows OpUndef
1131*03ce13f7SAndroid Build Coastguard Worker   - #670, #1581: Improve error messages; disassemble instruction
1132*03ce13f7SAndroid Build Coastguard Worker   - #491: Check structured switches
1133*03ce13f7SAndroid Build Coastguard Worker   - #937: Check layout rules for Block and BufferBlock in Uniform, StorageBuffer, PushConstant
1134*03ce13f7SAndroid Build Coastguard Worker   - #1281: Check invalid branches into structured constructs
1135*03ce13f7SAndroid Build Coastguard Worker   - #1522: Disallow array-of-arrays with DescriptorSets
1136*03ce13f7SAndroid Build Coastguard Worker   - #1577: Allow duplicate pointer types.
1137*03ce13f7SAndroid Build Coastguard Worker   - #1581: Better messages: output ID names along with numbers in more cases.
1138*03ce13f7SAndroid Build Coastguard Worker   - #1597: Check Vulkan 1.1 capabilities
1139*03ce13f7SAndroid Build Coastguard Worker   - #1618: Check invalid exit from structured case construct
1140*03ce13f7SAndroid Build Coastguard Worker   - #1622: Run IdPass before DataRulesPass
1141*03ce13f7SAndroid Build Coastguard Worker   - #1632: Reduce test time by artificially lowering limits in limit test
1142*03ce13f7SAndroid Build Coastguard Worker   - #1638: Block-decorated structs member order must respect offset order
1143*03ce13f7SAndroid Build Coastguard Worker   - #1657: Improve CFG validation diagnostics
1144*03ce13f7SAndroid Build Coastguard Worker   - Khronos SPIR-V #337: GLSL.std.450 Refract instruction Eta param can be any float scalar.
1145*03ce13f7SAndroid Build Coastguard Worker   - #1606: PushConstant Blocks follow storage-buffer layout rules
1146*03ce13f7SAndroid Build Coastguard Worker   - #1664: Check layout of StorageBuffer variables with Block decoration, using storage buffer
1147*03ce13f7SAndroid Build Coastguard Worker     rules
1148*03ce13f7SAndroid Build Coastguard Worker   - #1666: Layout validation should permit {vec3; float} packing
1149*03ce13f7SAndroid Build Coastguard Worker   - #1637, #1668: Layout validation uses RowMajor, ArrayStride, MatrixStride properly
1150*03ce13f7SAndroid Build Coastguard Worker - Linker
1151*03ce13f7SAndroid Build Coastguard Worker   - Avoid buffer overrun when creating OpModuleProcessed
1152*03ce13f7SAndroid Build Coastguard Worker
1153*03ce13f7SAndroid Build Coastguard Workerv2018.3 2018-05-25
1154*03ce13f7SAndroid Build Coastguard Worker - General:
1155*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_EXT_descriptor_indexing
1156*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_GOOGLE_decorate_string
1157*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_GOOGLE_hlsl_functionality1
1158*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_NV_shader_subgroup_partitioned
1159*03ce13f7SAndroid Build Coastguard Worker   - Use "unified1" grammar from SPIRV-Headers
1160*03ce13f7SAndroid Build Coastguard Worker   - Simplify support for new extensions. Assembler, disassembler, and simple validation
1161*03ce13f7SAndroid Build Coastguard Worker     support is automatic if new tokens are introduced with appropriate extension
1162*03ce13f7SAndroid Build Coastguard Worker     attributes in the "unified1" SPIR-V core grammar.
1163*03ce13f7SAndroid Build Coastguard Worker   - Disassembler: Emit more digits on floating point, to reliably reproduce all
1164*03ce13f7SAndroid Build Coastguard Worker     significand bits.  (Use std::max_digits10 instead of std::digits10)
1165*03ce13f7SAndroid Build Coastguard Worker   - Fix compilation for old XCode versions: Explicit construction required for std::set.
1166*03ce13f7SAndroid Build Coastguard Worker - Optimizer:
1167*03ce13f7SAndroid Build Coastguard Worker   - Add --strip-reflect
1168*03ce13f7SAndroid Build Coastguard Worker   - Add --time-report
1169*03ce13f7SAndroid Build Coastguard Worker   - Add --loop-fission
1170*03ce13f7SAndroid Build Coastguard Worker   - Add lop fusion.
1171*03ce13f7SAndroid Build Coastguard Worker   - Add loop peeling pass and internal utility.
1172*03ce13f7SAndroid Build Coastguard Worker   - Improve optimizer runtime.
1173*03ce13f7SAndroid Build Coastguard Worker   - Merge-return now works with structured control flow.
1174*03ce13f7SAndroid Build Coastguard Worker   - New (faster) SSA rewriter to convert local loads and stores to SSA IDs and phis.
1175*03ce13f7SAndroid Build Coastguard Worker     Can replace load/store elimination passes.
1176*03ce13f7SAndroid Build Coastguard Worker   - Fix instruction folding case: insertion that feeds and extract, when the extract
1177*03ce13f7SAndroid Build Coastguard Worker     remains.
1178*03ce13f7SAndroid Build Coastguard Worker   - Fold OpDot.
1179*03ce13f7SAndroid Build Coastguard Worker   - Fold OpFNegate.
1180*03ce13f7SAndroid Build Coastguard Worker   - Fold multply and divide of same value.
1181*03ce13f7SAndroid Build Coastguard Worker   - Fold FClamp feeding a compare.
1182*03ce13f7SAndroid Build Coastguard Worker   - Fold OpLoad feeding an extract, to reduce excessive copying. (#1547)
1183*03ce13f7SAndroid Build Coastguard Worker   - Fold Fmix feeding an extract.
1184*03ce13f7SAndroid Build Coastguard Worker   - Use simplification pass instead of insert-extract elimination.
1185*03ce13f7SAndroid Build Coastguard Worker   - Constant fold OpVectorTimesScalar.
1186*03ce13f7SAndroid Build Coastguard Worker   - Copy propagate arrays, in simple cases.
1187*03ce13f7SAndroid Build Coastguard Worker   - Aggressive dead code elimination: Can remove more instructions, e.g. derivatives.
1188*03ce13f7SAndroid Build Coastguard Worker   - Aggressive dead code elimination: Remove Workgroup variables that are written but not read.
1189*03ce13f7SAndroid Build Coastguard Worker   - Better handling of OpImageTexelPointer
1190*03ce13f7SAndroid Build Coastguard Worker   - Initial utilities for scalar evolution.
1191*03ce13f7SAndroid Build Coastguard Worker   - Add Vector dead code elimination.
1192*03ce13f7SAndroid Build Coastguard Worker   - Each pass can only run once.
1193*03ce13f7SAndroid Build Coastguard Worker   - Allow code hosting in if-conversion.
1194*03ce13f7SAndroid Build Coastguard Worker   - Add external interface for adding a PassToken, so external code can make their own
1195*03ce13f7SAndroid Build Coastguard Worker     passes.
1196*03ce13f7SAndroid Build Coastguard Worker   - Fixes:
1197*03ce13f7SAndroid Build Coastguard Worker     #1404: Don't optimize away the compute compute workgroup size constant.
1198*03ce13f7SAndroid Build Coastguard Worker     #1407: Remove a bad assertion
1199*03ce13f7SAndroid Build Coastguard Worker     #1456: Fix bug in SSA rewriter related to variables updated in loops.
1200*03ce13f7SAndroid Build Coastguard Worker     #1487: Fix long runtime in Dead insertion elimination: Don't revist select phi nodes.
1201*03ce13f7SAndroid Build Coastguard Worker     #1492: Aggressive dead code elimination can remove OpDecorateStringGOOGLE.
1202*03ce13f7SAndroid Build Coastguard Worker     #1527: Fix inlining of functions having OpKill and OpUnreachable.
1203*03ce13f7SAndroid Build Coastguard Worker     #1559: Fix assert failure in reduce-load-size pass.
1204*03ce13f7SAndroid Build Coastguard Worker     #1556: Aggressive dead code elimination: Fix handling of OpCopyMemory.
1205*03ce13f7SAndroid Build Coastguard Worker - Validator:
1206*03ce13f7SAndroid Build Coastguard Worker   - Check Vulkan built-in variables
1207*03ce13f7SAndroid Build Coastguard Worker   - Check Vulkan-specific atomic result type rule.
1208*03ce13f7SAndroid Build Coastguard Worker   - Relax control barrier check for SPIR-V 1.3.  Fixes #1427
1209*03ce13f7SAndroid Build Coastguard Worker   - Check OpPhi.
1210*03ce13f7SAndroid Build Coastguard Worker   - Check OpMemoryModel.
1211*03ce13f7SAndroid Build Coastguard Worker   - Stop checking sizes derived from spec-constants.
1212*03ce13f7SAndroid Build Coastguard Worker   - Re-enable checks for OpUConvert.
1213*03ce13f7SAndroid Build Coastguard Worker   - Vulkan: Fix check for PrimitiveId: Permit as Input in fragment shader.
1214*03ce13f7SAndroid Build Coastguard Worker   - Validate binary version for the given target environment.
1215*03ce13f7SAndroid Build Coastguard Worker   - Add tests for OpBranch checks.
1216*03ce13f7SAndroid Build Coastguard Worker   - Vulkan 1.1: Check scope for non-uniform subgroup operations.
1217*03ce13f7SAndroid Build Coastguard Worker   - Fix checks for SPV_AMD_gpu_shader_int16.
1218*03ce13f7SAndroid Build Coastguard Worker   - Fix logical layout check for OpDecorateId.
1219*03ce13f7SAndroid Build Coastguard Worker   - Fix checks for ViewportIndex & Layer for Vulkan and SPV_EXT_shader_viewport_index_layer.
1220*03ce13f7SAndroid Build Coastguard Worker   - Fixes:
1221*03ce13f7SAndroid Build Coastguard Worker     #1470: Vulkan: Don't restrict WorkgroupSize to Input storage class.
1222*03ce13f7SAndroid Build Coastguard Worker     #1469: Vulkan: Permit Subgroup memory scope for Vulkan 1.1.
1223*03ce13f7SAndroid Build Coastguard Worker     #1472: Per-vertex variable validation fixes.
1224*03ce13f7SAndroid Build Coastguard Worker     #1483: Valdiate barrier execution scopes for Vulkan 1.1.
1225*03ce13f7SAndroid Build Coastguard Worker - Fixes:
1226*03ce13f7SAndroid Build Coastguard Worker   #898: Linker properly removes FuncParamAttr from imported symbols.
1227*03ce13f7SAndroid Build Coastguard Worker   #924, #1174: Fix handling of decoration groups in optimizer, linker.
1228*03ce13f7SAndroid Build Coastguard Worker
1229*03ce13f7SAndroid Build Coastguard Workerv2018.2 2018-03-07
1230*03ce13f7SAndroid Build Coastguard Worker - General:
1231*03ce13f7SAndroid Build Coastguard Worker   - Support SPIR-V 1.3 and Vulkan 1.1.
1232*03ce13f7SAndroid Build Coastguard Worker     - Default target environment is now SPIR-V 1.3.  For command-line tools,
1233*03ce13f7SAndroid Build Coastguard Worker       use the --target-env option to override the default.  Examples:
1234*03ce13f7SAndroid Build Coastguard Worker	  # Generate a SPIR-V 1.0 binary instead of SPIR-V 1.3
1235*03ce13f7SAndroid Build Coastguard Worker	  spirv-as --target-env spv1.0 a.spvasm -o a.spv
1236*03ce13f7SAndroid Build Coastguard Worker	  spirv-as --target-env vulkan1.0 a.spvasm -o a.spv
1237*03ce13f7SAndroid Build Coastguard Worker	  # Validate as Vulkan 1.0
1238*03ce13f7SAndroid Build Coastguard Worker	  spirv-val --target-env vulkan1.0 a.spv
1239*03ce13f7SAndroid Build Coastguard Worker   - Support SPV_GOOGLE_decorate_string and SPV_GOOGLE_hlsl_functionality1
1240*03ce13f7SAndroid Build Coastguard Worker - Fixes:
1241*03ce13f7SAndroid Build Coastguard Worker   - Fix Android.mk build. Compilation was failing due to missing definitions of
1242*03ce13f7SAndroid Build Coastguard Worker     SpvCapabilityFloat16ImageAMD and other enumerated values.
1243*03ce13f7SAndroid Build Coastguard Worker   - Optimizer: Avoid generating duplicate names when merging types.
1244*03ce13f7SAndroid Build Coastguard Worker   - #1375: Validator: SPV_AMD_gpu_shaer_half_float implicitly allows declaration
1245*03ce13f7SAndroid Build Coastguard Worker     of the 16-bit floating point type.
1246*03ce13f7SAndroid Build Coastguard Worker   - #1376: Optimizer: Avoid folding half-precision float.
1247*03ce13f7SAndroid Build Coastguard Worker
1248*03ce13f7SAndroid Build Coastguard Workerv2018.1 2018-03-02
1249*03ce13f7SAndroid Build Coastguard Worker - General:
1250*03ce13f7SAndroid Build Coastguard Worker   - Support Visual Studio 2013 again. (Continue support for VS 2015 and VS 2017.)
1251*03ce13f7SAndroid Build Coastguard Worker   - Support building SPIRV-Tools as a shared library.
1252*03ce13f7SAndroid Build Coastguard Worker   - Improve the HLSL legalization optimization recipe. #1311
1253*03ce13f7SAndroid Build Coastguard Worker - Optimizer:
1254*03ce13f7SAndroid Build Coastguard Worker   - General speedups.
1255*03ce13f7SAndroid Build Coastguard Worker   - Remove generic dead code elimination functionality from transforms:
1256*03ce13f7SAndroid Build Coastguard Worker       --eliminate-local-single-block
1257*03ce13f7SAndroid Build Coastguard Worker       --eliminate-local-single-store
1258*03ce13f7SAndroid Build Coastguard Worker       --eliminate-local-multi-store
1259*03ce13f7SAndroid Build Coastguard Worker     To recover the previous behaviour, a recipe using those transforms should now
1260*03ce13f7SAndroid Build Coastguard Worker     also invoke the --eliminate-dead-code-aggressive transform.
1261*03ce13f7SAndroid Build Coastguard Worker   - Improve folding, including coverage for floating point, OpSelect, and arithmetic
1262*03ce13f7SAndroid Build Coastguard Worker     with non-trivial constant operands.
1263*03ce13f7SAndroid Build Coastguard Worker   - Add loop-invariant code motion pass.
1264*03ce13f7SAndroid Build Coastguard Worker   - Add loop-unrolling pass, for honouring unroll hits.
1265*03ce13f7SAndroid Build Coastguard Worker   - Add loop-unswitch pass.
1266*03ce13f7SAndroid Build Coastguard Worker   - Add instruction simplification pass.
1267*03ce13f7SAndroid Build Coastguard Worker   - Aggressive dead code elimination: Understands capability hierarchy when finding
1268*03ce13f7SAndroid Build Coastguard Worker     instructions it can eliminate (combinators). (PR #1268)
1269*03ce13f7SAndroid Build Coastguard Worker   - CCP can now fold floating point arithmetic. #1311
1270*03ce13f7SAndroid Build Coastguard Worker - Validator:
1271*03ce13f7SAndroid Build Coastguard Worker   - Validate barrier instructions.
1272*03ce13f7SAndroid Build Coastguard Worker   - Check Vulkan-specific rules for atomics.
1273*03ce13f7SAndroid Build Coastguard Worker   - Check Vulkan prohibition of Location or Component decorations on BuiltIn variables.
1274*03ce13f7SAndroid Build Coastguard Worker - Linker:
1275*03ce13f7SAndroid Build Coastguard Worker   - Add --verify-ids option
1276*03ce13f7SAndroid Build Coastguard Worker   - Add option to allow a resulting module to be partially linked.
1277*03ce13f7SAndroid Build Coastguard Worker   - Handle OpModuleProcessed (instructions in SPIR-V layout section 7c)
1278*03ce13f7SAndroid Build Coastguard Worker - Fixes:
1279*03ce13f7SAndroid Build Coastguard Worker   - #1265: Optimizer: Fix use-after free bug in if-conversion. (Fix object lifecycle bug
1280*03ce13f7SAndroid Build Coastguard Worker     in type manager.)
1281*03ce13f7SAndroid Build Coastguard Worker   - #1282: Fix new warnings found by GCC 8.0.1.
1282*03ce13f7SAndroid Build Coastguard Worker   - #1285: Optimizer: Fix random failures during inlining.  (Dangling references in DefUseManager)
1283*03ce13f7SAndroid Build Coastguard Worker   - #1295: Optimizer: Fix incorrect handling of Phi nodes in CCP.
1284*03ce13f7SAndroid Build Coastguard Worker   - #1300: Fix CCP: avoid bad CCP transitions and unsettled values.
1285*03ce13f7SAndroid Build Coastguard Worker   - #1304: Avoid static-duration variables of class type (with constructors).
1286*03ce13f7SAndroid Build Coastguard Worker   - #1323: Fix folding of an insert composite feeding a composite extract.
1287*03ce13f7SAndroid Build Coastguard Worker   - #1339: Fix CCP: Handle OpConstantNull boolean values as conditions.
1288*03ce13f7SAndroid Build Coastguard Worker   - #1341: DCEInst: Keep atomic instructions (and some others with side effects).
1289*03ce13f7SAndroid Build Coastguard Worker   - #1354: Don't fold integer division.
1290*03ce13f7SAndroid Build Coastguard Worker   - #1357: Support OpConstantNull in folding.
1291*03ce13f7SAndroid Build Coastguard Worker   - #1361: CCP: Fix handling of non-constant module-scope values
1292*03ce13f7SAndroid Build Coastguard Worker
1293*03ce13f7SAndroid Build Coastguard Workerv2018.0 2018-02-02
1294*03ce13f7SAndroid Build Coastguard Worker - General
1295*03ce13f7SAndroid Build Coastguard Worker   - VisualStudio 2013 is no longer supported.  VisualStudio 2015 is supported.
1296*03ce13f7SAndroid Build Coastguard Worker   - Use "include/unified1" directory from SPIRV-Headers.  Requires recent SPIRV-Headers source.
1297*03ce13f7SAndroid Build Coastguard Worker - Disassembler: spirv-dis adds --color option to force color disassembly.
1298*03ce13f7SAndroid Build Coastguard Worker - Optimizer:
1299*03ce13f7SAndroid Build Coastguard Worker   - Add pass to eliminate dead insertions.
1300*03ce13f7SAndroid Build Coastguard Worker   - Aggressive dead code elimination now removes OpSwitch constructs.
1301*03ce13f7SAndroid Build Coastguard Worker   - Block merging occurs in more cases.
1302*03ce13f7SAndroid Build Coastguard Worker   - Add driver workaround transform: replace OpUnreachable with harmless branch to merge.
1303*03ce13f7SAndroid Build Coastguard Worker   - Improve instruction folding framework.
1304*03ce13f7SAndroid Build Coastguard Worker   - Add loop analysis.
1305*03ce13f7SAndroid Build Coastguard Worker   - Add scalar replacement of aggregates to size-optimization recipe.
1306*03ce13f7SAndroid Build Coastguard Worker   - Add pass to replace instructions invalid for a shader stage, with a harmless value.
1307*03ce13f7SAndroid Build Coastguard Worker     This changes the semantics of the program!  Not for general use!
1308*03ce13f7SAndroid Build Coastguard Worker   - Rearragne and add passes to performance-optimization recipe, to produce better results.
1309*03ce13f7SAndroid Build Coastguard Worker - Validator:
1310*03ce13f7SAndroid Build Coastguard Worker   - Validate OpenCL extended instructions.
1311*03ce13f7SAndroid Build Coastguard Worker   - Shaders can't perform atomics on floats.
1312*03ce13f7SAndroid Build Coastguard Worker   - Validate memory semantics values in atomics.
1313*03ce13f7SAndroid Build Coastguard Worker   - Validate instruction-adjacency constraints, e.g. OpPhi predecessors, merge instructions
1314*03ce13f7SAndroid Build Coastguard Worker     immediately precede branches.
1315*03ce13f7SAndroid Build Coastguard Worker - Fixes:
1316*03ce13f7SAndroid Build Coastguard Worker   - PR 1198: Optimizer: Fix CCP in presence of matrix constants.
1317*03ce13f7SAndroid Build Coastguard Worker   - #1199: Optimizer: Fix CCP: don't propagate spec constants.
1318*03ce13f7SAndroid Build Coastguard Worker   - #1203: Optimizer: Fix common uniform elim bug introduced by refactoring.
1319*03ce13f7SAndroid Build Coastguard Worker   - #1210: Optimizer: Aggressive dead code elimination: Fix 'break' identification.
1320*03ce13f7SAndroid Build Coastguard Worker   - #1212: Optimizer: Aggressive dead code elimination: Was skipping too many instructions.
1321*03ce13f7SAndroid Build Coastguard Worker   - #1214: Optimizer: Aggressive dead code elimination: Fix infinite loop.
1322*03ce13f7SAndroid Build Coastguard Worker   - #1228: Optimizer: Fix CCP: Handling of varying Phi nodes; was resulting in infinite loop.
1323*03ce13f7SAndroid Build Coastguard Worker   - #1245: Optimizer: Dead branch elimination: Avoid a null pointer dereference.
1324*03ce13f7SAndroid Build Coastguard Worker   - #1250: Optimizer: Dead branch elimination: Avoid spuriously reporting a change.
1325*03ce13f7SAndroid Build Coastguard Worker
1326*03ce13f7SAndroid Build Coastguard Workerv2017.3 2018-01-12
1327*03ce13f7SAndroid Build Coastguard Worker - General:
1328*03ce13f7SAndroid Build Coastguard Worker   - Support DebugInfo extended instruction set, targeted at OpenCL environments.
1329*03ce13f7SAndroid Build Coastguard Worker     See the SPIR-V Registry.
1330*03ce13f7SAndroid Build Coastguard Worker   - Generate a SPIRV-Tools.pc file for pkg-config.
1331*03ce13f7SAndroid Build Coastguard Worker - Optimizer:
1332*03ce13f7SAndroid Build Coastguard Worker   - Progress for legalization of code generated from HLSL (issue #1118):
1333*03ce13f7SAndroid Build Coastguard Worker     - Add --legalize-hlsl option to run transforms used to transform intermediate
1334*03ce13f7SAndroid Build Coastguard Worker       code generated by HLSL to SPIR-V for Vulkan compilers.  Those compilers
1335*03ce13f7SAndroid Build Coastguard Worker       normally run these transforms automatically.  This option is used for developing
1336*03ce13f7SAndroid Build Coastguard Worker       those transforms.
1337*03ce13f7SAndroid Build Coastguard Worker     - Add Private-to-Function variable conversion for modules with logical
1338*03ce13f7SAndroid Build Coastguard Worker       addressing.
1339*03ce13f7SAndroid Build Coastguard Worker   - Add --ccp: SSA Conditional Constant Propagation (CCP)
1340*03ce13f7SAndroid Build Coastguard Worker   - Add --print-all to show disassembly for each optimization pass.
1341*03ce13f7SAndroid Build Coastguard Worker   - Internal: Add loop descriptors and post-order tree iterator.
1342*03ce13f7SAndroid Build Coastguard Worker   - Generalized dead branch elimination
1343*03ce13f7SAndroid Build Coastguard Worker   - Aggressive dead code elimination (ADCE) now removes dead functions and
1344*03ce13f7SAndroid Build Coastguard Worker     module-scope variables.
1345*03ce13f7SAndroid Build Coastguard Worker   - Vector extract/insert elimination now optimizes through some cases of
1346*03ce13f7SAndroid Build Coastguard Worker     VectorShuffle, and GLSL.std.450 Mix extended instruction.
1347*03ce13f7SAndroid Build Coastguard Worker - Validator:
1348*03ce13f7SAndroid Build Coastguard Worker   - Add validation for GLSL.std.450 extended instruction set.
1349*03ce13f7SAndroid Build Coastguard Worker   - Check out of bounds composite accesses, where that's statically computable.
1350*03ce13f7SAndroid Build Coastguard Worker     Fixes #1112.
1351*03ce13f7SAndroid Build Coastguard Worker   - Check upper bits of literal numbers that aren't a multiple of 32-bits wide.
1352*03ce13f7SAndroid Build Coastguard Worker   - More validation of primitive instructions
1353*03ce13f7SAndroid Build Coastguard Worker   - Add optional "relaxed" checking logical addressing mode to permit some
1354*03ce13f7SAndroid Build Coastguard Worker     cases of pointer-to-pointer.  Contributes to HLSL legalization (issue #1118).
1355*03ce13f7SAndroid Build Coastguard Worker - Fixes:
1356*03ce13f7SAndroid Build Coastguard Worker   #1100: Validator: Image operand Sample can be used with OpImageSparseFetch,
1357*03ce13f7SAndroid Build Coastguard Worker     OpImageSparseRead.
1358*03ce13f7SAndroid Build Coastguard Worker   #1108: Remove duplicates transform was incorrectly removing non-duplicate
1359*03ce13f7SAndroid Build Coastguard Worker     decorations.
1360*03ce13f7SAndroid Build Coastguard Worker   #1111: Optimizer's type manager could reference deleted memory.
1361*03ce13f7SAndroid Build Coastguard Worker   #1112: Fix decoration equality check, e.g. it is now symmetric.
1362*03ce13f7SAndroid Build Coastguard Worker   #1129: Validator now disallows Dim=SupbassData for OpImageSparseRead.
1363*03ce13f7SAndroid Build Coastguard Worker   #1143: Fix CCP: Was generating incorrect code for loops.
1364*03ce13f7SAndroid Build Coastguard Worker   #1153: Fix CCP crash.
1365*03ce13f7SAndroid Build Coastguard Worker   #1154: Optimizer's internal instruction-to-block mappings were sometimes
1366*03ce13f7SAndroid Build Coastguard Worker       inconsistent.
1367*03ce13f7SAndroid Build Coastguard Worker   #1159: Fix CCP infinite loop.
1368*03ce13f7SAndroid Build Coastguard Worker   #1168: Fix dead branch elimination intermittently generating incorrect code.
1369*03ce13f7SAndroid Build Coastguard Worker       Fixes https://github.com/KhronosGroup/glslang/issues/1205
1370*03ce13f7SAndroid Build Coastguard Worker   #1186: Fix validation of PackDouble2x32 and UnpackDouble2x32
1371*03ce13f7SAndroid Build Coastguard Worker
1372*03ce13f7SAndroid Build Coastguard Workerv2017.2 2017-12-15
1373*03ce13f7SAndroid Build Coastguard Worker - General:
1374*03ce13f7SAndroid Build Coastguard Worker   - Support OpenCL 1.2, 2.0 target environments, including embedded profiles
1375*03ce13f7SAndroid Build Coastguard Worker   - Add CONTRIBUTING.md
1376*03ce13f7SAndroid Build Coastguard Worker   - Fix exit status code for spirv-link
1377*03ce13f7SAndroid Build Coastguard Worker   - Disassember: Enable emitting ANSI colour codes to a string
1378*03ce13f7SAndroid Build Coastguard Worker   - Library avoids polluting global namespace.  The libraries can export C and C++
1379*03ce13f7SAndroid Build Coastguard Worker     symbols starting with "spv", or in a C++ namespace.  Add a test for this.
1380*03ce13f7SAndroid Build Coastguard Worker   - Linux release builds include debug information, for easier profiling
1381*03ce13f7SAndroid Build Coastguard Worker   - Build bots no longer test VisualStudio 2013
1382*03ce13f7SAndroid Build Coastguard Worker     - Testing dependency RE2 requires VisualStudio 2015 or later
1383*03ce13f7SAndroid Build Coastguard Worker   - Build bots check code formatting
1384*03ce13f7SAndroid Build Coastguard Worker - Optimizer:
1385*03ce13f7SAndroid Build Coastguard Worker   - Add --skip-validation to spirv-opt
1386*03ce13f7SAndroid Build Coastguard Worker   - Add dominance tree analysis
1387*03ce13f7SAndroid Build Coastguard Worker   - Add generic value propagation engine
1388*03ce13f7SAndroid Build Coastguard Worker   - Add global redundancy elimination within a function
1389*03ce13f7SAndroid Build Coastguard Worker   - Add scalar replacement of function-scope variables of composite type
1390*03ce13f7SAndroid Build Coastguard Worker   - Aggressive dead code elimination: Remove empty loops
1391*03ce13f7SAndroid Build Coastguard Worker   - Killing an instruction notifies the IRContext
1392*03ce13f7SAndroid Build Coastguard Worker   - IRContext::KillInst deletes the instruction
1393*03ce13f7SAndroid Build Coastguard Worker   - Move CFG analysis to IRContext
1394*03ce13f7SAndroid Build Coastguard Worker   - Add constant manager
1395*03ce13f7SAndroid Build Coastguard Worker   - Fix: Don't consider derivative instructions as combinators.
1396*03ce13f7SAndroid Build Coastguard Worker   - Fix: Don't delete an instruction twice in local dead-code-elimination
1397*03ce13f7SAndroid Build Coastguard Worker   - Fix: Don't consider derivative instructions as combinators.
1398*03ce13f7SAndroid Build Coastguard Worker - Validator:
1399*03ce13f7SAndroid Build Coastguard Worker   - Finish checking of image instructions (Section 3.32.10)
1400*03ce13f7SAndroid Build Coastguard Worker     - Check sparse image instructions
1401*03ce13f7SAndroid Build Coastguard Worker     - Check OpTypeImage, OpTypeSampleImage
1402*03ce13f7SAndroid Build Coastguard Worker   - Check composite instructions (Section 3.32.12)
1403*03ce13f7SAndroid Build Coastguard Worker   - Check atomic instructions (Section 3.32.18)
1404*03ce13f7SAndroid Build Coastguard Worker   - Check OpEmitStreamVertex, OpEndStreamPrimitive instructions
1405*03ce13f7SAndroid Build Coastguard Worker   - Re-enable validation of OpCopyObject
1406*03ce13f7SAndroid Build Coastguard Worker   - OpKill, image ImplicitLod and QueryLod instructions can only be used in Fragment
1407*03ce13f7SAndroid Build Coastguard Worker     shaders.
1408*03ce13f7SAndroid Build Coastguard Worker   - Fixes for image instruction validation:
1409*03ce13f7SAndroid Build Coastguard Worker     - Lod image operand only usable with ExplicitLod and OpImageFetch
1410*03ce13f7SAndroid Build Coastguard Worker     - ExplicitLod Lod image operand must be float scalar
1411*03ce13f7SAndroid Build Coastguard Worker     - OpImageFectch Lod image operand must be int scalar
1412*03ce13f7SAndroid Build Coastguard Worker     - OpImageGather component operand must be 32-bits (integer scalar)
1413*03ce13f7SAndroid Build Coastguard Worker     - OpImageQuerySizeLod Lod must be integer scalar
1414*03ce13f7SAndroid Build Coastguard Worker - Fixes:
1415*03ce13f7SAndroid Build Coastguard Worker   #622: Remove names and decorations when inlining
1416*03ce13f7SAndroid Build Coastguard Worker   #989: Aggressive dead code elim: Don't optimize away live breaks from a loop
1417*03ce13f7SAndroid Build Coastguard Worker   #991: Fix validation of SPV_AMD_shader_ballot
1418*03ce13f7SAndroid Build Coastguard Worker   #1004: Use after free of an instruction, in remove-duplicates transform
1419*03ce13f7SAndroid Build Coastguard Worker   #1007: OpImageRead not required to return 4-component vector
1420*03ce13f7SAndroid Build Coastguard Worker   #1009: OpImageRead can return scalar int/float types
1421*03ce13f7SAndroid Build Coastguard Worker   #1011: OpImageWrite should allow scalar int/float texel types
1422*03ce13f7SAndroid Build Coastguard Worker   #1012: Fix validat Dref type check
1423*03ce13f7SAndroid Build Coastguard Worker   #1017: Load-store elimination considers variable initializations
1424*03ce13f7SAndroid Build Coastguard Worker   #1034: Fix Windows debug build: operator< should be a weak ordering
1425*03ce13f7SAndroid Build Coastguard Worker   #1083: Inlining: Set parent (function) for each inlined basic block.
1426*03ce13f7SAndroid Build Coastguard Worker   #1075: Aggressive dead code elimination: Was leaving dangling references to
1427*03ce13f7SAndroid Build Coastguard Worker     removed blocks.
1428*03ce13f7SAndroid Build Coastguard Worker
1429*03ce13f7SAndroid Build Coastguard Workerv2017.1 2017-11-23
1430*03ce13f7SAndroid Build Coastguard Worker - Update README with details on the [email protected] mailing list.
1431*03ce13f7SAndroid Build Coastguard Worker - General:
1432*03ce13f7SAndroid Build Coastguard Worker   - Automatically deploy built artifacts to GitHub Releases
1433*03ce13f7SAndroid Build Coastguard Worker   - Add a Linker (module combiner). Under development.
1434*03ce13f7SAndroid Build Coastguard Worker   - Add Android.mk for Android NDK builds.
1435*03ce13f7SAndroid Build Coastguard Worker   - Add the 'effcee' library as an optional dependency for use in tests.
1436*03ce13f7SAndroid Build Coastguard Worker     Eventually it will be a required dependency, once downstream projects have
1437*03ce13f7SAndroid Build Coastguard Worker     a chance to adjust.  Requires 're2' library.
1438*03ce13f7SAndroid Build Coastguard Worker   - Avoid static-duration variables of class type (with constructors).
1439*03ce13f7SAndroid Build Coastguard Worker   - Hack around bugs in gcc-4.8.1 template handling
1440*03ce13f7SAndroid Build Coastguard Worker   - Faster opcode lookup
1441*03ce13f7SAndroid Build Coastguard Worker - Validator:
1442*03ce13f7SAndroid Build Coastguard Worker   - Recognize extensions listed on SPIR-V registry,
1443*03ce13f7SAndroid Build Coastguard Worker     through #25 SPV_AMD_shader_fragment_mask
1444*03ce13f7SAndroid Build Coastguard Worker   - Validator issues an info message when it sees an unrecognized extension.
1445*03ce13f7SAndroid Build Coastguard Worker   - Type check basic arithmetic operations
1446*03ce13f7SAndroid Build Coastguard Worker   - Type check carry/extended arithmetic operations
1447*03ce13f7SAndroid Build Coastguard Worker   - Type check vector arithmetic operations
1448*03ce13f7SAndroid Build Coastguard Worker   - Type check Relational and Logical instructions
1449*03ce13f7SAndroid Build Coastguard Worker   - Type check Bit instructions
1450*03ce13f7SAndroid Build Coastguard Worker   - Check type uniqueness rules
1451*03ce13f7SAndroid Build Coastguard Worker   - Check conversion instructions
1452*03ce13f7SAndroid Build Coastguard Worker   - Check image instructions
1453*03ce13f7SAndroid Build Coastguard Worker   - Check derivative instructions
1454*03ce13f7SAndroid Build Coastguard Worker   - Check OpVectorShuffle
1455*03ce13f7SAndroid Build Coastguard Worker   - Check OpBranchConditional
1456*03ce13f7SAndroid Build Coastguard Worker   - OpModuleProcessed is only allowed after debug names section and before annotations
1457*03ce13f7SAndroid Build Coastguard Worker     section.
1458*03ce13f7SAndroid Build Coastguard Worker   - Checks the right kind of return is called for each function (void or non-void).
1459*03ce13f7SAndroid Build Coastguard Worker   - Add option to relax type check when storing structs (--relax-store-struct)
1460*03ce13f7SAndroid Build Coastguard Worker - Optimizer:
1461*03ce13f7SAndroid Build Coastguard Worker   - Refactoring internal representation of the module, including:
1462*03ce13f7SAndroid Build Coastguard Worker     - IRContext: owns a module and manages analyses
1463*03ce13f7SAndroid Build Coastguard Worker     - Instructions are owned by intrusive lists, and have unique IDs
1464*03ce13f7SAndroid Build Coastguard Worker     - BasicBlock owns its instruction list.
1465*03ce13f7SAndroid Build Coastguard Worker     - DefUseManager: change representation of uses, for faster processing
1466*03ce13f7SAndroid Build Coastguard Worker       on large modules.
1467*03ce13f7SAndroid Build Coastguard Worker   - Add high level recipes: -O, -Os, and -Oconfig
1468*03ce13f7SAndroid Build Coastguard Worker     Recipes for -O and -Os are under development.
1469*03ce13f7SAndroid Build Coastguard Worker   - Add eliminate-dead-function transform
1470*03ce13f7SAndroid Build Coastguard Worker   - Add strength reduction transform: For now, convert multiply by power of 2
1471*03ce13f7SAndroid Build Coastguard Worker     to a bit shift.
1472*03ce13f7SAndroid Build Coastguard Worker   - Add CFG cleanup transform
1473*03ce13f7SAndroid Build Coastguard Worker   - Add removal of dead module-scope variables
1474*03ce13f7SAndroid Build Coastguard Worker   - Add merge-return transform for modules without structured control flow
1475*03ce13f7SAndroid Build Coastguard Worker   - Add redundancy elimination within a basic block (local value numbering)
1476*03ce13f7SAndroid Build Coastguard Worker   - Extract-insert elimination:
1477*03ce13f7SAndroid Build Coastguard Worker     - Recognize the case where the first instruction in the sequence is an
1478*03ce13f7SAndroid Build Coastguard Worker       OpCompositeConstruct or OpConstantComposite
1479*03ce13f7SAndroid Build Coastguard Worker     - Handle some cases of nested structs
1480*03ce13f7SAndroid Build Coastguard Worker   - Dead branch elimination now can eliminate entire selection constructs
1481*03ce13f7SAndroid Build Coastguard Worker     when all arms are dead.
1482*03ce13f7SAndroid Build Coastguard Worker - Compressing codec:
1483*03ce13f7SAndroid Build Coastguard Worker   - Updated algorithm to 1.01, 1.02, 1.03
1484*03ce13f7SAndroid Build Coastguard Worker   - Not built by default.  Use -DSPIRV_BUILD_COMPRESSION=ON to build.
1485*03ce13f7SAndroid Build Coastguard Worker   - Codec can be parameterized by a customized model.
1486*03ce13f7SAndroid Build Coastguard Worker - Fixes:
1487*03ce13f7SAndroid Build Coastguard Worker   #728: Fix decoration of inlined functions
1488*03ce13f7SAndroid Build Coastguard Worker   #798: spirv-as should fail when given unrecognized long option
1489*03ce13f7SAndroid Build Coastguard Worker   #800: Inliner: Fix inlining function into header of multi-block loop
1490*03ce13f7SAndroid Build Coastguard Worker   #824: Eliminate-local-multi-store: Fix a crash
1491*03ce13f7SAndroid Build Coastguard Worker   #826: Elimiante-local-multi-store: Fix a crash
1492*03ce13f7SAndroid Build Coastguard Worker   #827: Fix crash when compact-ids transform runs before another transform.
1493*03ce13f7SAndroid Build Coastguard Worker   #834: Add Cmake option to build the compressing codec. Off by default.
1494*03ce13f7SAndroid Build Coastguard Worker   #911: Fix classification of Line and NoLine instructions
1495*03ce13f7SAndroid Build Coastguard Worker
1496*03ce13f7SAndroid Build Coastguard Workerv2017.0 2017-09-01
1497*03ce13f7SAndroid Build Coastguard Worker - Update README to describe that assembler, disassembler, and binary parser support
1498*03ce13f7SAndroid Build Coastguard Worker   are based on grammar files from the SPIRV-Headers repository.
1499*03ce13f7SAndroid Build Coastguard Worker
1500*03ce13f7SAndroid Build Coastguard Workerv2016.7 2017-09-01
1501*03ce13f7SAndroid Build Coastguard Worker - Add SPIR-V 1.2
1502*03ce13f7SAndroid Build Coastguard Worker - OpenCL 2.2 support is now based on SPIR-V 1.2
1503*03ce13f7SAndroid Build Coastguard Worker - Support AMD extensions in assembler, disassembler:
1504*03ce13f7SAndroid Build Coastguard Worker    SPV_AMD_gcn_shader
1505*03ce13f7SAndroid Build Coastguard Worker    SPV_AMD_shader_ballot
1506*03ce13f7SAndroid Build Coastguard Worker    SPV_AMD_shader_explicit_vertex_parameter
1507*03ce13f7SAndroid Build Coastguard Worker    SPV_AMD_shader_trinary_minmax
1508*03ce13f7SAndroid Build Coastguard Worker    SPV_AMD_gpu_shader_half_float
1509*03ce13f7SAndroid Build Coastguard Worker    SPV_AMD_texture_gather_bias_lod
1510*03ce13f7SAndroid Build Coastguard Worker    SPV_AMD_gpu_shader_int16
1511*03ce13f7SAndroid Build Coastguard Worker - Optimizer: Add support for:
1512*03ce13f7SAndroid Build Coastguard Worker   - Inline all function calls in entry points.
1513*03ce13f7SAndroid Build Coastguard Worker   - Flatten decoration groups.  Fixes #602
1514*03ce13f7SAndroid Build Coastguard Worker   - Id compaction (minimize Id bound).  Fixes #624
1515*03ce13f7SAndroid Build Coastguard Worker   - Eliminate redundant composite insert followed by extract
1516*03ce13f7SAndroid Build Coastguard Worker   - Simplify access chains to local variables
1517*03ce13f7SAndroid Build Coastguard Worker   - Eliminate local variables with a single store, if possible
1518*03ce13f7SAndroid Build Coastguard Worker   - Eliminate local variables with a several stores, if possible
1519*03ce13f7SAndroid Build Coastguard Worker   - Eliminate loads and stores in same block to local variables
1520*03ce13f7SAndroid Build Coastguard Worker   - Eliminate redundant insert/extract to composite values
1521*03ce13f7SAndroid Build Coastguard Worker   - Aggressive dead instruction elimination
1522*03ce13f7SAndroid Build Coastguard Worker   - Eliminate dead branches
1523*03ce13f7SAndroid Build Coastguard Worker   - Merge blocks when the second can only be preceded by the first
1524*03ce13f7SAndroid Build Coastguard Worker   - Eliminate ommon uniform loads
1525*03ce13f7SAndroid Build Coastguard Worker - Assembler: Add option to preserve numeric ids. Fixes #625
1526*03ce13f7SAndroid Build Coastguard Worker - Add build target spirv-tools-vimsyntax to generate spvasm.vim, a SPIR-V
1527*03ce13f7SAndroid Build Coastguard Worker   assembly syntax file for Vim.
1528*03ce13f7SAndroid Build Coastguard Worker - Version string: Allow overriding of wall clock timestamp with contents
1529*03ce13f7SAndroid Build Coastguard Worker   of environment variable SOURCE_DATE_EPOCH.
1530*03ce13f7SAndroid Build Coastguard Worker - Validator implements relaxed rules for SPV_KHR_16bit_storage.
1531*03ce13f7SAndroid Build Coastguard Worker - CMake installation rules use GNUInstallDirs.  For example, libraries
1532*03ce13f7SAndroid Build Coastguard Worker   will be installed into a lib64 directory if that's the norm for the
1533*03ce13f7SAndroid Build Coastguard Worker   current system.
1534*03ce13f7SAndroid Build Coastguard Worker - Fixes:
1535*03ce13f7SAndroid Build Coastguard Worker   #500: Parameterize validator limit checks
1536*03ce13f7SAndroid Build Coastguard Worker   #508: Support compilation under CYGWIN
1537*03ce13f7SAndroid Build Coastguard Worker   #517: Fix validation when continue (or case) contstruct is also the head of a
1538*03ce13f7SAndroid Build Coastguard Worker     nested control construct.
1539*03ce13f7SAndroid Build Coastguard Worker   #551: If a merge block is reachable, it must be *strictly* dominated by its
1540*03ce13f7SAndroid Build Coastguard Worker     header.
1541*03ce13f7SAndroid Build Coastguard Worker   #548: Validator: Error when the reserved OpImageSparseSampleProj* opcodes
1542*03ce13f7SAndroid Build Coastguard Worker     are used.
1543*03ce13f7SAndroid Build Coastguard Worker   #611: spvtools::Optimizer was failing to save the module to the output
1544*03ce13f7SAndroid Build Coastguard Worker     binary vector when all passes succeded without changes.
1545*03ce13f7SAndroid Build Coastguard Worker   #629: The inline-entry-points-all optimization could generate invalidly
1546*03ce13f7SAndroid Build Coastguard Worker     structured code when the inlined function had early returns.
1547*03ce13f7SAndroid Build Coastguard Worker   #697: Optimizer's Instruction::ForEachInId method was skipping semantics-id
1548*03ce13f7SAndroid Build Coastguard Worker     and scope-id.
1549*03ce13f7SAndroid Build Coastguard Worker   #755: Inliner: Fix inlining of callee with single Return appearing before
1550*03ce13f7SAndroid Build Coastguard Worker     the end of the function.
1551*03ce13f7SAndroid Build Coastguard Worker   #776: Fix dead branch elimination in presence of complex but dead control
1552*03ce13f7SAndroid Build Coastguard Worker     flow.
1553*03ce13f7SAndroid Build Coastguard Worker   #781: SPV_KHR_variable_pointers allows duplicate pointer types
1554*03ce13f7SAndroid Build Coastguard Worker   #782: Inliner: Fix remapping of non-label forward references in callee
1555*03ce13f7SAndroid Build Coastguard Worker   #787: Inliner: Fix remapping of inlined entry block when called from
1556*03ce13f7SAndroid Build Coastguard Worker     single block loop.
1557*03ce13f7SAndroid Build Coastguard Worker   #790: Inliner: Fix remapping of inlined entry block when callee has
1558*03ce13f7SAndroid Build Coastguard Worker     multiple returns.
1559*03ce13f7SAndroid Build Coastguard Worker
1560*03ce13f7SAndroid Build Coastguard Workerv2016.6 2016-12-13
1561*03ce13f7SAndroid Build Coastguard Worker - Published the C++ interface for assembling, disassembling, validation, and
1562*03ce13f7SAndroid Build Coastguard Worker   optimization.
1563*03ce13f7SAndroid Build Coastguard Worker - Support SPV_KHR_shader_draw_parameters in assembler, disassembler, parser.
1564*03ce13f7SAndroid Build Coastguard Worker - Validator:
1565*03ce13f7SAndroid Build Coastguard Worker   - Add validator API accepting raw binary words
1566*03ce13f7SAndroid Build Coastguard Worker   - Increased coverage:
1567*03ce13f7SAndroid Build Coastguard Worker     - Checks "Data rules" in Universal Validation Rules, section 2.16.1
1568*03ce13f7SAndroid Build Coastguard Worker     - WIP: Universal Limits.
1569*03ce13f7SAndroid Build Coastguard Worker       - The minimum mandated upper bounds are checked.
1570*03ce13f7SAndroid Build Coastguard Worker       - TODO: Parameterize the validator to allow larger limits accepted by
1571*03ce13f7SAndroid Build Coastguard Worker         a more than minimally capable implementation.
1572*03ce13f7SAndroid Build Coastguard Worker   - OpSampledImage checks
1573*03ce13f7SAndroid Build Coastguard Worker   - OpConstantComposite checks
1574*03ce13f7SAndroid Build Coastguard Worker   - Id bound check
1575*03ce13f7SAndroid Build Coastguard Worker - Disasssembler:
1576*03ce13f7SAndroid Build Coastguard Worker   - Generates friendly GLSL-based names for more builtin variables
1577*03ce13f7SAndroid Build Coastguard Worker   - Generates friendly names for numeric OpConstant values
1578*03ce13f7SAndroid Build Coastguard Worker   - Vendor tool info extracted from SPIR-V XML registry file.
1579*03ce13f7SAndroid Build Coastguard Worker - Fixes issues:
1580*03ce13f7SAndroid Build Coastguard Worker   #429: Validator: Allow OpTypeForwardPointer and OpTypeStruct to reference
1581*03ce13f7SAndroid Build Coastguard Worker     undefined IDs
1582*03ce13f7SAndroid Build Coastguard Worker   #482: Validator: OpVariable initializer can be an ID of a module-scope variable
1583*03ce13f7SAndroid Build Coastguard Worker
1584*03ce13f7SAndroid Build Coastguard Workerv2016.5 2016-09-16
1585*03ce13f7SAndroid Build Coastguard Worker - Support SPV_KHR_shader_ballot in assembler, disassembler, parser.
1586*03ce13f7SAndroid Build Coastguard Worker - Disassembler: Generate friendly names for built-in variables.
1587*03ce13f7SAndroid Build Coastguard Worker - Partial fixes:
1588*03ce13f7SAndroid Build Coastguard Worker   #359: Add Emacs helper for automatically diassembling/assembling a SPIR-V
1589*03ce13f7SAndroid Build Coastguard Worker     binary on file load/save.
1590*03ce13f7SAndroid Build Coastguard Worker - Fixes:
1591*03ce13f7SAndroid Build Coastguard Worker   #414: Validator: Allow OpUndef for composite constants
1592*03ce13f7SAndroid Build Coastguard Worker   #415: Validator: Phi can use its own value in some cases.
1593*03ce13f7SAndroid Build Coastguard Worker
1594*03ce13f7SAndroid Build Coastguard Workerv2016.4 2016-09-01
1595*03ce13f7SAndroid Build Coastguard Worker - Relicensed under Apache 2.0
1596*03ce13f7SAndroid Build Coastguard Worker - Add optimization passes (in API and spirv-opt command)
1597*03ce13f7SAndroid Build Coastguard Worker   - Fold spec constants defined with OpSpecConstantOp and
1598*03ce13f7SAndroid Build Coastguard Worker       OpSpecConstantComposite to normal constants with fixed value(s).
1599*03ce13f7SAndroid Build Coastguard Worker - Fixes issues:
1600*03ce13f7SAndroid Build Coastguard Worker   #318: Relicensed under Apache 2.0
1601*03ce13f7SAndroid Build Coastguard Worker
1602*03ce13f7SAndroid Build Coastguard Workerv2016.3 2016-08-24
1603*03ce13f7SAndroid Build Coastguard Worker - Add target environment enums for OpenCL 2.1, OpenCL 2.2,
1604*03ce13f7SAndroid Build Coastguard Worker   OpenGL 4.0, OpenGL 4.1, OpenGL 4.2, OpenGL 4.3, OpenGL 4.5.
1605*03ce13f7SAndroid Build Coastguard Worker - Add spirv-cfg, an experimental tool to dump the control flow graph
1606*03ce13f7SAndroid Build Coastguard Worker   as a GraphiViz "dot" graph
1607*03ce13f7SAndroid Build Coastguard Worker - Add optimization pass: Eliminate dead constants.
1608*03ce13f7SAndroid Build Coastguard Worker - Add spirv-lesspipe.sh filter utility
1609*03ce13f7SAndroid Build Coastguard Worker - Fixes issues:
1610*03ce13f7SAndroid Build Coastguard Worker   #288: Check def-use dominance rules for OpPhi (variable,parent) operands
1611*03ce13f7SAndroid Build Coastguard Worker   #339: Allow OpUndef in types-constants-global-vars section, as required
1612*03ce13f7SAndroid Build Coastguard Worker     by SPIR-V 1.0 Rev7, 1.1 Rev 3.
1613*03ce13f7SAndroid Build Coastguard Worker   #340: Avoid race on mkdir during build
1614*03ce13f7SAndroid Build Coastguard Worker   #365: Relax PointSize, ClipDistance, CullDistance capability check in all
1615*03ce13f7SAndroid Build Coastguard Worker     environments not just Vulkan 1.0.
1616*03ce13f7SAndroid Build Coastguard Worker
1617*03ce13f7SAndroid Build Coastguard Workerv2016.2 2016-08-05
1618*03ce13f7SAndroid Build Coastguard Worker - Validator is incomplete
1619*03ce13f7SAndroid Build Coastguard Worker   - Checks ID use block is dominated by definition block
1620*03ce13f7SAndroid Build Coastguard Worker - Add optimization passes (in API and spirv-opt command)
1621*03ce13f7SAndroid Build Coastguard Worker   - Strip debug info instructions
1622*03ce13f7SAndroid Build Coastguard Worker   - Freeze spec constant to their default values
1623*03ce13f7SAndroid Build Coastguard Worker - Allow INotEqual as operation for OpSpecConstantOp
1624*03ce13f7SAndroid Build Coastguard Worker - Fixes bugs:
1625*03ce13f7SAndroid Build Coastguard Worker   #270: validator: crash when continue construct is unreachable
1626*03ce13f7SAndroid Build Coastguard Worker   #279: validator: infinite loop when analyzing some degenerate control
1627*03ce13f7SAndroid Build Coastguard Worker     flow graphs
1628*03ce13f7SAndroid Build Coastguard Worker   #286: validator: don't incorrectly generate def-use error for
1629*03ce13f7SAndroid Build Coastguard Worker         (variable,parent) parameters to OpPhi
1630*03ce13f7SAndroid Build Coastguard Worker   #290: disassembler: never generate bare % for an identifier
1631*03ce13f7SAndroid Build Coastguard Worker   #295: validator: def-use dominance check should ignore unreachable uses
1632*03ce13f7SAndroid Build Coastguard Worker   #276: validator: allow unreachable continue constructs
1633*03ce13f7SAndroid Build Coastguard Worker   #297: validator: allow an unreachable block to branch to a reachable
1634*03ce13f7SAndroid Build Coastguard Worker         merge block
1635*03ce13f7SAndroid Build Coastguard Worker
1636*03ce13f7SAndroid Build Coastguard Workerv2016.1 2016-07-19
1637*03ce13f7SAndroid Build Coastguard Worker - Fix https://github.com/KhronosGroup/SPIRV-Tools/issues/261
1638*03ce13f7SAndroid Build Coastguard Worker   Turn off ClipDistance and CullDistance capability checks for Vulkan.
1639*03ce13f7SAndroid Build Coastguard Worker - The disassembler can emit friendly names based on debug info (OpName
1640*03ce13f7SAndroid Build Coastguard Worker   instructions), and will infer somewhat friendly names for most types.
1641*03ce13f7SAndroid Build Coastguard Worker   This is turned on by default for the spirv-dis command line tool.
1642*03ce13f7SAndroid Build Coastguard Worker - Updated to support SPIR-V 1.1 rev 2
1643*03ce13f7SAndroid Build Coastguard Worker   - Input StorageClass, Sampled1D capability, and SampledBuffer capability
1644*03ce13f7SAndroid Build Coastguard Worker     do not require Shader capability anymore.
1645*03ce13f7SAndroid Build Coastguard Worker
1646*03ce13f7SAndroid Build Coastguard Workerv2016.0 2016-07-04
1647*03ce13f7SAndroid Build Coastguard Worker
1648*03ce13f7SAndroid Build Coastguard Worker - Adds v<year>.<index> versioning, with "-dev" indicating
1649*03ce13f7SAndroid Build Coastguard Worker   work in progress.  The intent is to more easly report
1650*03ce13f7SAndroid Build Coastguard Worker   and summarize functionality when SPIRV-Tools is incorporated
1651*03ce13f7SAndroid Build Coastguard Worker   in downstream projects.
1652*03ce13f7SAndroid Build Coastguard Worker
1653*03ce13f7SAndroid Build Coastguard Worker - Summary of functionality (See the README.md for more):
1654*03ce13f7SAndroid Build Coastguard Worker   - Supports SPIR-V 1.1 Rev 1
1655*03ce13f7SAndroid Build Coastguard Worker   - Supports SPIR-V 1.0 Rev 5
1656*03ce13f7SAndroid Build Coastguard Worker   - Supports GLSL std450 extended instructions 1.0 Rev 3
1657*03ce13f7SAndroid Build Coastguard Worker   - Supports OpenCL extended instructions 1.0 Rev 2
1658*03ce13f7SAndroid Build Coastguard Worker   - Assembler, disassembler are complete
1659*03ce13f7SAndroid Build Coastguard Worker     - Supports floating point widths of 16, 32, 64 bits
1660*03ce13f7SAndroid Build Coastguard Worker     - Supports integer widths up to 64 bits
1661*03ce13f7SAndroid Build Coastguard Worker   - Validator is incomplete
1662*03ce13f7SAndroid Build Coastguard Worker     - Checks capability requirements in most cases
1663*03ce13f7SAndroid Build Coastguard Worker     - Checks module layout constraints
1664*03ce13f7SAndroid Build Coastguard Worker     - Checks ID use-definition ordering constraints,
1665*03ce13f7SAndroid Build Coastguard Worker       ignoring control flow
1666*03ce13f7SAndroid Build Coastguard Worker     - Checks some control flow graph rules
1667*03ce13f7SAndroid Build Coastguard Worker   - Optimizer is introduced, with few available transforms.
1668*03ce13f7SAndroid Build Coastguard Worker   - Supported on Linux, OSX, Android, Windows
1669*03ce13f7SAndroid Build Coastguard Worker
1670*03ce13f7SAndroid Build Coastguard Worker - Fixes bugs:
1671*03ce13f7SAndroid Build Coastguard Worker   - #143: OpenCL pow and pown arguments
1672