<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MetalKit",
  "identifier" : "/documentation/MetalKit/MTKView/currentRenderPassDescriptor",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "MetalKit"
    ],
    "preciseIdentifier" : "c:objc(cs)MTKView(py)currentRenderPassDescriptor"
  },
  "title" : "currentRenderPassDescriptor"
}
-->

# currentRenderPassDescriptor

A render pass descriptor to draw into the current drawable.

```
var currentRenderPassDescriptor: MTLRenderPassDescriptor? { get }
```

## Discussion

Reading this property creates and returns a new render pass descriptor to render into the current drawable’s texture. [`MTKView`](/documentation/MetalKit/MTKView) doesn’t use this descriptor, and there’s no requirement for your application to use it.

This property is `nil` if the view’s [`device`](/documentation/MetalKit/MTKView/device) property isn’t set or if [`currentDrawable`](/documentation/MetalKit/MTKView/currentDrawable) is `nil`. Your app should check that [`currentRenderPassDescriptor`](/documentation/MetalKit/MTKView/currentRenderPassDescriptor) isn’t `nil` before attempting to use it.

The view configures the render pass as follows:

- If multisampling isn’t enabled—The color attachment at index 0 of the render pass descriptor points to the texture assigned to the current drawable, with a load action of <doc://com.apple.documentation/documentation/Metal/MTLLoadAction/clear> and a store action of <doc://com.apple.documentation/documentation/Metal/MTLStoreAction/store>.
- If you’ve enabled multisampling—The color attachment at index 0 of the render pass descriptor points to the multisample texture, the resolve texture points to the texture assigned to the current drawable, and the attachment has a load action of <doc://com.apple.documentation/documentation/Metal/MTLLoadAction/clear> and a store action of <doc://com.apple.documentation/documentation/Metal/MTLStoreAction/multisampleResolve>.
- If you’ve specified a depth or stencil target—The render pass configures the appropriate targets, with a load action of <doc://com.apple.documentation/documentation/Metal/MTLLoadAction/clear> and a store action of <doc://com.apple.documentation/documentation/Metal/MTLStoreAction/dontCare>.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)