From 41d96a4954a19840e9d9a6cb648eccfba17ff7bb Mon Sep 17 00:00:00 2001 From: Kyle Date: Wed, 26 Aug 2026 03:58:24 +0800 Subject: [PATCH] Update Compute integration to 0.5.1 --- Package.swift | 11 +++++++---- .../OpenAttributeGraphShims/Adapter/Compute.swift | 12 +++++++++++- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Package.swift b/Package.swift index fde853f9..c3f927e6 100644 --- a/Package.swift +++ b/Package.swift @@ -246,12 +246,15 @@ extension Target { self.swiftSettings = swiftSettings } - func addComputeSettings() { + func addComputeSettings(binary: Bool) { dependencies.append( "Compute", ) var swiftSettings = swiftSettings ?? [] swiftSettings.append(.define("OPENATTRIBUTEGRAPH_COMPUTE")) + if binary { + swiftSettings.append(.define("OPENATTRIBUTEGRAPH_COMPUTE_BINARY")) + } self.swiftSettings = swiftSettings var linkerSettings = linkerSettings ?? [] @@ -428,13 +431,13 @@ func setupDPFDependency() { } if computeCondition { - let defaultVersion = "0.4.1" + let defaultVersion = "0.5.1" let binary = envBoolValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY", default: false) if binary { let version = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_VERSION", default: defaultVersion) let repo = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_REPO", default: "jcmosc/Compute") let url = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_URL", default: "https://github.com/\(repo)/releases/download/\(version)/Compute.xcframework.zip") - let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_CHECKSUM", default: "322c72be5db233d723564a98c45150a45d3d5e9c0a4d4941d43edd1e2ea20bc4") + let checksum = envStringValue("OPENATTRIBUTESHIMS_COMPUTE_BINARY_CHECKSUM", default: "5f2fa067ef30d030409d376be63173b470f89caf0ac387ddc3408b7af466e908") package.targets.append( .binaryTarget( name: "Compute", @@ -456,7 +459,7 @@ if computeCondition { } package.dependencies.append(computeRepo) } - openAttributeGraphShimsTarget.addComputeSettings() + openAttributeGraphShimsTarget.addComputeSettings(binary: binary) package.platforms = [.iOS(.v18), .macOS(.v15), .macCatalyst(.v18), .tvOS(.v18), .watchOS(.v10), .visionOS(.v2)] } else if danceUIGraphCondition { let danceUIGraphBinaryRepo: Package.Dependency diff --git a/Sources/OpenAttributeGraphShims/Adapter/Compute.swift b/Sources/OpenAttributeGraphShims/Adapter/Compute.swift index 6c392dfa..f410dc34 100644 --- a/Sources/OpenAttributeGraphShims/Adapter/Compute.swift +++ b/Sources/OpenAttributeGraphShims/Adapter/Compute.swift @@ -9,10 +9,14 @@ public typealias OAGAttributeInfo = IAGAttributeInfo public typealias OAGCachedValueOptions = CachedValueOptions public typealias OAGChangedValueFlags = IAGChangedValueFlags -public typealias OAGInputOptions = IAGInputOptions +public typealias OAGInputOptions = InputOptions public typealias OAGValue = IAGChangedValue public typealias OAGValueOptions = IAGValueOptions +#if OPENATTRIBUTEGRAPH_COMPUTE_BINARY +extension AnyWeakAttribute: @retroactive Hashable {} +#endif + extension AnyAttribute { public typealias Flags = Subgraph.Flags @@ -24,6 +28,12 @@ extension Subgraph { } extension Graph { + public typealias TraceOptions = TraceFlags + + public static func startTracing(_ graph: Graph?, options: TraceOptions) { + startTracing(graph, flags: options) + } + public static func startProfiling() { startProfiling(nil) }