Documentation Archive Developer
Search

MetalPerformanceShaders Changes for Swift

MetalPerformanceShaders

Added MPSCNNConvolution.kernelHeight
Added MPSCNNConvolution.kernelWidth
Added MPSCNNConvolution.strideInPixelsX
Added MPSCNNConvolution.strideInPixelsY
Added MPSCNNKernel.sourceRegion(destinationSize: MTLSize) -> MPSRegion
Added MPSCNNLocalContrastNormalization.kernelHeight
Added MPSCNNLocalContrastNormalization.kernelWidth
Added MPSCNNNeuronLinear.a
Added MPSCNNNeuronLinear.b
Added MPSCNNNeuronReLU.a
Added MPSCNNNeuronTanH.a
Added MPSCNNNeuronTanH.b
Added MPSCNNPooling.kernelHeight
Added MPSCNNPooling.kernelWidth
Added MPSCNNPooling.strideInPixelsX
Added MPSCNNPooling.strideInPixelsY
Added MPSCNNSpatialNormalization.kernelHeight
Added MPSCNNSpatialNormalization.kernelWidth
Added MPSImage
Added MPSImageFeatureChannelFormat.invalid
Added MPSMatrix
Declaration
From
class MPSBinaryImageKernel : MPSKernel {
    var primaryOffset: MPSOffset
    var secondaryOffset: MPSOffset
    var primaryEdgeMode: MPSImageEdgeMode
    var secondaryEdgeMode: MPSImageEdgeMode
    var clipRect: MTLRegion
    func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, primaryTexture primaryTexture: MTLTexture, inPlaceSecondaryTexture inPlaceSecondaryTexture: UnsafeMutablePointer<MTLTexture?>, fallbackCopyAllocator copyAllocator: MPSCopyAllocator?) -> Bool
    func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, inPlacePrimaryTexture inPlacePrimaryTexture: UnsafeMutablePointer<MTLTexture?>, secondaryTexture secondaryTexture: MTLTexture, fallbackCopyAllocator copyAllocator: MPSCopyAllocator?) -> Bool
    func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, primaryTexture primaryTexture: MTLTexture, secondaryTexture secondaryTexture: MTLTexture, destinationTexture destinationTexture: MTLTexture)
    func primarySourceRegionForDestinationSize(_ destinationSize: MTLSize) -> MPSRegion
    func secondarySourceRegionForDestinationSize(_ destinationSize: MTLSize) -> MPSRegion
}
To
class MPSBinaryImageKernel : MPSKernel {
    var primaryOffset: MPSOffset
    var secondaryOffset: MPSOffset
    var primaryEdgeMode: MPSImageEdgeMode
    var secondaryEdgeMode: MPSImageEdgeMode
    var clipRect: MTLRegion
    func encode(to commandBuffer: MTLCommandBuffer, primaryTexture primaryTexture: MTLTexture, inPlaceSecondaryTexture inPlaceSecondaryTexture: UnsafeMutablePointer<MTLTexture>, fallbackCopyAllocator copyAllocator: MetalPerformanceShaders.MPSCopyAllocator? = nil) -> Bool
    func encode(to commandBuffer: MTLCommandBuffer, inPlacePrimaryTexture inPlacePrimaryTexture: UnsafeMutablePointer<MTLTexture>, secondaryTexture secondaryTexture: MTLTexture, fallbackCopyAllocator copyAllocator: MetalPerformanceShaders.MPSCopyAllocator? = nil) -> Bool
    func encode(to commandBuffer: MTLCommandBuffer, primaryTexture primaryTexture: MTLTexture, secondaryTexture secondaryTexture: MTLTexture, destinationTexture destinationTexture: MTLTexture)
    func primarySourceRegion(forDestinationSize destinationSize: MTLSize) -> MPSRegion
    func secondarySourceRegion(forDestinationSize destinationSize: MTLSize) -> MPSRegion
}

