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