---
title: "makeRenderPipelineState(tileDescriptor:options:completionHandler:)"
framework: metal
role: symbol
role_heading: Instance Method
path: "metal/mtldevice/makerenderpipelinestate(tiledescriptor:options:completionhandler:)"
---

# makeRenderPipelineState(tileDescriptor:options:completionHandler:)

Asynchronously creates a tile shader’s render pipeline state and reflection information.

## Declaration

```swift
func makeRenderPipelineState(tileDescriptor descriptor: MTLTileRenderPipelineDescriptor, options: MTLPipelineOption, completionHandler: @escaping @Sendable ((any MTLRenderPipelineState)?, MTLRenderPipelineReflection?, (any Error)?) -> Void)
```

```swift
func makeRenderPipelineState(tileDescriptor descriptor: MTLTileRenderPipelineDescriptor, options: MTLPipelineOption) async throws -> (any MTLRenderPipelineState, MTLRenderPipelineReflection?)
```

## Parameters

- `descriptor`: An doc://com.apple.metal/documentation/Metal/MTLTileRenderPipelineDescriptor instance.
- `options`: An doc://com.apple.metal/documentation/Metal/MTLPipelineOption instance that represents the reflection information you want the method to generate.
- `completionHandler`: A Swift closure or an Objective-C block the method calls when it finishes creating the render pipeline state.

## See Also

### Creating tile render pipeline states

- [makeRenderPipelineState(tileDescriptor:options:)](metal/mtldevice/makerenderpipelinestate(tiledescriptor:options:).md)
- [makeRenderPipelineState(tileDescriptor:options:reflection:)](metal/mtldevice/makerenderpipelinestate(tiledescriptor:options:reflection:).md)
