Build Information
Successful build of Compute, reference 0.0.5 (815766
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 14:48:22 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
Build Log
========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/schwa/Compute.git
Reference: 0.0.5
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/schwa/Compute
* tag 0.0.5 -> FETCH_HEAD
HEAD is now at 815766d Fix broken tests.
Cloned https://github.com/schwa/Compute.git
Revision (git rev-parse @):
815766d68a04442e37c37ad4b0ab556767ae2178
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/schwa/Compute.git at 0.0.5
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/schwa/Compute.git
https://github.com/schwa/Compute.git
{
"dependencies" : [
{
"identity" : "metalcompilerplugin",
"requirement" : {
"branch" : [
"jwight/develop"
]
},
"type" : "sourceControl",
"url" : "https://github.com/schwa/MetalCompilerPlugin"
}
],
"manifest_display_name" : "Compute",
"name" : "Compute",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "15.0"
},
{
"name" : "ios",
"version" : "18.0"
}
],
"products" : [
{
"name" : "Compute",
"targets" : [
"Compute"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Examples",
"targets" : [
"Examples"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "MetalSupportLite",
"module_type" : "SwiftTarget",
"name" : "MetalSupportLite",
"path" : "Sources/MetalSupportLite",
"product_memberships" : [
"Examples"
],
"sources" : [
"BaseSupport.swift",
"MTLBuffer+Extensions.swift",
"MetalBasicExtensions.swift",
"MetalSupportLite.swift",
"TypedMTLBuffer.swift"
],
"type" : "library"
},
{
"c99name" : "Examples",
"module_type" : "SwiftTarget",
"name" : "Examples",
"path" : "Sources/Examples",
"product_dependencies" : [
"MetalCompilerPlugin"
],
"product_memberships" : [
"Examples"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Bundle.txt",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Resources/Media.xcassets",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Examples.swift",
"Examples/BareMetal.swift",
"Examples/BitonicSort/BitonicSort.swift",
"Examples/Broken/CountingSort/CountingSort.swift",
"Examples/Broken/RadixSort/RadixSort.swift",
"Examples/Broken/RadixSort/RadixSortCPU.swift",
"Examples/BufferFill.swift",
"Examples/Checkerboard.swift",
"Examples/GameOfLife/GameOfLife.swift",
"Examples/HelloWorldDemo.swift",
"Examples/Histogram.swift",
"Examples/ImageInvert.swift",
"Examples/MaxValue.swift",
"Examples/MemcopyDemo.swift",
"Examples/RandomFill.swift",
"Examples/SIMDReduce.swift",
"Examples/ThreadgroupLog.swift",
"Support.swift"
],
"target_dependencies" : [
"Compute",
"MetalSupportLite"
],
"type" : "executable"
},
{
"c99name" : "ComputeTests",
"module_type" : "SwiftTarget",
"name" : "ComputeTests",
"path" : "Tests/ComputeTests",
"sources" : [
"ComputeTests.swift"
],
"target_dependencies" : [
"Compute"
],
"type" : "test"
},
{
"c99name" : "Compute",
"module_type" : "SwiftTarget",
"name" : "Compute",
"path" : "Sources/Compute",
"product_memberships" : [
"Compute",
"Examples"
],
"sources" : [
"Compute+Arguments.swift",
"Compute+Pipeline.swift",
"Compute+Task.swift",
"Compute.swift",
"ShaderFunction.swift",
"Support.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats
[0/8] Write sources
[3/8] Write MetalCompilerTool-tool-entitlement.plist
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/10] Compiling ArgumentParserToolInfo ToolInfo.swift
[7/10] Emitting module ArgumentParserToolInfo
[8/49] Emitting module ArgumentParser
[9/53] Compiling ArgumentParser CommandConfiguration.swift
[10/53] Compiling ArgumentParser CommandGroup.swift
[11/53] Compiling ArgumentParser EnumerableFlag.swift
[12/53] Compiling ArgumentParser ExpressibleByArgument.swift
[13/53] Compiling ArgumentParser BashCompletionsGenerator.swift
[14/53] Compiling ArgumentParser CompletionsGenerator.swift
[15/53] Compiling ArgumentParser FishCompletionsGenerator.swift
[16/53] Compiling ArgumentParser ZshCompletionsGenerator.swift
[17/53] Compiling ArgumentParser Argument.swift
[18/53] Compiling ArgumentParser InputOrigin.swift
[19/53] Compiling ArgumentParser Name.swift
[20/53] Compiling ArgumentParser Parsed.swift
[21/53] Compiling ArgumentParser ParsedValues.swift
[22/53] Compiling ArgumentParser ArgumentHelp.swift
[23/53] Compiling ArgumentParser ArgumentVisibility.swift
[24/53] Compiling ArgumentParser CompletionKind.swift
[25/53] Compiling ArgumentParser Errors.swift
[26/53] Compiling ArgumentParser Flag.swift
[27/53] Compiling ArgumentParser ParsableArguments.swift
[28/53] Compiling ArgumentParser ParsableArgumentsValidation.swift
[29/53] Compiling ArgumentParser ParsableCommand.swift
[30/53] Compiling ArgumentParser ArgumentDecoder.swift
[31/53] Compiling ArgumentParser Platform.swift
[32/53] Compiling ArgumentParser SequenceExtensions.swift
[33/53] Compiling ArgumentParser StringExtensions.swift
[34/53] Compiling ArgumentParser Tree.swift
[35/53] Compiling ArgumentParser ArgumentDefinition.swift
[36/53] Compiling ArgumentParser ArgumentSet.swift
[37/53] Compiling ArgumentParser CommandParser.swift
[38/53] Compiling ArgumentParser InputKey.swift
[39/53] Compiling ArgumentParser NameSpecification.swift
[40/53] Compiling ArgumentParser Option.swift
[41/53] Compiling ArgumentParser OptionGroup.swift
[42/53] Compiling ArgumentParser AsyncParsableCommand.swift
[43/53] Compiling ArgumentParser ParserError.swift
[44/53] Compiling ArgumentParser SplitArguments.swift
[45/53] Compiling ArgumentParser DumpHelpGenerator.swift
[46/53] Compiling ArgumentParser HelpCommand.swift
[47/53] Compiling ArgumentParser HelpGenerator.swift
[48/53] Compiling ArgumentParser MessageInfo.swift
[49/53] Compiling ArgumentParser UsageGenerator.swift
[50/53] Compiling ArgumentParser CollectionExtensions.swift
[51/55] Emitting module MetalCompilerTool
[52/55] Compiling MetalCompilerTool MetalCompiler.swift
[52/55] Write Objects.LinkFileList
[53/55] Linking MetalCompilerTool-tool
[54/55] Applying MetalCompilerTool-tool
[1/1] Compiling plugin MetalCompilerPlugin
[2/2] Compiling plugin GenerateManual
Building for debugging...
[2/19] Write sources
[5/19] Write Examples-entitlement.plist
[7/19] Write sources
[8/19] Copying Bundle.txt
[9/19] Write sources
[10/19] Copying Media.xcassets
[11/19] Write swift-version-2F0A5646E1D333AE.txt
[12/32] Write Objects.LinkFileList
[13/32] Linking MetalCompilerTool-tool
[14/32] MetalCompilerTool
[15/32] Copying debug.metallib
[17/32] Emitting module MetalSupportLite
[18/32] Compiling MetalSupportLite MetalSupportLite.swift
[19/32] Compiling MetalSupportLite MetalBasicExtensions.swift
[20/32] Compiling MetalSupportLite BaseSupport.swift
[21/32] Compiling MetalSupportLite MTLBuffer+Extensions.swift
[22/32] Compiling MetalSupportLite TypedMTLBuffer.swift
[23/32] Compiling Compute Support.swift
[24/32] Compiling Compute ShaderFunction.swift
[25/32] Compiling Compute Compute.swift
[26/32] Compiling Compute Compute+Pipeline.swift
[27/32] Compiling Compute Compute+Task.swift
[28/32] Compiling Compute Compute+Arguments.swift
[29/32] Emitting module Compute
[30/51] Compiling Examples MaxValue.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:41:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
39 | maxValue.arguments.output = .buffer(output)
40 | try timeit(#function) {
41 | try compute.run(pipeline: maxValue, width: 1)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
42 | }
43 | let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:74:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
72 | maxValue.arguments.output = .buffer(output)
73 | try timeit(#function) {
74 | try compute.run(pipeline: maxValue, width: values.count)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
75 | }
76 | let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:66:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
64 | // Run and time the empty kernel (baseline)
65 | try timeit(length: length) {
66 | try compute.run(pipeline: empty, width: count)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
67 | }
68 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:72:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
70 | // Run and time the fill kernel
71 | try timeit(length: length) {
72 | try compute.run(pipeline: fill, width: count)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
73 | }
74 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:78:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
76 | // Run and time the GPU memcpy kernel
77 | try timeit(length: length) {
78 | try compute.run(pipeline: memcopy, width: count)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
79 | }
80 |
[31/51] Compiling Examples MemcopyDemo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:41:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
39 | maxValue.arguments.output = .buffer(output)
40 | try timeit(#function) {
41 | try compute.run(pipeline: maxValue, width: 1)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
42 | }
43 | let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MaxValue.swift:74:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
72 | maxValue.arguments.output = .buffer(output)
73 | try timeit(#function) {
74 | try compute.run(pipeline: maxValue, width: values.count)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
75 | }
76 | let result = output.contents().assumingMemoryBound(to: Int32.self)[0]
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:66:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
64 | // Run and time the empty kernel (baseline)
65 | try timeit(length: length) {
66 | try compute.run(pipeline: empty, width: count)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
67 | }
68 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:72:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
70 | // Run and time the fill kernel
71 | try timeit(length: length) {
72 | try compute.run(pipeline: fill, width: count)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
73 | }
74 |
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/MemcopyDemo.swift:78:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
76 | // Run and time the GPU memcpy kernel
77 | try timeit(length: length) {
78 | try compute.run(pipeline: memcopy, width: count)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
79 | }
80 |
[32/51] Compiling Examples RandomFill.swift
[33/51] Compiling Examples SIMDReduce.swift
[34/51] Compiling Examples Histogram.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/ImageInvert.swift:47:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
45 | invertImage.arguments.inputTexture = .texture(inputTexture)
46 | invertImage.arguments.outputTexture = .texture(outputTexture)
47 | try compute.run(pipeline: invertImage, width: inputTexture.width, height: inputTexture.height)
| `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
48 |
49 | try outputTexture.export(to: URL(filePath: "/tmp/inverted.png"))
[35/51] Compiling Examples ImageInvert.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/ImageInvert.swift:47:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
45 | invertImage.arguments.inputTexture = .texture(inputTexture)
46 | invertImage.arguments.outputTexture = .texture(outputTexture)
47 | try compute.run(pipeline: invertImage, width: inputTexture.width, height: inputTexture.height)
| `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
48 |
49 | try outputTexture.export(to: URL(filePath: "/tmp/inverted.png"))
[36/52] Compiling Examples resource_bundle_accessor.swift
[37/52] Compiling Examples GameOfLife.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/HelloWorldDemo.swift:24:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
22 | let library = ShaderLibrary.source(source, enableLogging: true)
23 | let helloWorld = try compute.makePipeline(function: library.hello_world)
24 | try compute.run(pipeline: helloWorld, width: 1)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
25 | }
26 | }
[38/52] Compiling Examples HelloWorldDemo.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/HelloWorldDemo.swift:24:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
22 | let library = ShaderLibrary.source(source, enableLogging: true)
23 | let helloWorld = try compute.makePipeline(function: library.hello_world)
24 | try compute.run(pipeline: helloWorld, width: 1)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
25 | }
26 | }
[39/52] Compiling Examples BufferFill.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BufferFill.swift:36:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
34 | var values = Array<UInt32>(repeating: 0, count: count)
35 | while n > 0 {
36 | try compute.run(pipeline: bufferFill, width: n)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 | values[0..<n] = Array(repeating: UInt32(n), count: n)[0..<n]
38 | n >>= 1
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/Checkerboard.swift:65:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
63 | checkerboard.arguments.color2 = try .color(.mint)
64 | checkerboard.arguments.cellSize = .vector(SIMD2<UInt32>(64, 64))
65 | try compute.run(pipeline: checkerboard, width: outputTexture.width, height: outputTexture.height)
| `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
66 |
67 | let url = URL(filePath: "/tmp/checkerboard.png")
[40/52] Compiling Examples Checkerboard.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BufferFill.swift:36:25: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
34 | var values = Array<UInt32>(repeating: 0, count: count)
35 | while n > 0 {
36 | try compute.run(pipeline: bufferFill, width: n)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
37 | values[0..<n] = Array(repeating: UInt32(n), count: n)[0..<n]
38 | n >>= 1
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/Checkerboard.swift:65:21: warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
63 | checkerboard.arguments.color2 = try .color(.mint)
64 | checkerboard.arguments.cellSize = .vector(SIMD2<UInt32>(64, 64))
65 | try compute.run(pipeline: checkerboard, width: outputTexture.width, height: outputTexture.height)
| `- warning: 'run(pipeline:arguments:width:height:)' is deprecated: Deprecated
66 |
67 | let url = URL(filePath: "/tmp/checkerboard.png")
[41/52] Compiling Examples BitonicSort.swift
[42/52] Compiling Examples CountingSort.swift
[43/52] Compiling Examples Examples.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BareMetal.swift:93:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
91 |
92 | // Execute compute pipeline
93 | try compute.run(pipeline: fill, width: buffer.length)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
94 | }
95 | }
[44/52] Compiling Examples BareMetal.swift
/Users/admin/builder/spi-builder-workspace/Sources/Examples/Examples/BareMetal.swift:93:21: warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
91 |
92 | // Execute compute pipeline
93 | try compute.run(pipeline: fill, width: buffer.length)
| `- warning: 'run(pipeline:arguments:width:)' is deprecated: Deprecated
94 | }
95 | }
[45/52] Compiling Examples ThreadgroupLog.swift
[46/52] Compiling Examples Support.swift
[47/52] Compiling Examples RadixSort.swift
[48/52] Compiling Examples RadixSortCPU.swift
[49/52] Emitting module Examples
[49/52] Write Objects.LinkFileList
[50/52] Linking Examples
[51/52] Applying Examples
Build complete! (23.93s)
Fetching https://github.com/schwa/MetalCompilerPlugin
[1/185] Fetching metalcompilerplugin
Fetched https://github.com/schwa/MetalCompilerPlugin from cache (0.81s)
Fetching https://github.com/apple/swift-argument-parser from cache
Fetched https://github.com/apple/swift-argument-parser from cache (0.74s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.0 (1.25s)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.0
Creating working copy for https://github.com/schwa/MetalCompilerPlugin
Working copy of https://github.com/schwa/MetalCompilerPlugin resolved at jwight/develop (72b94d2)
Build complete.
{
"dependencies" : [
{
"identity" : "metalcompilerplugin",
"requirement" : {
"branch" : [
"jwight/develop"
]
},
"type" : "sourceControl",
"url" : "https://github.com/schwa/MetalCompilerPlugin"
}
],
"manifest_display_name" : "Compute",
"name" : "Compute",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "15.0"
},
{
"name" : "ios",
"version" : "18.0"
}
],
"products" : [
{
"name" : "Compute",
"targets" : [
"Compute"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Examples",
"targets" : [
"Examples"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "MetalSupportLite",
"module_type" : "SwiftTarget",
"name" : "MetalSupportLite",
"path" : "Sources/MetalSupportLite",
"product_memberships" : [
"Examples"
],
"sources" : [
"BaseSupport.swift",
"MTLBuffer+Extensions.swift",
"MetalBasicExtensions.swift",
"MetalSupportLite.swift",
"TypedMTLBuffer.swift"
],
"type" : "library"
},
{
"c99name" : "Examples",
"module_type" : "SwiftTarget",
"name" : "Examples",
"path" : "Sources/Examples",
"product_dependencies" : [
"MetalCompilerPlugin"
],
"product_memberships" : [
"Examples"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Bundle.txt",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Examples/Resources/Media.xcassets",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Examples.swift",
"Examples/BareMetal.swift",
"Examples/BitonicSort/BitonicSort.swift",
"Examples/Broken/CountingSort/CountingSort.swift",
"Examples/Broken/RadixSort/RadixSort.swift",
"Examples/Broken/RadixSort/RadixSortCPU.swift",
"Examples/BufferFill.swift",
"Examples/Checkerboard.swift",
"Examples/GameOfLife/GameOfLife.swift",
"Examples/HelloWorldDemo.swift",
"Examples/Histogram.swift",
"Examples/ImageInvert.swift",
"Examples/MaxValue.swift",
"Examples/MemcopyDemo.swift",
"Examples/RandomFill.swift",
"Examples/SIMDReduce.swift",
"Examples/ThreadgroupLog.swift",
"Support.swift"
],
"target_dependencies" : [
"Compute",
"MetalSupportLite"
],
"type" : "executable"
},
{
"c99name" : "ComputeTests",
"module_type" : "SwiftTarget",
"name" : "ComputeTests",
"path" : "Tests/ComputeTests",
"sources" : [
"ComputeTests.swift"
],
"target_dependencies" : [
"Compute"
],
"type" : "test"
},
{
"c99name" : "Compute",
"module_type" : "SwiftTarget",
"name" : "Compute",
"path" : "Sources/Compute",
"product_memberships" : [
"Compute",
"Examples"
],
"sources" : [
"Compute+Arguments.swift",
"Compute+Pipeline.swift",
"Compute+Task.swift",
"Compute.swift",
"ShaderFunction.swift",
"Support.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Done.