---
title: MTL4RenderPassDescriptor
framework: metal
role: symbol
role_heading: Class
path: metal/mtl4renderpassdescriptor
---

# MTL4RenderPassDescriptor

Describes a render pass.

## Declaration

```swift
class MTL4RenderPassDescriptor
```

## Overview

Overview You use render pass descriptors to create instances of MTL4RenderCommandEncoder and encode draw commands into instances of MTL4CommandBuffer. To create render command encoders, you typically call renderCommandEncoderWithDescriptor:. The makeRenderCommandEncoder(descriptor:options:) variant of this method allows you to specify additional options to encode a render pass in parallel from multiple CPU cores by creating suspending and resuming render passes.

## Topics

### Instance Properties

- [colorAttachments](metal/mtl4renderpassdescriptor/colorattachments.md)
- [defaultRasterSampleCount](metal/mtl4renderpassdescriptor/defaultrastersamplecount.md)
- [depthAttachment](metal/mtl4renderpassdescriptor/depthattachment.md)
- [imageblockSampleLength](metal/mtl4renderpassdescriptor/imageblocksamplelength.md)
- [rasterizationRateMap](metal/mtl4renderpassdescriptor/rasterizationratemap.md)
- [renderTargetArrayLength](metal/mtl4renderpassdescriptor/rendertargetarraylength.md)
- [renderTargetHeight](metal/mtl4renderpassdescriptor/rendertargetheight.md)
- [renderTargetWidth](metal/mtl4renderpassdescriptor/rendertargetwidth.md)
- [samplePositions](metal/mtl4renderpassdescriptor/samplepositions.md)
- [stencilAttachment](metal/mtl4renderpassdescriptor/stencilattachment.md)
- [supportColorAttachmentMapping](metal/mtl4renderpassdescriptor/supportcolorattachmentmapping.md)
- [threadgroupMemoryLength](metal/mtl4renderpassdescriptor/threadgroupmemorylength.md)
- [tileHeight](metal/mtl4renderpassdescriptor/tileheight.md)
- [tileWidth](metal/mtl4renderpassdescriptor/tilewidth.md)
- [visibilityResultBuffer](metal/mtl4renderpassdescriptor/visibilityresultbuffer.md)
- [visibilityResultType](metal/mtl4renderpassdescriptor/visibilityresulttype.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)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Configuring a render command encoder

- [MTLRenderPassDescriptor](metal/mtlrenderpassdescriptor.md)
- [MTLRenderPassAttachmentDescriptor](metal/mtlrenderpassattachmentdescriptor.md)
- [MTLRenderPassColorAttachmentDescriptorArray](metal/mtlrenderpasscolorattachmentdescriptorarray.md)
- [MTLRenderPassColorAttachmentDescriptor](metal/mtlrenderpasscolorattachmentdescriptor.md)
- [MTLClearColor](metal/mtlclearcolor.md)
- [MTLRenderPassDepthAttachmentDescriptor](metal/mtlrenderpassdepthattachmentdescriptor.md)
- [MTLMultisampleDepthResolveFilter](metal/mtlmultisampledepthresolvefilter.md)
- [MTL4RenderPipelineColorAttachmentDescriptorArray](metal/mtl4renderpipelinecolorattachmentdescriptorarray.md)
- [MTLTileRenderPipelineColorAttachmentDescriptorArray](metal/mtltilerenderpipelinecolorattachmentdescriptorarray.md)
- [MTLRenderPassStencilAttachmentDescriptor](metal/mtlrenderpassstencilattachmentdescriptor.md)
- [MTLMultisampleStencilResolveFilter](metal/mtlmultisamplestencilresolvefilter.md)
- [MTLRenderPassSampleBufferAttachmentDescriptorArray](metal/mtlrenderpasssamplebufferattachmentdescriptorarray.md)
- [MTLRenderPassSampleBufferAttachmentDescriptor](metal/mtlrenderpasssamplebufferattachmentdescriptor.md)
- [MTLLogicalToPhysicalColorAttachmentMap](metal/mtllogicaltophysicalcolorattachmentmap.md)
- [MTLDispatchThreadsIndirectArguments](metal/mtldispatchthreadsindirectarguments.md)
