<!--
{
  "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/MTLResourceUsage",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Metal"
    ],
    "preciseIdentifier" : "c:@E@MTLResourceUsage"
  },
  "title" : "MTLResourceUsage"
}
-->

# MTLResourceUsage

Options that describe how a graphics or compute function uses an argument buffer’s resource.

```
struct MTLResourceUsage
```

## Overview

You can combine multiple [`MTLResourceUsage`](/documentation/Metal/MTLResourceUsage) values with a bitwise OR (`|`)
if the resource serves multiple purposes over its lifetime.
You can enable options for certain resources that indicate whether the Metal driver
needs to convert the resource to another format, such as whether it needs to
decompress a color render target.

---

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)