commit | 024d3cd373f66a8fc1fb2d7ca447f1a5c19d0ba7 | [log] [tgz] |
---|---|---|
author | Shahbaz Youssefi <syoussefi@google.com> | Mon Aug 04 11:55:53 2025 -0400 |
committer | swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com <swiftshader-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Aug 06 07:35:10 2025 -0700 |
tree | 53f6da1280deffff749b705a4a71f04d543498b3 | |
parent | fdb6700ecb04103b658d2e4623d6bc663ba80ea8 [diff] |
Update SPIR-V Headers to 97e96f9e9 and SPIR-V Tools to 3aeaaa088 SPIR-V Headers update: Changes: 97e96f9e9 SPV_KHR_untyped_pointers final (#536) de1807b7c Use less confusing name for OpGroupNonUniformBroadcast and OpGroupNonUniformShuffle (#535) c8ad050fc Add CI reuse check (#525) 7919b00b5 Add MIT license to TOSA extended instruction set grammar (#534) 1de2e410a SPV_QCOM_cooperative_matrix_conversion (#533) (#533) 04b76709b Use original LICENSES/CC-BY-4.0.txt (#524) 9e3836d7d Add SPV_INTEL_function_variants (#532) 2a611a970 Merge pull request #529 from dneto0/tosa-in-spv-headers-bazel 21a60b891 BUILD.bazel: Add the TOSA header to spv_headers 54cec5dc2 Add Bazel definitions for TOSA 001000.1 extended instruction set (#527) 4e209d3d7 Add definitions for TOSA.001000.1 extended instruction set (#526) e87f5a873 Add text of CC-BY-4.0 to top-level LICENSE file (#523) 50daff941 Add definitions for SPV_ARM_graph (#521) 3b9447dc9 Add missing capability declarations to Float8CooperativeMatrixEXT (#519) fd9666192 Add definitions for SPV_EXT_float8 (#518) 7168a5ad0 Fix header build (#517) d6d133089 Add headers for SPV_INTEL_bindless_images (#516) 9a46274d2 Add REUSE (#506) c9aad99f9 Add definitions for SPV_ARM_tensors (#513) 6d0784e9f Register Goopax SPIV-V generator (#514) ccf425942 header updates for SPV_INTEL_int4 (#512) a5b2bd69f Ci legacy asciidoc (#477) 971e66250 Remove asciidoc markup in JSON annotations (#475) 3786ee89d Merge pull request #511 from abrisco/bazel bab63ff67 Remove reference to EXT_mesh_shader from PerTaskNV decoration (#510) ffb6c7f93 Add Bazel bzlmod support aa6cef192 SPV_QCOM_tile_shading (#509) 7c2f5333e Add ImageChannelDataType definitions for cl_ext_image_unsigned_10x6_12x4_14x2 (#507) 95dc1aa44 Add DisplacementMicromapNV to the capabilities enabling OpTypeAccelerationStructureKHR (#508) 8e82b7cfe bump the required CMake version to 3.14 (#505) 8c88e0c4c header updates for SPV_INTEL_ternary_bitwise_function (#504) 72664577f Fix OpFPGARegINTEL grammar (#503) 0e7106779 Fix json capabilities for RayTracingOpacityMicromapEXT (#498) eceb46dad fixes for SPV_INTEL_arbitrary_precision_floating_point (#495) 0fcd74932 Add grammar entries for SPV_INTEL_task_sequence (#494) 06633cfee Add headers for SPV_INTEL_tensor_float32_conversion extension (#501) d5ee9ed2b Add SPV_KHR_bfloat16 (#502) ddd2c099b Update Slang tool entry. (#496) bf08186d8 ClspvReflection non-sematic: Add WorkgroupVariableSize (#493) 4793aeec2 remove extra arbitrary precision fixed point instructions operands (#491) 54a521dd1 Register tool ID 47 for a new ARM SPIR-V generator. (#486) 6be51b8f7 updates AtomicStorageOps to depend on the AtomicStorage capability (#479) 09913f088 Remove extra space causing rendering issue (#485) e7294a8eb Add headers for SPV_NV_linear_swept_spheres. (#483) 003bcf4e0 Add headers for SPV_NV_cluster_acceleration_structure. (#484) 43764cc75 updates IntegerFunctions2INTEL to remove Shader capability dependency (#481) 767e901c9 Add SPV_NV_cooperative_vector (#482) 2b2e05e08 grammar and header changes for SPV_INTEL_subgroup_matrix_multiply_accumulate (#471) 0659679d9 Add a source language for Rust (#472) 9ca0e67b5 grammar and header changes for SPV_INTEL_2d_block_io (#470) a380cd254 Fix OpAsmTargetINTEL operand (#468) 3f17b2af6 [SPIRV] Add generator magic number (#467) 36d5e2dda Add provisional key to grammar (#464) 45b314049 Add NonSemanticShaderDebugInfo100.h to bazel build. (#466) 2ce05a6f7 Remove trailing whitespace (#465) 996c728cf add basic utility code testing for cpp, cpp11, and c (#461) cb6b2c32d Fix on header generator for c++11, regenerated products (#463) 22c4d1b1e Add SPV_NV_cooperative_matrix2 and SPV_NV_tensor_addressing (#458) 252dc2df0 Add nuvk's spirv emitter. (#454) 50bc4debd VkspReflection non-sematic: remove literals for Ids (#453) 07ddb1c0f Update SPV_AMDX_shader_enqueue (#452) d92cf88c3 Add "aliases" fields to the grammar and remove duplicated (#447) a62b03200 Add SPV_EXT_arithmetic_fence (#450) ec59c77a3 Reserve SPIR-V enums for MediaTek (#451) 0413bc33f Add SPV_EXT_optnone (#449) 2a9b6f951 Add Capability and Execution mode SPV_KHR_compute_shader_derivatives (#446) efb6b4099 add support for SPV_INTEL_subgroup_buffer_prefetch (#442) 744753a21 Update spirv generator info (#445) 69ab0f32d Add UnormInt2_101010EXT ImageChannelDataType (#444) 1b75a4ae0 Request a vendor id for Kongruent (#443) f013f08e4 Add missing OpUntypedPrefetchKHR (#441) a41bc926e VkspReflection non-sematic: add fields to DescriptorSetBuffer (#440) db5a00f8c Support for SPV_KHR_untyped_pointers (#439) 3c355ec43 Reserve 4 memory operands bits for Arm (#436) 41a8eb27f Update headers with SPIR-V version 1.6, revision 4. (#437) 2acb319af SPV_ARM_cooperative_matrix_layouts (#433) eb49bb7b1 Add KHR suffix to OpExtInstWithForwardRefsKHR (#435) fbf240296 Enforce grammar naming conventions for aliases (#432) ff2afc3af Adds SPV_KHR_relaxed_extended_instruction (#434) ea77f2a82 SPV_EXT_replicated_composites (#431) 49a1fceb9 Fix SPIR-V reserved ranges (#427) acfc254a7 Add utility functions to strinfigy value enums (#426) Commands: ./third_party/update-spirvheaders.sh SPIR-V Tools update: Changes: 3aeaaa088 spirv-val: Fix using global static map (#6241) 286c4a66d spirv-val: Fix Mesh Builtin checking for signed int (#6238) 18f08838c Roll external/abseil_cpp/ 840da4a0f..56945519b (3 commits) (#6235) 9b035b701 Roll external/abseil_cpp/ 7ece455c2..55f48665b (2 commits) (#6231) cef15589a [GH Actions] Run wasm build when kokoro:run is removed. (#6233) c8fd10183 spirv-val: Fix scalarBlockLayout typo (#6234) a6e2406b1 Validate that OpDecorateId IDs are well-ordered (#6227) a983ab19d spirv-val: Fix Mesh Shading not checking EntryPoint (#6228) ed173ab18 [GH Actions] Trigger when the `kokoro:run` label is removed (#6230) c0455d40d Extra restrictions for accesses of block arrays (#6226) 73d28b5f3 Roll external/abseil_cpp/ 6ad95e153..7ece455c2 (4 commits) (#6229) d8c5240c3 build(deps): bump github/codeql-action in the github-actions group (#6225) 17b870490 Roll external/abseil_cpp/ 454205a61..64a9eafe3 (1 commit) (#6224) 04d4deab5 Add support for SPV_INTEL_inline_assembly (#6210) 3abad502d spirv-val: Add Patch Decoration check (#6219) 8cf1bf9bb spirv-val: Check OpTypeCooperativeMatrixKHR for bfloat16/fp8 (#6220) aaa94856d Initialize output parameter of spvtools::LookupOperand (#6223) e7d92f71f Roll external/abseil_cpp/ 6cd1763d9..492fccd3b (5 commits) (#6214) 257a227fb Roll external/abseil_cpp/ ea50280ae..6cd1763d9 (6 commits) (#6208) 7806d0a70 spirv-val: Add PrimitiveID check (#6209) 08f1e75fe spir-val: fix OpTensor{Read,Write}ARM for tensors with a spec constant rank (#6206) 54fc95232 Roll external/abseil_cpp/ 2ecc1dd00..ea50280ae (2 commits) (#6207) edce8bd5e Roll external/googletest/ c67de1173..3983f67e3 (1 commit) (#6205) cc07e5303 build(deps): bump github/codeql-action in the github-actions group (#6201) d05052073 Roll external/abseil_cpp/ d4e6b8cdb..d20bae7f9 (2 commits) (#6200) d6ef579a0 spirv-opt: add support for tensors to type manager (#6202) e16fcd177 Update README with canonicalize IDs pass (#6204) 44c93ad92 spirv-val: accept NonReadable/NonWritable on tensor variables in UniformConstant (#6184) bc7c60e96 Fix the wrong location of DebugFunctionDefinition inst (#6198) f657d2c15 build(deps): bump github/codeql-action in the github-actions group (#6199) a478b3842 roll deps (#6197) 40eb301f3 spirv-opt: Fix crash if shader uses linkage decoration (#6191) 604c3e75a spirv-as: fix docs: need '-' arg to specify stdin (#6194) 28a883ba4 SPV_INTEL_function_variants: basic asm, dis support (#6195) 37da76351 Update github bots to windows-2025 (#6196) 7fbd5fbb1 Roll external/abseil_cpp/ 212fcb96c..aed3ddd94 (6 commits) (#6190) 33e025681 Prepare release v2025.3 (#6192) a364c41a7 We want to use extension `SPV_KHR_variable_pointers` with vulkan memory (#6121) 108b19e5c Add --canonicalize-ids pass (#6174) 85607567a Keep instructions used by the DebugBuildIdentifier (#6189) c837be3e4 opt: Pass DebugDeclare scope to DebugValue (#6178) 7ddec72ea build(deps): bump lukka/get-cmake in the github-actions group (#6182) c2977ef0a roll deps (#6181) 422150b40 Add mimalloc to improve multithreaded performance (#6188) da0ec29bb Revert array location validation (#6187) 3f76afcf9 Add minimal as/dis support for TOSA.001000.1 extended instruction set (#6183) dab29fb16 spirv-val: tidy up validation of type constraints for IDs (#6185) dec28643e Add validation support for MeshEXT based on the spec update PR https://github.com/KhronosGroup/Vulkan-Docs/pull/2475 (#6171) e0bad2825 Roll external/abseil_cpp/ daff1b1a9..9c02e2cbe (1 commit) (#6173) 15f61f8ad build(deps): bump github/codeql-action in the github-actions group (#6180) 27dd301f8 spirv-val: Label maintenance9 new VUID (#6176) e9a8ceedd spirv-val: add positive test for FP8 cooperative matrices (#6175) 90cfb3e96 spirv-val: Give hints when user is forgetting feature bit (#6164) ec1c9ca71 build(deps): bump github/codeql-action in the github-actions group (#6169) 0d6c8d6f4 Add SPV_NV_linear_swept_spheres to allow list. (#6168) 501960632 Roll external/abseil_cpp/ e1ff6a333..169c953aa (1 commit) (#6165) 6061b7204 Add initial support for SPV_EXT_float8 (#6170) 7dda3c01f Keep DebugBuildIdentifier during dce (#6166) 2e743e96b Improve automatic formatting of SPV extensions allowlists (#6167) 9de1dbb0a --Modfied files so that OpTypeTaskSequenceINTEL is identified as a type instruction (#6084) 9d2218773 build(deps): bump ossf/scorecard-action in the github-actions group (#6162) c38571fee Add SPV_NV_cluster_acceleration_structure to allow lists (#6163) 5b87767c6 [OPT] prevent private_to_local_pass optimizing double pointer (#6161) f6e5a5a8f spirv-dis: Set a hard limit on last_instruction_comment_alignment_ (#6149) 066f726eb roll deps (#6160) 0498065e0 [OPT] Use conservative default case for `GetPtr` (#6158) c3c5427ec [OPT] Set the BB for the debug instruction when moved. (#6153) a9d7fde99 Roll external/abseil_cpp/ 3006ff8b4..2dd803689 (4 commits) (#6159) 8b2535346 build(deps): bump github/codeql-action in the github-actions group (#6147) 045c1b251 roll deps (#6150) da48bb20b val: Fix CullPrimitiveEXT array of bool (#6155) 01021466b [spirv-val] Add the validation checks for SPV_QCOM_tile_shading (#6130) 736e415eb Fix operand access in invalid layout checks (#6151) 66fe61094 roll deps (#6146) 9b1a7e7a6 grammar tables: emit good error when missing an operand type (#6145) eac930caa Add support for SPV_ARM_tensors (#6134) 11df9e83a build(deps): bump the github-actions group across 1 directory with 2 updates (#6133) 0cf1a2bfe roll deps (#6143) 75f2e873a [opt] Move debug instruction when neccessary in copy prop arrays. (#6142) 6039eeff1 [OPT] Remove recursion from redundancy_elimination (#6141) feba06f44 ggt.py: no need to precondition extension lists (#6139) 9d0f81794 Delete utils/generate_grammar_tables.py (#6138) 058b4b3c7 roll deps (#6129) 2956d8e7e Fix exit in ggt.py (#6137) f06e0f3d2 Avoid double-lookup for name searches in tables (#6136) e8864edbe Use compressed tables for extended instructions (#6135) 8ede14d21 use static std::array for grammar tables again (#6132) 54f2f3dc0 Fix gn (#6131) cc1e6c546 [ROLL] Roll deps (#6127) 9693056da no static initializers (#6128) f1524d1a2 Roll external/googletest/ cd430b47a..90a415211 (5 commits) (#6114) eb82f2cad Move enum mappings to compressed tables (#6120) d50426893 build: Fix BUILD.gn missing headers (#6125) f026033b6 opt: add SPV_NV_shader_invocation_reorder to allowlist (#6122) 6db659dae Add instruction printingClass value to InstructionDesc (#6118) c0fa1efc8 python: Use type annotations compatible with python 3.8 (#6119) 3935361d2 Fixes for Dawn gn build. (#6117) 62de1f740 Use compressed grammar tables for core instructions and operands (#6107) 887a1d678 [Kokoro] Add dxc-smoketest (#6113) f050bb781 spirv-val: allow Float16 in OpenCL environments (#6110) cb619916b [Kokoro] Use merge-base for format check. (#6112) 20d503166 build(deps): bump github/codeql-action in the github-actions group (#6102) d101daf8a Replace spirv.hpp with spirv.hpp11 in objdump (#6108) 04ade331e Roll external/abseil_cpp/ 8b2b78bb9..87e8b54fa (4 commits) (#6101) 634a44abf Simplify ext inst table generation (#6095) 2fe7d3dd6 Add spvtools::utils::IndexRange (#6106) d75157435 fix clang-20 build issue (#6103) 783d70336 Add spvtools::utils::Span (#6105) 8e9165a3d spirv-val: Update 1.4.312 VUID churn (#6082) b6a83226d Allow copyright line without '(c)' (#6099) a62abcb40 [OPT] Don't fold n % 1.0 (#6100) 506fee4df generate_grammar_tables.py: remove unused option to emit C enums (#6094) 898ed77be Prepare for 2025.2 release. (#6098) 0aa67e2af Roll external/abseil_cpp/ 8b81b77c5..daa0bfb56 (4 commits) (#6091) ca63ea568 Fix validation of BFloat16 FP types (#6092) 096bb07f7 Initialize variables (#6093) 255086985 build(deps): bump lukka/get-cmake in the github-actions group (#6089) 7e41c7130 Add Vulkan 1.3 and 1.4 capability checks (#6063) f53aac84f Roll external/abseil_cpp/ c8d5854f0..12f4be680 (7 commits) (#6086) 3f7cbaf32 format check: Show the list of files to be checked (#6088) a871fc43e Minimal opt support for SPV_KHR_untyped_pointers (#6087) 2e7ba023c Add SPV_KHR_bfloat16 support (#6057) e94023922 build(deps): bump the github-actions group across 1 directory with 2 updates (#6083) fb6206f9a roll deps (#6076) 1a811fd69 spirv-val: Restrict VUID 09557 to Vulkan environments (#6080) 73d6a038e spirv-val: Label new VUID from 312 headers (#6079) 4bd1536ed [OPT] In copy propagate arrays, debug instructions are not stores. (#6078) 6add4e478 Add support for pointer types in vector when using extension SPV_INTEL_masked_gather_scatter (#6041) 056e3ed2c [OPT] Add extension to allow list (#6075) 2e83ad7e6 Roll external/abseil_cpp/ b12a6f75f..bcf4bf315 (3 commits) (#6072) 8a6aaa696 roll deps (#6069) 393d5c7df [OPT] fix loop with recursive types in trim pass (#6070) a48b47340 opt: Add QuadControlKHR to trim pass and allow lists (#6068) a4adb9a8a [OPT] Delete decoration for OpPhi when unrolling (#6064) 4b5584e28 Roll external/abseil_cpp/ 3b1bb7337..fd39cfa46 (1 commit) (#6065) 91c4380f7 build(deps): bump github/codeql-action in the github-actions group (#6066) 6a6693d1c Validate version requirement for Vulkan Memory Model (#6042) a958887ba roll deps (#6060) d5ca80037 build(deps): bump the github-actions group with 3 updates (#6056) ada1771a9 Fix calculation of locations for matrices (#6062) db06346b0 opt: value numbering: preserve loads of image, sampler, sampled image (#6059) ef1004ec5 format check should say what version of clang-format is used (#6058) 553300374 Fix implicit conversion warning: int32_t to uint32_t (#6052) e58e469f0 roll deps (#6055) 0c1ca5815 Validation for relaxed control barrier with storage class semantics (#5984) 51aeff761 roll deps (#6049) a6cb96028 Check that layouts match runtime array requirement (#6048) 2b3df1ec7 split-combined-image-samplers: clone decorations on loads (#6046) ff4d89082 opt: add resolve-binding-conflicts pass (#6044) 36a3ef46e test fixture: print optimized assembly that fails to validate (#6043) 940c6faa1 split-combined-image-sampler: synthesize names (#6037) 6c757dd9e build(deps): bump github/codeql-action in the github-actions group (#6033) b45be9b0a Roll external/abseil_cpp/ 35211d98d..bdbaf376e (3 commits) (#6031) ba1359d20 Update location/component conflict validation (#5993) 48c703b81 opt: add pass to split combined image samplers (#6035) 5986ec106 github workflow bazel: print error logs (#6036) 9f8ff357d spirv-diff: Try to pair functions by their complete type. (#6021) 9e470ef0f Fix explicit layout validation on ptr type (#6029) ba828b232 Fold 0 <<,>>,/,% n to 0. Fold a / 1 to a. Fold a % 1 to 0. Fold f % 1.0 to 0.0. Fold 0.0 % f to 0.0 (#6020) bac6ca756 Support optimization of OpCopyLogical (#6016) 7e3efaf1b Support scalar replacement of large structs (#6019) d3fc6ed18 spirv-val: Validate PhysicalStorageBuffer Stage Interface (#6000) f6b40e7f1 spirv-val: Add Vulkan Aligned PowerOfTwo check (#6027) fb803311a folding_rules: generalise RedundantIAdd() to |^>><<+- with 0 on RHS and |^+ with 0 on LHS (#6013) 62a930f4a roll deps (#6030) bb86786ed Roll external/abseil_cpp/ f1b7d000b..735c86164 (3 commits) (#6025) 6484ea2a0 spirv-as: Add OpUnknown pseudo-instruction (#6024) b63895481 [opt] Add StorageBuffer16BitAccess to trim pass. (#6026) a946dba85 roll deps (#6022) 12abd77a6 Fix invalid layout validation version check (#6023) b1140ad29 Roll external/abseil_cpp/ f004e6c0a..cc70e832b (1 commit) (#5999) 4517f75c6 build(deps): bump actions/cache in the github-actions group (#6018) d3bfa4b9b build(deps): bump lukka/get-cmake in the github-actions group (#6015) b095f36a5 Add validation for invalid layout decoration usage (#6012) f289d047f [OPT] Update DebugDeclare if the var is not an OpVariable (#6014) 132103f44 Prepare release v2025.1 (#6011) d5b6f2de7 build(deps): bump the github-actions group across 1 directory with 4 updates (#6010) 00170308e kokoro: linux: use cpp-builder instead of radial-build (#6008) aafd52457 [opt] Fix bug opt::InstructionBuilder::AddVariable (#6007) f2dac2f3d spirv-val: Add AllowVulkan32BitBitwise option (#6001) a80d3b5c5 Fix untyped pointer comparison validation (#6004) 2e55f9c69 kokoro: Streamline check-format (#5973) 9fa14b914 roll deps (#5997) dc1641d16 build(deps): bump github/codeql-action in the github-actions group (#5994) cd177fa74 roll deps (#5996) 66e57d114 roll deps (#5992) f95b07a5a diff: Fix crash in OpString matching (#5988) 114920c25 Add missing include headers (#5995) b3fe11f89 spirv-val: Update VUIDs for 308 header (#5990) 9d7e182da linker: remove LinkOnceODR decorations when linking executables (#5979) 32af271ac roll deps (#5987) 682bcd515 spirv-val: fix env parsing for vk1.1spv1.4 (#5985) f52c9a1e4 Roll external/abseil_cpp/ 7253ff8f9..69b58f922 (4 commits) (#5983) 9d07794bc build(deps): bump the github-actions group across 1 directory with 2 updates (#5976) d59325f37 Roll external/abseil_cpp/ fd8b35b9a..5f8d605c0 (1 commit) (#5957) ce37fd67f Add validation for SPV_NV_linear_swept_spheres. (#5975) 7cf95f1d5 Add validation SPV_NV_cluster_acceleration_structure. (#5974) 04b4a204a Improve the instruction diagnostic for some access chain errors (#5978) 96b46d160 Update physical storage buffer validation to match SPIR-V 1.6.5 (#5977) 3364b9827 Validate SPV_NV_cooperative_vector (#5972) 2e8113719 Fix layout checks with untyped pointers (#5970) d99e54e37 kokoro: use ndk-r27c (#5969) bdf077623 kokoro: use clang 13.0.1 on Linux (#5962) a9f826b65 kokoro: use gcc 13 instead of gcc 9 (#5961) 173fe3c60 spirv-val: Update mislabeled VUIDs (#5964) e02275ec0 More explicit layout validation (#5958) 4aa537a5c Roll external/abseil_cpp/ a28c4b582..fd8b35b9a (6 commits) (#5955) 01676d8d8 build(deps): bump github/codeql-action in the github-actions group (#5956) 066c3d52c spirv-val: Add VK_KHR_maintenance8 support (#5951) 4be5222ac Roll external/abseil_cpp/ a4e771912..a28c4b582 (7 commits) (#5952) b9d5ced92 Add SPV_AMDX_shader_enqueue version 2 support (#5838) c62409034 roll deps (#5949) 321692686 dd missing Vulkan 1.4 in validator help, env testing (#5946) f942f65e8 add support for SPV_INTEL_subgroup_matrix_multiply_accumulate (#5928) a6107edd2 Add missing include headers (#5944) 981c462c1 roll deps (#5943) 7ef6bc3ce [OPT] Add SPV_KHR_ray_tracing to allow list (#5941) 173217281 fix: handle LinkOnceODR correctly (#5938) 8b8f8fe95 Roll external/abseil_cpp/ 6effb000c..a1de53ddd (4 commits) (#5942) fdea64191 Add EXT_mesh_shader validation support (#5640) 6ea395b0e spirv-val: Remove OpenCL ivec3 req (#5940) b8566d459 Roll external/abseil_cpp/ 3f770c4d9..6effb000c (6 commits) (#5937) 995922d48 build(deps): bump the github-actions group with 2 updates (#5936) 9064fe863 Roll external/abseil_cpp/ f489ceb63..3f770c4d9 (4 commits) (#5935) 31c154a2a kokoro: remove VS 2019 debug (#5934) a29530db2 Update download links to VS 2022 (#5933) bc158d936 build(deps): bump the github-actions group across 1 directory with 4 updates (#5932) e15ac6102 kokoro: Add VS 2022 scripts, remove VS 2017 scripts (#5930) 880612646 Roll external/abseil_cpp/ 4e0956109..65b7da13b (2 commits) (#5929) e6307f473 Update downloads badges and matrix (#5931) 8b39a8b54 Update effcee (#5927) 4b4e4b993 lsp: Make vim support more explicit, add code completions (#5917) 8fc0830d9 Roll external/abseil_cpp/ 688dd51cc..4e0956109 (11 commits) (#5926) 8f98634c4 spirv-val: Validate zero product workgroup size (#5407) 1a0658f55 Roll external/abseil_cpp/ c7cf999bd..67576965a (3 commits) (#5900) becf97fdc update cmake_minimum_required to 3.22.1 (#5925) 9295a8b94 Add OpImageSampleFootprintNV to IsAllowedSampledImageOperand (#5914) a466e9d68 kokoro: windows: use Python 3.12 (#5920) 1a84052a5 opt: keep all OpSource instructions (#5901) a4084887e build: Add missing include headers (#5915) 7cac4f355 kokoro: Use cmake-3.31.2 on linux and windows (#5918) 13b59bf1d Relax DebugLine validation (#5916) 1229f1ef3 assembler: ensure progress when seeking the version string (#5910) 4d2f0b40b Prepare release (#5905) 3fb52548b Vulkan 1.4 support (#5899) 7d5bc3519 build(deps): bump github/codeql-action in the github-actions group (#5891) eebdb1575 Roll external/abseil_cpp/ 917bfee46..b67caffec (3 commits) (#5889) 7c58952fa Update path-to-regexp to address CVE-2024-45296 (#5895) a9d884e58 spirv-as: Assume target from spvasm text (#5893) f3c4a5053 spirv-val: Add missing NonSemantic.Shader.DebugInfo.100 (#5846) ea1d8cd98 Roll external/abseil_cpp/ 8f739d18b..917bfee46 (2 commits) (#5887) 16fa89f06 build(deps): bump the github-actions group across 1 directory with 2 updates (#5885) 27433b11e roll deps (#5883) 35e5f1160 spirv-val: Accept valid OpSizeOf instructions (#5879) 692529b94 [NFC] Apply small clang-tidy fixes (#5709) 707da36c7 Correct a spelling error 'diagnostic' (#5878) df94b2db4 Avoid maintaining a list of all operating systems by hand. (#5881) 1601ec263 ci: Make MacOS builds only run if other things pass (#5872) 671e7ca5e Roll external/abseil_cpp/ a3027054a..27a0c7308 (7 commits) (#5875) 384d527eb spirv-val: Report VUID 08973 only in Vulkan environments (#5873) 9117e042b roll deps (#5871) 02433568a tools: Accept hex representation as binary input (#5870) d426fc53b build(deps): bump the github-actions group across 1 directory with 3 updates (#5866) 9aaa26014 roll deps (#5850) e5c1498af Update proto JSON options call. (#5867) 5f1e86cb5 tools: Move io utils to cpp (#5869) ce9263039 Add validation for SPV_NV_tensor_addressing and SPV_NV_cooperative_matrix2 (#5865) 298055b25 opt: add StorageImageWriteWithoutFormat to trimm pass (#5860) 895bb9ffe opt: add KHR_fragment_shading_rate to allowlist (#5859) ba37b3b51 opt: Remove InstDebugPrintfPass (#5856) 14388d701 ci: Update MacOS to latest OS (#5855) a832c1333 Fix switch case construct validation (#5852) 2ea729062 opt: Fix array copy propagation of access chain pointers (#5853) 5b98dea6f build(deps): bump the github-actions group across 1 directory with 5 updates (#5847) 68265e160 Roll external/abseil_cpp/ 03b8d6ea3..8634e35f1 (1 commit) (#5844) 42b315c15 Fix result type check in ValidateImageTexelPointer (#5848) fcf994a61 Handle aliases field in the grammar (#5799) 4310fd4ed build(deps): bump the github-actions group across 1 directory with 3 updates (#5841) ada92f849 roll deps (#5833) 522dfead3 opt: Add support for OpExtInst to capability trim pass (#5836) c173df736 build(deps): bump github/codeql-action in the github-actions group (#5831) 4554c6b7e Roll external/abseil_cpp/ 482ca0b9d..c6b27359c (1 commit) (#5829) 48f9f4a99 opt: Update copy prop arrays to handle InterpolateAt* instructions (#5827) d9c1aee6a Roll external/abseil_cpp/ ba5fd0979..482ca0b9d (1 commit) (#5828) b1ad37b17 opt: Mark InterpolateAt* argument as live for DCE (#5824) 5b38abc87 Do not distrubute OpSNegate into OpUDiv (#5823) 5c8442f7f build(deps-dev): bump rollup from 3.23.0 to 3.29.5 in /tools/sva (#5826) c0e6399df build(deps): bump the github-actions group across 1 directory with 2 updates (#5825) 3656c4bd1 Roll external/abseil_cpp/ c0b9bd08e..ba5fd0979 (2 commits) (#5818) 44936c4a9 Add support for SPV_KHR_compute_shader_derivative (#5817) 362ce7c60 Allow more levels of arrays with component decoration (#5820) 24849751c build(deps): bump github/codeql-action in the github-actions group (#5813) c405baf8c Roll external/abseil_cpp/ 0df567400..c0b9bd08e (3 commits) (#5812) 7ba72f14f spirv-val: Disallow stores according to VUID 06924 (#5368) 01c8438ee [SPV_KHR_untyped_pointers] Fix verification for OpenCL.std instructions (#5810) 6dcc7e350 Prepare release v2024.4 (#5811) 04bdb6c7c roll deps (#5809) 20788a4c5 add support for SPV_INTEL_global_variable_host_access (#5786) 04ad1e1ce build(deps): bump github/codeql-action in the github-actions group (#5808) d85446fd7 [OPT] Fix generating debugLocalVariable from debugGlobalVariable (#5803) a2c9c2387 Roll external/abseil_cpp/ 1d4466e8d..f7c22f52a (3 commits) (#5806) 4c2094ee9 Made libspirv include relative to allow better portability (#5807) 4451f6ab1 Implement to_string(uint32_t) without using the locale (#5805) 7c9210cc1 Roll external/abseil_cpp/ 67d126083..1d4466e8d (2 commits) (#5801) 37d2fcb48 spirv-opt: fix crash in function declarations (#5796) 380275eac Do not check structurally unreachable continue target predecessors (#5800) d160e170d Roll external/abseil_cpp/ f7f316824..67d126083 (3 commits) (#5787) 6209efd77 Update SPIRV-Headers (#5793) 05be5b246 Fix build.gn build. (#5791) e9915cea8 Update sampled image validation (#5789) 07f49ce65 spirv-opt: make traversal deterministic (#5790) f914d9c8a [SPV_KHR_untyped_pointers] Fix verification of vload/vstore OpenCL.std instructions (#5788) b31baff4e [opt] Add struct-packing pass and unit test. (#5778) 2a67ced43 Roll external/abseil_cpp/ e64dd622d..f7f316824 (2 commits) (#5782) bc4060ed2 update_build_version.py: support an envvar to force the description (#5758) 61d6952e2 Revert "OpSampledImage extra validation (#5695)" (#5785) e1782d667 Roll external/abseil_cpp/ fd7713cb9..fd58e18f2 (2 commits) (#5773) 88c25a71d build(deps): bump the github-actions group across 1 directory with 3 updates (#5780) b21dda0ee Validate presence of Stride operand to OpCooperativeMatrix{Load,Store}KHR (#5777) edc68950b build(deps): bump github/codeql-action in the github-actions group (#5772) a85a703e3 roll deps (#5771) 25b4e42ea roll deps (#5754) 0c40b591a [OPT] Add SPV_KHR_ray_tracing_position_fetch to allow lists (#5757) e8c2fbca1 Remove local attribute from build_version_inc genrule (#5766) 988995c3b build(deps): bump github/codeql-action (#5769) 87fcbaf1b build(deps): bump the github-actions group across 1 directory with 4 updates (#5761) b64a423b4 Workaround issue in MSVC arm64 compiler returning random upper 32-bits in function spvtools::util::CountSetBits. (#5763) 72c291332 Add OpTypeRuntimeArray to composite types (#5765) bc2478c92 Use "docker compose" in wasm build (#5764) 246daf246 [OPT] Avoid assert in generatecopy (#5756) 363486479 roll deps (#5748) e7216170d build(deps): bump braces from 3.0.2 to 3.0.3 in /tools/sva (#5737) 8731673a5 Allow ArrayStride on untyped pointers (#5746) ffb8d85ea Roll external/googletest/ 9ff2450a5..cee1ba1f2 (1 commit) (#5743) 81a116002 [opt] Fix uses of type manager in fix storage class (#5740) e99a5c033 spirv-link: allow linking functions with different pointer arguments (#5534) ca373497f [opt] Fix pointer stores in DCE (#5739) a0817526b properly handle the load and store cache control operand types (#5664) d1b35bb17 build(deps): bump the github-actions group with 2 updates (#5744) 626dfbff4 Roll external/abseil_cpp/ eb8522077..3cb498899 (4 commits) (#5741) 2ea400363 opt: split composite from array flattening (#5733) 4c7e1fa5c Roll external/abseil_cpp/ 074a32af6..af4c589ed (1 commit) (#5731) 3ab0d2260 Support SPV_KHR_untyped_pointers (#5736) 6248fda37 Handle coop matrix in fix storage class (#5729) 7c778973e Allow fmt arg to printf to be an array of i8 in non-constant space (#5677) 257cacfb3 build(deps): bump the github-actions group across 1 directory with 4 updates (#5734) 6a5fa5f70 Fix SPRIV -> SPIRV typos (#5735) 9f2ccaef5 kokoro: use Python 3.12 in Linux builds (#5730) beabd8b7f Roll external/abseil_cpp/ 1278ee9bd..0d9c2fc76 (2 commits) (#5724) 216574bed Allow for empty list of enums for an operand (#5727) 3bc9744d0 Add FPEncoding operand type. (#5726) 973e791a9 Roll external/abseil_cpp/ 16452e141..a7c5f985f (5 commits) (#5722) c91d9ec15 Roll external/abseil_cpp/ 1315c900e..b4e4b6259 (1 commit) (#5716) ca004da9f Add knowledge of cooperative matrices (#5720) 64d37e281 [NFC] Fix potential buffer overflow (#5715) b9d811469 Add re2 dep back to Bazel build (#5721) 0cfe9e721 Prepare release v2024.3 (#5719) 581279ded [OPT] Zero-extend unsigned 16-bit integers when bitcasting (#5714) 80a1aed21 Use bzlmod for effcee (#5707) 7bf2d0275 roll deps (#5685) 6c8b460eb misc: remove encoding parameter (#5710) 7564e142d spirv-dis: Add --nested-indent and --reorder-blocks (#5671) bc28ac7c1 opt: add OpExtInst forward ref fixup pass (#5708) 65d30c315 opt: fix Subgroup* trimming (#5706) c3178da8e spirv-dis: add decorations to comments (#5675) ce46482db Add KHR suffix to OpExtInstWithForwardRef opcode. (#5704) 7b5691084 update tests for disassembly changes (#5694) e1c0ad23f build(deps): bump the github-actions group across 1 directory with 2 updates (#5702) 9db5b5ec1 Add assert header to val/decoration.h (#5703) 6a2bdeee7 spirv-val, core: add support for OpExtInstWithForwardRefs (#5698) 4a2e0c9b3 Fix comments in liveness.h (#5699) 70ad4dae7 OpSampledImage extra validation (#5695) fd96922e9 Remove calls to GetId in liveness analysis (#5693) 95681dc42 Remove implicit call to GetId in ConvertToSampledImagePass. (#5692) 148c97f68 Avoid use of type manager in extact->construct folding (#5684) 142bf7de8 spirv-val: Fix indentation of --version output (#5686) 7e1a8cdc5 Basic support for SPV_EXT_replicated_composites (#5690) 3d2408929 spirv-val: Add Duplicate EntryPoint Builtin check (#5678) 77c40bece Roll deps 336b5710a Do not fold mul and adds to generate fmas (#5682) ee749f505 Add abseil to the autoroller (#5680) e2646f5e9 spirv-val: Consider target env for OpReadClockKHR scope (#5681) e4b1a48aa Use raw string to avoid unintended escapes in regex (#5676) 14fe558c0 --- (#5679) ccf3e3c10 Improve matrix layout validation (#5662) 199038f10 spirv-val: Validate MemoryAccessMask of OpCooperativeMatrixStoreKHR (#5668) 9241a58a8 opt: Remove bindless and buff addr instrumentation passes (#5657) bfc3a1568 build(deps): bump the github-actions group across 1 directory with 3 updates (#5656) 57a42e6c1 spirv-val: Separate Location check for tess patch (#5654) Commands: ./third_party/update-spirvtools.sh Bug: b/123642959 git-subtree-dir: third_party/SPIRV-Headers git-subtree-split: 97e96f9e9defeb4bba3cfbd034dec516671dd7a3 Change-Id: I8b91f5f47966f93507bb032d8e0b36ca31553557 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/76128 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by: Shahbaz Youssefi <syoussefi@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@google.com>
SwiftShader[^1] is a high-performance CPU-based implementation[^2] of the Vulkan[^3] 1.3 graphics API. Its goal is to provide hardware independence for advanced 3D graphics.
NOTE: The ANGLE project can be used to achieve a layered implementation[^4] of OpenGL ES 3.1 (aka. “SwANGLE”).
SwiftShader libraries can be built for Windows, Linux, and macOS.
Android and Chrome (OS) build environments are also supported.
CMake
Install CMake for Linux, macOS, or Windows and use either the GUI or run the following terminal commands:
cd build cmake .. cmake --build . --parallel ./vk-unittests
Tip: Set the CMAKE_BUILD_PARALLEL_LEVEL environment variable to control the level of parallelism.
Visual Studio
To build the Vulkan ICD library, use Visual Studio 2019 to open the project folder and wait for it to run CMake. Open the CMake Targets View in the Solution Explorer and select the vk_swiftshader project to build it.
The SwiftShader libraries act as drop-in replacements for graphics drivers.
On Windows, most applications can be made to use SwiftShader's DLLs by placing them in the same folder as the executable. On Linux, the LD_LIBRARY_PATH
environment variable or -rpath
linker option can be used to direct applications to search for shared libraries in the indicated directory first.
In general, Vulkan applications look for a shared library named vulkan-1.dll
on Windows (vulkan-1.so
on Linux). This ‘loader’ library then redirects API calls to the actual Installable Client Driver (ICD). SwiftShader's ICD is named libvk_swiftshader.dll
, but it can be renamed to vulkan-1.dll
to be loaded directly by the application. Alternatively, you can set the VK_ICD_FILENAMES
environment variable to the path to vk_swiftshader_icd.json
file that is generated under the build directory (e.g. .\SwiftShader\build\Windows\vk_swiftshader_icd.json
). To learn more about how Vulkan loading works, read the official documentation here.
See CONTRIBUTING.txt for important contributing requirements.
The canonical repository for SwiftShader is hosted at: https://swiftshader.googlesource.com/SwiftShader.
All changes must be reviewed and approved in the Gerrit review tool at: https://swiftshader-review.googlesource.com. You must sign in to this site with a Google Account before changes can be uploaded.
Next, authenticate your account here: https://swiftshader.googlesource.com/new-password (use the same e-mail address as the one configured as the Git commit author).
All changes require a Change-ID tag in the commit message. A commit hook may be used to add this tag automatically, and can be found at: https://gerrit-review.googlesource.com/tools/hooks/commit-msg. You can execute git clone https://swiftshader.googlesource.com/SwiftShader
and manually place the commit hook in SwiftShader/.git/hooks/
, or to clone the repository and install the commit hook in one go:
git clone https://swiftshader.googlesource.com/SwiftShader && (cd SwiftShader && git submodule update --init --recursive third_party/git-hooks && ./third_party/git-hooks/install_hooks.sh)
On Windows, this command line requires using the Git Bash Shell.
Changes are uploaded to Gerrit by executing:
git push origin HEAD:refs/for/master
When ready, add a project owner as a reviewer on your change.
Some tests will automatically be run against the change. Notably, presubmit.sh verifies the change has been formatted using clang-format 11.0.1. Most IDEs come with clang-format support, but may require upgrading/downgrading to the clang-format version 11.0.0 release version (notably Chromium's buildtools has a clang-format binary which can be an in-between revision which produces different formatting results).
SwiftShader's Vulkan implementation can be tested using the dEQP test suite.
See docs/dEQP.md for details.
The third_party directory contains projects which originated outside of SwiftShader:
subzero contains a fork of the Subzero project. It originates from Google Chrome‘s (Portable) Native Client project. The fork was made using git-subtree to include all of Subzero’s history.
llvm-subzero contains a minimized set of LLVM dependencies of the Subzero project.
PowerVR_SDK contains a subset of the PowerVR Graphics Native SDK for running several sample applications.
googletest contains the Google Test project, as a Git submodule. It is used for running unit tests for Chromium, and Reactor unit tests. Run git submodule update --init
to obtain/update the code. Any contributions should be made upstream.
See docs/Index.md.
Public mailing list: swiftshader@googlegroups.com
General bug tracker: https://g.co/swiftshaderbugs
Chrome specific bugs: https://bugs.chromium.org/p/swiftshader
The SwiftShader project is licensed under the Apache License Version 2.0. You can find a copy of it in LICENSE.txt.
Files in the third_party folder are subject to their respective license.
The legal authors for copyright purposes are listed in AUTHORS.txt.
CONTRIBUTORS.txt contains a list of names of individuals who have contributed to SwiftShader. If you‘re not on the list, but you’ve signed the Google CLA and have contributed more than a formatting change, feel free to request to be added.
[^1]: This is not an official Google product.
[^2]: Vulkan 1.3 conformance: https://www.khronos.org/conformance/adopters/conformant-products#submission_717
[^3]: Trademarks are the property of their respective owners.
[^4]: OpenGL ES 3.1 conformance: https://www.khronos.org/conformance/adopters/conformant-products/opengles#submission_906