<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Metal",
  "identifier" : "/documentation/Metal/MTLComputePipelineDescriptor/contentionRelief",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:objc(cs)MTLComputePipelineDescriptor(py)contentionRelief"
  },
  "title" : "contentionRelief"
}
-->

# contentionRelief

A contention relief strategy the compiler applies to the pipeline.

```
var contentionRelief: MTLContentionRelief { get set }
```

## Discussion

The contention relief strategy applies to all pipeline functions
except for functions you compile separately which retain the contention
relief they were compiled with.

This property sets the contention relief only for functions with
a `contention_relief` attribute equal to `default`, which includes functions
that don’t specify the attribute. Functions you write with the `automatic`
or `none` attribute ignore this property.

The default value is
[`MTLContentionRelief.automatic`](/documentation/Metal/MTLContentionRelief/automatic).

---

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)