Declaration
From
func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, inPlacePrimaryTexture inPlacePrimaryTexture: UnsafeMutablePointer<MTLTexture?>, secondaryTexture secondaryTexture: MTLTexture, fallbackCopyAllocator copyAllocator: MPSCopyAllocator?) -> Bool
To
func encode(to commandBuffer: MTLCommandBuffer, inPlacePrimaryTexture inPlacePrimaryTexture: UnsafeMutablePointer<MTLTexture>, secondaryTexture secondaryTexture: MTLTexture, fallbackCopyAllocator copyAllocator: MetalPerformanceShaders.MPSCopyAllocator? = nil) -> Bool

Declaration
From
func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, primaryTexture primaryTexture: MTLTexture, inPlaceSecondaryTexture inPlaceSecondaryTexture: UnsafeMutablePointer<MTLTexture?>, fallbackCopyAllocator copyAllocator: MPSCopyAllocator?) -> Bool
To
func encode(to commandBuffer: MTLCommandBuffer, primaryTexture primaryTexture: MTLTexture, inPlaceSecondaryTexture inPlaceSecondaryTexture: UnsafeMutablePointer<MTLTexture>, fallbackCopyAllocator copyAllocator: MetalPerformanceShaders.MPSCopyAllocator? = nil) -> Bool

Declaration
From
func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, primaryTexture primaryTexture: MTLTexture, secondaryTexture secondaryTexture: MTLTexture, destinationTexture destinationTexture: MTLTexture)
To
func encode(to commandBuffer: MTLCommandBuffer, primaryTexture primaryTexture: MTLTexture, secondaryTexture secondaryTexture: MTLTexture, destinationTexture destinationTexture: MTLTexture)

Declaration
From
func primarySourceRegionForDestinationSize(_ destinationSize: MTLSize) -> MPSRegion
To
func primarySourceRegion(forDestinationSize destinationSize: MTLSize) -> MPSRegion

Declaration
From
func secondarySourceRegionForDestinationSize(_ destinationSize: MTLSize) -> MPSRegion
To
func secondarySourceRegion(forDestinationSize destinationSize: MTLSize) -> MPSRegion

Declaration
From
enum MPSImageEdgeMode : UInt {
    case Zero
    case Clamp
}
To
enum MPSImageEdgeMode : UInt {
    case zero
    case clamp
}

Declaration
From
case Clamp
To
case clamp

Declaration
From
case Zero
To
case zero

Declaration
From
class MPSImageHistogram : MPSKernel {
    var clipRectSource: MTLRegion
    var zeroHistogram: Bool
    var histogramInfo: MPSImageHistogramInfo { get }
    init(device device: MTLDevice, histogramInfo histogramInfo: UnsafePointer<MPSImageHistogramInfo>)
    func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, histogram histogram: MTLBuffer, histogramOffset histogramOffset: Int)
    func histogramSizeForSourceFormat(_ sourceFormat: MTLPixelFormat) -> Int
}
To
class MPSImageHistogram : MPSKernel {
    var clipRectSource: MTLRegion
    var zeroHistogram: Bool
    var histogramInfo: MPSImageHistogramInfo { get }
    init(device device: MTLDevice, histogramInfo histogramInfo: UnsafePointer<MPSImageHistogramInfo>)
    func encode(to commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, histogram histogram: MTLBuffer, histogramOffset histogramOffset: Int)
    func histogramSize(forSourceFormat sourceFormat: MTLPixelFormat) -> Int
}

Declaration
From
func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, histogram histogram: MTLBuffer, histogramOffset histogramOffset: Int)
To
func encode(to commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, histogram histogram: MTLBuffer, histogramOffset histogramOffset: Int)

Declaration
From
func histogramSizeForSourceFormat(_ sourceFormat: MTLPixelFormat) -> Int
To
func histogramSize(forSourceFormat sourceFormat: MTLPixelFormat) -> Int

