Documentation Archive Developer
Search

Metal Changes for Swift

Metal

Modified MTLArgument
Protocols
FromAnyObject
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Modified MTLArrayType
Protocols
FromAnyObject
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

DeclarationProtocols
From
protocol MTLBlitCommandEncoder : MTLCommandEncoder, NSObjectProtocol {
    func synchronizeResource(_ resource: MTLResource)
    func synchronizeTexture(_ texture: MTLTexture, slice slice: Int, level level: Int)
    func copyFromTexture(_ sourceTexture: MTLTexture, sourceSlice sourceSlice: Int, sourceLevel sourceLevel: Int, sourceOrigin sourceOrigin: MTLOrigin, sourceSize sourceSize: MTLSize, toTexture destinationTexture: MTLTexture, destinationSlice destinationSlice: Int, destinationLevel destinationLevel: Int, destinationOrigin destinationOrigin: MTLOrigin)
    func copyFromBuffer(_ sourceBuffer: MTLBuffer, sourceOffset sourceOffset: Int, sourceBytesPerRow sourceBytesPerRow: Int, sourceBytesPerImage sourceBytesPerImage: Int, sourceSize sourceSize: MTLSize, toTexture destinationTexture: MTLTexture, destinationSlice destinationSlice: Int, destinationLevel destinationLevel: Int, destinationOrigin destinationOrigin: MTLOrigin)
    func copyFromBuffer(_ sourceBuffer: MTLBuffer, sourceOffset sourceOffset: Int, sourceBytesPerRow sourceBytesPerRow: Int, sourceBytesPerImage sourceBytesPerImage: Int, sourceSize sourceSize: MTLSize, toTexture destinationTexture: MTLTexture, destinationSlice destinationSlice: Int, destinationLevel destinationLevel: Int, destinationOrigin destinationOrigin: MTLOrigin, options options: MTLBlitOption)
    func copyFromTexture(_ sourceTexture: MTLTexture, sourceSlice sourceSlice: Int, sourceLevel sourceLevel: Int, sourceOrigin sourceOrigin: MTLOrigin, sourceSize sourceSize: MTLSize, toBuffer destinationBuffer: MTLBuffer, destinationOffset destinationOffset: Int, destinationBytesPerRow destinationBytesPerRow: Int, destinationBytesPerImage destinationBytesPerImage: Int)
    func copyFromTexture(_ sourceTexture: MTLTexture, sourceSlice sourceSlice: Int, sourceLevel sourceLevel: Int, sourceOrigin sourceOrigin: MTLOrigin, sourceSize sourceSize: MTLSize, toBuffer destinationBuffer: MTLBuffer, destinationOffset destinationOffset: Int, destinationBytesPerRow destinationBytesPerRow: Int, destinationBytesPerImage destinationBytesPerImage: Int, options options: MTLBlitOption)
    func generateMipmapsForTexture(_ texture: MTLTexture)
    func fillBuffer(_ buffer: MTLBuffer, range range: NSRange, value value: UInt8)
    func copyFromBuffer(_ sourceBuffer: MTLBuffer, sourceOffset sourceOffset: Int, toBuffer destinationBuffer: MTLBuffer, destinationOffset destinationOffset: Int, size size: Int)
}
MTLCommandEncoder, NSObjectProtocol
To
protocol MTLBlitCommandEncoder : MTLCommandEncoder {
    func synchronizeResource(_ resource: MTLResource)
    func synchronizeTexture(_ texture: MTLTexture, slice slice: Int, level level: Int)
    func copyFromTexture(_ sourceTexture: MTLTexture, sourceSlice sourceSlice: Int, sourceLevel sourceLevel: Int, sourceOrigin sourceOrigin: MTLOrigin, sourceSize sourceSize: MTLSize, toTexture destinationTexture: MTLTexture, destinationSlice destinationSlice: Int, destinationLevel destinationLevel: Int, destinationOrigin destinationOrigin: MTLOrigin)
    func copyFromBuffer(_ sourceBuffer: MTLBuffer, sourceOffset sourceOffset: Int, sourceBytesPerRow sourceBytesPerRow: Int, sourceBytesPerImage sourceBytesPerImage: Int, sourceSize sourceSize: MTLSize, toTexture destinationTexture: MTLTexture, destinationSlice destinationSlice: Int, destinationLevel destinationLevel: Int, destinationOrigin destinationOrigin: MTLOrigin)
    func copyFromBuffer(_ sourceBuffer: MTLBuffer, sourceOffset sourceOffset: Int, sourceBytesPerRow sourceBytesPerRow: Int, sourceBytesPerImage sourceBytesPerImage: Int, sourceSize sourceSize: MTLSize, toTexture destinationTexture: MTLTexture, destinationSlice destinationSlice: Int, destinationLevel destinationLevel: Int, destinationOrigin destinationOrigin: MTLOrigin, options options: MTLBlitOption)
    func copyFromTexture(_ sourceTexture: MTLTexture, sourceSlice sourceSlice: Int, sourceLevel sourceLevel: Int, sourceOrigin sourceOrigin: MTLOrigin, sourceSize sourceSize: MTLSize, toBuffer destinationBuffer: MTLBuffer, destinationOffset destinationOffset: Int, destinationBytesPerRow destinationBytesPerRow: Int, destinationBytesPerImage destinationBytesPerImage: Int)
    func copyFromTexture(_ sourceTexture: MTLTexture, sourceSlice sourceSlice: Int, sourceLevel sourceLevel: Int, sourceOrigin sourceOrigin: MTLOrigin, sourceSize sourceSize: MTLSize, toBuffer destinationBuffer: MTLBuffer, destinationOffset destinationOffset: Int, destinationBytesPerRow destinationBytesPerRow: Int, destinationBytesPerImage destinationBytesPerImage: Int, options options: MTLBlitOption)
    func generateMipmapsForTexture(_ texture: MTLTexture)
    func fillBuffer(_ buffer: MTLBuffer, range range: NSRange, value value: UInt8)
    func copyFromBuffer(_ sourceBuffer: MTLBuffer, sourceOffset sourceOffset: Int, toBuffer destinationBuffer: MTLBuffer, destinationOffset destinationOffset: Int, size size: Int)
}
MTLCommandEncoder

