<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.13.0 -",
    "tvOS: 11.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLStoreAction/customSampleDepthStore",
  "metadataVersion" : "0.1.0",
  "role" : "Case",
  "symbol" : {
    "kind" : "Case",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:@E@MTLStoreAction@MTLStoreActionCustomSampleDepthStore"
  },
  "title" : "MTLStoreAction.customSampleDepthStore"
}
-->

# MTLStoreAction.customSampleDepthStore

The GPU stores depth data in a sample-position–agnostic representation.

```
case customSampleDepthStore
```

## Discussion

You can only set this action on an [`MTLRenderPassDepthAttachmentDescriptor`](/documentation/Metal/MTLRenderPassDepthAttachmentDescriptor) instance.

Set this action when you need to read the depth data in a subsequent render pass or blit operation that is unaware of the programmable sample positions used to generate the data.

If you specify this action, Metal may decompress the depth render target and store the resulting data in its decompressed form. If you don’t change programmable sample positions in a subsequent render pass, use [`MTLStoreAction.store`](/documentation/Metal/MTLStoreAction/store) instead to improve performance.

---

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)