aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/spirv.az
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-07-30 16:52:01 +0900
committerOphestra <cat@gensokyo.uk>2026-07-30 16:52:25 +0900
commitaa9952cd9ef1e6efb031067e5bd532081c8c9bb7 (patch)
tree0b83e255aaac157ac5de2a25e179ddc4ebf68cf5 /internal/rosa/package/spirv.az
parent99efc551ad8f76ee1bc2639751aba71c550505d1 (diff)
internal/rosa/package/spirv: 1.4.350.1 to 1.4.357.0
This also switches spirv-tools to the vulkan-sdk tags to remain compatible with spriv-headers. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/package/spirv.az')
-rw-r--r--internal/rosa/package/spirv.az168
1 files changed, 168 insertions, 0 deletions
diff --git a/internal/rosa/package/spirv.az b/internal/rosa/package/spirv.az
new file mode 100644
index 00000000..0a114de7
--- /dev/null
+++ b/internal/rosa/package/spirv.az
@@ -0,0 +1,168 @@
+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.357.0";
+ source = remoteGitHub {
+ suffix = "KhronosGroup/SPIRV-Headers";
+ tag = "vulkan-sdk-"+version;
+ checksum = "KKhVra3IQ4DcciWO7J7Vphhyw-Lb9lD1ZCjcg1AIIwsY04j1DeSIrXiVfCF67juc";
+ };
+
+ 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 = 334920;
+
+ version# = "1.4.357.0";
+ source = remoteGitHub {
+ suffix = "KhronosGroup/SPIRV-Tools";
+ tag = "vulkan-sdk-"+version;
+ checksum = "yCZ92UX21pRFjVoySWiKAUermsE3A69dkeqf_8OPVn_1MxbaP5EAcKnHf27W8eYG";
+ };
+
+ 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 = "rm -f /system/bin/clang++.cfg\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: <id> '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: <id> '16[%16]'
+ "type-scavenger/globals.ll",
+ ];
+
+ arm64 = [
+ // 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 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: <id> '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: <id> '16[%16]'
+ "type-scavenger/globals.ll",
+
+ // 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 ];
+}