Modified MTLBuffer
DeclarationProtocols
From
protocol MTLBuffer : MTLResource, NSObjectProtocol {
    var length: Int { get }
    func contents() -> UnsafeMutablePointer<Void>
    func didModifyRange(_ range: NSRange)
    func newTextureWithDescriptor(_ descriptor: MTLTextureDescriptor, offset offset: Int, bytesPerRow bytesPerRow: Int) -> MTLTexture
}
MTLResource, NSObjectProtocol
To
protocol MTLBuffer : MTLResource {
    var length: Int { get }
    func contents() -> UnsafeMutablePointer<Void>
    func didModifyRange(_ range: NSRange)
    func newTextureWithDescriptor(_ descriptor: MTLTextureDescriptor, offset offset: Int, bytesPerRow bytesPerRow: Int) -> MTLTexture
}
MTLResource

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

DeclarationProtocols
From
protocol MTLComputeCommandEncoder : MTLCommandEncoder, NSObjectProtocol {
    func setComputePipelineState(_ state: MTLComputePipelineState)
    func setBytes(_ bytes: UnsafePointer<Void>, length length: Int, atIndex index: Int)
    func setBuffer(_ buffer: MTLBuffer?, offset offset: Int, atIndex index: Int)
    func setBufferOffset(_ offset: Int, atIndex index: Int)
    func setBuffers(_ buffers: UnsafePointer<MTLBuffer?>, offsets offsets: UnsafePointer<Int>, withRange range: NSRange)
    func setTexture(_ texture: MTLTexture?, atIndex index: Int)
    func setTextures(_ textures: UnsafePointer<MTLTexture?>, withRange range: NSRange)
    func setSamplerState(_ sampler: MTLSamplerState?, atIndex index: Int)
    func setSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, withRange range: NSRange)
    func setSamplerState(_ sampler: MTLSamplerState?, lodMinClamp lodMinClamp: Float, lodMaxClamp lodMaxClamp: Float, atIndex index: Int)
    func setSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, lodMinClamps lodMinClamps: UnsafePointer<Float>, lodMaxClamps lodMaxClamps: UnsafePointer<Float>, withRange range: NSRange)
    func setThreadgroupMemoryLength(_ length: Int, atIndex index: Int)
    func dispatchThreadgroups(_ threadgroupsPerGrid: MTLSize, threadsPerThreadgroup threadsPerThreadgroup: MTLSize)
    func dispatchThreadgroupsWithIndirectBuffer(_ indirectBuffer: MTLBuffer, indirectBufferOffset indirectBufferOffset: Int, threadsPerThreadgroup threadsPerThreadgroup: MTLSize)
}
MTLCommandEncoder, NSObjectProtocol
To
protocol MTLComputeCommandEncoder : MTLCommandEncoder {
    func setComputePipelineState(_ state: MTLComputePipelineState)
    func setBytes(_ bytes: UnsafePointer<Void>, length length: Int, atIndex index: Int)
    func setBuffer(_ buffer: MTLBuffer?, offset offset: Int, atIndex index: Int)
    func setBufferOffset(_ offset: Int, atIndex index: Int)
    func setBuffers(_ buffers: UnsafePointer<MTLBuffer?>, offsets offsets: UnsafePointer<Int>, withRange range: NSRange)
    func setTexture(_ texture: MTLTexture?, atIndex index: Int)
    func setTextures(_ textures: UnsafePointer<MTLTexture?>, withRange range: NSRange)
    func setSamplerState(_ sampler: MTLSamplerState?, atIndex index: Int)
    func setSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, withRange range: NSRange)
    func setSamplerState(_ sampler: MTLSamplerState?, lodMinClamp lodMinClamp: Float, lodMaxClamp lodMaxClamp: Float, atIndex index: Int)
    func setSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, lodMinClamps lodMinClamps: UnsafePointer<Float>, lodMaxClamps lodMaxClamps: UnsafePointer<Float>, withRange range: NSRange)
    func setThreadgroupMemoryLength(_ length: Int, atIndex index: Int)
    func dispatchThreadgroups(_ threadgroupsPerGrid: MTLSize, threadsPerThreadgroup threadsPerThreadgroup: MTLSize)
    func dispatchThreadgroupsWithIndirectBuffer(_ indirectBuffer: MTLBuffer, indirectBufferOffset indirectBufferOffset: Int, threadsPerThreadgroup threadsPerThreadgroup: MTLSize)
}
MTLCommandEncoder

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromAnyObject
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