Declaration
From
class MPSImageHistogramEqualization : MPSUnaryImageKernel {
    var histogramInfo: MPSImageHistogramInfo { get }
    init(device device: MTLDevice, histogramInfo histogramInfo: UnsafePointer<MPSImageHistogramInfo>)
    func encodeTransformToCommandBuffer(_ commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, histogram histogram: MTLBuffer, histogramOffset histogramOffset: Int)
}
To
class MPSImageHistogramEqualization : MPSUnaryImageKernel {
    var histogramInfo: MPSImageHistogramInfo { get }
    init(device device: MTLDevice, histogramInfo histogramInfo: UnsafePointer<MPSImageHistogramInfo>)
    func encodeTransform(to commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, histogram histogram: MTLBuffer, histogramOffset histogramOffset: Int)
}

Declaration
From
func encodeTransformToCommandBuffer(_ commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, histogram histogram: MTLBuffer, histogramOffset histogramOffset: Int)
To
func encodeTransform(to commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, histogram histogram: MTLBuffer, histogramOffset histogramOffset: Int)

Declaration
From
class MPSImageHistogramSpecification : MPSUnaryImageKernel {
    var histogramInfo: MPSImageHistogramInfo { get }
    init(device device: MTLDevice, histogramInfo histogramInfo: UnsafePointer<MPSImageHistogramInfo>)
    func encodeTransformToCommandBuffer(_ commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, sourceHistogram sourceHistogram: MTLBuffer, sourceHistogramOffset sourceHistogramOffset: Int, desiredHistogram desiredHistogram: MTLBuffer, desiredHistogramOffset desiredHistogramOffset: Int)
}
To
class MPSImageHistogramSpecification : MPSUnaryImageKernel {
    var histogramInfo: MPSImageHistogramInfo { get }
    init(device device: MTLDevice, histogramInfo histogramInfo: UnsafePointer<MPSImageHistogramInfo>)
    func encodeTransform(to commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, sourceHistogram sourceHistogram: MTLBuffer, sourceHistogramOffset sourceHistogramOffset: Int, desiredHistogram desiredHistogram: MTLBuffer, desiredHistogramOffset desiredHistogramOffset: Int)
}

Declaration
From
func encodeTransformToCommandBuffer(_ commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, sourceHistogram sourceHistogram: MTLBuffer, sourceHistogramOffset sourceHistogramOffset: Int, desiredHistogram desiredHistogram: MTLBuffer, desiredHistogramOffset desiredHistogramOffset: Int)
To
func encodeTransform(to commandBuffer: MTLCommandBuffer, sourceTexture source: MTLTexture, sourceHistogram sourceHistogram: MTLBuffer, sourceHistogramOffset sourceHistogramOffset: Int, desiredHistogram desiredHistogram: MTLBuffer, desiredHistogramOffset desiredHistogramOffset: Int)

Declaration
From
class MPSImageLanczosScale : MPSUnaryImageKernel {
    var scaleTransform: UnsafePointer<MPSScaleTransform>
}
To
class MPSImageLanczosScale : MPSUnaryImageKernel {
    var scaleTransform: UnsafePointer<MPSScaleTransform>?
}

Modified MPSImageLanczosScale.scaleTransform
Declaration
From
var scaleTransform: UnsafePointer<MPSScaleTransform>
To
var scaleTransform: UnsafePointer<MPSScaleTransform>?

Declaration
From
class MPSImageThresholdBinary : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, maximumValue maximumValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var maximumValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}
To
class MPSImageThresholdBinary : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, maximumValue maximumValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var maximumValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}

Declaration
From
init(device device: MTLDevice, thresholdValue thresholdValue: Float, maximumValue maximumValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
To
init(device device: MTLDevice, thresholdValue thresholdValue: Float, maximumValue maximumValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)

Declaration
From
class MPSImageThresholdBinaryInverse : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, maximumValue maximumValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var maximumValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}
To
class MPSImageThresholdBinaryInverse : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, maximumValue maximumValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var maximumValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}

