---
title: MTL4BinaryFunction
framework: metal
role: symbol
role_heading: Protocol
path: metal/mtl4binaryfunction
---

# MTL4BinaryFunction

Represents a binary function.

## Declaration

```swift
protocol MTL4BinaryFunction : NSObjectProtocol, Sendable
```

## Overview

Overview A binary function is a shader that you precompile from Metal IR to GPU machine code.

## Topics

### Instance Properties

- [functionType](metal/mtl4binaryfunction/functiontype.md)
- [name](metal/mtl4binaryfunction/name.md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Shader compilation

- [Metal libraries](metal/metal-libraries.md)
- [Metal dynamic libraries](metal/metal-dynamic-libraries.md)
- [Metal binary archives](metal/metal-binary-archives.md)
- [MTL4Compiler](metal/mtl4compiler.md)
- [MTL4CompilerDescriptor](metal/mtl4compilerdescriptor.md)
- [MTL4CompilerTaskOptions](metal/mtl4compilertaskoptions.md)
- [MTL4CompilerTaskStatus](metal/mtl4compilertaskstatus.md)
- [MTL4Archive](metal/mtl4archive.md)
- [MTL4BinaryFunctionDescriptor](metal/mtl4binaryfunctiondescriptor.md)
- [MTL4BinaryFunctionOptions](metal/mtl4binaryfunctionoptions.md)
- [MTL4PipelineStageDynamicLinkingDescriptor](metal/mtl4pipelinestagedynamiclinkingdescriptor.md)