DeclarationProtocols
From
protocol MTLParallelRenderCommandEncoder : MTLCommandEncoder, NSObjectProtocol {
    func renderCommandEncoder() -> MTLRenderCommandEncoder
}
MTLCommandEncoder, NSObjectProtocol
To
protocol MTLParallelRenderCommandEncoder : MTLCommandEncoder {
    func renderCommandEncoder() -> MTLRenderCommandEncoder
}
MTLCommandEncoder

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

DeclarationProtocols
From
protocol MTLRenderCommandEncoder : MTLCommandEncoder, NSObjectProtocol {
    func setRenderPipelineState(_ pipelineState: MTLRenderPipelineState)
    func setVertexBytes(_ bytes: UnsafePointer<Void>, length length: Int, atIndex index: Int)
    func setVertexBuffer(_ buffer: MTLBuffer?, offset offset: Int, atIndex index: Int)
    func setVertexBufferOffset(_ offset: Int, atIndex index: Int)
    func setVertexBuffers(_ buffers: UnsafePointer<MTLBuffer?>, offsets offsets: UnsafePointer<Int>, withRange range: NSRange)
    func setVertexTexture(_ texture: MTLTexture?, atIndex index: Int)
    func setVertexTextures(_ textures: UnsafePointer<MTLTexture?>, withRange range: NSRange)
    func setVertexSamplerState(_ sampler: MTLSamplerState?, atIndex index: Int)
    func setVertexSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, withRange range: NSRange)
    func setVertexSamplerState(_ sampler: MTLSamplerState?, lodMinClamp lodMinClamp: Float, lodMaxClamp lodMaxClamp: Float, atIndex index: Int)
    func setVertexSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, lodMinClamps lodMinClamps: UnsafePointer<Float>, lodMaxClamps lodMaxClamps: UnsafePointer<Float>, withRange range: NSRange)
    func setViewport(_ viewport: MTLViewport)
    func setFrontFacingWinding(_ frontFacingWinding: MTLWinding)
    func setCullMode(_ cullMode: MTLCullMode)
    func setDepthClipMode(_ depthClipMode: MTLDepthClipMode)
    func setDepthBias(_ depthBias: Float, slopeScale slopeScale: Float, clamp clamp: Float)
    func setScissorRect(_ rect: MTLScissorRect)
    func setTriangleFillMode(_ fillMode: MTLTriangleFillMode)
    func setFragmentBytes(_ bytes: UnsafePointer<Void>, length length: Int, atIndex index: Int)
    func setFragmentBuffer(_ buffer: MTLBuffer?, offset offset: Int, atIndex index: Int)
    func setFragmentBufferOffset(_ offset: Int, atIndex index: Int)
    func setFragmentBuffers(_ buffers: UnsafePointer<MTLBuffer?>, offsets offset: UnsafePointer<Int>, withRange range: NSRange)
    func setFragmentTexture(_ texture: MTLTexture?, atIndex index: Int)
    func setFragmentTextures(_ textures: UnsafePointer<MTLTexture?>, withRange range: NSRange)
    func setFragmentSamplerState(_ sampler: MTLSamplerState?, atIndex index: Int)
    func setFragmentSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, withRange range: NSRange)
    func setFragmentSamplerState(_ sampler: MTLSamplerState?, lodMinClamp lodMinClamp: Float, lodMaxClamp lodMaxClamp: Float, atIndex index: Int)
    func setFragmentSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, lodMinClamps lodMinClamps: UnsafePointer<Float>, lodMaxClamps lodMaxClamps: UnsafePointer<Float>, withRange range: NSRange)
    func setBlendColorRed(_ red: Float, green green: Float, blue blue: Float, alpha alpha: Float)
    func setDepthStencilState(_ depthStencilState: MTLDepthStencilState?)
    func setStencilReferenceValue(_ referenceValue: UInt32)
    func setStencilFrontReferenceValue(_ frontReferenceValue: UInt32, backReferenceValue backReferenceValue: UInt32)
    func setVisibilityResultMode(_ mode: MTLVisibilityResultMode, offset offset: Int)
    func drawPrimitives(_ primitiveType: MTLPrimitiveType, vertexStart vertexStart: Int, vertexCount vertexCount: Int, instanceCount instanceCount: Int)
    func drawPrimitives(_ primitiveType: MTLPrimitiveType, vertexStart vertexStart: Int, vertexCount vertexCount: Int)
    func drawIndexedPrimitives(_ primitiveType: MTLPrimitiveType, indexCount indexCount: Int, indexType indexType: MTLIndexType, indexBuffer indexBuffer: MTLBuffer, indexBufferOffset indexBufferOffset: Int, instanceCount instanceCount: Int)
    func drawIndexedPrimitives(_ primitiveType: MTLPrimitiveType, indexCount indexCount: Int, indexType indexType: MTLIndexType, indexBuffer indexBuffer: MTLBuffer, indexBufferOffset indexBufferOffset: Int)
    func drawPrimitives(_ primitiveType: MTLPrimitiveType, vertexStart vertexStart: Int, vertexCount vertexCount: Int, instanceCount instanceCount: Int, baseInstance baseInstance: Int)
    func drawIndexedPrimitives(_ primitiveType: MTLPrimitiveType, indexCount indexCount: Int, indexType indexType: MTLIndexType, indexBuffer indexBuffer: MTLBuffer, indexBufferOffset indexBufferOffset: Int, instanceCount instanceCount: Int, baseVertex baseVertex: Int, baseInstance baseInstance: Int)
    func drawPrimitives(_ primitiveType: MTLPrimitiveType, indirectBuffer indirectBuffer: MTLBuffer, indirectBufferOffset indirectBufferOffset: Int)
    func drawIndexedPrimitives(_ primitiveType: MTLPrimitiveType, indexType indexType: MTLIndexType, indexBuffer indexBuffer: MTLBuffer, indexBufferOffset indexBufferOffset: Int, indirectBuffer indirectBuffer: MTLBuffer, indirectBufferOffset indirectBufferOffset: Int)
}
MTLCommandEncoder, NSObjectProtocol
To
protocol MTLRenderCommandEncoder : MTLCommandEncoder {
    func setRenderPipelineState(_ pipelineState: MTLRenderPipelineState)
    func setVertexBytes(_ bytes: UnsafePointer<Void>, length length: Int, atIndex index: Int)
    func setVertexBuffer(_ buffer: MTLBuffer?, offset offset: Int, atIndex index: Int)
    func setVertexBufferOffset(_ offset: Int, atIndex index: Int)
    func setVertexBuffers(_ buffers: UnsafePointer<MTLBuffer?>, offsets offsets: UnsafePointer<Int>, withRange range: NSRange)
    func setVertexTexture(_ texture: MTLTexture?, atIndex index: Int)
    func setVertexTextures(_ textures: UnsafePointer<MTLTexture?>, withRange range: NSRange)
    func setVertexSamplerState(_ sampler: MTLSamplerState?, atIndex index: Int)
    func setVertexSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, withRange range: NSRange)
    func setVertexSamplerState(_ sampler: MTLSamplerState?, lodMinClamp lodMinClamp: Float, lodMaxClamp lodMaxClamp: Float, atIndex index: Int)
    func setVertexSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, lodMinClamps lodMinClamps: UnsafePointer<Float>, lodMaxClamps lodMaxClamps: UnsafePointer<Float>, withRange range: NSRange)
    func setViewport(_ viewport: MTLViewport)
    func setFrontFacingWinding(_ frontFacingWinding: MTLWinding)
    func setCullMode(_ cullMode: MTLCullMode)
    func setDepthClipMode(_ depthClipMode: MTLDepthClipMode)
    func setDepthBias(_ depthBias: Float, slopeScale slopeScale: Float, clamp clamp: Float)
    func setScissorRect(_ rect: MTLScissorRect)
    func setTriangleFillMode(_ fillMode: MTLTriangleFillMode)
    func setFragmentBytes(_ bytes: UnsafePointer<Void>, length length: Int, atIndex index: Int)
    func setFragmentBuffer(_ buffer: MTLBuffer?, offset offset: Int, atIndex index: Int)
    func setFragmentBufferOffset(_ offset: Int, atIndex index: Int)
    func setFragmentBuffers(_ buffers: UnsafePointer<MTLBuffer?>, offsets offset: UnsafePointer<Int>, withRange range: NSRange)
    func setFragmentTexture(_ texture: MTLTexture?, atIndex index: Int)
    func setFragmentTextures(_ textures: UnsafePointer<MTLTexture?>, withRange range: NSRange)
    func setFragmentSamplerState(_ sampler: MTLSamplerState?, atIndex index: Int)
    func setFragmentSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, withRange range: NSRange)
    func setFragmentSamplerState(_ sampler: MTLSamplerState?, lodMinClamp lodMinClamp: Float, lodMaxClamp lodMaxClamp: Float, atIndex index: Int)
    func setFragmentSamplerStates(_ samplers: UnsafePointer<MTLSamplerState?>, lodMinClamps lodMinClamps: UnsafePointer<Float>, lodMaxClamps lodMaxClamps: UnsafePointer<Float>, withRange range: NSRange)
    func setBlendColorRed(_ red: Float, green green: Float, blue blue: Float, alpha alpha: Float)
    func setDepthStencilState(_ depthStencilState: MTLDepthStencilState?)
    func setStencilReferenceValue(_ referenceValue: UInt32)
    func setStencilFrontReferenceValue(_ frontReferenceValue: UInt32, backReferenceValue backReferenceValue: UInt32)
    func setVisibilityResultMode(_ mode: MTLVisibilityResultMode, offset offset: Int)
    func drawPrimitives(_ primitiveType: MTLPrimitiveType, vertexStart vertexStart: Int, vertexCount vertexCount: Int, instanceCount instanceCount: Int)
    func drawPrimitives(_ primitiveType: MTLPrimitiveType, vertexStart vertexStart: Int, vertexCount vertexCount: Int)
    func drawIndexedPrimitives(_ primitiveType: MTLPrimitiveType, indexCount indexCount: Int, indexType indexType: MTLIndexType, indexBuffer indexBuffer: MTLBuffer, indexBufferOffset indexBufferOffset: Int, instanceCount instanceCount: Int)
    func drawIndexedPrimitives(_ primitiveType: MTLPrimitiveType, indexCount indexCount: Int, indexType indexType: MTLIndexType, indexBuffer indexBuffer: MTLBuffer, indexBufferOffset indexBufferOffset: Int)
    func drawPrimitives(_ primitiveType: MTLPrimitiveType, vertexStart vertexStart: Int, vertexCount vertexCount: Int, instanceCount instanceCount: Int, baseInstance baseInstance: Int)
    func drawIndexedPrimitives(_ primitiveType: MTLPrimitiveType, indexCount indexCount: Int, indexType indexType: MTLIndexType, indexBuffer indexBuffer: MTLBuffer, indexBufferOffset indexBufferOffset: Int, instanceCount instanceCount: Int, baseVertex baseVertex: Int, baseInstance baseInstance: Int)
    func drawPrimitives(_ primitiveType: MTLPrimitiveType, indirectBuffer indirectBuffer: MTLBuffer, indirectBufferOffset indirectBufferOffset: Int)
    func drawIndexedPrimitives(_ primitiveType: MTLPrimitiveType, indexType indexType: MTLIndexType, indexBuffer indexBuffer: MTLBuffer, indexBufferOffset indexBufferOffset: Int, indirectBuffer indirectBuffer: MTLBuffer, indirectBufferOffset indirectBufferOffset: Int)
}
MTLCommandEncoder

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromAnyObject
To--