Declaration
From
init(device device: MTLDevice, thresholdValue thresholdValue: Float, maximumValue maximumValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
To
init(device device: MTLDevice, thresholdValue thresholdValue: Float, maximumValue maximumValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)

Declaration
From
class MPSImageThresholdToZero : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}
To
class MPSImageThresholdToZero : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}

Declaration
From
init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
To
init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)

Declaration
From
class MPSImageThresholdToZeroInverse : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}
To
class MPSImageThresholdToZeroInverse : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}

Declaration
From
init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
To
init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)

Declaration
From
class MPSImageThresholdTruncate : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}
To
class MPSImageThresholdTruncate : MPSUnaryImageKernel {
    init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)
    convenience init(device device: MTLDevice)
    var thresholdValue: Float { get }
    var transform: UnsafePointer<Float> { get }
}

Declaration
From
init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>)
To
init(device device: MTLDevice, thresholdValue thresholdValue: Float, linearGrayColorTransform transform: UnsafePointer<Float>?)

Modified MPSKernel
DeclarationProtocols
From
class MPSKernel : NSObject, NSCopying {
    var options: MPSKernelOptions
    var device: MTLDevice { get }
    var label: String?
    init(device device: MTLDevice)
    func copyWithZone(_ zone: NSZone, device device: MTLDevice?) -> Self
}
NSCopying
To
class MPSKernel : NSObject, NSCopying {
    var options: MPSKernelOptions
    var device: MTLDevice { get }
    var label: String?
    init(device device: MTLDevice)
    func copy(with zone: NSZone? = nil, device device: MTLDevice?) -> Self
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func performSelector(onMainThread aSelector: Selector, with arg: Any?, waitUntilDone wait: Bool)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool, modes array: [String]?)
    func perform(_ aSelector: Selector, on thr: Thread, with arg: Any?, waitUntilDone wait: Bool)
    func performSelector(inBackground aSelector: Selector, with arg: Any?)
    class func classForKeyedUnarchiver() -> AnyClass
    var classForKeyedArchiver: AnyClass? { get }
    func replacementObject(for archiver: NSKeyedArchiver) -> Any?
    class func classFallbacksForKeyedArchiver() -> [String]
    class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String>
    class func automaticallyNotifiesObservers(forKey key: String) -> Bool
    var observationInfo: UnsafeMutableRawPointer?
    func willChangeValue(forKey key: String)
    func didChangeValue(forKey key: String)
    func willChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func didChange(_ changeKind: NSKeyValueChange, valuesAt indexes: IndexSet, forKey key: String)
    func willChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func didChangeValue(forKey key: String, withSetMutation mutationKind: NSKeyValueSetMutationKind, using objects: Set<AnyHashable>)
    func addObserver(_ observer: NSObject, forKeyPath keyPath: String, options options: NSKeyValueObservingOptions = [], context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String, context context: UnsafeMutableRawPointer?)
    func removeObserver(_ observer: NSObject, forKeyPath keyPath: String)
    func observeValue(forKeyPath keyPath: String?, of object: Any?, change change: [NSKeyValueChangeKey : Any]?, context context: UnsafeMutableRawPointer?)
    class var accessInstanceVariablesDirectly: Bool { get }
    func value(forKey key: String) -> Any?
    func setValue(_ value: Any?, forKey key: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKey inKey: String) throws
    func mutableArrayValue(forKey key: String) -> NSMutableArray
    func mutableOrderedSetValue(forKey key: String) -> NSMutableOrderedSet
    func mutableSetValue(forKey key: String) -> NSMutableSet
    func value(forKeyPath keyPath: String) -> Any?
    func setValue(_ value: Any?, forKeyPath keyPath: String)
    func validateValue(_ ioValue: AutoreleasingUnsafeMutablePointer<AnyObject?>, forKeyPath inKeyPath: String) throws
    func mutableArrayValue(forKeyPath keyPath: String) -> NSMutableArray
    func mutableOrderedSetValue(forKeyPath keyPath: String) -> NSMutableOrderedSet
    func mutableSetValue(forKeyPath keyPath: String) -> NSMutableSet
    func value(forUndefinedKey key: String) -> Any?
    func setValue(_ value: Any?, forUndefinedKey key: String)
    func setNilValueForKey(_ key: String)
    func dictionaryWithValues(forKeys keys: [String]) -> [String : Any]
    func setValuesForKeys(_ keyedValues: [String : Any])
    func fileManager(_ fm: FileManager, shouldProceedAfterError errorInfo: [AnyHashable : Any]) -> Bool
    func fileManager(_ fm: FileManager, willProcessPath path: String)
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval, inModes modes: [RunLoopMode])
    func perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any, selector aSelector: Selector, object anArgument: Any?)
    class func cancelPreviousPerformRequests(withTarget aTarget: Any)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int, delegate delegate: Any?, didRecoverSelector didRecoverSelector: Selector?, contextInfo contextInfo: UnsafeMutableRawPointer?)
    func attemptRecovery(fromError error: Error, optionIndex recoveryOptionIndex: Int) -> Bool
    var autoContentAccessingProxy: Any { get }
    class func version() -> Int
    class func setVersion(_ aVersion: Int)
    var classForCoder: AnyClass { get }
    func awakeAfter(using aDecoder: NSCoder) -> Any?
}
extension MPSKernel : CVarArg {
}
extension MPSKernel : Equatable, Hashable {
    var hashValue: Int { get }
}
CVarArg, Equatable, Hashable, NSCopying

