The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of metal-tools, reference 1.3.5 (e24169), with Swift 6.0 for macOS (SPM) on 7 Feb 2025 17:55:20 UTC.

Swift 6 data race errors: 6

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/computer-graphics-tools/metal-tools.git
Reference: 1.3.5
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/computer-graphics-tools/metal-tools
 * tag               1.3.5      -> FETCH_HEAD
HEAD is now at e241697 remove simd tools dependency
Cloned https://github.com/computer-graphics-tools/metal-tools.git
Revision (git rev-parse @):
e2416976e87b1e73f3ac601305b45cd8c6ff3977
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/computer-graphics-tools/metal-tools.git at 1.3.5
========================================
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",
  "dependencies": [
    {
      "identity": "metal-tools",
      "name": "metal-tools",
      "url": "https://github.com/computer-graphics-tools/metal-tools.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/metal-tools",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/computer-graphics-tools/metal-tools.git
[1/1110] Fetching metal-tools
Fetched https://github.com/computer-graphics-tools/metal-tools.git from cache (1.22s)
Creating working copy for https://github.com/computer-graphics-tools/metal-tools.git
Working copy of https://github.com/computer-graphics-tools/metal-tools.git resolved at 1.3.5 (e241697)
warning: '.resolve-product-dependencies': dependency 'metal-tools' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/computer-graphics-tools/metal-tools.git
https://github.com/computer-graphics-tools/metal-tools.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "metal-tools",
  "name" : "metal-tools",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "maccatalyst",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "MetalTools",
      "targets" : [
        "MetalTools"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MetalComputeTools",
      "targets" : [
        "MetalComputeTools"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MetalRenderingTools",
      "targets" : [
        "MetalRenderingTools"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MetalTools",
      "module_type" : "SwiftTarget",
      "name" : "MetalTools",
      "path" : "Sources/MetalTools",
      "product_memberships" : [
        "MetalTools",
        "MetalComputeTools",
        "MetalRenderingTools"
      ],
      "sources" : [
        "CodableContainer/MTLTextureCodableContainer.swift",
        "CodableContainer/MTLTextureDescriptorCodableContainer.swift",
        "Extensions/CoreVideo/CVPixelBuffer+MTLTexture.swift",
        "Extensions/CoreVideo/CVPixelFormat+Extensions.swift",
        "Extensions/Foundation/Decoder+MTLDevice.swift",
        "Extensions/Metal/MTLBlitCommandEncoder/MTLBlitCommandEncoder+Copy.swift",
        "Extensions/Metal/MTLBuffer/MTLBuffer+Contents.swift",
        "Extensions/Metal/MTLCPUCacheMode/MTLCPUCacheMode+Codable.swift",
        "Extensions/Metal/MTLClearColor/MTLClearColor+Clear.swift",
        "Extensions/Metal/MTLCommandBuffer/MTLCommandBuffer+Dispatching.swift",
        "Extensions/Metal/MTLCommandBuffer/MTLCommandBuffer+ExecutionTime.swift",
        "Extensions/Metal/MTLCommandQueue/MTLCommandQueue+Schedule.swift",
        "Extensions/Metal/MTLCompileOptions/MTLCompileOptions+Extensions.swift",
        "Extensions/Metal/MTLComputeCommandEncoder/MTLComputeCommandEncoder+Arguments.swift",
        "Extensions/Metal/MTLComputeCommandEncoder/MTLComputeCommandEncoder+Dispatch.swift",
        "Extensions/Metal/MTLComputePipelineState/MTLComputePipelineState+Threads.swift",
        "Extensions/Metal/MTLDevice/MTLDevice+Convenience.swift",
        "Extensions/Metal/MTLDevice/MTLDevice+Features.swift",
        "Extensions/Metal/MTLDevice/MTLDevice+IsDiscrete.swift",
        "Extensions/Metal/MTLDevice/MTLDevice+MTLTexture.swift",
        "Extensions/Metal/MTLFunctionConstantValues/MTLFunctionConstantValues+SetValue.swift",
        "Extensions/Metal/MTLHeap/MTLHeap+Convenience.swift",
        "Extensions/Metal/MTLLibrary/MTLLibrary+PipelineState.swift",
        "Extensions/Metal/MTLOrigin/MTLOrigin+Clamp.swift",
        "Extensions/Metal/MTLOrigin/MTLOrigin+Codable.swift",
        "Extensions/Metal/MTLOrigin/MTLOrigin+Convenience.swift",
        "Extensions/Metal/MTLOrigin/MTLOrigin+Equitable.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+CGBitmapInfo.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+CVPixelFormat.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+Codable.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+ColorSpace.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+Extensions.swift",
        "Extensions/Metal/MTLRegion/MTLRegion+Area.swift",
        "Extensions/Metal/MTLRegion/MTLRegion+Clamp.swift",
        "Extensions/Metal/MTLRegion/MTLRegion+Codable.swift",
        "Extensions/Metal/MTLRegion/MTLRegion+Equitable.swift",
        "Extensions/Metal/MTLRenderCommandEncoder/MTLRenderCommandEncoder+SetValue.swift",
        "Extensions/Metal/MTLRenderPassAttachmentDescriptor/MTLRenderPassAttachmentDescriptor+Extensions.swift",
        "Extensions/Metal/MTLRenderPipelineColorAttachmentDescriptor/MTLRenderPipelineColorAttachmentDescriptor+BlendingMode.swift",
        "Extensions/Metal/MTLResource/MTLResource+AccessibleOnCPU.swift",
        "Extensions/Metal/MTLResourceOptions/MTLResourceOptions+Extensions.swift",
        "Extensions/Metal/MTLSize/MTLSize+Clamp.swift",
        "Extensions/Metal/MTLSize/MTLSize+Codable.swift",
        "Extensions/Metal/MTLSize/MTLSize+Convenience.swift",
        "Extensions/Metal/MTLSize/MTLSwize+Equitable.swift",
        "Extensions/Metal/MTLSizeAndAlign/MTLSizeAndAlign+Extensions.swift",
        "Extensions/Metal/MTLStorageMode/MTLStorageMode+Extensions.swift",
        "Extensions/Metal/MTLTexture/MTLTexture+Array.swift",
        "Extensions/Metal/MTLTexture/MTLTexture+Codable.swift",
        "Extensions/Metal/MTLTexture/MTLTexture+Extensions.swift",
        "Extensions/Metal/MTLTexture/MTLTexture+Image.swift",
        "Extensions/Metal/MTLTextureDescriptor/MTLTextureDescriptor+Copy.swift",
        "Extensions/Metal/MTLTextureDescriptor/MTLTextureDescriptor+Encodable.swift",
        "Extensions/Metal/MTLTextureType/MTLTextureType+Codable.swift",
        "Extensions/Metal/MTLTextureUsage/MTLTextureUsage+Codable.swift",
        "Extensions/Metal/MTLVertexAttributeDescriptor/MTLVertexAttributeDescriptor+Extensions.swift",
        "Extensions/Metal/MTLVertexBufferLayoutDescriptor/MTLVertexAttributeDescriptorArray+Extensions.swift",
        "Extensions/MetalPerformanceShaders/MPSNNGraph/MPSNNGraph+Functors.swift",
        "Extensions/MetalPerformanceShaders/MPSUnaryImageKernel/MPSUnaryImageKernel+Functors.swift",
        "Extensions/MetalTools/MTLContext+Capture.swift",
        "Extensions/MetalTools/MTLContext+CommandQueue.swift",
        "Extensions/MetalTools/MTLContext+Device.swift",
        "MTLContext.swift",
        "Metal.swift",
        "MetalError.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalRenderingToolsSharedTypes",
      "module_type" : "ClangTarget",
      "name" : "MetalRenderingToolsSharedTypes",
      "path" : "Sources/MetalRenderingToolsSharedTypes",
      "product_memberships" : [
        "MetalRenderingTools"
      ],
      "sources" : [
        "MetalRenderingToolsSharedTypes.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalRenderingTools",
      "module_type" : "SwiftTarget",
      "name" : "MetalRenderingTools",
      "path" : "Sources/MetalRenderingTools",
      "product_memberships" : [
        "MetalRenderingTools"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/Common/Common.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/LinesRenderer/LinesRenderer.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/MaskRenderer/MaskRenderer.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/PointsRenderer/PointsRenderer.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/RectangleRender/RectangleRender.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/SimpleGeometryRender/SimpleGeometryRender.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/TextRender/TextRender.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Resources/HelveticaNeue.mtlfontatlas",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Core/GlyphDescriptor.swift",
        "Core/MTLFontAtlasProvider.swift",
        "Core/MTLIndexBuffer.swift",
        "Core/TextMesh.swift",
        "Extensions/Metal/MTLRenderCommandEncoder+Draw.swift",
        "Extensions/UIKit/UIFont+Rect.swift",
        "MTLFontAtlas/MTLFontAtlas.swift",
        "MTLFontAtlas/MTLFontAtlasCodableContainer.swift",
        "MTLFontAtlas/MTLFontAtlasDescriptor.swift",
        "MetalTools.swift",
        "Renderers/BoundingBoxesRenderer/BoundingBoxesRenderer.swift.swift",
        "Renderers/LabelRender/LabelRender.swift",
        "Renderers/LinesRenderer/LinesRenderer.swift",
        "Renderers/MaskRenderer/MaskRenderer.swift",
        "Renderers/PointsRenderer/PointsRenderer.swift",
        "Renderers/RectangleRender/RectangleRender.swift",
        "Renderers/SimpleGeometryRender/SimpleGeometryRender.swift",
        "Renderers/TextRender/TextRender.swift"
      ],
      "target_dependencies" : [
        "MetalRenderingToolsSharedTypes",
        "MetalComputeTools"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalComputeToolsTestsResources",
      "module_type" : "SwiftTarget",
      "name" : "MetalComputeToolsTestsResources",
      "path" : "Tests/MetalComputeToolsTestsResources",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/MetalComputeToolsTestsResources/Shared",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Extensions/Foundation/Bundle+TestsResources.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalComputeToolsTests",
      "module_type" : "SwiftTarget",
      "name" : "MetalComputeToolsTests",
      "path" : "Tests/MetalComputeToolsTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/MetalComputeToolsTests/Shaders/Shaders.metal",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "BitonicSortTests.swift",
        "Encoders/SwitchDataFormatEncoder.swift",
        "EuclideanDistanceTests.swift",
        "Extensions/CoreGraphics/CGImage+Extensions.swift",
        "Extensions/Metal/MTLPixelFormat+Extensions.swift",
        "IntegralImageTests.swift",
        "TextureCachingTests.swift"
      ],
      "target_dependencies" : [
        "MetalComputeTools",
        "MetalComputeToolsTestsResources"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MetalComputeToolsSharedTypes",
      "module_type" : "ClangTarget",
      "name" : "MetalComputeToolsSharedTypes",
      "path" : "Sources/MetalComputeToolsSharedTypes",
      "product_memberships" : [
        "MetalComputeTools",
        "MetalRenderingTools"
      ],
      "sources" : [
        "MetalComputeToolsSharedTypes.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalComputeTools",
      "module_type" : "SwiftTarget",
      "name" : "MetalComputeTools",
      "path" : "Sources/MetalComputeTools",
      "product_memberships" : [
        "MetalComputeTools",
        "MetalRenderingTools"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/BitonicSort/BitonicSort.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/EuclideanDistance/EuclideanDistance.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/IntegralImage/IntegralImage.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/LookUpTable/LookUpTable.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/MaskGuidedBlur/MaskGuidedBlur.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/QuantizeDistanceField/QuantizeDistanceField.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/RGBAToYCbCr/RGBAToYCbCr.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/StdMeanNormalization/StdMeanNormalization.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureAddConstant/TextureAddConstant.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureAffineCrop/TextureAffineCrop.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureCopy/TextureCopy.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureDifferenceHighlight/TextureDifferenceHighlight.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureDivideByConstant/TextureDivideByConstant.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureInterpolation/TextureInterpolation.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMask/TextureMask.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMaskedMix/TextureMaskedMix.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMax/TextureMax.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMean/TextureMean.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMin/TextureMin.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMultiplyAdd/TextureMultiplyAdd.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureResize/TextureResize.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureWeightedMix/TextureWeightedMix.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/YCbCrToRGBA/YCbCrToRGBA.metal",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Extensions/SIMD/float3x3+Extensions.swift",
        "Kernels/BitonicSort/BitonicSort.swift",
        "Kernels/BitonicSort/BitonicSortFinalPass.swift",
        "Kernels/BitonicSort/BitonicSortFirstPass.swift",
        "Kernels/BitonicSort/BitonicSortGeneralPass.swift",
        "Kernels/EuclideanDistance/EuclideanDistance.swift",
        "Kernels/IntegralImage/IntegralImage.swift",
        "Kernels/LookUpTable/LookUpTable.swift",
        "Kernels/MPSUnaryImageKernels/MPSUnaryImageKernels.swift",
        "Kernels/MaskGuidedBlur/MaskGuidedBlur.swift",
        "Kernels/QuantizeDistanceField/QuantizeDistanceField.swift",
        "Kernels/RGBAToYCbCr/RGBAToYCbCr.swift",
        "Kernels/StdMeanNormalization/StdMeanNormalization.swift",
        "Kernels/TextureAddConstant/TextureAddConstant.swift",
        "Kernels/TextureAffineCrop/TextureAffineCrop.swift",
        "Kernels/TextureCopy/TextureCopy.swift",
        "Kernels/TextureDifferenceHighlight/TextureDifferenceHighlight.swift",
        "Kernels/TextureDivideByConstant/TextureDivideByConstant.swift",
        "Kernels/TextureInterpolation/TextureInterpolation.swift",
        "Kernels/TextureMask/TextureMask.swift",
        "Kernels/TextureMaskedMix/TextureMaskedMix.swift",
        "Kernels/TextureMax/TextureMax.swift",
        "Kernels/TextureMean/TextureMean.swift",
        "Kernels/TextureMin/TextureMin.swift",
        "Kernels/TextureMix/TextureMix.swift",
        "Kernels/TextureMultiplyAdd/TextureMultiplyAdd.swift",
        "Kernels/TextureNormalization/TextureNormalization.swift",
        "Kernels/TextureResize/TextureResize.swift",
        "Kernels/TextureWeightedMix/TextureWeightedMix.swift",
        "Kernels/YCbCrToRGBA/YCbCrToRGBA.swift",
        "MetalTools.swift"
      ],
      "target_dependencies" : [
        "MetalComputeToolsSharedTypes",
        "MetalTools"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/40] Copying RectangleRender.metal
[0/40] Copying TextRender.metal
[0/40] Copying HelveticaNeue.mtlfontatlas
[0/40] Copying SimpleGeometryRender.metal
[0/40] Copying PointsRenderer.metal
[0/40] Copying YCbCrToRGBA.metal
[0/40] Copying MaskRenderer.metal
[0/40] Copying LinesRenderer.metal
[0/40] Copying Common.metal
[0/40] Copying TextureMin.metal
[0/40] Copying TextureMix.metal
[0/40] Copying TextureResize.metal
[12/40] Copying Shared
[13/40] Copying TextureWeightedMix.metal
[13/40] Copying TextureMultiplyAdd.metal
[15/40] Copying TextureMaskedMix.metal
[15/40] Copying TextureMax.metal
[15/40] Copying TextureMean.metal
[15/40] Copying TextureMask.metal
[15/40] Copying TextureDifferenceHighlight.metal
[15/40] Copying TextureAddConstant.metal
[15/40] Copying TextureCopy.metal
[15/40] Copying MaskGuidedBlur.metal
[16/40] Copying TextureInterpolation.metal
[16/40] Copying LookUpTable.metal
[18/40] Copying TextureAffineCrop.metal
[26/40] Copying TextureDivideByConstant.metal
[27/40] Copying StdMeanNormalization.metal
[27/40] Copying IntegralImage.metal
[29/40] Copying RGBAToYCbCr.metal
[29/40] Copying QuantizeDistanceField.metal
[31/40] Write sources
[35/40] Copying BitonicSort.metal
[36/40] Copying EuclideanDistance.metal
[37/40] Write swift-version-5BDAB9E9C0126B9D.txt
[38/40] Compiling MetalRenderingToolsSharedTypes MetalRenderingToolsSharedTypes.c
[39/40] Compiling MetalComputeToolsSharedTypes MetalComputeToolsSharedTypes.c
[41/103] Compiling MetalTools MTLSize+Clamp.swift
[42/103] Compiling MetalTools MTLSize+Codable.swift
[43/103] Compiling MetalTools MTLSize+Convenience.swift
[44/103] Compiling MetalTools MTLSwize+Equitable.swift
[45/103] Compiling MetalTools MTLSizeAndAlign+Extensions.swift
[46/103] Compiling MetalTools MTLStorageMode+Extensions.swift
[47/109] Emitting module MetalTools
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:10:23: warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:1:50: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 1 | @_documentation(visibility: internal) @_exported import Metal
   |                                                  `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 2 | @_documentation(visibility: internal) @_exported import MetalKit
 3 | @_documentation(visibility: internal) @_exported import MetalPerformanceShaders
   :
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:16:23: warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     ///
15 |     /// On macOS and Mac Catalyst, this property provides the first low-power Metal device found. If no low-power device is available, this value will be `nil`.
16 |     public static let lowPowerDevice: MTLDevice? = MTLCopyAllDevices().first { $0.isLowPower }
   |                       |- warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lowPowerDevice' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     #endif // os(macOS) || targetEnvironment(macCatalyst)
18 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
[48/109] Emitting module MetalComputeToolsTestsResources
[49/109] Compiling MetalComputeToolsTestsResources Bundle+TestsResources.swift
[50/109] Compiling MetalComputeToolsTestsResources resource_bundle_accessor.swift
[51/109] Compiling MetalTools MTLRegion+Equitable.swift
[52/109] Compiling MetalTools MTLRenderCommandEncoder+SetValue.swift
[53/109] Compiling MetalTools MTLRenderPassAttachmentDescriptor+Extensions.swift
[54/109] Compiling MetalTools MTLRenderPipelineColorAttachmentDescriptor+BlendingMode.swift
[55/109] Compiling MetalTools MTLResource+AccessibleOnCPU.swift
[56/109] Compiling MetalTools MTLResourceOptions+Extensions.swift
[57/109] Compiling MetalTools MTLCPUCacheMode+Codable.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Extensions/Metal/MTLCommandQueue/MTLCommandQueue+Schedule.swift:66:34: warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
64 |                     continuation.resume(throwing: error)
65 |                 } else {
66 |                     continuation.resume(returning: retVal)
   |                                  |- warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'retVal' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
67 |                 }
68 |             }
[58/109] Compiling MetalTools MTLClearColor+Clear.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Extensions/Metal/MTLCommandQueue/MTLCommandQueue+Schedule.swift:66:34: warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
64 |                     continuation.resume(throwing: error)
65 |                 } else {
66 |                     continuation.resume(returning: retVal)
   |                                  |- warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'retVal' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
67 |                 }
68 |             }
[59/109] Compiling MetalTools MTLCommandBuffer+Dispatching.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Extensions/Metal/MTLCommandQueue/MTLCommandQueue+Schedule.swift:66:34: warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
64 |                     continuation.resume(throwing: error)
65 |                 } else {
66 |                     continuation.resume(returning: retVal)
   |                                  |- warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'retVal' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
67 |                 }
68 |             }
[60/109] Compiling MetalTools MTLCommandBuffer+ExecutionTime.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Extensions/Metal/MTLCommandQueue/MTLCommandQueue+Schedule.swift:66:34: warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
64 |                     continuation.resume(throwing: error)
65 |                 } else {
66 |                     continuation.resume(returning: retVal)
   |                                  |- warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'retVal' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
67 |                 }
68 |             }
[61/109] Compiling MetalTools MTLCommandQueue+Schedule.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Extensions/Metal/MTLCommandQueue/MTLCommandQueue+Schedule.swift:66:34: warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
64 |                     continuation.resume(throwing: error)
65 |                 } else {
66 |                     continuation.resume(returning: retVal)
   |                                  |- warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'retVal' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
67 |                 }
68 |             }
[62/109] Compiling MetalTools MTLCompileOptions+Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Extensions/Metal/MTLCommandQueue/MTLCommandQueue+Schedule.swift:66:34: warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
64 |                     continuation.resume(throwing: error)
65 |                 } else {
66 |                     continuation.resume(returning: retVal)
   |                                  |- warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'retVal' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
67 |                 }
68 |             }
[63/109] Compiling MetalTools MTLComputeCommandEncoder+Arguments.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Extensions/Metal/MTLCommandQueue/MTLCommandQueue+Schedule.swift:66:34: warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
64 |                     continuation.resume(throwing: error)
65 |                 } else {
66 |                     continuation.resume(returning: retVal)
   |                                  |- warning: sending 'retVal' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'retVal' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
67 |                 }
68 |             }
[64/109] Compiling MetalTools MTLHeap+Convenience.swift
[65/109] Compiling MetalTools MTLLibrary+PipelineState.swift
[66/109] Compiling MetalTools MTLOrigin+Clamp.swift
[67/109] Compiling MetalTools MTLOrigin+Codable.swift
[68/109] Compiling MetalTools MTLOrigin+Convenience.swift
[69/109] Compiling MetalTools MTLOrigin+Equitable.swift
[70/109] Compiling MetalTools MTLPixelFormat+CGBitmapInfo.swift
[71/109] Compiling MetalTools MTLComputeCommandEncoder+Dispatch.swift
[72/109] Compiling MetalTools MTLComputePipelineState+Threads.swift
[73/109] Compiling MetalTools MTLDevice+Convenience.swift
[74/109] Compiling MetalTools MTLDevice+Features.swift
[75/109] Compiling MetalTools MTLDevice+IsDiscrete.swift
[76/109] Compiling MetalTools MTLDevice+MTLTexture.swift
[77/109] Compiling MetalTools MTLFunctionConstantValues+SetValue.swift
[78/109] Compiling MetalTools MTLTextureType+Codable.swift
[79/109] Compiling MetalTools MTLTextureUsage+Codable.swift
[80/109] Compiling MetalTools MTLVertexAttributeDescriptor+Extensions.swift
[81/109] Compiling MetalTools MTLVertexAttributeDescriptorArray+Extensions.swift
[82/109] Compiling MetalTools MPSNNGraph+Functors.swift
[83/109] Compiling MetalTools MPSUnaryImageKernel+Functors.swift
[84/109] Compiling MetalTools MTLTextureCodableContainer.swift
[85/109] Compiling MetalTools MTLTextureDescriptorCodableContainer.swift
[86/109] Compiling MetalTools CVPixelBuffer+MTLTexture.swift
[87/109] Compiling MetalTools CVPixelFormat+Extensions.swift
[88/109] Compiling MetalTools Decoder+MTLDevice.swift
[89/109] Compiling MetalTools MTLBlitCommandEncoder+Copy.swift
[90/109] Compiling MetalTools MTLBuffer+Contents.swift
[91/109] Compiling MetalTools MTLContext+Capture.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:10:23: warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:1:50: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 1 | @_documentation(visibility: internal) @_exported import Metal
   |                                                  `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 2 | @_documentation(visibility: internal) @_exported import MetalKit
 3 | @_documentation(visibility: internal) @_exported import MetalPerformanceShaders
   :
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:16:23: warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     ///
15 |     /// On macOS and Mac Catalyst, this property provides the first low-power Metal device found. If no low-power device is available, this value will be `nil`.
16 |     public static let lowPowerDevice: MTLDevice? = MTLCopyAllDevices().first { $0.isLowPower }
   |                       |- warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lowPowerDevice' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     #endif // os(macOS) || targetEnvironment(macCatalyst)
18 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
[92/109] Compiling MetalTools MTLContext+CommandQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:10:23: warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:1:50: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 1 | @_documentation(visibility: internal) @_exported import Metal
   |                                                  `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 2 | @_documentation(visibility: internal) @_exported import MetalKit
 3 | @_documentation(visibility: internal) @_exported import MetalPerformanceShaders
   :
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:16:23: warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     ///
15 |     /// On macOS and Mac Catalyst, this property provides the first low-power Metal device found. If no low-power device is available, this value will be `nil`.
16 |     public static let lowPowerDevice: MTLDevice? = MTLCopyAllDevices().first { $0.isLowPower }
   |                       |- warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lowPowerDevice' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     #endif // os(macOS) || targetEnvironment(macCatalyst)
18 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
[93/109] Compiling MetalTools MTLContext+Device.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:10:23: warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:1:50: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 1 | @_documentation(visibility: internal) @_exported import Metal
   |                                                  `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 2 | @_documentation(visibility: internal) @_exported import MetalKit
 3 | @_documentation(visibility: internal) @_exported import MetalPerformanceShaders
   :
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:16:23: warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     ///
15 |     /// On macOS and Mac Catalyst, this property provides the first low-power Metal device found. If no low-power device is available, this value will be `nil`.
16 |     public static let lowPowerDevice: MTLDevice? = MTLCopyAllDevices().first { $0.isLowPower }
   |                       |- warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lowPowerDevice' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     #endif // os(macOS) || targetEnvironment(macCatalyst)
18 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
[94/109] Compiling MetalTools MTLContext.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:10:23: warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:1:50: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 1 | @_documentation(visibility: internal) @_exported import Metal
   |                                                  `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 2 | @_documentation(visibility: internal) @_exported import MetalKit
 3 | @_documentation(visibility: internal) @_exported import MetalPerformanceShaders
   :
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:16:23: warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     ///
15 |     /// On macOS and Mac Catalyst, this property provides the first low-power Metal device found. If no low-power device is available, this value will be `nil`.
16 |     public static let lowPowerDevice: MTLDevice? = MTLCopyAllDevices().first { $0.isLowPower }
   |                       |- warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lowPowerDevice' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     #endif // os(macOS) || targetEnvironment(macCatalyst)
18 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
[95/109] Compiling MetalTools Metal.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:10:23: warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:1:50: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 1 | @_documentation(visibility: internal) @_exported import Metal
   |                                                  `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 2 | @_documentation(visibility: internal) @_exported import MetalKit
 3 | @_documentation(visibility: internal) @_exported import MetalPerformanceShaders
   :
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:16:23: warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     ///
15 |     /// On macOS and Mac Catalyst, this property provides the first low-power Metal device found. If no low-power device is available, this value will be `nil`.
16 |     public static let lowPowerDevice: MTLDevice? = MTLCopyAllDevices().first { $0.isLowPower }
   |                       |- warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lowPowerDevice' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     #endif // os(macOS) || targetEnvironment(macCatalyst)
18 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
[96/109] Compiling MetalTools MetalError.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:10:23: warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       `- warning: static property 'device' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:1:50: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 1 | @_documentation(visibility: internal) @_exported import Metal
   |                                                  `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Metal'
 2 | @_documentation(visibility: internal) @_exported import MetalKit
 3 | @_documentation(visibility: internal) @_exported import MetalPerformanceShaders
   :
 8 |     ///
 9 |     /// This property provides the system's default Metal device. If Metal is not supported on the device, this value will be `nil`.
10 |     public static let device: MTLDevice! = MTLCreateSystemDefaultDevice()
   |                       |- note: annotate 'device' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |
12 |     #if os(macOS) || targetEnvironment(macCatalyst)
/Users/admin/builder/spi-builder-workspace/Sources/MetalTools/Metal.swift:16:23: warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     ///
15 |     /// On macOS and Mac Catalyst, this property provides the first low-power Metal device found. If no low-power device is available, this value will be `nil`.
16 |     public static let lowPowerDevice: MTLDevice? = MTLCopyAllDevices().first { $0.isLowPower }
   |                       |- warning: static property 'lowPowerDevice' is not concurrency-safe because non-'Sendable' type '(any MTLDevice)?' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lowPowerDevice' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |     #endif // os(macOS) || targetEnvironment(macCatalyst)
18 |
Metal.MTLDevice:2:17: note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  1 | @available(macOS 10.11, *)
  2 | public protocol MTLDevice : NSObjectProtocol {
    |                 `- note: protocol 'MTLDevice' does not conform to the 'Sendable' protocol
  3 |     var name: String { get }
  4 |     @available(macOS 10.13, *)
[97/109] Compiling MetalTools MTLTexture+Array.swift
[98/109] Compiling MetalTools MTLTexture+Codable.swift
[99/109] Compiling MetalTools MTLTexture+Extensions.swift
[100/109] Compiling MetalTools MTLTexture+Image.swift
[101/109] Compiling MetalTools MTLTextureDescriptor+Copy.swift
[102/109] Compiling MetalTools MTLTextureDescriptor+Encodable.swift
[103/109] Compiling MetalTools MTLPixelFormat+CVPixelFormat.swift
[104/109] Compiling MetalTools MTLPixelFormat+Codable.swift
[105/109] Compiling MetalTools MTLPixelFormat+ColorSpace.swift
[106/109] Compiling MetalTools MTLPixelFormat+Extensions.swift
[107/109] Compiling MetalTools MTLRegion+Area.swift
[108/109] Compiling MetalTools MTLRegion+Clamp.swift
[109/109] Compiling MetalTools MTLRegion+Codable.swift
[110/139] Compiling MetalComputeTools TextureMaskedMix.swift
[111/139] Compiling MetalComputeTools TextureMax.swift
[112/139] Compiling MetalComputeTools TextureMean.swift
[113/142] Compiling MetalComputeTools RGBAToYCbCr.swift
[114/142] Compiling MetalComputeTools StdMeanNormalization.swift
[115/142] Compiling MetalComputeTools TextureAddConstant.swift
[116/142] Emitting module MetalComputeTools
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:39:27: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'TextureMix.Angle' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |     /// A floating point value that represents an angle
 10 |
 11 |     public struct Angle: Equatable {
    |                   `- note: consider making struct 'Angle' conform to the 'Sendable' protocol
 12 |
 13 |         /// The value of the angle in degrees
    :
 37 |         }
 38 |
 39 |         public static let zero = Angle(degrees: 0)
    |                           |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'TextureMix.Angle' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:49:31: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Position' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |     public struct Configuration: Equatable {
 44 |         /// Enum representing the position type.
 45 |         public enum Position: Equatable {
    |                     `- note: consider making enum 'Position' conform to the 'Sendable' protocol
 46 |             case normalized(SIMD2<Float>),
 47 |                  pixel(SIMD2<UInt>)
 48 |
 49 |             public static let `default` = Position.normalized(.init(repeating: 0.5))
    |                               |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |         }
 51 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:59:31: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Scale' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 |         /// Enum representing the scale type.
 53 |         public enum Scale: Equatable {
    |                     `- note: consider making enum 'Scale' conform to the 'Sendable' protocol
 54 |             case aspectFill,
 55 |                  aspectFit,
    :
 57 |                  arbitrary(SIMD2<Float>)
 58 |
 59 |             public static let `default` = Scale.fill
    |                               |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Scale' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 60 |         }
 61 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:117:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
 41 |
 42 |     /// Configuration structure for texture mixing.
 43 |     public struct Configuration: Equatable {
    |                   `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
 44 |         /// Enum representing the position type.
 45 |         public enum Position: Equatable {
    :
115 |         }
116 |
117 |         public static let `default` = Configuration()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 |     }
119 |
[117/142] Compiling MetalComputeTools TextureDivideByConstant.swift
[118/142] Compiling MetalComputeTools TextureInterpolation.swift
[119/142] Compiling MetalComputeTools TextureMask.swift
[120/142] Compiling MetalComputeTools TextureAffineCrop.swift
[121/142] Compiling MetalComputeTools TextureCopy.swift
[122/142] Compiling MetalComputeTools TextureDifferenceHighlight.swift
[123/142] Compiling MetalComputeTools BitonicSortGeneralPass.swift
[124/142] Compiling MetalComputeTools EuclideanDistance.swift
[125/142] Compiling MetalComputeTools IntegralImage.swift
[126/142] Compiling MetalComputeTools LookUpTable.swift
[127/142] Compiling MetalComputeTools MPSUnaryImageKernels.swift
[128/142] Compiling MetalComputeTools MaskGuidedBlur.swift
[129/142] Compiling MetalComputeTools QuantizeDistanceField.swift
[130/142] Compiling MetalComputeTools TextureNormalization.swift
[131/142] Compiling MetalComputeTools TextureResize.swift
[132/142] Compiling MetalComputeTools TextureWeightedMix.swift
[133/142] Compiling MetalComputeTools TextureMin.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:39:27: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'TextureMix.Angle' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |     /// A floating point value that represents an angle
 10 |
 11 |     public struct Angle: Equatable {
    |                   `- note: consider making struct 'Angle' conform to the 'Sendable' protocol
 12 |
 13 |         /// The value of the angle in degrees
    :
 37 |         }
 38 |
 39 |         public static let zero = Angle(degrees: 0)
    |                           |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'TextureMix.Angle' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:49:31: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Position' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |     public struct Configuration: Equatable {
 44 |         /// Enum representing the position type.
 45 |         public enum Position: Equatable {
    |                     `- note: consider making enum 'Position' conform to the 'Sendable' protocol
 46 |             case normalized(SIMD2<Float>),
 47 |                  pixel(SIMD2<UInt>)
 48 |
 49 |             public static let `default` = Position.normalized(.init(repeating: 0.5))
    |                               |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |         }
 51 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:59:31: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Scale' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 |         /// Enum representing the scale type.
 53 |         public enum Scale: Equatable {
    |                     `- note: consider making enum 'Scale' conform to the 'Sendable' protocol
 54 |             case aspectFill,
 55 |                  aspectFit,
    :
 57 |                  arbitrary(SIMD2<Float>)
 58 |
 59 |             public static let `default` = Scale.fill
    |                               |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Scale' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 60 |         }
 61 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:117:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
 41 |
 42 |     /// Configuration structure for texture mixing.
 43 |     public struct Configuration: Equatable {
    |                   `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
 44 |         /// Enum representing the position type.
 45 |         public enum Position: Equatable {
    :
115 |         }
116 |
117 |         public static let `default` = Configuration()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 |     }
119 |
[134/142] Compiling MetalComputeTools TextureMix.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:39:27: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'TextureMix.Angle' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |     /// A floating point value that represents an angle
 10 |
 11 |     public struct Angle: Equatable {
    |                   `- note: consider making struct 'Angle' conform to the 'Sendable' protocol
 12 |
 13 |         /// The value of the angle in degrees
    :
 37 |         }
 38 |
 39 |         public static let zero = Angle(degrees: 0)
    |                           |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'TextureMix.Angle' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:49:31: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Position' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |     public struct Configuration: Equatable {
 44 |         /// Enum representing the position type.
 45 |         public enum Position: Equatable {
    |                     `- note: consider making enum 'Position' conform to the 'Sendable' protocol
 46 |             case normalized(SIMD2<Float>),
 47 |                  pixel(SIMD2<UInt>)
 48 |
 49 |             public static let `default` = Position.normalized(.init(repeating: 0.5))
    |                               |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |         }
 51 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:59:31: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Scale' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 |         /// Enum representing the scale type.
 53 |         public enum Scale: Equatable {
    |                     `- note: consider making enum 'Scale' conform to the 'Sendable' protocol
 54 |             case aspectFill,
 55 |                  aspectFit,
    :
 57 |                  arbitrary(SIMD2<Float>)
 58 |
 59 |             public static let `default` = Scale.fill
    |                               |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Scale' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 60 |         }
 61 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:117:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
 41 |
 42 |     /// Configuration structure for texture mixing.
 43 |     public struct Configuration: Equatable {
    |                   `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
 44 |         /// Enum representing the position type.
 45 |         public enum Position: Equatable {
    :
115 |         }
116 |
117 |         public static let `default` = Configuration()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 |     }
119 |
[135/142] Compiling MetalComputeTools TextureMultiplyAdd.swift
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:39:27: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'TextureMix.Angle' may have shared mutable state; this is an error in the Swift 6 language mode
  9 |     /// A floating point value that represents an angle
 10 |
 11 |     public struct Angle: Equatable {
    |                   `- note: consider making struct 'Angle' conform to the 'Sendable' protocol
 12 |
 13 |         /// The value of the angle in degrees
    :
 37 |         }
 38 |
 39 |         public static let zero = Angle(degrees: 0)
    |                           |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'TextureMix.Angle' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'zero' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:49:31: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Position' may have shared mutable state; this is an error in the Swift 6 language mode
 43 |     public struct Configuration: Equatable {
 44 |         /// Enum representing the position type.
 45 |         public enum Position: Equatable {
    |                     `- note: consider making enum 'Position' conform to the 'Sendable' protocol
 46 |             case normalized(SIMD2<Float>),
 47 |                  pixel(SIMD2<UInt>)
 48 |
 49 |             public static let `default` = Position.normalized(.init(repeating: 0.5))
    |                               |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Position' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |         }
 51 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:59:31: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Scale' may have shared mutable state; this is an error in the Swift 6 language mode
 51 |
 52 |         /// Enum representing the scale type.
 53 |         public enum Scale: Equatable {
    |                     `- note: consider making enum 'Scale' conform to the 'Sendable' protocol
 54 |             case aspectFill,
 55 |                  aspectFit,
    :
 57 |                  arbitrary(SIMD2<Float>)
 58 |
 59 |             public static let `default` = Scale.fill
    |                               |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration.Scale' may have shared mutable state; this is an error in the Swift 6 language mode
    |                               |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                               `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 60 |         }
 61 |
/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.swift:117:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
 41 |
 42 |     /// Configuration structure for texture mixing.
 43 |     public struct Configuration: Equatable {
    |                   `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
 44 |         /// Enum representing the position type.
 45 |         public enum Position: Equatable {
    :
115 |         }
116 |
117 |         public static let `default` = Configuration()
    |                           |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'TextureMix.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 |     }
119 |
[136/142] Compiling MetalComputeTools float3x3+Extensions.swift
[137/142] Compiling MetalComputeTools BitonicSort.swift
[138/142] Compiling MetalComputeTools BitonicSortFinalPass.swift
[139/142] Compiling MetalComputeTools BitonicSortFirstPass.swift
[140/142] Compiling MetalComputeTools YCbCrToRGBA.swift
[141/142] Compiling MetalComputeTools MetalTools.swift
[142/142] Compiling MetalComputeTools resource_bundle_accessor.swift
[143/161] Compiling MetalRenderingTools PointsRenderer.swift
[144/161] Compiling MetalRenderingTools RectangleRender.swift
[145/161] Compiling MetalRenderingTools SimpleGeometryRender.swift
[146/161] Compiling MetalRenderingTools TextRender.swift
[147/162] Compiling MetalRenderingTools MTLFontAtlas.swift
[148/162] Compiling MetalRenderingTools MTLFontAtlasCodableContainer.swift
[149/162] Compiling MetalRenderingTools MTLFontAtlasDescriptor.swift
[150/162] Compiling MetalRenderingTools MetalTools.swift
[151/162] Compiling MetalRenderingTools BoundingBoxesRenderer.swift.swift
[152/162] Compiling MetalRenderingTools LabelRender.swift
[153/162] Compiling MetalRenderingTools MTLRenderCommandEncoder+Draw.swift
[154/162] Compiling MetalRenderingTools UIFont+Rect.swift
[155/162] Compiling MetalRenderingTools MTLIndexBuffer.swift
[156/162] Compiling MetalRenderingTools TextMesh.swift
[157/162] Emitting module MetalRenderingTools
[158/162] Compiling MetalRenderingTools LinesRenderer.swift
[159/162] Compiling MetalRenderingTools MaskRenderer.swift
[160/162] Compiling MetalRenderingTools GlyphDescriptor.swift
[161/162] Compiling MetalRenderingTools MTLFontAtlasProvider.swift
[162/162] Compiling MetalRenderingTools resource_bundle_accessor.swift
Build complete! (12.62s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "metal-tools",
  "name" : "metal-tools",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "maccatalyst",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "MetalTools",
      "targets" : [
        "MetalTools"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MetalComputeTools",
      "targets" : [
        "MetalComputeTools"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "MetalRenderingTools",
      "targets" : [
        "MetalRenderingTools"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MetalTools",
      "module_type" : "SwiftTarget",
      "name" : "MetalTools",
      "path" : "Sources/MetalTools",
      "product_memberships" : [
        "MetalTools",
        "MetalComputeTools",
        "MetalRenderingTools"
      ],
      "sources" : [
        "CodableContainer/MTLTextureCodableContainer.swift",
        "CodableContainer/MTLTextureDescriptorCodableContainer.swift",
        "Extensions/CoreVideo/CVPixelBuffer+MTLTexture.swift",
        "Extensions/CoreVideo/CVPixelFormat+Extensions.swift",
        "Extensions/Foundation/Decoder+MTLDevice.swift",
        "Extensions/Metal/MTLBlitCommandEncoder/MTLBlitCommandEncoder+Copy.swift",
        "Extensions/Metal/MTLBuffer/MTLBuffer+Contents.swift",
        "Extensions/Metal/MTLCPUCacheMode/MTLCPUCacheMode+Codable.swift",
        "Extensions/Metal/MTLClearColor/MTLClearColor+Clear.swift",
        "Extensions/Metal/MTLCommandBuffer/MTLCommandBuffer+Dispatching.swift",
        "Extensions/Metal/MTLCommandBuffer/MTLCommandBuffer+ExecutionTime.swift",
        "Extensions/Metal/MTLCommandQueue/MTLCommandQueue+Schedule.swift",
        "Extensions/Metal/MTLCompileOptions/MTLCompileOptions+Extensions.swift",
        "Extensions/Metal/MTLComputeCommandEncoder/MTLComputeCommandEncoder+Arguments.swift",
        "Extensions/Metal/MTLComputeCommandEncoder/MTLComputeCommandEncoder+Dispatch.swift",
        "Extensions/Metal/MTLComputePipelineState/MTLComputePipelineState+Threads.swift",
        "Extensions/Metal/MTLDevice/MTLDevice+Convenience.swift",
        "Extensions/Metal/MTLDevice/MTLDevice+Features.swift",
        "Extensions/Metal/MTLDevice/MTLDevice+IsDiscrete.swift",
        "Extensions/Metal/MTLDevice/MTLDevice+MTLTexture.swift",
        "Extensions/Metal/MTLFunctionConstantValues/MTLFunctionConstantValues+SetValue.swift",
        "Extensions/Metal/MTLHeap/MTLHeap+Convenience.swift",
        "Extensions/Metal/MTLLibrary/MTLLibrary+PipelineState.swift",
        "Extensions/Metal/MTLOrigin/MTLOrigin+Clamp.swift",
        "Extensions/Metal/MTLOrigin/MTLOrigin+Codable.swift",
        "Extensions/Metal/MTLOrigin/MTLOrigin+Convenience.swift",
        "Extensions/Metal/MTLOrigin/MTLOrigin+Equitable.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+CGBitmapInfo.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+CVPixelFormat.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+Codable.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+ColorSpace.swift",
        "Extensions/Metal/MTLPixelFormat/MTLPixelFormat+Extensions.swift",
        "Extensions/Metal/MTLRegion/MTLRegion+Area.swift",
        "Extensions/Metal/MTLRegion/MTLRegion+Clamp.swift",
        "Extensions/Metal/MTLRegion/MTLRegion+Codable.swift",
        "Extensions/Metal/MTLRegion/MTLRegion+Equitable.swift",
        "Extensions/Metal/MTLRenderCommandEncoder/MTLRenderCommandEncoder+SetValue.swift",
        "Extensions/Metal/MTLRenderPassAttachmentDescriptor/MTLRenderPassAttachmentDescriptor+Extensions.swift",
        "Extensions/Metal/MTLRenderPipelineColorAttachmentDescriptor/MTLRenderPipelineColorAttachmentDescriptor+BlendingMode.swift",
        "Extensions/Metal/MTLResource/MTLResource+AccessibleOnCPU.swift",
        "Extensions/Metal/MTLResourceOptions/MTLResourceOptions+Extensions.swift",
        "Extensions/Metal/MTLSize/MTLSize+Clamp.swift",
        "Extensions/Metal/MTLSize/MTLSize+Codable.swift",
        "Extensions/Metal/MTLSize/MTLSize+Convenience.swift",
        "Extensions/Metal/MTLSize/MTLSwize+Equitable.swift",
        "Extensions/Metal/MTLSizeAndAlign/MTLSizeAndAlign+Extensions.swift",
        "Extensions/Metal/MTLStorageMode/MTLStorageMode+Extensions.swift",
        "Extensions/Metal/MTLTexture/MTLTexture+Array.swift",
        "Extensions/Metal/MTLTexture/MTLTexture+Codable.swift",
        "Extensions/Metal/MTLTexture/MTLTexture+Extensions.swift",
        "Extensions/Metal/MTLTexture/MTLTexture+Image.swift",
        "Extensions/Metal/MTLTextureDescriptor/MTLTextureDescriptor+Copy.swift",
        "Extensions/Metal/MTLTextureDescriptor/MTLTextureDescriptor+Encodable.swift",
        "Extensions/Metal/MTLTextureType/MTLTextureType+Codable.swift",
        "Extensions/Metal/MTLTextureUsage/MTLTextureUsage+Codable.swift",
        "Extensions/Metal/MTLVertexAttributeDescriptor/MTLVertexAttributeDescriptor+Extensions.swift",
        "Extensions/Metal/MTLVertexBufferLayoutDescriptor/MTLVertexAttributeDescriptorArray+Extensions.swift",
        "Extensions/MetalPerformanceShaders/MPSNNGraph/MPSNNGraph+Functors.swift",
        "Extensions/MetalPerformanceShaders/MPSUnaryImageKernel/MPSUnaryImageKernel+Functors.swift",
        "Extensions/MetalTools/MTLContext+Capture.swift",
        "Extensions/MetalTools/MTLContext+CommandQueue.swift",
        "Extensions/MetalTools/MTLContext+Device.swift",
        "MTLContext.swift",
        "Metal.swift",
        "MetalError.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalRenderingToolsSharedTypes",
      "module_type" : "ClangTarget",
      "name" : "MetalRenderingToolsSharedTypes",
      "path" : "Sources/MetalRenderingToolsSharedTypes",
      "product_memberships" : [
        "MetalRenderingTools"
      ],
      "sources" : [
        "MetalRenderingToolsSharedTypes.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalRenderingTools",
      "module_type" : "SwiftTarget",
      "name" : "MetalRenderingTools",
      "path" : "Sources/MetalRenderingTools",
      "product_memberships" : [
        "MetalRenderingTools"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/Common/Common.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/LinesRenderer/LinesRenderer.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/MaskRenderer/MaskRenderer.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/PointsRenderer/PointsRenderer.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/RectangleRender/RectangleRender.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/SimpleGeometryRender/SimpleGeometryRender.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Renderers/TextRender/TextRender.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalRenderingTools/Resources/HelveticaNeue.mtlfontatlas",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Core/GlyphDescriptor.swift",
        "Core/MTLFontAtlasProvider.swift",
        "Core/MTLIndexBuffer.swift",
        "Core/TextMesh.swift",
        "Extensions/Metal/MTLRenderCommandEncoder+Draw.swift",
        "Extensions/UIKit/UIFont+Rect.swift",
        "MTLFontAtlas/MTLFontAtlas.swift",
        "MTLFontAtlas/MTLFontAtlasCodableContainer.swift",
        "MTLFontAtlas/MTLFontAtlasDescriptor.swift",
        "MetalTools.swift",
        "Renderers/BoundingBoxesRenderer/BoundingBoxesRenderer.swift.swift",
        "Renderers/LabelRender/LabelRender.swift",
        "Renderers/LinesRenderer/LinesRenderer.swift",
        "Renderers/MaskRenderer/MaskRenderer.swift",
        "Renderers/PointsRenderer/PointsRenderer.swift",
        "Renderers/RectangleRender/RectangleRender.swift",
        "Renderers/SimpleGeometryRender/SimpleGeometryRender.swift",
        "Renderers/TextRender/TextRender.swift"
      ],
      "target_dependencies" : [
        "MetalRenderingToolsSharedTypes",
        "MetalComputeTools"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalComputeToolsTestsResources",
      "module_type" : "SwiftTarget",
      "name" : "MetalComputeToolsTestsResources",
      "path" : "Tests/MetalComputeToolsTestsResources",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/MetalComputeToolsTestsResources/Shared",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Extensions/Foundation/Bundle+TestsResources.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalComputeToolsTests",
      "module_type" : "SwiftTarget",
      "name" : "MetalComputeToolsTests",
      "path" : "Tests/MetalComputeToolsTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/MetalComputeToolsTests/Shaders/Shaders.metal",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "BitonicSortTests.swift",
        "Encoders/SwitchDataFormatEncoder.swift",
        "EuclideanDistanceTests.swift",
        "Extensions/CoreGraphics/CGImage+Extensions.swift",
        "Extensions/Metal/MTLPixelFormat+Extensions.swift",
        "IntegralImageTests.swift",
        "TextureCachingTests.swift"
      ],
      "target_dependencies" : [
        "MetalComputeTools",
        "MetalComputeToolsTestsResources"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MetalComputeToolsSharedTypes",
      "module_type" : "ClangTarget",
      "name" : "MetalComputeToolsSharedTypes",
      "path" : "Sources/MetalComputeToolsSharedTypes",
      "product_memberships" : [
        "MetalComputeTools",
        "MetalRenderingTools"
      ],
      "sources" : [
        "MetalComputeToolsSharedTypes.c"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MetalComputeTools",
      "module_type" : "SwiftTarget",
      "name" : "MetalComputeTools",
      "path" : "Sources/MetalComputeTools",
      "product_memberships" : [
        "MetalComputeTools",
        "MetalRenderingTools"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/BitonicSort/BitonicSort.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/EuclideanDistance/EuclideanDistance.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/IntegralImage/IntegralImage.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/LookUpTable/LookUpTable.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/MaskGuidedBlur/MaskGuidedBlur.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/QuantizeDistanceField/QuantizeDistanceField.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/RGBAToYCbCr/RGBAToYCbCr.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/StdMeanNormalization/StdMeanNormalization.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureAddConstant/TextureAddConstant.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureAffineCrop/TextureAffineCrop.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureCopy/TextureCopy.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureDifferenceHighlight/TextureDifferenceHighlight.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureDivideByConstant/TextureDivideByConstant.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureInterpolation/TextureInterpolation.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMask/TextureMask.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMaskedMix/TextureMaskedMix.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMax/TextureMax.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMean/TextureMean.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMin/TextureMin.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMix/TextureMix.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureMultiplyAdd/TextureMultiplyAdd.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureResize/TextureResize.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/TextureWeightedMix/TextureWeightedMix.metal",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/MetalComputeTools/Kernels/YCbCrToRGBA/YCbCrToRGBA.metal",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Extensions/SIMD/float3x3+Extensions.swift",
        "Kernels/BitonicSort/BitonicSort.swift",
        "Kernels/BitonicSort/BitonicSortFinalPass.swift",
        "Kernels/BitonicSort/BitonicSortFirstPass.swift",
        "Kernels/BitonicSort/BitonicSortGeneralPass.swift",
        "Kernels/EuclideanDistance/EuclideanDistance.swift",
        "Kernels/IntegralImage/IntegralImage.swift",
        "Kernels/LookUpTable/LookUpTable.swift",
        "Kernels/MPSUnaryImageKernels/MPSUnaryImageKernels.swift",
        "Kernels/MaskGuidedBlur/MaskGuidedBlur.swift",
        "Kernels/QuantizeDistanceField/QuantizeDistanceField.swift",
        "Kernels/RGBAToYCbCr/RGBAToYCbCr.swift",
        "Kernels/StdMeanNormalization/StdMeanNormalization.swift",
        "Kernels/TextureAddConstant/TextureAddConstant.swift",
        "Kernels/TextureAffineCrop/TextureAffineCrop.swift",
        "Kernels/TextureCopy/TextureCopy.swift",
        "Kernels/TextureDifferenceHighlight/TextureDifferenceHighlight.swift",
        "Kernels/TextureDivideByConstant/TextureDivideByConstant.swift",
        "Kernels/TextureInterpolation/TextureInterpolation.swift",
        "Kernels/TextureMask/TextureMask.swift",
        "Kernels/TextureMaskedMix/TextureMaskedMix.swift",
        "Kernels/TextureMax/TextureMax.swift",
        "Kernels/TextureMean/TextureMean.swift",
        "Kernels/TextureMin/TextureMin.swift",
        "Kernels/TextureMix/TextureMix.swift",
        "Kernels/TextureMultiplyAdd/TextureMultiplyAdd.swift",
        "Kernels/TextureNormalization/TextureNormalization.swift",
        "Kernels/TextureResize/TextureResize.swift",
        "Kernels/TextureWeightedMix/TextureWeightedMix.swift",
        "Kernels/YCbCrToRGBA/YCbCrToRGBA.swift",
        "MetalTools.swift"
      ],
      "target_dependencies" : [
        "MetalComputeToolsSharedTypes",
        "MetalTools"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/computer-graphics-tools/metal-tools/1.3.5
Repository:               computer-graphics-tools/metal-tools
Swift version used:       6.0
Target:                   MetalTools
Extracting symbol information for 'MetalTools'...
Finished extracting symbol information for 'MetalTools'. (5.87s)
Building documentation for 'MetalTools'...
warning: Parameter '_' not found in instance method declaration
  --> ../Extensions/Metal/MTLDevice/MTLDevice+Convenience.swift:90:11-90:58
88 |     ///
89 |     /// - Parameters:
90 +     ///   - _: The type of elements the buffer will hold.
   |           ╰─suggestion: Remove '_' parameter documentation
91 |     ///   - count: The number of elements (default is 1).
92 |     ///   - options: Resource options for the buffer (default is .cpuCacheModeWriteCombined).
warning: Parameter 'for' is missing documentation
  --> ../Extensions/Metal/MTLDevice/MTLDevice+Convenience.swift:92:94-92:94
90 |     ///   - _: The type of elements the buffer will hold.
91 |     ///   - count: The number of elements (default is 1).
   |           ╰─suggestion: Document 'for' parameter
92 +     ///   - options: Resource options for the buffer (default is .cpuCacheModeWriteCombined).
93 |     /// - Returns: A new Metal buffer.
94 |     /// - Throws: An error if buffer creation fails.
warning: Image in document summary will not be displayed
Summary should only contain (formatted) text. To resolve this issue, place links and images elsewhere in the document, or remove them.
 --> MetalTools.md:3:1-3:31
1 | # ``MetalTools``
2 |
3 + ![MetalTools](metal-tools.png)
4 |
5 | A Swift framework that simplifies working with Apple's Metal API.Finished building documentation for 'MetalTools' (0.52s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/computer-graphics-tools/metal-tools/1.3.5
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2048] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.21s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (2.30s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3290] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.51s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.57s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Building for debugging...
[0/8] Write sources
[2/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version-5BDAB9E9C0126B9D.txt
[6/53] Compiling SymbolKit Mixin+Equals.swift
[7/53] Compiling SymbolKit Mixin+Hash.swift
[8/53] Compiling SymbolKit Mixin.swift
[9/53] Compiling SymbolKit LineList.swift
[10/53] Compiling SymbolKit Position.swift
[11/57] Compiling SymbolKit Identifier.swift
[12/57] Compiling SymbolKit KindIdentifier.swift
[13/57] Compiling SymbolKit Location.swift
[14/57] Compiling SymbolKit Mutability.swift
[15/57] Compiling Snippets Snippet.swift
[16/57] Emitting module Snippets
[17/57] Compiling Snippets SnippetParser.swift
[18/57] Emitting module SymbolKit
[19/57] Compiling SymbolKit GenericConstraint.swift
[20/57] Compiling SymbolKit GenericParameter.swift
[21/57] Compiling SymbolKit Generics.swift
[22/57] Compiling SymbolKit Namespace.swift
[23/57] Compiling SymbolKit Relationship.swift
[24/57] Compiling SymbolKit RelationshipKind.swift
[25/57] Compiling SymbolKit SourceOrigin.swift
[26/57] Compiling SymbolKit GenericConstraints.swift
[27/57] Compiling SymbolKit Swift.swift
[28/57] Compiling SymbolKit DeclarationFragments.swift
[29/57] Compiling SymbolKit Fragment.swift
[30/57] Compiling SymbolKit FragmentKind.swift
[31/57] Compiling SymbolKit FunctionParameter.swift
[32/57] Compiling SymbolKit FunctionSignature.swift
[33/57] Compiling SymbolKit SourceRange.swift
[34/57] Compiling SymbolKit Metadata.swift
[35/57] Compiling SymbolKit Module.swift
[36/57] Compiling SymbolKit OperatingSystem.swift
[37/57] Compiling SymbolKit Platform.swift
[38/57] Compiling SymbolKit Names.swift
[39/57] Compiling SymbolKit SPI.swift
[40/57] Compiling SymbolKit Snippet.swift
[41/57] Compiling SymbolKit Extension.swift
[42/57] Compiling SymbolKit SemanticVersion.swift
[43/57] Compiling SymbolKit AccessControl.swift
[44/57] Compiling SymbolKit Availability.swift
[45/57] Compiling SymbolKit AvailabilityItem.swift
[46/57] Compiling SymbolKit Domain.swift
[47/57] Compiling SymbolKit Symbol.swift
[48/57] Compiling SymbolKit SymbolKind.swift
[49/57] Compiling SymbolKit SymbolGraph.swift
[50/57] Compiling SymbolKit GraphCollector.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.97s)
Building for debugging...
[0/1] Write swift-version-5BDAB9E9C0126B9D.txt
[2/61] Emitting module MetalTools
[3/67] Compiling MetalTools MTLCPUCacheMode+Codable.swift
[4/67] Compiling MetalTools MTLClearColor+Clear.swift
[5/67] Compiling MetalTools MTLCommandBuffer+Dispatching.swift
[6/67] Compiling MetalTools MTLCommandBuffer+ExecutionTime.swift
[7/67] Compiling MetalTools MTLCommandQueue+Schedule.swift
[8/67] Compiling MetalTools MTLCompileOptions+Extensions.swift
[9/67] Compiling MetalTools MTLComputeCommandEncoder+Arguments.swift
[10/67] Compiling MetalTools MTLSize+Clamp.swift
[11/67] Compiling MetalTools MTLSize+Codable.swift
[12/67] Compiling MetalTools MTLSize+Convenience.swift
[13/67] Compiling MetalTools MTLSwize+Equitable.swift
[14/67] Compiling MetalTools MTLSizeAndAlign+Extensions.swift
[15/67] Compiling MetalTools MTLStorageMode+Extensions.swift
[16/67] Compiling MetalTools MTLTextureType+Codable.swift
[17/67] Compiling MetalTools MTLTextureUsage+Codable.swift
[18/67] Compiling MetalTools MTLVertexAttributeDescriptor+Extensions.swift
[19/67] Compiling MetalTools MTLVertexAttributeDescriptorArray+Extensions.swift
[20/67] Compiling MetalTools MPSNNGraph+Functors.swift
[21/67] Compiling MetalTools MPSUnaryImageKernel+Functors.swift
[22/67] Compiling MetalTools MTLRegion+Equitable.swift
[23/67] Compiling MetalTools MTLRenderCommandEncoder+SetValue.swift
[24/67] Compiling MetalTools MTLRenderPassAttachmentDescriptor+Extensions.swift
[25/67] Compiling MetalTools MTLRenderPipelineColorAttachmentDescriptor+BlendingMode.swift
[26/67] Compiling MetalTools MTLResource+AccessibleOnCPU.swift
[27/67] Compiling MetalTools MTLResourceOptions+Extensions.swift
[28/67] Compiling MetalTools MTLHeap+Convenience.swift
[29/67] Compiling MetalTools MTLLibrary+PipelineState.swift
[30/67] Compiling MetalTools MTLOrigin+Clamp.swift
[31/67] Compiling MetalTools MTLOrigin+Codable.swift
[32/67] Compiling MetalTools MTLOrigin+Convenience.swift
[33/67] Compiling MetalTools MTLOrigin+Equitable.swift
[34/67] Compiling MetalTools MTLPixelFormat+CGBitmapInfo.swift
[35/67] Compiling MetalTools MTLTexture+Array.swift
[36/67] Compiling MetalTools MTLTexture+Codable.swift
[37/67] Compiling MetalTools MTLTexture+Extensions.swift
[38/67] Compiling MetalTools MTLTexture+Image.swift
[39/67] Compiling MetalTools MTLTextureDescriptor+Copy.swift
[40/67] Compiling MetalTools MTLTextureDescriptor+Encodable.swift
[41/67] Compiling MetalTools MTLTextureCodableContainer.swift
[42/67] Compiling MetalTools MTLTextureDescriptorCodableContainer.swift
[43/67] Compiling MetalTools CVPixelBuffer+MTLTexture.swift
[44/67] Compiling MetalTools CVPixelFormat+Extensions.swift
[45/67] Compiling MetalTools Decoder+MTLDevice.swift
[46/67] Compiling MetalTools MTLBlitCommandEncoder+Copy.swift
[47/67] Compiling MetalTools MTLBuffer+Contents.swift
[48/67] Compiling MetalTools MTLComputeCommandEncoder+Dispatch.swift
[49/67] Compiling MetalTools MTLComputePipelineState+Threads.swift
[50/67] Compiling MetalTools MTLDevice+Convenience.swift
[51/67] Compiling MetalTools MTLDevice+Features.swift
[52/67] Compiling MetalTools MTLDevice+IsDiscrete.swift
[53/67] Compiling MetalTools MTLDevice+MTLTexture.swift
[54/67] Compiling MetalTools MTLFunctionConstantValues+SetValue.swift
[55/67] Compiling MetalTools MTLPixelFormat+CVPixelFormat.swift
[56/67] Compiling MetalTools MTLPixelFormat+Codable.swift
[57/67] Compiling MetalTools MTLPixelFormat+ColorSpace.swift
[58/67] Compiling MetalTools MTLPixelFormat+Extensions.swift
[59/67] Compiling MetalTools MTLRegion+Area.swift
[60/67] Compiling MetalTools MTLRegion+Clamp.swift
[61/67] Compiling MetalTools MTLRegion+Codable.swift
[62/67] Compiling MetalTools MTLContext+Capture.swift
[63/67] Compiling MetalTools MTLContext+CommandQueue.swift
[64/67] Compiling MetalTools MTLContext+Device.swift
[65/67] Compiling MetalTools MTLContext.swift
[66/67] Compiling MetalTools Metal.swift
[67/67] Compiling MetalTools MetalError.swift
Build of target: 'MetalTools' complete! (1.52s)
Target:                   MetalComputeTools
Extracting symbol information for 'MetalComputeTools'...
Finished extracting symbol information for 'MetalComputeTools'. (1.35s)
Building documentation for 'MetalComputeTools'...
warning: External name 'radians' used to document parameter
  --> ../Kernels/TextureMix/TextureMix.swift:22:25-22:32
20 |
21 |         /// Creates an instance using the value in radians
22 +         /// - Parameter radians: The angle value in radians
   |                         ╰─suggestion: Replace 'radians' with 'val'
23 |         public init(radians val: Float32) {
24 |             self.degrees = val / Float32.pi * 180.0
warning: External name 'degrees' used to document parameter
  --> ../Kernels/TextureMix/TextureMix.swift:28:25-28:32
26 |
27 |         /// Creates an instance using the value in degrees
28 +         /// - Parameter degrees: The angle value in degrees
   |                         ╰─suggestion: Replace 'degrees' with 'val'
29 |         public init(degrees val: Float32) {
30 |             self.degrees = valFinished building documentation for 'MetalComputeTools' (0.15s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/computer-graphics-tools/metal-tools/1.3.5
Building for debugging...
[0/3] Write swift-version-5BDAB9E9C0126B9D.txt
Build of product 'snippet-extract' complete! (0.17s)
Building for debugging...
[0/1] Write swift-version-5BDAB9E9C0126B9D.txt
[2/31] Emitting module MetalComputeTools
[3/34] Compiling MetalComputeTools TextureMaskedMix.swift
[4/34] Compiling MetalComputeTools TextureMax.swift
[5/34] Compiling MetalComputeTools TextureMean.swift
[6/34] Compiling MetalComputeTools TextureDivideByConstant.swift
[7/34] Compiling MetalComputeTools TextureInterpolation.swift
[8/34] Compiling MetalComputeTools TextureMask.swift
[9/34] Compiling MetalComputeTools TextureAffineCrop.swift
[10/34] Compiling MetalComputeTools TextureCopy.swift
[11/34] Compiling MetalComputeTools TextureDifferenceHighlight.swift
[12/34] Compiling MetalComputeTools BitonicSortGeneralPass.swift
[13/34] Compiling MetalComputeTools EuclideanDistance.swift
[14/34] Compiling MetalComputeTools IntegralImage.swift
[15/34] Compiling MetalComputeTools LookUpTable.swift
[16/34] Compiling MetalComputeTools RGBAToYCbCr.swift
[17/34] Compiling MetalComputeTools StdMeanNormalization.swift
[18/34] Compiling MetalComputeTools TextureAddConstant.swift
[19/34] Compiling MetalComputeTools MPSUnaryImageKernels.swift
[20/34] Compiling MetalComputeTools MaskGuidedBlur.swift
[21/34] Compiling MetalComputeTools QuantizeDistanceField.swift
[22/34] Compiling MetalComputeTools TextureNormalization.swift
[23/34] Compiling MetalComputeTools TextureResize.swift
[24/34] Compiling MetalComputeTools TextureWeightedMix.swift
[25/34] Compiling MetalComputeTools TextureMin.swift
[26/34] Compiling MetalComputeTools TextureMix.swift
[27/34] Compiling MetalComputeTools TextureMultiplyAdd.swift
[28/34] Compiling MetalComputeTools float3x3+Extensions.swift
[29/34] Compiling MetalComputeTools BitonicSort.swift
[30/34] Compiling MetalComputeTools BitonicSortFinalPass.swift
[31/34] Compiling MetalComputeTools BitonicSortFirstPass.swift
[32/34] Compiling MetalComputeTools YCbCrToRGBA.swift
[33/34] Compiling MetalComputeTools MetalTools.swift
[34/34] Compiling MetalComputeTools resource_bundle_accessor.swift
Build of target: 'MetalComputeTools' complete! (1.13s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/computer-graphics-tools/metal-tools/1.3.5/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/computer-graphics-tools/metal-tools/1.3.5/linkable-paths.json
Target:                   MetalRenderingTools
Extracting symbol information for 'MetalRenderingTools'...
Finished extracting symbol information for 'MetalRenderingTools'. (1.25s)
Building documentation for 'MetalRenderingTools'...
Finished building documentation for 'MetalRenderingTools' (0.07s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/computer-graphics-tools/metal-tools/1.3.5
Building for debugging...
[0/3] Write swift-version-5BDAB9E9C0126B9D.txt
Build of product 'snippet-extract' complete! (0.17s)
Building for debugging...
[0/1] Write swift-version-5BDAB9E9C0126B9D.txt
[2/20] Compiling MetalRenderingTools BoundingBoxesRenderer.swift.swift
[3/20] Compiling MetalRenderingTools LabelRender.swift
[4/20] Compiling MetalRenderingTools SimpleGeometryRender.swift
[5/20] Compiling MetalRenderingTools TextRender.swift
[6/21] Compiling MetalRenderingTools LinesRenderer.swift
[7/21] Compiling MetalRenderingTools MaskRenderer.swift
[8/21] Compiling MetalRenderingTools MTLFontAtlasDescriptor.swift
[9/21] Compiling MetalRenderingTools MetalTools.swift
[10/21] Compiling MetalRenderingTools MTLRenderCommandEncoder+Draw.swift
[11/21] Compiling MetalRenderingTools UIFont+Rect.swift
[12/21] Compiling MetalRenderingTools MTLFontAtlas.swift
[13/21] Compiling MetalRenderingTools MTLFontAtlasCodableContainer.swift
[14/21] Compiling MetalRenderingTools MTLIndexBuffer.swift
[15/21] Compiling MetalRenderingTools TextMesh.swift
[16/21] Emitting module MetalRenderingTools
[17/21] Compiling MetalRenderingTools PointsRenderer.swift
[18/21] Compiling MetalRenderingTools RectangleRender.swift
[19/21] Compiling MetalRenderingTools GlyphDescriptor.swift
[20/21] Compiling MetalRenderingTools MTLFontAtlasProvider.swift
[21/21] Compiling MetalRenderingTools resource_bundle_accessor.swift
Build of target: 'MetalRenderingTools' complete! (1.03s)
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/computer-graphics-tools/metal-tools/1.3.5/index/index.json
Successfully merged into /Users/admin/builder/spi-builder-workspace/.docs-staging/computer-graphics-tools/metal-tools/1.3.5/linkable-paths.json
    1649
11	/Users/admin/builder/spi-builder-workspace/.docs/computer-graphics-tools/metal-tools/1.3.5
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/computer-graphics-tools/metal-tools/1.3.5
File count: 1649
Doc size:   11.0MB
Preparing doc bundle ...
Uploading prod-computer-graphics-tools-metal-tools-1.3.5-bc508783.zip to s3://spi-docs-inbox/prod-computer-graphics-tools-metal-tools-1.3.5-bc508783.zip
Copying... [12%]
Copying... [21%]
Copying... [31%]
Copying... [40%]
Copying... [52%]
Copying... [61%]
Copying... [71%]
Copying... [80%]
Copying... [92%]
Copying... [100%]
Done.