---
title: MTLLinkedFunctions
framework: metal
role: symbol
role_heading: Class
path: metal/mtllinkedfunctions
---

# MTLLinkedFunctions

A set of related functions that Metal links to when necessary to create the function instance.

## Declaration

```swift
class MTLLinkedFunctions
```

## Overview

Overview When you create a Metal function instance using an MTLFunctionDescriptor, you specify additional functions that Metal needs to link to when it compiles and links the underlying shader code. Most often, you need to do this if your shader takes a visible function table as one or more of its arguments. For Metal to create the MTLFunction instance, it needs a complete list of functions that your shader can call so that it can resolve any dependencies and generate the correct code to run on the GPU.

## Topics

### Specifying related functions

- [functions](metal/mtllinkedfunctions/functions.md)
- [binaryFunctions](metal/mtllinkedfunctions/binaryfunctions.md)
- [groups](metal/mtllinkedfunctions/groups.md)
- [privateFunctions](metal/mtllinkedfunctions/privatefunctions.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Specifying the function configuration

- [name](metal/mtlfunctiondescriptor/name.md)
- [specializedName](metal/mtlfunctiondescriptor/specializedname.md)
- [constantValues](metal/mtlfunctiondescriptor/constantvalues.md)
- [options](metal/mtlfunctiondescriptor/options.md)
- [binaryArchives](metal/mtlfunctiondescriptor/binaryarchives.md)
- [MTLFunctionOptions](metal/mtlfunctionoptions.md)
