---
title: MTLFunctionStitchingFunctionNode
framework: metal
role: symbol
role_heading: Class
path: metal/mtlfunctionstitchingfunctionnode
---

# MTLFunctionStitchingFunctionNode

A call graph node that describes a function call and its inputs.

## Declaration

```swift
class MTLFunctionStitchingFunctionNode
```

## Overview

Overview When the Metal device object evaluates the function graph to compile the stitched function, it evaluates the nodes stored in the arguments property that it hasn’t already evaluated, and then calls the function specified by name to generate the node’s output. If the function has side effects on the input data, use the controlDependencies property on other nodes to specify whether the Metal device object needs to evaluate this node first.

## Topics

### Initializing a function node

- [init(name:arguments:controlDependencies:)](metal/mtlfunctionstitchingfunctionnode/init(name:arguments:controldependencies:).md)

### Configuring a function node

- [name](metal/mtlfunctionstitchingfunctionnode/name.md)
- [arguments](metal/mtlfunctionstitchingfunctionnode/arguments.md)
- [controlDependencies](metal/mtlfunctionstitchingfunctionnode/controldependencies.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)
- [MTLFunctionStitchingNode](metal/mtlfunctionstitchingnode.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Stitched function libraries

- [Customizing shaders using function pointers and stitching](metal/customizing-shaders-using-function-pointers-and-stitching.md)
- [MTLStitchedLibraryDescriptor](metal/mtlstitchedlibrarydescriptor.md)
- [MTLFunctionStitchingGraph](metal/mtlfunctionstitchinggraph.md)
- [MTLFunctionStitchingInputNode](metal/mtlfunctionstitchinginputnode.md)
- [MTLFunctionStitchingNode](metal/mtlfunctionstitchingnode.md)
- [MTLFunctionStitchingAttributeAlwaysInline](metal/mtlfunctionstitchingattributealwaysinline.md)
- [MTLFunctionStitchingAttribute](metal/mtlfunctionstitchingattribute.md)
