<!--
{
  "availability" : [
    "macOS: 26.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CompositorServices",
  "identifier" : "/documentation/CompositorServices/CompositorLayerConfiguration/makeConfiguration(capabilities:configuration:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Compositor Services",
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:27_CompositorServices_SwiftUI0A18LayerConfigurationP04makeF012capabilities13configurationySo27CP_OBJECT_cp_layer_rendererC0aB0E12CapabilitiesV_AhIE0F0VztF"
  },
  "title" : "makeConfiguration(capabilities:configuration:)"
}
-->

# makeConfiguration(capabilities:configuration:)

Creates and returns a type that contains the rendering options for
Compositor Services to use when configuring a layer.

```
@MainActor @preconcurrency func makeConfiguration(capabilities: LayerRenderer.Capabilities, configuration: inout LayerRenderer.Configuration)
```

## Parameters

`capabilities`

The supported capabilities of the current device.
Use these values to validate any choices you apply to the `configuration` parameter.

`configuration`

The default set of configuration options.
Modify this type to specify the options you want to use during rendering.

## Discussion

In your implementation of this method, modify the `configuration` parameter
to specify the Metal texture formats and layouts you want to use during rendering.
Verify that your preferred choices are available by checking the supported options
using the information in the `capabilities` parameter.

---

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)