Declaration
From
func copyWithZone(_ zone: NSZone, device device: MTLDevice?) -> Self
To
func copy(with zone: NSZone? = nil, device device: MTLDevice?) -> Self

DeclarationProtocols
From
struct MPSKernelOptions : OptionSetType {
    init(rawValue rawValue: UInt)
    static var None: MPSKernelOptions { get }
    static var SkipAPIValidation: MPSKernelOptions { get }
    static var AllowReducedPrecision: MPSKernelOptions { get }
}
OptionSetType
To
struct MPSKernelOptions : OptionSet {
    init(rawValue rawValue: UInt)
    static var none: MPSKernelOptions { get }
    static var skipAPIValidation: MPSKernelOptions { get }
    static var allowReducedPrecision: MPSKernelOptions { get }
    static var disableInternalTiling: MPSKernelOptions { get }
    static var insertDebugGroups: MPSKernelOptions { get }
    func intersect(_ other: MPSKernelOptions) -> MPSKernelOptions
    func exclusiveOr(_ other: MPSKernelOptions) -> MPSKernelOptions
    mutating func unionInPlace(_ other: MPSKernelOptions)
    mutating func intersectInPlace(_ other: MPSKernelOptions)
    mutating func exclusiveOrInPlace(_ other: MPSKernelOptions)
    func isSubsetOf(_ other: MPSKernelOptions) -> Bool
    func isDisjointWith(_ other: MPSKernelOptions) -> Bool
    func isSupersetOf(_ other: MPSKernelOptions) -> Bool
    mutating func subtractInPlace(_ other: MPSKernelOptions)
    func isStrictSupersetOf(_ other: MPSKernelOptions) -> Bool
    func isStrictSubsetOf(_ other: MPSKernelOptions) -> Bool
}
extension MPSKernelOptions {
    func union(_ other: MPSKernelOptions) -> MPSKernelOptions
    func intersection(_ other: MPSKernelOptions) -> MPSKernelOptions
    func symmetricDifference(_ other: MPSKernelOptions) -> MPSKernelOptions
}
extension MPSKernelOptions {
    func contains(_ member: MPSKernelOptions) -> Bool
    mutating func insert(_ newMember: MPSKernelOptions) -> (inserted: Bool, memberAfterInsert: MPSKernelOptions)
    mutating func remove(_ member: MPSKernelOptions) -> MPSKernelOptions?
    mutating func update(with newMember: MPSKernelOptions) -> MPSKernelOptions?
}
extension MPSKernelOptions {
    convenience init()
    mutating func formUnion(_ other: MPSKernelOptions)
    mutating func formIntersection(_ other: MPSKernelOptions)
    mutating func formSymmetricDifference(_ other: MPSKernelOptions)
}
extension MPSKernelOptions {
    convenience init<S : Sequence where S.Iterator.Element == MPSKernelOptions>(_ sequence: S)
    convenience init(arrayLiteral arrayLiteral: MPSKernelOptions...)
    mutating func subtract(_ other: MPSKernelOptions)
    func isSubset(of other: MPSKernelOptions) -> Bool
    func isSuperset(of other: MPSKernelOptions) -> Bool
    func isDisjoint(with other: MPSKernelOptions) -> Bool
    func subtracting(_ other: MPSKernelOptions) -> MPSKernelOptions
    var isEmpty: Bool { get }
    func isStrictSuperset(of other: MPSKernelOptions) -> Bool
    func isStrictSubset(of other: MPSKernelOptions) -> Bool
}
OptionSet

