Build Information
Successful build of fx-upscale, reference main (46601b), with Swift 6.3 for macOS (SPM) on 24 Jul 2026 19:00:28 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/finnvoor/fx-upscale.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/finnvoor/fx-upscale
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 46601bd Preserve HDR when upscaling instead of crushing to SDR (#36)
Cloned https://github.com/finnvoor/fx-upscale.git
Revision (git rev-parse @):
46601bdcd5c8c62f9735210e9245efab2da4a5c9
SUCCESS checkout https://github.com/finnvoor/fx-upscale.git at main
Fetching https://github.com/Finnvoor/SwiftTUI.git
Fetching https://github.com/apple/swift-argument-parser.git
[1/80] Fetching swifttui
[81/18295] Fetching swifttui, swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.56s)
Fetched https://github.com/Finnvoor/SwiftTUI.git from cache (1.56s)
Computing version for https://github.com/Finnvoor/SwiftTUI.git
Computed https://github.com/Finnvoor/SwiftTUI.git at 1.0.4 (2.15s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.3.0 (0.58s)
Creating working copy for https://github.com/Finnvoor/SwiftTUI.git
Working copy of https://github.com/Finnvoor/SwiftTUI.git resolved at 1.0.4
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.3.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "fx-upscale",
"name": "fx-upscale",
"url": "https://github.com/finnvoor/fx-upscale.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/fx-upscale",
"traits": [
"default"
],
"dependencies": [
{
"identity": "swift-argument-parser",
"name": "swift-argument-parser",
"url": "https://github.com/apple/swift-argument-parser.git",
"version": "1.8.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-argument-parser",
"traits": [
"default"
],
"dependencies": [
]
},
{
"identity": "swifttui",
"name": "SwiftTUI",
"url": "https://github.com/Finnvoor/SwiftTUI.git",
"version": "1.0.4",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftTUI",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/finnvoor/fx-upscale.git
[1/419] Fetching fx-upscale
Fetched https://github.com/finnvoor/fx-upscale.git from cache (1.17s)
Fetching https://github.com/apple/swift-argument-parser.git from cache
Fetching https://github.com/Finnvoor/SwiftTUI.git from cache
Fetched https://github.com/apple/swift-argument-parser.git from cache (0.65s)
Fetched https://github.com/Finnvoor/SwiftTUI.git from cache (0.65s)
Computing version for https://github.com/Finnvoor/SwiftTUI.git
Computed https://github.com/Finnvoor/SwiftTUI.git at 1.0.4 (0.70s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.8.2 (0.53s)
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.8.2
Creating working copy for https://github.com/finnvoor/fx-upscale.git
Working copy of https://github.com/finnvoor/fx-upscale.git resolved at main (46601bd)
Creating working copy for https://github.com/Finnvoor/SwiftTUI.git
Working copy of https://github.com/Finnvoor/SwiftTUI.git resolved at 1.0.4
Found 2 product dependencies
- swift-argument-parser
- SwiftTUI
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/finnvoor/fx-upscale.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/11] Write sources
[3/11] Write fx-upscale-entitlement.plist
[3/11] Write sources
[7/11] Write swift-version--6988338F2F200930.txt
[9/34] Emitting module ArgumentParserToolInfo
[10/34] Compiling ArgumentParserToolInfo ToolInfo.swift
[11/72] Compiling SwiftTUI Window.swift
[12/72] Compiling SwiftTUI Termios.swift
[13/72] Compiling SwiftTUI String+ANSI.swift
[14/72] Compiling SwiftTUI Key.swift
[15/72] Compiling SwiftTUI Cursor.swift
[16/72] Compiling SwiftTUI CommandLine.swift
[17/72] Compiling SwiftTUI ActivityIndicator.swift
[18/72] Emitting module SwiftTUI
[19/72] Compiling SwiftTUI ProgressBar.swift
[20/72] Compiling ArgumentParser Flag.swift
[21/72] Compiling ArgumentParser NameSpecification.swift
[22/72] Compiling ArgumentParser Option.swift
[23/72] Compiling ArgumentParser OptionGroup.swift
[24/76] Emitting module ArgumentParser
[25/76] Compiling ArgumentParser BashCompletionsGenerator.swift
[26/76] Compiling ArgumentParser CompletionsGenerator.swift
[27/76] Compiling ArgumentParser FishCompletionsGenerator.swift
[28/76] Compiling ArgumentParser ZshCompletionsGenerator.swift
[29/76] Compiling ArgumentParser Argument.swift
[30/76] Compiling ArgumentParser ParserError.swift
[31/76] Compiling ArgumentParser SplitArguments.swift
[32/76] Compiling ArgumentParser DumpHelpGenerator.swift
[33/76] Compiling ArgumentParser HelpCommand.swift
[34/76] Compiling ArgumentParser ParsableArguments.swift
[35/76] Compiling ArgumentParser ParsableArgumentsValidation.swift
[36/76] Compiling ArgumentParser ParsableCommand.swift
[37/76] Compiling ArgumentParser ArgumentDecoder.swift
[38/76] Compiling ArgumentParser AsyncParsableCommand.swift
[39/76] Compiling ArgumentParser CommandConfiguration.swift
[40/76] Compiling ArgumentParser EnumerableFlag.swift
[41/76] Compiling ArgumentParser ExpressibleByArgument.swift
[42/76] Compiling ArgumentParser HelpGenerator.swift
[43/76] Compiling ArgumentParser MessageInfo.swift
[44/76] Compiling ArgumentParser UsageGenerator.swift
[45/76] Compiling ArgumentParser CollectionExtensions.swift
[46/76] Compiling ArgumentParser ArgumentHelp.swift
[47/76] Compiling ArgumentParser ArgumentVisibility.swift
[48/76] Compiling ArgumentParser CompletionKind.swift
[49/76] Compiling ArgumentParser Errors.swift
[50/76] Compiling ArgumentParser InputOrigin.swift
[51/76] Compiling ArgumentParser Name.swift
[52/76] Compiling ArgumentParser Parsed.swift
[53/76] Compiling ArgumentParser ParsedValues.swift
[54/76] Compiling ArgumentParser ArgumentDefinition.swift
[55/76] Compiling ArgumentParser ArgumentSet.swift
[56/76] Compiling ArgumentParser CommandParser.swift
[57/76] Compiling ArgumentParser InputKey.swift
[58/76] Compiling ArgumentParser Platform.swift
[59/76] Compiling ArgumentParser SequenceExtensions.swift
[60/76] Compiling ArgumentParser StringExtensions.swift
[61/76] Compiling ArgumentParser Tree.swift
[62/76] Compiling Upscaling MTLTexture+Extensions.swift
[63/77] Compiling Upscaling MTLFXSpatialScalerDescriptor+Extensions.swift
[64/77] Compiling Upscaling MTLFXSpatialScaler+Extensions.swift
[65/77] Compiling Upscaling CVPixelBuffer+Extensions.swift
[66/77] Compiling Upscaling URL+Extensions.swift
[69/77] Emitting module Upscaling
[72/77] Compiling Upscaling FrameChannel.swift
[73/77] Compiling Upscaling Upscaler.swift
[74/77] Compiling Upscaling UpscalingExportSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:430:23: warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#SendableClosureCaptures]
428 | )
429 | assetWriterInput.requestMediaDataWhenReady(on: queue) {
430 | while assetWriterInput.isReadyForMoreMediaData {
| `- warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#SendableClosureCaptures]
431 | if let nextSampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
432 | if nextSampleBuffer.presentationTimeStamp.isNumeric {
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:39:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
37 | NS_SWIFT_NONSENDABLE
38 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
39 | @interface AVAssetWriterInput : NSObject
| `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
40 | {
41 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:431:47: warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#SendableClosureCaptures]
429 | assetWriterInput.requestMediaDataWhenReady(on: queue) {
430 | while assetWriterInput.isReadyForMoreMediaData {
431 | if let nextSampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
| `- warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#SendableClosureCaptures]
432 | if nextSampleBuffer.presentationTimeStamp.isNumeric {
433 | let timestamp = Int64(nextSampleBuffer.presentationTimeStamp.seconds)
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h:43:12: note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
41 | NS_SWIFT_NONSENDABLE
42 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
43 | @interface AVAssetReaderOutput : NSObject
| `- note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
44 | {
45 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:478:38: warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#SendableClosureCaptures]
476 | qos: .userInitiated
477 | ).async {
478 | while let sampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
| `- warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#SendableClosureCaptures]
479 | guard let imageBuffer = sampleBuffer.imageBuffer else {
480 | channel.finish(throwing: Error.missingImageBuffer)
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h:43:12: note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
41 | NS_SWIFT_NONSENDABLE
42 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
43 | @interface AVAssetReaderOutput : NSObject
| `- note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
44 | {
45 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:480:21: warning: capture of 'channel' with non-Sendable type 'FrameChannel<CVPixelBuffer>' (aka 'FrameChannel<CVBuffer>') in a '@Sendable' closure [#SendableClosureCaptures]
478 | while let sampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
479 | guard let imageBuffer = sampleBuffer.imageBuffer else {
480 | channel.finish(throwing: Error.missingImageBuffer)
| `- warning: capture of 'channel' with non-Sendable type 'FrameChannel<CVPixelBuffer>' (aka 'FrameChannel<CVBuffer>') in a '@Sendable' closure [#SendableClosureCaptures]
481 | return
482 | }
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/FrameChannel.swift:11:13: note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
9 | /// at capacity) then `fulfill`s it from the GPU completion handler; the consumer
10 | /// `dequeue`s and `wait`s for each. Either side can stop the other.
11 | final class FrameChannel<Value> {
| `- note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
12 | // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:487:17: warning: capture of 'upscaler' with non-Sendable type 'Upscaler' in a '@Sendable' closure [#SendableClosureCaptures]
485 | )
486 | guard channel.enqueue(frame) else { return }
487 | upscaler.upscale(imageBuffer, pixelBufferPool: adaptor.pixelBufferPool) { upscaled in
| `- warning: capture of 'upscaler' with non-Sendable type 'Upscaler' in a '@Sendable' closure [#SendableClosureCaptures]
488 | frame.fulfill(upscaled)
489 | }
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/Upscaler.swift:11:20: note: class 'Upscaler' does not conform to the 'Sendable' protocol
9 | // MARK: - Upscaler
10 |
11 | public final class Upscaler {
| `- note: class 'Upscaler' does not conform to the 'Sendable' protocol
12 | // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:487:64: warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputPixelBufferAdaptor' in a '@Sendable' closure [#SendableClosureCaptures]
485 | )
486 | guard channel.enqueue(frame) else { return }
487 | upscaler.upscale(imageBuffer, pixelBufferPool: adaptor.pixelBufferPool) { upscaled in
| `- warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputPixelBufferAdaptor' in a '@Sendable' closure [#SendableClosureCaptures]
488 | frame.fulfill(upscaled)
489 | }
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:554:12: note: class 'AVAssetWriterInputPixelBufferAdaptor' does not conform to the 'Sendable' protocol
552 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
553 | #endif
554 | @interface AVAssetWriterInputPixelBufferAdaptor : NSObject
| `- note: class 'AVAssetWriterInputPixelBufferAdaptor' does not conform to the 'Sendable' protocol
555 | {
556 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:500:23: warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#SendableClosureCaptures]
498 | )
499 | assetWriterInput.requestMediaDataWhenReady(on: queue) {
500 | while assetWriterInput.isReadyForMoreMediaData {
| `- warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#SendableClosureCaptures]
501 | guard let frame = channel.dequeue() else {
502 | assetWriterInput.markAsFinished()
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:39:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
37 | NS_SWIFT_NONSENDABLE
38 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
39 | @interface AVAssetWriterInput : NSObject
| `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
40 | {
41 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:501:39: warning: capture of 'channel' with non-Sendable type 'FrameChannel<CVPixelBuffer>' (aka 'FrameChannel<CVBuffer>') in a '@Sendable' closure [#SendableClosureCaptures]
499 | assetWriterInput.requestMediaDataWhenReady(on: queue) {
500 | while assetWriterInput.isReadyForMoreMediaData {
501 | guard let frame = channel.dequeue() else {
| `- warning: capture of 'channel' with non-Sendable type 'FrameChannel<CVPixelBuffer>' (aka 'FrameChannel<CVBuffer>') in a '@Sendable' closure [#SendableClosureCaptures]
502 | assetWriterInput.markAsFinished()
503 | if let error = channel.terminationError {
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/FrameChannel.swift:11:13: note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
9 | /// at capacity) then `fulfill`s it from the GPU completion handler; the consumer
10 | /// `dequeue`s and `wait`s for each. Either side can stop the other.
11 | final class FrameChannel<Value> {
| `- note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
12 | // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:515:27: warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputPixelBufferAdaptor' in a '@Sendable' closure [#SendableClosureCaptures]
513 | DispatchQueue.main.async { progress.completedUnitCount = timestamp }
514 | }
515 | guard adaptor.append(
| `- warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputPixelBufferAdaptor' in a '@Sendable' closure [#SendableClosureCaptures]
516 | upscaledImageBuffer,
517 | withPresentationTime: frame.time
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:554:12: note: class 'AVAssetWriterInputPixelBufferAdaptor' does not conform to the 'Sendable' protocol
552 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
553 | #endif
554 | @interface AVAssetWriterInputPixelBufferAdaptor : NSObject
| `- note: class 'AVAssetWriterInputPixelBufferAdaptor' does not conform to the 'Sendable' protocol
555 | {
556 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:553:38: warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#SendableClosureCaptures]
551 | )
552 | readerQueue.async {
553 | while let sampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
| `- warning: capture of 'assetReaderOutput' with non-Sendable type 'AVAssetReaderOutput' in a '@Sendable' closure [#SendableClosureCaptures]
554 | guard let taggedBuffers = sampleBuffer.taggedBuffers else {
555 | channel.finish(throwing: Error.missingTaggedBuffers)
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetReaderOutput.h:43:12: note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
41 | NS_SWIFT_NONSENDABLE
42 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
43 | @interface AVAssetReaderOutput : NSObject
| `- note: class 'AVAssetReaderOutput' does not conform to the 'Sendable' protocol
44 | {
45 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:555:21: warning: capture of 'channel' with non-Sendable type 'FrameChannel<(CVPixelBuffer, CVPixelBuffer)>' (aka 'FrameChannel<(CVBuffer, CVBuffer)>') in a '@Sendable' closure [#SendableClosureCaptures]
553 | while let sampleBuffer = assetReaderOutput.copyNextSampleBuffer() {
554 | guard let taggedBuffers = sampleBuffer.taggedBuffers else {
555 | channel.finish(throwing: Error.missingTaggedBuffers)
| `- warning: capture of 'channel' with non-Sendable type 'FrameChannel<(CVPixelBuffer, CVPixelBuffer)>' (aka 'FrameChannel<(CVBuffer, CVBuffer)>') in a '@Sendable' closure [#SendableClosureCaptures]
556 | return
557 | }
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/FrameChannel.swift:11:13: note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
9 | /// at capacity) then `fulfill`s it from the GPU completion handler; the consumer
10 | /// `dequeue`s and `wait`s for each. Either side can stop the other.
11 | final class FrameChannel<Value> {
| `- note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
12 | // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:579:17: warning: capture of 'upscaler' with non-Sendable type 'Upscaler' in a '@Sendable' closure [#SendableClosureCaptures]
577 | var upscaledRight: CVPixelBuffer?
578 | group.enter()
579 | upscaler.upscale(leftEyePixelBuffer, pixelBufferPool: adaptor.pixelBufferPool) {
| `- warning: capture of 'upscaler' with non-Sendable type 'Upscaler' in a '@Sendable' closure [#SendableClosureCaptures]
580 | upscaledLeft = $0
581 | group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/Upscaler.swift:11:20: note: class 'Upscaler' does not conform to the 'Sendable' protocol
9 | // MARK: - Upscaler
10 |
11 | public final class Upscaler {
| `- note: class 'Upscaler' does not conform to the 'Sendable' protocol
12 | // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:579:71: warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' in a '@Sendable' closure [#SendableClosureCaptures]
577 | var upscaledRight: CVPixelBuffer?
578 | group.enter()
579 | upscaler.upscale(leftEyePixelBuffer, pixelBufferPool: adaptor.pixelBufferPool) {
| `- warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' in a '@Sendable' closure [#SendableClosureCaptures]
580 | upscaledLeft = $0
581 | group.leave()
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:648:12: note: class 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' does not conform to the 'Sendable' protocol
646 | API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos)
647 | #endif
648 | @interface AVAssetWriterInputTaggedPixelBufferGroupAdaptor : NSObject
| `- note: class 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' does not conform to the 'Sendable' protocol
649 | AV_INIT_UNAVAILABLE
650 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:601:23: warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#SendableClosureCaptures]
599 | )
600 | assetWriterInput.requestMediaDataWhenReady(on: queue) {
601 | while assetWriterInput.isReadyForMoreMediaData {
| `- warning: capture of 'assetWriterInput' with non-Sendable type 'AVAssetWriterInput' in a '@Sendable' closure [#SendableClosureCaptures]
602 | guard let frame = channel.dequeue() else {
603 | assetWriterInput.markAsFinished()
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:39:12: note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
37 | NS_SWIFT_NONSENDABLE
38 | API_AVAILABLE(macos(10.7), ios(4.1), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
39 | @interface AVAssetWriterInput : NSObject
| `- note: class 'AVAssetWriterInput' does not conform to the 'Sendable' protocol
40 | {
41 | @private
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:602:39: warning: capture of 'channel' with non-Sendable type 'FrameChannel<(CVPixelBuffer, CVPixelBuffer)>' (aka 'FrameChannel<(CVBuffer, CVBuffer)>') in a '@Sendable' closure [#SendableClosureCaptures]
600 | assetWriterInput.requestMediaDataWhenReady(on: queue) {
601 | while assetWriterInput.isReadyForMoreMediaData {
602 | guard let frame = channel.dequeue() else {
| `- warning: capture of 'channel' with non-Sendable type 'FrameChannel<(CVPixelBuffer, CVPixelBuffer)>' (aka 'FrameChannel<(CVBuffer, CVBuffer)>') in a '@Sendable' closure [#SendableClosureCaptures]
603 | assetWriterInput.markAsFinished()
604 | if let error = channel.terminationError {
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/FrameChannel.swift:11:13: note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
9 | /// at capacity) then `fulfill`s it from the GPU completion handler; the consumer
10 | /// `dequeue`s and `wait`s for each. Either side can stop the other.
11 | final class FrameChannel<Value> {
| `- note: generic class 'FrameChannel' does not conform to the 'Sendable' protocol
12 | // MARK: Lifecycle
13 |
/Users/admin/builder/spi-builder-workspace/Sources/Upscaling/UpscalingExportSession.swift:624:27: warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' in a '@Sendable' closure [#SendableClosureCaptures]
622 | pixelBuffer: upscaledRightEyePixelBuffer
623 | )
624 | guard adaptor.appendTaggedBuffers(
| `- warning: capture of 'adaptor' with non-Sendable type 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' in a '@Sendable' closure [#SendableClosureCaptures]
625 | [leftEyeTaggedBuffer, rightEyeTaggedBuffer],
626 | withPresentationTime: frame.time
/Applications/Xcode-26.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.4.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetWriterInput.h:648:12: note: class 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' does not conform to the 'Sendable' protocol
646 | API_AVAILABLE(macos(14.0), ios(17.0), visionos(1.0)) API_UNAVAILABLE(tvos, watchos)
647 | #endif
648 | @interface AVAssetWriterInputTaggedPixelBufferGroupAdaptor : NSObject
| `- note: class 'AVAssetWriterInputTaggedPixelBufferGroupAdaptor' does not conform to the 'Sendable' protocol
649 | AV_INIT_UNAVAILABLE
650 |
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[75/79] Compiling fx_upscale FXUpscale.swift
[76/79] Emitting module fx_upscale
[76/79] Write Objects.LinkFileList
[77/79] Linking fx-upscale
[78/79] Applying fx-upscale
Build complete! (14.46s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser.git"
},
{
"identity" : "swifttui",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Finnvoor/SwiftTUI.git"
}
],
"manifest_display_name" : "fx-upscale",
"name" : "fx-upscale",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "fx-upscale",
"targets" : [
"fx-upscale"
],
"type" : {
"executable" : null
}
},
{
"name" : "Upscaling",
"targets" : [
"Upscaling"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "fx_upscale",
"module_type" : "SwiftTarget",
"name" : "fx-upscale",
"path" : "Sources/fx-upscale",
"product_dependencies" : [
"ArgumentParser",
"SwiftTUI"
],
"product_memberships" : [
"fx-upscale"
],
"sources" : [
"FXUpscale.swift"
],
"target_dependencies" : [
"Upscaling"
],
"type" : "executable"
},
{
"c99name" : "UpscalingTests",
"module_type" : "SwiftTarget",
"name" : "UpscalingTests",
"path" : "Tests/UpscalingTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/UpscalingTests/Resources/ladybird.jpg",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/UpscalingTests/Resources/test.png",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"UpscalingTests.swift"
],
"target_dependencies" : [
"Upscaling"
],
"type" : "test"
},
{
"c99name" : "Upscaling",
"module_type" : "SwiftTarget",
"name" : "Upscaling",
"path" : "Sources/Upscaling",
"product_memberships" : [
"fx-upscale",
"Upscaling"
],
"sources" : [
"CoreImage/UpscalingFilter.swift",
"CoreImage/UpscalingImageProcessorKernel.swift",
"Extensions/AVVideoCodecType+Extensions.swift",
"Extensions/CMFormatDescription+Extensions.swift",
"Extensions/CVPixelBuffer+Extensions.swift",
"Extensions/MTLFXSpatialScaler+Extensions.swift",
"Extensions/MTLFXSpatialScalerDescriptor+Extensions.swift",
"Extensions/MTLTexture+Extensions.swift",
"Extensions/URL+Extensions.swift",
"FrameChannel.swift",
"Upscaler.swift",
"UpscalingExportSession.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.