Protocols
FromAnyObject
To--

Protocols
FromAnyObject
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromAnyObject
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromAnyObject
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

Modified MTLRenderPipelineError [enum]
Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromAnyObject
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromAnyObject
To--

Modified MTLStructType
Protocols
FromAnyObject
To--

Modified MTLTexture
DeclarationProtocols
From
protocol MTLTexture : MTLResource, NSObjectProtocol {
    var rootResource: MTLResource? { get }
    var parentTexture: MTLTexture? { get }
    var parentRelativeLevel: Int { get }
    var parentRelativeSlice: Int { get }
    var buffer: MTLBuffer? { get }
    var bufferOffset: Int { get }
    var bufferBytesPerRow: Int { get }
    var textureType: MTLTextureType { get }
    var pixelFormat: MTLPixelFormat { get }
    var width: Int { get }
    var height: Int { get }
    var depth: Int { get }
    var mipmapLevelCount: Int { get }
    var sampleCount: Int { get }
    var arrayLength: Int { get }
    var usage: MTLTextureUsage { get }
    var framebufferOnly: Bool { get }
    func getBytes(_ pixelBytes: UnsafeMutablePointer<Void>, bytesPerRow bytesPerRow: Int, bytesPerImage bytesPerImage: Int, fromRegion region: MTLRegion, mipmapLevel level: Int, slice slice: Int)
    func replaceRegion(_ region: MTLRegion, mipmapLevel level: Int, slice slice: Int, withBytes pixelBytes: UnsafePointer<Void>, bytesPerRow bytesPerRow: Int, bytesPerImage bytesPerImage: Int)
    func getBytes(_ pixelBytes: UnsafeMutablePointer<Void>, bytesPerRow bytesPerRow: Int, fromRegion region: MTLRegion, mipmapLevel level: Int)
    func replaceRegion(_ region: MTLRegion, mipmapLevel level: Int, withBytes pixelBytes: UnsafePointer<Void>, bytesPerRow bytesPerRow: Int)
    func newTextureViewWithPixelFormat(_ pixelFormat: MTLPixelFormat) -> MTLTexture
    func newTextureViewWithPixelFormat(_ pixelFormat: MTLPixelFormat, textureType textureType: MTLTextureType, levels levelRange: NSRange, slices sliceRange: NSRange) -> MTLTexture
}
MTLResource, NSObjectProtocol
To
protocol MTLTexture : MTLResource {
    var rootResource: MTLResource? { get }
    var parentTexture: MTLTexture? { get }
    var parentRelativeLevel: Int { get }
    var parentRelativeSlice: Int { get }
    var buffer: MTLBuffer? { get }
    var bufferOffset: Int { get }
    var bufferBytesPerRow: Int { get }
    var textureType: MTLTextureType { get }
    var pixelFormat: MTLPixelFormat { get }
    var width: Int { get }
    var height: Int { get }
    var depth: Int { get }
    var mipmapLevelCount: Int { get }
    var sampleCount: Int { get }
    var arrayLength: Int { get }
    var usage: MTLTextureUsage { get }
    var framebufferOnly: Bool { get }
    func getBytes(_ pixelBytes: UnsafeMutablePointer<Void>, bytesPerRow bytesPerRow: Int, bytesPerImage bytesPerImage: Int, fromRegion region: MTLRegion, mipmapLevel level: Int, slice slice: Int)
    func replaceRegion(_ region: MTLRegion, mipmapLevel level: Int, slice slice: Int, withBytes pixelBytes: UnsafePointer<Void>, bytesPerRow bytesPerRow: Int, bytesPerImage bytesPerImage: Int)
    func getBytes(_ pixelBytes: UnsafeMutablePointer<Void>, bytesPerRow bytesPerRow: Int, fromRegion region: MTLRegion, mipmapLevel level: Int)
    func replaceRegion(_ region: MTLRegion, mipmapLevel level: Int, withBytes pixelBytes: UnsafePointer<Void>, bytesPerRow bytesPerRow: Int)
    func newTextureViewWithPixelFormat(_ pixelFormat: MTLPixelFormat) -> MTLTexture
    func newTextureViewWithPixelFormat(_ pixelFormat: MTLPixelFormat, textureType textureType: MTLTextureType, levels levelRange: NSRange, slices sliceRange: NSRange) -> MTLTexture
}
MTLResource

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromAnyObject
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromAnyObject
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromAnyObject
To--

Protocols
FromAnyObject, NSCopying
ToNSCopying

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--

Protocols
FromEquatable, Hashable, RawRepresentable
To--