---
title: "makeArgumentTable(descriptor:buffers:textures:)"
framework: realitykit
role: symbol
role_heading: Instance Method
path: "realitykit/lowlevelrendercontext/makeargumenttable(descriptor:buffers:textures:)"
---

# makeArgumentTable(descriptor:buffers:textures:)

Creates an argument table that binds the provided buffer slices and textures.

## Declaration

```swift
func makeArgumentTable(descriptor: LowLevelArgumentTable.Descriptor, buffers: [LowLevelBufferSlice], textures: [LowLevelTextureResource]) throws -> LowLevelArgumentTable
```

## Parameters

- `descriptor`: The argument table layout describing expected buffer and texture slots.
- `buffers`: The buffer slices to bind, in slot order.
- `textures`: The texture resources to bind, in slot order.

## Return Value

Return Value A newly created LowLevelArgumentTable.

## Discussion

Discussion The descriptor must match the argumentTableDescriptor of the corresponding material function. The counts and sizes of buffers and textures must match the slots declared in the descriptor. note: An error if the counts or sizes of buffers or textures do not match the descriptor, or if the underlying GPU allocation fails.

## See Also

### Creating pipeline state

- [makeRenderPipelineState(descriptor:)](realitykit/lowlevelrendercontext/makerenderpipelinestate(descriptor:)-7j32p.md)
- [makeRenderPipelineState(descriptor:)](realitykit/lowlevelrendercontext/makerenderpipelinestate(descriptor:)-55ty6.md)
