---
title: MTLVisibleFunctionTable
framework: metal
role: symbol
role_heading: Protocol
path: metal/mtlvisiblefunctiontable
---

# MTLVisibleFunctionTable

A table of shader functions visible to your app that you can pass into compute commands to customize the behavior of a shader.

## Declaration

```swift
protocol MTLVisibleFunctionTable : MTLResource
```

## Topics

### Setting a table entry

- [setFunction(_:index:)](metal/mtlvisiblefunctiontable/setfunction(_:index:).md)
- [setFunctions(_:range:)](metal/mtlvisiblefunctiontable/setfunctions(_:range:).md)

### Instance Properties

- [gpuResourceID](metal/mtlvisiblefunctiontable/gpuresourceid.md)

## Relationships

### Inherits From

- [MTLAllocation](metal/mtlallocation.md)
- [MTLResource](metal/mtlresource.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Shader functions

- [MTLFunctionDescriptor](metal/mtlfunctiondescriptor.md)
- [MTLFunction](metal/mtlfunction.md)
- [MTLFunctionHandle](metal/mtlfunctionhandle.md)
- [MTLVisibleFunctionTableDescriptor](metal/mtlvisiblefunctiontabledescriptor.md)
- [MTLIntersectionFunctionDescriptor](metal/mtlintersectionfunctiondescriptor.md)
- [MTLIntersectionFunctionTableDescriptor](metal/mtlintersectionfunctiontabledescriptor.md)
- [MTLIntersectionFunctionTable](metal/mtlintersectionfunctiontable.md)
