---
title: "setVisibleFunctionTables(_:bufferRange:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtlcomputecommandencoder/setvisiblefunctiontables(_:bufferrange:)"
---

# setVisibleFunctionTables(_:bufferRange:)

Binds multiple visible function tables to the buffer argument table, allowing you to call their functions on the GPU.

## Declaration

```swift
func setVisibleFunctionTables(_ visibleFunctionTables: [(any MTLVisibleFunctionTable)?], bufferRange: Range<Int>)
```

## Parameters

- `visibleFunctionTables`: An array of doc://com.apple.metal/documentation/Metal/MTLVisibleFunctionTable instances to bind.
- `bufferRange`: The buffer argument table indices to bind each of the visibleFunctionTables to, in the order they appear.

## Discussion

Discussion warning: This method requires that the number of instances in visibleFunctionTables be the same as the length of bufferRange.

## See Also

### Binding function tables

- [setVisibleFunctionTable(_:bufferIndex:)](metal/mtlcomputecommandencoder/setvisiblefunctiontable(_:bufferindex:).md)
- [setIntersectionFunctionTables(_:bufferRange:)](metal/mtlcomputecommandencoder/setintersectionfunctiontables(_:bufferrange:).md)