Declaration
From
static var AllowReducedPrecision: MPSKernelOptions { get }
To
static var allowReducedPrecision: MPSKernelOptions { get }

Declaration
From
static var SkipAPIValidation: MPSKernelOptions { get }
To
static var skipAPIValidation: MPSKernelOptions { get }

Declaration
From
class MPSUnaryImageKernel : MPSKernel {
    var offset: MPSOffset
    var clipRect: MTLRegion
    var edgeMode: MPSImageEdgeMode
    func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, inPlaceTexture texture: UnsafeMutablePointer<MTLTexture?>, fallbackCopyAllocator copyAllocator: MPSCopyAllocator?) -> Bool
    func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, sourceTexture sourceTexture: MTLTexture, destinationTexture destinationTexture: MTLTexture)
    func sourceRegionForDestinationSize(_ destinationSize: MTLSize) -> MPSRegion
}
To
class MPSUnaryImageKernel : MPSKernel {
    var offset: MPSOffset
    var clipRect: MTLRegion
    var edgeMode: MPSImageEdgeMode
    func encode(commandBuffer commandBuffer: MTLCommandBuffer, inPlaceTexture texture: UnsafeMutablePointer<MTLTexture>, fallbackCopyAllocator copyAllocator: MetalPerformanceShaders.MPSCopyAllocator? = nil) -> Bool
    func encode(commandBuffer commandBuffer: MTLCommandBuffer, sourceTexture sourceTexture: MTLTexture, destinationTexture destinationTexture: MTLTexture)
    func sourceRegion(destinationSize destinationSize: MTLSize) -> MPSRegion
}

Declaration
From
func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, inPlaceTexture texture: UnsafeMutablePointer<MTLTexture?>, fallbackCopyAllocator copyAllocator: MPSCopyAllocator?) -> Bool
To
func encode(commandBuffer commandBuffer: MTLCommandBuffer, inPlaceTexture texture: UnsafeMutablePointer<MTLTexture>, fallbackCopyAllocator copyAllocator: MetalPerformanceShaders.MPSCopyAllocator? = nil) -> Bool

Declaration
From
func encodeToCommandBuffer(_ commandBuffer: MTLCommandBuffer, sourceTexture sourceTexture: MTLTexture, destinationTexture destinationTexture: MTLTexture)
To
func encode(commandBuffer commandBuffer: MTLCommandBuffer, sourceTexture sourceTexture: MTLTexture, destinationTexture destinationTexture: MTLTexture)

Declaration
From
func sourceRegionForDestinationSize(_ destinationSize: MTLSize) -> MPSRegion
To
func sourceRegion(destinationSize destinationSize: MTLSize) -> MPSRegion