package spirv-headers { description = "machine-readable files for the SPIR-V Registry"; website = "https://github.com/KhronosGroup/SPIRV-Headers"; anitya = 230542; // upstream changed version scheme, anitya incapable of filtering them latest = anityaFilterSPIRV; version# = "1.4.350.1"; source = remoteGitHub { suffix = "KhronosGroup/SPIRV-Headers"; tag = "vulkan-sdk-"+version; checksum = "6cmvMCH5aiHykXcozckfMOVA0nm0am4Xr2g9swBB9FtOV1vYBHgats5aRv4uQ9Kq"; }; patches = [ "0001-grammar-and-header-changes-for-SPV_INTEL_predicated_.patch", "0002-header-updates-for-SPV_INTEL_rounded_divide_sqrt-582.patch", "0003-Add-SPV_MESA_fragment_coverage_mask-enumerants-580.patch", "0004-Update-headers-for-spirv-issue-373-584.patch", "0005-Reserve-some-tokens-for-Samsung-586.patch", "0006-Fix-OpCompositeConstructContinuedINTEL-operands-587.patch", "0007-Update-spirv.core.grammar.json-revision-593.patch", "0008-Reserve-ImageOperand-17-for-Google-589.patch", "0009-Fix-OpReadPipeBlockingINTEL-OpWritePipeBlockingINTEL.patch", "0010-Add-SPV_AMD_weak_linkage-extension-583.patch", "0011-Add-SPV_KHR_opacity_micromap-599.patch", "0012-Add-NonSemanticGraphDebugInfo-instruction-set-591.patch", "0013-Revert-Add-SPV_MESA_fragment_coverage_mask-enumerant.patch", "0014-SPV_EXT_split_barrier-600.patch", "0015-SPV_NV_cooperative_matrix_decode_vector-601.patch", "0016-Add-ArmExperimentalMLOperations-instruction-set-602.patch", "0017-Add-Pred-as-a-new-SPIR-V-source-language-606.patch", "0018-added-source-language-entry-ApilaJai-607.patch", "0019-license-Add-or-update-REUSE-compliance-609.patch", "0020-chore-Add-CONTRIBUTING-file-608.patch", ]; exec = cmake { // upstream has no tests skipTest = true; }; } package spirv-tools { description = "an API and commands for processing SPIR-V modules"; website = "https://github.com/KhronosGroup/SPIRV-Tools"; anitya = 14894; latest = anityaFallback; version# = "2026.2"; source = remoteGitHub { suffix = "KhronosGroup/SPIRV-Tools"; tag = "v"+version; checksum = "pJ78inb4VzLy8CjQOESpIHHGYVVOR6qN-ZqB-2MzGTcKaoYb3bqhSjkKupiaJzIk"; }; exec = cmake { cache = { "SPIRV-Headers_SOURCE_DIR": "/system"; }; }; inputs = [ python, spirv-headers, ]; runtime = [ spirv-headers ]; } package spirv-llvm-translator { description = "bi-directional translation between SPIR-V and LLVM IR"; website = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator"; anitya = 227273; version# = "22.1.4"; source = remoteGitHub { suffix = "KhronosGroup/SPIRV-LLVM-Translator"; tag = "v"+version; checksum = "xh5ReZ2_i2vX56dZBnizXdHjwsl1y4D32Ptu5IrBdqoCzBqxOlynSj83FvlkcphS"; }; // litArgs emits shell syntax early = "\nexport LIT_OPTS=" + litArgs { verbose = true; skipChecks = arch { default = [ // error: line 13: OpTypeCooperativeMatrixKHR Scope is limited to Workgroup and Subgroup "cooperative_matrix_constant_null.spvasm", // error: line 66: NonSemantic.Shader.DebugInfo.200 DebugTypeFunction: expected operand Return Type is not a valid debug type "DebugInfo/NonSemantic/Shader200/DebugLineOnlyOnce.ll", // error: line 52: End of input reached while decoding OpExtInst starting at word 236: expected more operands after 8 words. "DebugInfo/NonSemantic/Shader200/DebugLinePriority.spt", // error: line 28: FPRoundingMode decoration can be applied only to a conversion instruction to or from a floating-point type. "llvm-intrinsics/constrained-arithmetic.ll", // error: line 78: OpLifetimeStart pointer operand type must be a OpTypePointer. "llvm-intrinsics/lifetime.ll", // error: line 61: FPRoundingMode decoration can be applied only to a conversion instruction to or from a floating-point type. "transcoding/OpenCL/convert_functions.ll", // error: line 56: OpConstantComposite must not have spec constant operands: '30[%30]' "transcoding/constant-vars.ll", // error: line 61: Expected input and Result Type to point to the same type: SpecConstantOp "transcoding/global_block.cl", // error: line 55: OpConstantComposite must not have spec constant operands: '16[%16]' "type-scavenger/globals.ll", ]; arm64 = [ // error: line 13: OpTypeCooperativeMatrixKHR Scope is limited to Workgroup and Subgroup "cooperative_matrix_constant_null.spvasm", // LLVM ERROR: unsupported calling convention "DebugInfo/COFF/no-cus.ll", "DebugInfo/Generic/2009-11-05-DeadGlobalVariable.ll", "DebugInfo/Generic/2009-11-10-CurrentFn.ll", "DebugInfo/Generic/2010-01-05-DbgScope.ll", "DebugInfo/Generic/2010-03-12-llc-crash.ll", "DebugInfo/Generic/2010-03-24-MemberFn.ll", "DebugInfo/Generic/2010-04-19-FramePtr.ll", "DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll", "DebugInfo/Generic/2010-10-01-crash.ll", "DebugInfo/Generic/PR20038.ll", "DebugInfo/Generic/constant-pointers.ll", "DebugInfo/Generic/dead-argument-order.ll", "DebugInfo/Generic/debug-info-eis-option.ll", "DebugInfo/Generic/def-line.ll", "DebugInfo/Generic/discriminator.ll", "DebugInfo/Generic/dwarf-public-names.ll", "DebugInfo/Generic/enum.ll", "DebugInfo/Generic/func-using-decl.ll", "DebugInfo/Generic/global.ll", "DebugInfo/Generic/imported-name-inlined.ll", "DebugInfo/Generic/incorrect-variable-debugloc1.ll", "DebugInfo/Generic/inline-scopes.ll", "DebugInfo/Generic/inlined-arguments.ll", "DebugInfo/Generic/inlined-vars.ll", "DebugInfo/Generic/linear-dbg-value.ll", "DebugInfo/Generic/linkage-name-abstract.ll", "DebugInfo/Generic/member-order.ll", "DebugInfo/Generic/missing-abstract-variable.ll", "DebugInfo/Generic/multiline.ll", "DebugInfo/Generic/namespace_function_definition.ll", "DebugInfo/Generic/namespace_inline_function_definition.ll", "DebugInfo/Generic/noscopes.ll", "DebugInfo/Generic/ptrsize.ll", "DebugInfo/Generic/restrict.ll", "DebugInfo/Generic/two-cus-from-same-file.ll", "DebugInfo/Generic/version.ll", "DebugInfo/LocalAddressSpace.ll", "DebugInfo/UnknownBaseType.ll", "DebugInfo/expr-opcode.ll", ]; }; } + "\n"; exec = cmake { cache = { "CMAKE_SKIP_BUILD_RPATH": "ON"; "BUILD_SHARED_LIBS": "ON"; "LLVM_SPIRV_ENABLE_LIBSPIRV_DIS": "ON"; "LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR": "/system"; "LLVM_EXTERNAL_LIT": "/system/bin/lit"; "LLVM_INCLUDE_TESTS": "ON"; }; }; inputs = [ bash, lit, spirv-tools, ]; runtime = [ spirv-tools ]; }